我尝试构建一个示例TodoApp,它包含一个基于.net 6的项目,下载到GitHub上。
我使用的是Visual for Mac2022 v17.3.6 (build 20)和Visual for Mac (17.4 build 715)。
当我试图恢复这些解决方案的包时,我得到了一个与项目TodoAppService.NET6相关的错误。
Getting restore information for project /Users/user/Projects/AzureSamples/azure-mobile-apps/samples/TodoApp/TodoAppService.NET6/TodoAppService.NET6.csproj
/usr/local/share/dotnet/sdk/5.0.408/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(141,5) : error NETSDK1045: The current .NET SDK does not support targeting .NET 6.0. Either target .NET 5.0 or lower, or use a version of the .NET SDK that supports .NET 6.0.
Unable to create package spec for project. '/Users/user/Projects/AzureSamples/azure-mobile-apps/samples/TodoApp/TodoAppService.NET6/TodoAppService.NET6.csproj'
但是,对于我的计算机上的.Net SDK,似乎一切都是正确的:
dotnet --list-sdks
命令返回:2.1.302 [/usr/local/share/dotnet/sdk]
2.1.504 [/usr/local/share/dotnet/sdk]
2.1.505 [/usr/local/share/dotnet/sdk]
2.1.700 [/usr/local/share/dotnet/sdk]
2.1.701 [/usr/local/share/dotnet/sdk]
3.0.100 [/usr/local/share/dotnet/sdk]
3.0.101 [/usr/local/share/dotnet/sdk]
3.1.100 [/usr/local/share/dotnet/sdk]
3.1.101 [/usr/local/share/dotnet/sdk]
3.1.102 [/usr/local/share/dotnet/sdk]
3.1.200 [/usr/local/share/dotnet/sdk]
3.1.300 [/usr/local/share/dotnet/sdk]
3.1.401 [/usr/local/share/dotnet/sdk]
3.1.402 [/usr/local/share/dotnet/sdk]
3.1.403 [/usr/local/share/dotnet/sdk]
3.1.404 [/usr/local/share/dotnet/sdk]
3.1.406 [/usr/local/share/dotnet/sdk]
3.1.407 [/usr/local/share/dotnet/sdk]
3.1.408 [/usr/local/share/dotnet/sdk]
3.1.409 [/usr/local/share/dotnet/sdk]
3.1.410 [/usr/local/share/dotnet/sdk]
3.1.411 [/usr/local/share/dotnet/sdk]
3.1.412 [/usr/local/share/dotnet/sdk]
3.1.413 [/usr/local/share/dotnet/sdk]
3.1.418 [/usr/local/share/dotnet/sdk]
3.1.419 [/usr/local/share/dotnet/sdk]
3.1.421 [/usr/local/share/dotnet/sdk]
3.1.422 [/usr/local/share/dotnet/sdk]
3.1.423 [/usr/local/share/dotnet/sdk]
5.0.100 [/usr/local/share/dotnet/sdk]
5.0.101 [/usr/local/share/dotnet/sdk]
5.0.103 [/usr/local/share/dotnet/sdk]
5.0.201 [/usr/local/share/dotnet/sdk]
5.0.202 [/usr/local/share/dotnet/sdk]
5.0.203 [/usr/local/share/dotnet/sdk]
5.0.301 [/usr/local/share/dotnet/sdk]
5.0.302 [/usr/local/share/dotnet/sdk]
5.0.400 [/usr/local/share/dotnet/sdk]
5.0.401 [/usr/local/share/dotnet/sdk]
5.0.407 [/usr/local/share/dotnet/sdk]
5.0.408 [/usr/local/share/dotnet/sdk]
6.0.300 [/usr/local/share/dotnet/sdk]
6.0.302 [/usr/local/share/dotnet/sdk]
6.0.400-preview.22330.6 [/usr/local/share/dotnet/sdk]
6.0.400 [/usr/local/share/dotnet/sdk]
6.0.401 [/usr/local/share/dotnet/sdk]
dotnet --version
命令返回:6.0.401
我尝试了在这个主题上给出的解决方案,它描述了一个类似的问题:
version="5.0.408"
sudo rm -rf /usr/local/share/dotnet/sdk/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version
sudo rm -rf /usr/local/share/dotnet/host/fxr/$version
version="6.0.401"
sudo rm -rf /usr/local/share/dotnet/sdk/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version
sudo rm -rf /usr/local/share/dotnet/host/fxr/$version`
但当我试图恢复软件包时,我总是遇到同样的问题.
编辑:一些测试
我还没有找到任何解决办法,但我做了一些测试。
首先,我使用.NET 6创建了一个基本控制台应用程序:
我可以构建和启动这个基本的应用程序。
在此之后,我重新创建了项目TodoAppService.NET6:,我可以还原包并构建它。
在Visual中,我可以看到使用了最新的Microsoft.NETCore.App框架:
但是,当我在Visual中打开TodoApp解决方案时,似乎没有认识到相同的框架,因为它看起来是一个没有版本的SDK:
编辑:新闻测试
我通过在TodoAppService.NET6 TodoApp解决方案的项目中添加一个global.json
文件进行了新的测试:
{
"sdk": {
"version": "6.0.401",
"rollforward": "minor"
}
}
这并没有改变任何事情,而且当我试图恢复包时,我总是有相同的错误.
,这真的很令人沮丧,我没有别的办法来解决这个问题.
发布于 2022-10-05 19:41:30
您是否可能在解决方案中混合了.NET和经典项目,这会导致Mono上的MSBuild出现问题。此堆栈溢出问题解释了该问题。
转到您的解决方案属性,然后构建->通用并取消选中‘’。如果这是您的问题,您应该看到项目将立即生成后,取消复选框。
https://stackoverflow.com/questions/73911473
复制相似问题