Leo*_*rdo 17 .net nuget .net-6.0
我刚刚将一个项目从 .NET 5 更新到 .NET 6。它在本地编译和运行完美。当我将其推送到 azure 并运行 CI 管道时,报告错误:
NU1202:软件包 MyStandardPackages 1.0 与 net60 (.NETFramework,版本 = v6.0) 不兼容。软件包 MyStandardPackages 1.0 支持:netstandard2.1 (.NETStandard,Version=v2.1)
有解决方法吗,或者我必须更新此包以声明 .NET 6?
ziv*_*kan 28
如果您仔细查看您发布的错误消息:
NU1202:软件包 MyStandardPackages 1.0 与 net60 (.NETFramework,版本 = v6.0) 不兼容。软件包 MyStandardPackages 1.0 支持:netstandard2.1 (.NETStandard,Version=v2.1)
请注意,它说的net6.0是.NETFramework,Version=v6.0。然而,.NET 6 实际上是.NETCoreApp,Version=v6.0.
因此,我得出结论,您正在使用一些旧版本的 NuGet(甚至不了解 .NET 5)来恢复您的项目/解决方案。
我的建议是避免NuGetCommand在 Azure DevOps 中执行任务。我完全想不出任何使用它的理由,CI 脚本所需的所有重要功能都存在于 CLIdotnet和MSBuild.exe.
因此,如果您的解决方案/存储库中的所有项目都是 SDK 样式(包含Sdk="whatever"在项目文件中),则使用dotnet restore. 如果您只有一个非 SDK 样式项目(.cs目录中的每个项目都在 XML 中列出),则使用msbuild -t:restore. 这样,您将永远不会再遇到 NuGet 版本不匹配的问题。
| 归档时间: |
|
| 查看次数: |
16790 次 |
| 最近记录: |