错误 NU5049 不支持 SDK 样式项目的 pack 命令

2024-04-24

我的解决方案包含 Framework 4.8 项目、.Net Standard 2.1 项目和 .net6 项目。它已经运行了几周,没有出现任何问题。

今天构建管道开始失败并出现错误

##[错误]nuget 命令失败,退出代码(1) 和错误(错误 NU5049:不支持 SDK 样式项目的 pack 命令,请使用 dotnet pack 或 msbuild -t:pack 来打包此项目。你可以 通过设置覆盖此行为 “NUGET_ENABLE_LEGACY_CSPROJ_PACK”环境变量设置为“true”。 错误 NU5000:无法构建包。

我尝试编辑 YAML 将命令从 pack 更改为 dotnet pack,但出现值不接受错误。

[Update]

I am trying to see exactly how I correct the syntax. I tried typing dotnet into the tasks bar and get the following choices

我尝试了 .Net Core 但它插入的命令有 -task:DotNetCoreCLI@2 这也不起作用。

dotnet pack 的 YAML 是什么?

我的 YAML 如下

trigger:
- master

pool:
  vmImage: 'windows-2022'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'
  Major: '2'
  Minor: '0'
  Patch: '0'

steps:
- task: NuGetToolInstaller@0
  inputs:
    versionSpec: '>=4.3.0'
    checkLatest: true

- task: NuGetCommand@2
  inputs:
    command: 'restore'
    restoreSolution: '**/*.sln'
    feedsToUse: 'config'
    nugetConfigPath: 'WinFormsCoreMain\nuget.config'
    patchVersion: '$(Patch)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: DotNetCoreCLI@2
  inputs:
    command: 'pack'
    packagesToPack: '**/*.csproj'
    versioningScheme: byPrereleaseNumber
    majorVersion: '$(Major)'
    minorVersion: '$(Minor)'
 

我将恢复命令更改为

- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    feedsToUse: 'config'
    nugetConfigPath: 'WinFormsCoreMain\nuget.config'
    patchVersion: '$(Patch)'

现在出现错误

##[警告].NET 5 与较旧的 Nuget 版本(

##[错误]错误:进程“C:\Program Files\dotnet\dotnet.exe”失败,退出代码为 1 ##[error]包恢复失败 信息:Azure Pipelines 托管代理已更新,现在包含 .Net 5.x SDK/运行时以及较旧的 .Net Core 版本 目前是 lts。除非您已锁定 SDK 版本 您的项目,5.x SDK 可能会被选中,这可能会破坏 与以前版本相比的行为。您可以了解更多有关 这里的重大变化:https://docs.microsoft.com/en-us/dotnet/core/tools/ https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ https://docs.microsoft.com/en-us/dotnet/core/compatibility/。学习 有关更多此类更改和故障排除,请参阅此处:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting

我想我可以尝试单击“新建管道”来查看 DevOps 想要什么,但我收到了 503 错误。

但是,当我单击“查看我们的服务状态更新”时,没有报告任何问题。

[Update]

现在我可以创建一个新的管道 当我运行它时,错误是

##[warning]An image label with the label vs2017-win2016 does not exist.
,##[error]The remote provider was unable to process the request.
Pool: Azure Pipelines
Image: vs2017-win2016

我会尝试

vmImage: 'windows-2022'

[Update]

我已经回滚,现在我只想尝试将“NUGET_ENABLE_LEGACY_CSPROJ_PACK”环境变量设置为“true”

[更新] 根据 Zar Shardan 的建议,我更新为使用 DotNetCoreCLI@2 包。 然后我遇到了这个错误。

##[警告].NET 5 与较旧的 Nuget 版本(

所以我尝试将恢复命令更改为

- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    feedsToUse: 'config'
    nugetConfigPath: 'WinFormsCoreMain\nuget.config'
    patchVersion: '$(Patch)'
    

构建开始失败并显示类似消息

 Task "Error" skipped, due to false condition; ('$(MSBuildToolsVersion)' == '2.0' and ('$(ProjectToolsVersion)' !=

'2.0' 和 '$(ProjectToolsVersion)' != '')) 被评估为 ('Current' == '2.0' 和 ('' != '2.0' 和 '' != ''))。

and

Nuget.Config 不是有效的 XML

and

##[错误]错误:进程“C:\Program Files\dotnet\dotnet.exe”失败,退出代码为 1 ##[error]包恢复失败

我注意到 DotNetCoreCLI@2 不支持

restoreSolution: '**/*.sln'

并想知道我的问题是否与此有关。

[Update]

我的构建 YAML 是

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

我认为这不适用于更新的 dotnetcorecli

[更新] 尝试使用 DotNetCoreCLI@2 相反,我遇到了新问题 https://stackoverflow.com/questions/75632440/nuget-config-is-not-valid-xml-path-running-dotnetcorecli.


只需将 NuGetCommand@2 替换为 DotNetCoreCLI@2 即可解决原始 OP 的问题:

-task: DotNetCoreCLI@2
  inputs:
command: 'pack'
    packagesToPack: '**/*.csproj'

...etc...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误 NU5049 不支持 SDK 样式项目的 pack 命令 的相关文章

