问题

最近想阅读 WorkflowCore 的源码,苦于代码量巨大,就想将项目回退到 Init Commit 版本 但是在回退版本后,工程内Project 显示已卸载 重新加载后 提示:

不支持

This version of Visual Studio is unable to open the following projects. The project types may not be installed or this version of Visual Studio may not support them.

For more information on enabling these project types or otherwise migrating your assets, please see the details in the "Migration Report" displayed after clicking OK.

  • WorkflowCore.TestHost, "C:\Users\Administrator\source\repos\workflow-core\src\WorkflowCore.TestHost\WorkflowCore.TestHost.xproj"
  • WorkflowCore, "C:\Users\Administrator\source\repos\workflow-core\src\WorkflowCore\WorkflowCore.xproj"
  • WorkflowCore.Persistence.MongoDB, "C:\Users\Administrator\source\repos\workflow-core\src\providers\WorkflowCore.Persistence.MongoDB\WorkflowCore.Persistence.MongoDB.xproj"
  • WorkflowCore.Sample01, "C:\Users\Administrator\source\repos\workflow-core\src\samples\WorkflowCore.Sample01\WorkflowCore.Sample01.xproj"

需要非功能性更改

Visual Studio 将自动对下列项目进行非功能性更改以使它们能够在 Visual Studio 2015、Visual Studio 2013、Visual Studio 2012 和 Visual Studio 2010 SP1 中打开。项目行为不会受到影响。

  • WorkflowCore, "C:\Users\Administrator\source\repos\workflow-core\WorkflowCore.sln"

迁移报告 提示:

src\WorkflowCore\WorkflowCore.xproj:** 无法读取“C:\Users\Administrator\AppData\Local\Temp\qaz4jqm1.ibt”处的迁移后报表。src\WorkflowCore\WorkflowCore.xproj: XProj 项目 WorkflowCore 迁移失败。“dotnet migrate --skip-backup -s -x "C:\Users\Administrator\source\repos\workflow-core\src\WorkflowCore\WorkflowCore.xproj" "C:\Users\Administrator\source\repos\workflow-core\src\WorkflowCore\project.json" -r "C:\Users\Administrator\AppData\Local\Temp\qaz4jqm1.ibt" --format-report-file-json”退出时出现错误代码 1。src\WorkflowCore\WorkflowCore.xproj: 无法执行,因为找不到指定的命令或文件。 可能的原因包括: *内置的 dotnet 命令拼写错误。 *你打算执行 .NET 程序,但 dotnet-migrate 不存在。 *你打算运行全局工具,但在路径上找不到具有此名称且前缀为 dotnet 的可执行文件。src\WorkflowCore\WorkflowCore.xproj: 将 C:\Users\Administrator\source\repos\workflow-core\src\WorkflowCore\WorkflowCore.xproj 备份到 C:\Users\Administrator\source\repos\workflow-core\Backup10\WorkflowCore.xproj。src\WorkflowCore\project.json: 将 C:\Users\Administrator\source\repos\workflow-core\src\WorkflowCore\project.json 备份到 C:\Users\Administrator\source\repos\workflow-core\Backup10\project.json。

问题原因

VS2022,VS2019 无法打开xproj 类型的旧项目 ,只支持csproj 类型 ,同时高版本的dotNetCore 不支持 dotnet migrate 导致无法迁移成功[1]

解决办法

  1. 找到可以打开的版本[2],这边经过搜索,VS2019 Version >=16.3 的都无法使用 ,试过VS 2019 16.2 的没有成功 也可能是未执行第二步 后来选择的VS2017可以成功

  2. 根据[3]操作完成后使用 VS 打开工程应该已经可以正常加载

    You can list your installed dotnet core sdk versions by this command:

    dotnet --list-sdks

    Then you can switch back to an older version of the dotnet core sdk (e.g. 2.0.2) by this command:

    dotnet new globaljson --sdk-version 2.0.2

    This should be performed in the folder where your xproj is located.

    Finally you can migrate your project by:

    dotnet migrate

注: 第二步生成的global.json 内容为 :

{
"sdk": {
"version": "2.0.2"
}
}

如果项目自带 可以将这个节点加入即可


  1. https://learn.microsoft.com/en-us/dotnet/core/migration/

  2. https://stackoverflow.com/questions/61988090/how-to-run-xproj-file-in-vs2019

  3. https://stackoverflow.com/questions/59875531/upgrading-xproj-in-visual-studio-2019

最新文章

  1. 【初级】linux mv 命令详解及使用方法实战
  2. 从一个简单例子来理解js引用类型指针的工作方式
  3. KnockoutJS---一个极其优秀的MVVM模型的js框架
  4. JQuery Cross Domain
  5. 变形--矩阵 matrix()
  6. 自动化脚本中click()或sendKeys()没有反应
  7. win10磁盘/cpu占用100%问题
  8. mui-H5获取当前手机通讯录
  9. shell脚本实现svn目录同步和提交
  10. struct,map,json 互相转换
  11. HDU 1527 取石子游戏(威佐夫博弈)
  12. web.config中的ExtensionlessUrlHandler-Integrated-4.0
  13. 代码规范与复审2——个人博客作业week
  14. float double
  15. Spring(九):Spring配置Bean(二)自动装配的模式、Bean之间的关系
  16. Linux内核中的软中断、tasklet和工作队列具体解释
  17. 【转】Jenkins怎么启动和停止服务
  18. 以太网,IP,TCP,UDP数据包分析【转】
  19. [javaSE] 集合框架(共性方法)
  20. Android-隐式意图激活操作系统通话界面

热门文章

  1. KingbaseES Hint 使用
  2. KingbaseES R6 集群 recovery 参数对切换的影响
  3. KingbaseFlySync delete语句WHERE条件缺失的解析出错问题处理思路
  4. AXI MCDMA 仿真与工作流程分析
  5. Java 流处理之收集器
  6. Python中的super函数,你熟吗?
  7. 【疑难杂症】关于用pydotplus生成iris.pdf报错问题
  8. Logstash:Grok filter 入门
  9. ProxySQL SSL 配置
  10. Kubernetes 基本概念与组件