gpt4 book ai didi

c# - 安装dotnet工具包出错因为 "it is not compatible with net50"

转载 作者:行者123 更新时间:2023-12-05 04:52:39 28 4
gpt4 key购买 nike

我不明白我做错了什么。我正在尝试通过 Windows cmd 安装 ElectronNET.CLI 包(https://www.nuget.org/packages/ElectronNET.CLI):

dotnet tool install ElectronNET.CLI --version 11.5.1

但我收到错误信息:

error NU1202: Package ElectronNET.CLI 11.5.1 is not compatible with net50
(.NETFramework,Version=v5.0) / any.
Package ElectronNET.CLI 11.5.1 supports: net5.0 (.NETCoreApp,Version=v5.0) / any
The tool package could not be restored.
Tool 'electronnet.cli' failed to install. This failure may have been caused by:

* You are attempting to install a preview release and did not use the --version
option to specify the version.
* A package by this name was found, but it was not a .NET tool.
* The required NuGet feed cannot be accessed, perhaps because of an Internet con
nection problem.
* You mistyped the name of the tool.

我的 .csproj 文件:

<Project Sdk="Microsoft.NET.Sdk.Web">    
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="ElectronNET.API" Version="11.5.1" />
</ItemGroup>
</Project>

我还创建了 global.json文件来覆盖我的 sdk 的全局版本。因为我要安装的包目标是net5,当前项目版本是net5,但是我的全局sdk版本是.net6。全局.json:

{
"sdk": {
"version": "5.0.103"
}
}

说明 nuget 包管理器认为我使用的是 .net50 (.NET Framework) 而不是 .net5.0 的原因是什么?如何以及在哪里可以更改此版本?

例如,当我使用 .netcore 3.1 版本和 ElectronNet API 以及 9.31.2 版本的 CLI(针对 netcore 3.1)创建另一个 c# 项目时,一切都已安装并运行良好。

UPD: 我使用 nuget.exe update -self 更新了 nuget.exe , 但新版本的工作方式相同,但出现相同的错误。

UPD2:尝试通过 visual studio 安装 cli 工具。该消息更加困惑: enter image description here

UPD3:我从我的计算机中删除了 net6 预览版 sdk,将 visual studio 更新到 16.8.6(然后通过 vs 安装程序“修复”了 IDE)。我清除了 nuget 缓存。似乎我现在尝试安装的 cli 工具已安装,但现在是 cmd dotnet build失败并显示相同的消息(package ... is not compatible),但现在它表示已经安装的 nuget 包 ElectronNET.API 11.5.1 与 net50 不兼容!同时 Visual Studio IDE 成功构建并运行了这个项目(通过 IIS Express)!仅当我尝试使用 dotnet build 时然后错误奇迹般地出现在IDE中: enter image description here

发现类似问题https://developercommunity.visualstudio.com/t/error-msb4018-the-resolvepackagedependencies-task/1266042 , 但没有解决方案。

然后我创建了一个基于 .net5 的全新 blazor 项目。 Visual Studio 成功构建它,但是 dotnet build不。它说:

C:\Program Files\dotnet\sdk\5.0.103\Microsoft.Common.CurrentVersion.targets(1180,5): 
error MSB3644: The reference assemblies for .NETFramework,Version=v5.0 were not found.
To resolve this, install the Developer Pack (SDK/Targeting Pack) for this
framework version or retarget your application. You can download .NET Framework
Developer Packs at https://aka.ms/msbuild/developerpacks

真是个惊喜。根据这篇文章The reference assemblies for framework .NETCore, Version=v5.0 were not found我注意到我在 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework 中都没有 .net5 文件夹也不在 C:\Program Files\Reference Assemblies\Microsoft\Framework .我重新安装了 visual studio 和 net5。 SDK出现在C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v5.0 ,但构建错误是相同的。显然dotnet对待我的<TargetFramework>net5.0</TargetFramework>作为 net50(.NETFramework,Version=v5.0) 我不知道为什么。

最佳答案

嗯,这不是一般的解决方法,但也许它可以帮助某人。我成功地构建了我的项目,但是我计算机上的 dotnet.exe 仍然表现得非常 奇怪和不稳定,我的意思是有时 项目仍然无法构建。我使用了 Perry Qian-MSFT 的以下建议:

  • 删除全局 nuget.config
  • 删除了所有 nuget 缓存文件
  • 重新安装、修复、重启 visual studio 和 .net5 sdk
  • 全局安装 ElectronNET.CLI 而不是本地
  • MSBuildSDKsPath 变量值设置为 .net5 sdk 文件夹(注意:我的环境变量中没有此变量)
  • 定期重启 Windows(我有 Windows 7)

这些步骤都没有帮助。然后我尝试从我的工作文件夹创建示例项目 far away 并且 - 干杯 - dotnet build 成功构建了新的 .net5.0 项目。然后我尝试将我的整个工作文件夹移动到不同的目录中,并且在一些失败的变体之后它意外地成功构建了。然后我又移动了几次文件夹,有时移动项目构建成功,有时不成功。最后,我将我的工作文件夹移回项目,确信它可以工作并提交更改。

P.S.:看来我需要一个新版本的 Windows... 谢谢 Perry Qian-MSFT寻求建议。

关于c# - 安装dotnet工具包出错因为 "it is not compatible with net50",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66417612/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com