![](/img/trans.png)
[英]None worked - Error NETSDK1045: The current .NET SDK does not support targeting .NET 6.0
[英]NETSDK1045 The current .NET SDK does not support targeting .NET Core 3.1 - Caused by Cache?
我的 Visual Studio 2019 項目似乎失去了理智。 昨天早上,我能夠建造它,一切都很棒。 然后,突然,下午,它決定抱怨:
NETSDK1045 The current .NET SDK does not support targeting .NET Core 3.1. Either target .NET Core 2.1 or lower, or use a version of the .NET SDK that supports .NET Core 3.1
重要的是要注意,我在一天中所做的唯一更改是微不足道的。 例如,我沒有添加任何新包。 我只是做了一個小小的代碼調整,就是這樣。 不過,它變得更奇怪了。
我從前一天下載了我的 Carbonite 備份,但它似乎有同樣的問題。 這怎么可能,因為它在那個時間點運行良好?
然而它變得更奇怪了,因為當我今天早上打開我的 CS 文件時,我看到了這個:
而且,雖然昨天沒有發生這種情況,但現在我突然出現了命名空間錯誤:
幾個重要的注意事項:
.sln
文件,並沒有看到與此文件有任何不同的任何內容。.csproj
文件時,唯一的區別是這個文件有 2 個額外的包引用: Azure.Storage.Queues
和Microsoft.Azure.WebJobs.Extensions.DurableTask
。 不過,這些一直都在那里——昨天沒有任何改變。這是包含所有 PackageReferences 的完整 ItemGroup 部分:
<PackageReference Include="Azure.Storage.Queues" Version="12.4.2" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.1.1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="4.0.2" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.3" />
<PackageReference Include="Twilio" Version="5.46.0" />
雖然我確實看到有可用的包更新,但我的另外兩個引用舊包版本的函數沒有這個問題。
注意到Microsoft.NET.Sdk.Functions
有可用的包更新,我決定應用它,突然間我的解決方案很高興 -所有問題都神秘地消失了- 而我依賴於舊 3.0.3 包的其他功能仍在構建正好。
為什么即使在問題根本不存在的前一天恢復到我的代碼后,它仍然存在這個問題? 為什么這個解決方案,只有這個解決方案,突然決定停止工作並需要新的軟件包版本? 或者它不是特別需要那個包,而是安裝過程“重置”或清除某些東西?
我能想到的唯一可能的解釋是解決方案目錄之外的某些東西導致了這個問題,這就是為什么恢復我的備份沒有修復它。
這可能是由於 Visual Studio 緩存中的某些內容損壞造成的嗎? 我應該在此過程中早些時候做一些其他事情(更容易)嗎,比如手動清除緩存? 在研究這個問題之前我沒有意識到有這樣的緩存,所以我不知道這樣做。
我使用 Visual Studio 的經驗是,這樣的事情通常不會只發生一次,所以我想更好地了解當它再次發生時該怎么做。
PS ATTN 帖子審閱者:雖然還有關於此錯誤的其他問題,但如果您仔細閱讀我的帖子,您會發現我檢查了您可以檢查的幾乎所有內容,而這些問題的答案並沒有提供解決此問題的見解。 由於從備份恢復仍然沒有解決這個問題,我的問題特別是關於這是否可能是由緩存問題引起的,以及清除緩存是否應該是我過程中的早期步驟。
如果您確定所有 SDK 都已正確安裝,請檢查您的解決方案文件夾中的global.json
。 按照這個帖子來糾正它。
它可以像這樣簡單:
{
"sdk": {
"version": "3.1.xxx" //you have to find the exact number from SDK installed folder.
}
}
如果您的環境變得大量,您也可以全局設置它,但通常我們不需要這個命令:
dotnet new globaljson --sdk-version 3.0.100
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.