VS 新版本無法打開舊項目問題處理

来源:https://www.cnblogs.com/dongyaosheng/archive/2022/11/22/16914212.html
-Advertisement-
Play Games

一:背景 1.講故事 前幾天群里很熱鬧,看了下在爭論兩個問題: 電腦里要不要裝殺毒軟體 ? 應該裝什麼殺毒軟體 ? 不管殺毒軟體流氓不流氓,在如今病毒肆虐的當下互聯網,裝一個還是能幫我們攔截很多意想不到的東西,為了眼見為實,這一篇我們就聊一個竊聽 鍵盤事件 的惡意代碼。 2. 思路 實現思路非常簡單 ...


問題

最近想閱讀 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 ↩︎


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一.小結 1.一個boolean變數可以存儲值true或false 2.關係運算符(<,<=,==,!=,>,>=)和數值及字元一起運算 3.布爾運算符&&,|| ,| 和 ^對布爾值和布爾變數進行計算 4.當對p1&&p2求值時,java先求p1的值,如果p1為true,再對p2求值;如果p1為f ...
  • 迭代器的功能: 提供一種統一的方式,來透明的遍歷容器 理解 begin()方法,end()方法, ++ , * 的用處 其中 C++11 中提供的foreach的方式,其底層還是通過迭代器來進行遍歷的. #include <iostream> using namespace std; class M ...
  • 1 概述 ArrayList實現了List介面,是 順序容器,允許放入null元素 有一個容量(capacity),表示底層數組的實際大小。如果容量不足,容器會 自動增大底層數組的大小 支持泛型,泛型擦除後,容器的元素都是 Object類型 ArrayList沒有實現同步(synchronized) ...
  • 來源:blog.csdn.net/weixin_61594803 1.SQL數據脫敏實現 MYSQL(電話號碼,身份證)數據脫敏的實現 -- CONCAT()、LEFT()和RIGHT()字元串函數組合使用,請看下麵具體實現 -- CONCAT(str1,str2,…):返回結果為連接參數產生的字元 ...
  • ###知識點 php://filter php://filter是一種元封裝器,是PHP中特有的協議流,設計用於數據流打開時的篩選過濾應用,作用是作為一個“中間流”來處理其他流。 php://filter目標使用以下的參數作為它路徑的一部分。複合過濾鏈能夠在一個路徑上指定。 |名稱|描述|備註| | ...
  • ###結果以json格式輸出,可以用json線上解析,方便查看 package com.xintone.demo; import cn.hutool.json.JSONUtil; import lombok.Data; import org.springframework.util.Collecti ...
  • 關於全局事務的執行,雖然之前的文章中也有所涉及,但不夠細緻,今天再深入的看一下事務的整個執行過程是怎樣的。 1. TransactionManager io.seata.core.model.TransactionManager是事務管理器,它定義了一個全局事務的相關操作 DefaultTransa ...
  • 簡介 在C#中提起控制項綁定數據,大部分人首先想到的是WPF,其實Winform也支持控制項和數據的綁定。 Winform中的數據綁定按控制項類型可以分為以下幾種: 簡單控制項綁定 列表控制項綁定 表格控制項綁定 綁定基類 綁定數據類必須實現INotifyPropertyChanged介面,否則數據類屬性的變更 ...
一周排行
    -Advertisement-
    Play Games
  • 簡介 本文的初衷是希望幫助那些有其它平臺視覺演算法開發經驗的人能快速轉入Halcon平臺下,通過文中的示例開發者能快速瞭解一個Halcon項目開發的基本步驟,讓開發者能把精力完全集中到演算法的開發上面。 首先,你需要安裝Halcon,HALCON 18.11.0.1的安裝包會放在文章末尾。安裝包分開發和 ...
  • 本文是對Datawhale的動手學數據分析課程的學習總結,記錄了整體的學習過程、答案以及個人感想,代碼較為詳細。 ...
  • JZ7重建二叉樹 描述 給定節點數為 n 的二叉樹的前序遍歷和中序遍歷結果,請重建出該二叉樹並返回它的頭結點。 例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6} 提示: 1.vin.length == pre.length 2.pre 和 vin ...
  • 我們都知道在Java編程中多線程的同步使用synchronized關鍵字來標識,那麼這個關鍵字在JVM底層到底是如何實現的呢。 我們先來思考一下如果我們自己實現的一個鎖該怎麼做呢: 首先肯定要有個標記記錄對象是否已經上鎖,執行同步代碼之前判斷這個標誌,如果對象已經上鎖線程就阻塞等待鎖的釋放。 其次要 ...
  • 目錄 一.OpenGL 色階 1.Windows OpenGL ES 版本 2.Windows OpenGL 版本 二.OpenGL 色階 GLSL Shader 三.猜你喜歡 零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> OpenGL ES 基礎 零基礎 Ope ...
  • 1. 查看Linux伺服器版本信息 # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 2. 禪道開源版安裝包下載 wget http://dl.cnezsoft.com/zentao/9.8.2/ZenTaoPMS.9.8. ...
  • Spring 框架可以為 Java 應用程式開發提供全面的基礎設施支持,它是現在非常流行的 Java 開源框架,對於一個 Java 開發人員來說,熟練掌握 Spring 是必不可少的。 ...
  • 前言 本篇是c++總結的第二篇,關於c++的對象模型,在構造、拷貝虛函數上重點分析,也包含了c++11class的新用法和特性,如有不當,還請指教! c++三大特性 訪問許可權 ​ 在c++中通過public、protected、private三個關鍵字來控製成員變數和成員函數的訪問許可權,它們分別表示 ...
  • 一.小結 1.使用二維數組來存儲表格 2.可以使用以下語法來聲明二維數組變數: 元素類型[ ] [ ]數組變數 3.可以使用以下語法來創建二維數組變數: new 元素類型 [行的個數][列的個數] 4.使用下麵的語法表示二維數組中的每個元素: 數組變數[行下標][列的個數] 5.可使用數組初始化語法 ...
  • typimg是一款為typora編輯器提供圖像自定義上傳服務的工具,該工具將在typora中輸入的網路圖片、本地圖片、剪貼板圖片/截圖上傳到博客園,支持在MacOS、Windiws、Linux三個平臺上運行。 ...