首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VisualStudioforMac2022不使用预期的.NET6 SDK

VisualStudioforMac2022不使用预期的.NET6 SDK
EN

Stack Overflow用户
提问于 2022-09-30 16:15:54
回答 1查看 299关注 0票数 2

我尝试构建一个示例TodoApp,它包含一个基于.net 6的项目,下载到GitHub上。

我使用的是Visual for Mac2022 v17.3.6 (build 20)和Visual for Mac (17.4 build 715)。

当我试图恢复这些解决方案的包时,我得到了一个与项目TodoAppService.NET6相关的错误。

代码语言:javascript
运行
复制
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命令返回:
代码语言:javascript
运行
复制
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命令返回:
代码语言:javascript
运行
复制
6.0.401

我尝试了在这个主题上给出的解决方案,它描述了一个类似的问题:

  • 我删除了SDK5.0.408和6.0.401,如下所示:
代码语言:javascript
运行
复制
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`
  • 我已经重新安装了相同的SDK

但当我试图恢复软件包时,我总是遇到同样的问题.

编辑:一些测试

我还没有找到任何解决办法,但我做了一些测试。

首先,我使用.NET 6创建了一个基本控制台应用程序:

我可以构建和启动这个基本的应用程序。

在此之后,我重新创建了项目TodoAppService.NET6:,我可以还原包并构建它。

在Visual中,我可以看到使用了最新的Microsoft.NETCore.App框架:

但是,当我在Visual中打开TodoApp解决方案时,似乎没有认识到相同的框架,因为它看起来是一个没有版本的SDK:

编辑:新闻测试

我通过在TodoAppService.NET6 TodoApp解决方案的项目中添加一个global.json文件进行了新的测试:

代码语言:javascript
运行
复制
{
  "sdk": {
    "version": "6.0.401",
    "rollforward": "minor"
  }
}

这并没有改变任何事情,而且当我试图恢复包时,我总是有相同的错误.

,这真的很令人沮丧,我没有别的办法来解决这个问题.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-05 19:41:30

您是否可能在解决方案中混合了.NET和经典项目,这会导致Mono上的MSBuild出现问题。此堆栈溢出问题解释了该问题。

转到您的解决方案属性,然后构建->通用并取消选中‘’。如果这是您的问题,您应该看到项目将立即生成后,取消复选框。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73911473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档