簡體   English   中英

目前.NET SDK不支持針對.NET Core 2.1。 要么以 .NET Core 2.0 或更低版本為目標,要么使用支持 .NET Core 2.1 的 .NET SDK

[英]The current .NET SDK does not support targeting .NET Core 2.1. Either target .NET Core 2.0 or lower, or use a .NET SDK that supports .NET Core 2.1

已嘗試升級到專業版visual studio 2017 v 15.6.0 (Preview 7.0)

並安裝了 as.netcore-runtime-2.1.0-preview1-final-win-x64 和 .net 核心 SDK 2.1.4。

當我創建一個新的 web 應用程序時,我收到一條錯誤消息

“當前的 .NET SDK 不支持以 .NET Core 2.1 為目標。要么以 .NET Core 2.0 或更低版本為目標,要么使用支持 8186230 Core .NET SDK 的版本。”

當我嘗試構建現有項目時出現錯誤

“當前的 .NET SDK 不支持以 .NET Core 2.1 為目標。要么以 .NET Core 2.0 或更低版本為目標,要么使用支持 8186230 Core .NET SDK 的版本。”

我在我的目標框架中沒有看到“.net core 2.1”

我的電腦里沒有 global.json 文件

當我嘗試 do.net --info 時,我得到了這個

c:\source\dnacloud\testapp>do.net --info .NET 命令行工具 (2.1.100)

 Product Information: Version: 2.1.100 Commit SHA-1 hash: b9e74c6 Runtime Environment: OS Name: Windows OS Version: 10.0.16299 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\do.net\sdk\2.1.100\ Microsoft .NET Core Shared Framework Host Version: 2.0.5 Build: 17373eb129b3b05aa18ece963f8795d65ef8ea54

這里的問題是,微軟混淆了很多人,他們對 .NET Core SDK 的編號方式感到困惑。

在原始海報的消息中,路徑 C:\\Program Files\\dotnet\\sdk\\2.1.100\\ 似乎並不代表 .NET Core 2.1 運行時(但您會認為它確實如此)。

我在 developercommunity.visualstudio.com 上看到了這篇文章當前 .NET SDK 不支持針對 .NET Core 2.1 ,其中 Microsoft 支持人員解釋了混淆:

“感謝您的反饋!我們已確定此問題不是錯誤。第一個支持 .NET Core 2.1 的 SDK 是 2.1.300-preview1。我們知道版本控制令人困惑,這就是為什么從 2.1.300 開始, SDK 的主要.次要版本現在也將與運行時的主要.次要版本保持一致。”

所以...為了通過 SDK 獲得 .NET Core 2.1 支持,您至少需要安裝 2.1.300 版本的 SDK(因為 2.1.2 不是 .NET Core 2.1)...是的,令人困惑。 感謝微軟在這方面浪費了一些時間。

這發生在我安裝 2.2.100-preview3-009430 然后更新到 Visual Studio 15.9.2 之后。

我通過啟用“使用 .NET Core SDK 的預覽”選項解決了這個問題。

  1. 轉到:工具 > 選項 > 項目和解決方案 > .NET Core

  2. 選中“使用 .NET Core SDK 的預覽”框

  3. 重新啟動 Visual Studio 並重建解決方案。

VS 預覽選項

安裝.NET Core SDK 2.1.300-preview2對我.NET Core SDK 2.1.300-preview2

更新:以防萬一,最近發布了一個更新的版本。 您可以在此處下載適用於 2.2.0-preview1(包括 ASP.NET 2.2.0-preview1)的新 .NET Core SDK。

當您遇到這樣的錯誤時,另請參閱此答案

當前的 .NET SDK 不支持面向 .NET Core 2.X

我解決了這個問題。 原因是我安裝了

  • aspnetcore-runtime-2.1.0-preview1-final-win-x64
  • .net core SDK 2.1.4-x64版本。
  • 安裝將 sdk 文件放在c:\\Program Files\\dotnet
  • 但是 VS2017 32bit 正在尋找c:\\Program Files(x86)\\dotnet的 sdk 文件。

