2 回答

TA貢獻1784條經驗 獲得超8個贊
似乎您有 2 個選項,這兩個選項都很簡單:
將您的目標框架更改為 netcoreapp*
編輯您的項目文件并更改
<TargetFramework>net461</TargetFramework>
至
<TargetFramework>netcoreapp2.1</TargetFramework>
(或您希望定位的任何版本的 .NET Core。我相信 SDK 2.1.500 是 netcoreapp2.1。)
在 .NET Framework 項目中使用 XUnit
創建一個 .NET Framework 類庫項目并安裝xunit
NuGet 包。然后你可以像平常一樣開始使用 XUnit,它可以引用你的 web 項目。
要在 VS 中運行測試,您還需要該xunit.runner.visualstudio
軟件包。

TA貢獻1864條經驗 獲得超6個贊
Visual Studio 僅顯示支持的轉換。雖然從 .NET Framework 轉換到 .NET Core 并不像更改版本號那么簡單。
您可以使用try-convert對項目文件進行必要的修改。確保您--diff-only
首先使用檢查更改。
您應該查看Nate McMaster 的遷移指南和Additions to the csproj format for .NET Core以了解更改。
Microsoft 不支持該工具,也不能保證執行 100% 轉換。
不以任何方式支持此工具。
這個工具是為誰準備的?
此工具適用于希望在將項目遷移到 .NET Core(或 .NET SDK 樣式的項目)時獲得一點幫助的任何人。
顧名思義,此工具不能保證將項目完全轉換為 100% 的工作狀態。該工具是保守的,并且盡其所能確保轉換后的項目仍然可以加載到 Visual Studio 中并進行構建。但是,有大量因素會導致項目無法加載或構建,而該工具并未明確涵蓋這些因素。這些包括:
您的解決方案中可能包含的復雜的自定義構建
與 .NET Core 不兼容的 API 使用
不受支持的項目類型(例如 Xamarin、WebForms 或 WCF 項目)
如果您的大部分代碼庫通常能夠遷移到 .NET Core(例如許多沒有特定于平臺的代碼的類庫),那么這個工具應該會有所幫助。
強烈建議您在受源代碼控制的項目上使用此工具。
強調我的。
為什么?
.NET Core 和 .NET Framework 使用非常不同的csproj
格式并以不同的方式處理包引用,尤其是瞬態依賴項,即另一個包需要的包。
在 .NET Frameworkpackages.config
中包含所有包,這意味著您不知道真正需要哪些包。在 .NET Core 中沒有packages.config
. 這些csproj
文件PackageReference
僅包含頂級依賴項的元素。
在舊csproj
格式中,您必須明確包含每個源文件。在新格式中,所有源文件都會自動包含在內,從而生成一個非常易于編輯的文件。
做出這些改變并非易事。直到最近,這還是一個手動過程。就個人而言,我只是刪除了所有內容,復制了最小的 XML 并添加了包引用,直到我成功構建。即使那樣,我也不得不手動添加有關包含/排除/copty-to-output 文件的行。如果我有帶有條件等的自定義構建步驟,事情會變得更加困難。
- 2 回答
- 0 關注
- 615 瀏覽
添加回答
舉報