随机推荐

  • UIWebView 不断尝试加载但没有结果

    我正在尝试使用 UIWebView 连接到 wikiTravel 页面 这是我的代码 NSURL url NSURL URLWithString http wikitravel org en Beijing NSURLRequest req
  • 从命令行运行 Jupyter Notebook (.ipynb),就像它是 .py 文件一样

    我正在本地计算机上编写 Jupyter 笔记本 该笔记本最终将在远程服务器 运行 Ubuntu 上运行 每次我需要进行更改时 我都必须将笔记本导出为 py文件 然后从服务器的命令行调用它 我希望能够即时运行它 调用一个命令来获取当前的 ip
  • Gmail 的操作邮件程序配置

    我正在尝试将使用 Gmail SMTP 的电子邮件传送添加到我的应用程序中 我之前已经完成了 不太安全的应用程序 方式 但我不想在这个项目中使用此选项 我试图查看谷歌的文档或一些宝石以使其工作 但无济于事 每个人都只是发送一些代码 如下所示
  • 使背景图像与屏幕大小相同

    我希望背景图像填满屏幕 并且不担心失去宽高比 已经证实了一切 不要认为我错过了任何明显的事情 HTML phone margin auto height 737px width 654px background image url imgs
  • 比较sql server中两个字符串中的数字

    我有两个字符串作为 CountryLocationIDs 和 LocationIDs 其值 CountryLocationIDs 400 600 150 850 160 250 LocationIDs1 600 150 900 然后我需要另
  • 如何为特定用户选择最后一行?

    我有一个这样的表 requests id id user unix time 1 2353 1339412843 2 2353 1339412864 3 5462 1339412894 4 3422 1339412899 5 3422 13
  • 我的 Rails 路由应该是什么样子才能与 pushState Ember.js 路由一起使用?

    简而言之 当构建 Ember js 应用程序以持久保存到 Rails 应用程序时 我应该如何处理 Rails 路由 视图 我想我只需要 Rails 来渲染 application html erb 布局 以便 Ember js 应用程序初始
  • 如何修复 Chrome 扩展程序“未捕获的引用错误:文档未定义”错误? [复制]

    这个问题在这里已经有答案了 我正在创建一个扩展 我希望它能够在任何网站上找到特定的单词并突出显示它们 但是 在加载扩展程序后 我立即收到一条错误消息 有谁知道如何解决这一问题 我的代码如下 背景 js chrome runtime onIn
  • ffmpeg drawtext如何设置从右到左的方向

    i write arabic text to videos and it works fine but the issue is that the arabic language is written from right to left
  • 使用 MinMax 和 Alpha-Beta 剪枝找到最佳移动

    我正在为游戏开发 AI 我想使用MinMax算法与Alpha Beta 修剪 我对它的工作原理有一个粗略的了解 但我仍然无法从头开始编写代码 所以我花了两天的时间在网上寻找某种伪代码 我的问题是 我在网上找到的每个伪代码似乎都是基于寻找最佳
  • 属于主键?

    我有一个像这样的数据库布局 Users id name etc Lead id initials etc 基本上一个用户有很多线索 这initials字段映射到name用户表中的字段 我对用户设置有一个完美的关系 has many lead
  • 在编译时将多个文件中的变量收集到单个连续的内存块中

    我想在多个 c 文件中定义 并初始化 结构体的多个实例 但我希望它们在编译时收集到一个连续的数组中 我一直在研究使用自定义部分并使用该部分的开始和结束地址作为结构数组的开始和结束 但我还没有完全弄清楚细节 而且我不想编写自定义部分链接器脚本
  • vim:无法加载库 libpython

    我不让 vim 与 python 支持一起工作 我使用以下配置编译 vim 7 4 972 configure enable shared with features huge enable multibyte enable cscope
  • 如何使用 mediaelement.js 获取 HTML5 音频播放列表?

    我尝试在 mediaelement js 中搜索音频播放列表的示例 但我没有找到 mediaelement js 支持音频播放列表吗 如果是这样 请支持我的示例代码或链接 非常感谢 我设法获得了一个超级基本 阅读 hacky 的播放列表演示
  • WAMP服务器将MySQL切换为MariaDB

    如何在WAMP 3 1 0中将数据库从MySQL切换到MariaDB 我正在寻找它 但我找不到它 从您显示的图像来看 MySQL 和 MariaDB 似乎都已经在运行 注意 这有点占用内存 简单测试看看 MySQL 和 MariaDB 是否
  • python服务器中进程之间共享列表

    我有简单的UDP服务器 它适用于多重处理 我想创建一个列表 其中包含有关所有客户的信息 I use Manager 但我不明白 如何在列表中附加信息 我需要传输 Manager 的对象来处理 但是如何 我使用新属性的方法不起作用 impor
  • 将图像插入 JTable

    我在将图像插入 JTable 时遇到问题 我搜索了一下 发现有两种方法 您可以覆盖表模型的 getcolumnclass 或创建自定义 tablecellrender 我选择使用以下代码制作自己的单元格渲染器 public class My
  • 从 Helm stable/cert-manager 升级到 jetstack/cert-manager

    我们有一个生产 AKS 集群 其中包含stable cert manager安装 helm 图表以允许使用 Let s Encrypt 证书 当前安装的版本是cert manager v0 6 0 in the kube system命名空
  • Laravel:BadMethodCallException 方法 [find] 不存在

    当尝试使用模型对象 User 从数据库中提取一些值时 出现以下错误 BadMethodCallException Method find does not exist 这是我的文件 模范用户
  • 错误 NU5049 不支持 SDK 样式项目的 pack 命令

    我的解决方案包含 Framework 4 8 项目 Net Standard 2 1 项目和 net6 项目 它已经运行了几周 没有出现任何问题 今天构建管道开始失败并出现错误 错误 nuget 命令失败 退出代码 1 和错误 错误 NU5