為了解決這個問題,我

  • 安裝了 x86 版本的 sdk 和 aspnetcore 運行時,

  • 將 MSBuildSDKsPath 環境變量設置為指向新的安裝路徑。

  • 從控制面板中刪除了所有過時的 sdk

找不到問題VS2017 Update 3 'Microsoft.NET.Sdk.Web'有助於解決此問題。

https://www.microsoft.com/net/download/visual-studio-sdks

你可以從上面的站點下載SDK

檢查您機器路徑 C:\\Program Files\\dotnet\\sdk 中的 SDK

在visual studio中更改或檢查目標框架,

右鍵單擊啟動應用程序或項目 => 應用程序 => 目標框架。

您可以更改框架並構建解決方案並恢復塊金包。

在此處輸入圖片說明

我也遇到了同樣的情況,但隨后是 .NET Core 2.2 版。 我安裝了最新版本的.NET Core 2.2 SDK,當時是2.2.202。 Visual Studio 允許我為 Core 2.2 創建一個新項目,但它顯示了錯誤:

“當前的 .NET SDK 不支持面向 .NET Core 2.2。要么面向 .NET Core 2.1 或更低版本,要么使用支持 .NET Core 2.2 的 .NET SDK 版本。”

我的項目的目標框架是空的,下拉菜單沒有顯示 2.2。

安裝 .NET Core SDK 2.2.103 后,錯誤消失,下拉菜單顯示“.NET Core 2.2”。

檢查以確保您的項目根文件夾中沒有global.json文件,該文件強制您的項目僅使用 .NET SDK 2.1。

如果您有這個 global.json 文件,請將其刪除,然后重新啟動 Visual Studio。

聽起來很尷尬,我花了將近一個小時的時間修修補補,我什至下載了幾個 SDK 版本來強制它使用 2.2

停止 IIS 進行發布解決了這個問題。 但首先我需要安裝 net core 2.1 SDK 並更新 Visual Studio。

我安裝了 .Net Core SDK 2.1.4 並遵循了這篇文章中的其他答案,但沒有解決我的問題。 最終為我做的是安裝 .Net Core SDK 版本 2.1.301 ,並卸載所有其他版本。 似乎 SDK 2.1.4 無法針對 .Net Core 2.1,但 SDK 2.1.301 可以完成這項工作。

我也是這樣解決的:

檢查 dotnet sdk 上的可用版本

C:\Users\me>dotnet --list-sdks

 ##2.1.202 [C:\Program Files\dotnet\sdk]
 ##2.1.505 [C:\Program Files\dotnet\sdk]
 ##2.1.508 [C:\Program Files\dotnet\sdk]
 ##2.1.509 [C:\Program Files\dotnet\sdk]
 ##2.1.511 [C:\Program Files\dotnet\sdk]
 ##2.1.514 [C:\Program Files\dotnet\sdk]
 ##2.1.801 [C:\Program Files\dotnet\sdk]

我在所有這些版本上測試了我的構建,直到我從“程序和功能”中卸載了上述所有內容后,它才能工作。 然后從最新下載:

https://dotnet.microsoft.com/download/dotnet-core/thank-you/sdk-3.1.300-windows-x64-installer

這奏效了。 不要浪費時間,就像我剛剛安裝了最新版本的 dotnet sdk,你很高興。

我正在使用 Rider,我有

當前的 .NET SDK 不支持面向 .NET Core 2.2。 以 .NET Core 2.1 或更低版本為目標,或使用支持 .NET Core 2.2 的 .NET SDK 版本

我有:

$ dotnet --list-sdks
2.1.2 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.505 [C:\Program Files\dotnet\sdk]
2.1.602 [C:\Program Files\dotnet\sdk]
2.2.202 [C:\Program Files\dotnet\sdk]

