亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

目標框架列表中缺少 .NET Core

目標框架列表中缺少 .NET Core

C#
森林海 2022-06-12 15:03:13
使用 Visual Studio 2017 Enterprise,我正在嘗試將單元測試項目上的目標框架更改為 .NET Core,以便我可以使用 xUnit。我在可用框架列表中沒有看到它。在我的可用框架列表中,我看到:.NET Framework 2.0 -> 4.7.1 and several Unity Frameworks.盡管我安裝了 .NET Core SDK 2.1.200 (x64)、2.1.202 (x64) 和 2.1.500 (x64),但還是會出現這種情況。
查看完整描述

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 類庫項目并安裝xunitNuGet 包。然后你可以像平常一樣開始使用 XUnit,它可以引用你的 web 項目。

要在 VS 中運行測試,您還需要該xunit.runner.visualstudio軟件包。


查看完整回答
反對 回復 2022-06-12
?
慕尼黑的夜晚無繁華

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 文件的行。如果我有帶有條件等的自定義構建步驟,事情會變得更加困難。


查看完整回答
反對 回復 2022-06-12
  • 2 回答
  • 0 關注
  • 615 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號