在 VSTS 'Newtonsoft.Json' 上打包 nuget 包已经为 'NETStandard.Library' 定义了依赖项
Packaging nuget package on VSTS 'Newtonsoft.Json' already has a dependency defined for 'NETStandard.Library'
在 VSTS 中使用 Nuget Packager 打包构建,我收到错误:
[错误]'Newtonsoft.Json' 已经为 'NETStandard.Library'.
定义了依赖项
大多数解决此问题的提示都涉及更新 nuget,但由于我是在 Team Services 上构建的,所以我无法真正做到这一点。
看来nuget packager使用的nuget不是最新的。在使用最新的 nuget.exe 在本地进行测试后,一切正常,因此我添加了一个新的 powershell 发布步骤。此解决方案适用于 VSTS,对于您有权访问服务器的 TFS,我建议在服务器本身上升级 nuget.exe:
此脚本将 nuget.exe 下载到 artifacts 目录(并输出 nuget.exe 的路径,以便您可以看到它的放置位置。)。
然后我更改了 Nuget Packager 构建步骤以使用新下载的 nuget.exe。
今天遇到了同样的问题。
使用您自己的构建代理
如果您使用自己的构建代理(而不是托管代理),您可以手动将 NuGet 版本更新到最新版本。就我而言,这解决了我的问题。
例如C:\agent\externals\nuget\nuget.exe
使用托管代理
它有点乱,但您可以将最新的 nuget.exe 上传到存储库并设置 NuGet Packager 来使用它。
对于在 2018 年遇到此问题的任何人,Microsoft 已经创建了一个新版本的 NuGet 任务来修复此问题。无需 powershell 安装步骤。
将构建步骤版本中的 NuGet 任务版本更改为 2。*
这对我造成了一些重大改变,我通过以下高级设置解决了这个问题
Nuget 恢复
Nuget 包
Nuget 推送
在 VSTS 中使用 Nuget Packager 打包构建,我收到错误:
[错误]'Newtonsoft.Json' 已经为 'NETStandard.Library'.
定义了依赖项大多数解决此问题的提示都涉及更新 nuget,但由于我是在 Team Services 上构建的,所以我无法真正做到这一点。
看来nuget packager使用的nuget不是最新的。在使用最新的 nuget.exe 在本地进行测试后,一切正常,因此我添加了一个新的 powershell 发布步骤。此解决方案适用于 VSTS,对于您有权访问服务器的 TFS,我建议在服务器本身上升级 nuget.exe:
此脚本将 nuget.exe 下载到 artifacts 目录(并输出 nuget.exe 的路径,以便您可以看到它的放置位置。)。
然后我更改了 Nuget Packager 构建步骤以使用新下载的 nuget.exe。
今天遇到了同样的问题。
使用您自己的构建代理
如果您使用自己的构建代理(而不是托管代理),您可以手动将 NuGet 版本更新到最新版本。就我而言,这解决了我的问题。
例如C:\agent\externals\nuget\nuget.exe
使用托管代理
它有点乱,但您可以将最新的 nuget.exe 上传到存储库并设置 NuGet Packager 来使用它。
对于在 2018 年遇到此问题的任何人,Microsoft 已经创建了一个新版本的 NuGet 任务来修复此问题。无需 powershell 安装步骤。
将构建步骤版本中的 NuGet 任务版本更改为 2。*
这对我造成了一些重大改变,我通过以下高级设置解决了这个问题
Nuget 恢复
Nuget 包
Nuget 推送