我嘗試只保留最新的 sdk,並且有:

項目“WebApplication3”加載失敗:找不到指定的 SDK“Microsoft.NET.Sdk.Web”..

所以我刪除了所有內容並重新安裝了 2.1.602。 從 Rider 制作了一個新項目。 它奏效了 不能說我明白我是如何解決它的......

某些人的問題似乎與 global.json 有關,請參閱:
- https://docs.microsoft.com/fr-fr/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio
- https://docs.microsoft.com/fr-fr/dotnet/core/tools/global-json
- https://andrewlock.net/the-sdk-microsoft-net-sdk-web-specified-could-not-be-found/

我之前做過的其他事情(似乎沒有解決問題,但可能有幫助?):
- 將 Rider 從 2018.3.2 更新到 2018.3.4(最新)。 - 安裝 Mono(在查看 Rider 構建設置時使用的是 Unity 中的那個)。
- 嘗試使用來自 Jetbrain(用於 Linux 的)的自定義 MSBuild,但沒有成功。
- 從 VS 安裝程序安裝與 .NET Core 相關的所有內容。
- 更新 VS 社區 ot 最新。 - 重啟。

Rider/Build, Execution, Deployement/Toolset and Build我現在有:
Mono 可執行文件: C:\\Program Files\\Mono\\bin\\mono.exe
- NET Core CLI 可執行文件: C:\\Program Files\\dotnet\\dotnet.exe
- 使用 MS Build 版本(自動檢測到 16.0): C:\\Program - Files\\dotnet\\sdk\\2.1.602\\MSBuild.dll

安裝 SDK 2.2.300 后,我開始收到此錯誤。 閱讀這篇文章和其他一些文章后,我將其降級到 SDK 2.2.1xx ,錯誤消失了。 注意:我必須在安裝 SDK 2.2.1xx 后卸載 SDK 2.2.300 並重新啟動。

我遇到了這個問題,我重新安裝了 VS2017。 那就修好了!

去你的管道。 單擊編輯管道。 單擊代理規范下拉列表。 將其更改為 Windows 2019。單擊 Save And Queue。

你走吧。 它對我來說很好。

我在 Visual Studio 2017 中遇到了同樣的問題。右鍵單擊項目並轉到屬性。 從那里您可以更改目標框架。 選擇合適的框架並運行您的項目。 這個解決方案對我有用。

打開舊項目時出現此問題。 解決方案是從 Visual Studio Installer 為我的 IDE (VS 2017) 安裝.NET Core 2.1 開發工具

Visual Studio 安裝程序

如果您運行錯誤(舊)版本的 Visual Studio,將向您報告相同的錯誤。

我最近對 .NET 7 的早期開發感到非常震驚,安裝了所有 SDK,但 VS 仍然拒絕構建我的 .NET 7 項目,給出完全相同的消息。 顯然 VS 2019 在 .NET 5 處達到最大值,這是 SDK 它試圖將我的用於我的 .NET 7 項目。 解決方案很明顯:)

看起來微軟正在鼓勵那些早期采用 Net Core 2.1 中最新開發軟件的人進行更好的編碼實踐,方法是取消在壞習慣盛行的情況下使用舊軟件的能力。 Net Core 2.0 和舊版本的生命周期即將結束,因此根本不應使用。 https://blogs.msdn.microsoft.com/dotnet/2018/06/20/net-core-2-0-will-reach-end-of-life-on-september-1-2018/

1) 微軟已經刪除了 ServiceLocator,因為它被廣泛認為是一種導致難以理解代碼的反模式。

2) 為了改進 MVC 應用程序,從身份驗證/授權中刪除了 AccountController,以鼓勵使用實現單一職責原則的 Razor 頁面。

為了增加過去為降低軟件工程標准而構建的軟件的持久性,規避這些更改不會被認為是最佳實踐。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM