【发布时间】:2019-05-15 23:21:52
【问题描述】:
我有一个使用 .NET 4.6.1 实现的项目。我使用 TFS 构建这个项目。构建任务之一是从此项目创建一个 nuget 包,因为它包含其他项目使用的共享代码。我最近需要将 Newtonsoft.Json 的版本从 v9.0.1 升级到 v12.0.1(我添加了一些新功能,迫使我升级我的 Newtonsoft.Json 版本)。
我现在收到错误'Newtonsoft.Json' has a dependency defined for 'Microsoft.CSharp' from my build task that create the nuget package。
这是创建 nuget 包的构建命令。
NuGet.exe pack "Common.csproj" -OutputDirectory "\packages\Common" -Properties Configuration=Release -version 1.2.3.4
这是 packages.config 文件。
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.IdentityModel.Logging" version="1.1.2" targetFramework="net461" />
<package id="Microsoft.IdentityModel.Tokens" version="5.1.2" targetFramework="net461" />
<package id="Newtonsoft.Json" version="12.0.1" targetFramework="net461" />
<package id="Sendgrid" version="9.9.0" targetFramework="net452" />
<package id="System.IdentityModel.Tokens.Jwt" version="5.1.2" targetFramework="net461" />
<package id="System.Net.Http" version="4.0.0" targetFramework="net452" />
<package id="Twilio" version="5.23.0" targetFramework="net461" />
</packages>
我看过这个question,但这些答案都不适用。
我们的构建服务器使用的是 nuget 版本 3.2.1.10581
【问题讨论】:
-
该错误消息通常意味着 NuGet 版本太旧并且不了解目标框架特定的依赖项。我会尝试使用更新的 NuGet 版本。 3.2.1 已经很老了。
-
我会尝试升级 nuget.exe 看看会发生什么。谢谢。
-
@MattWard 这对我有用。如果您想将此作为解决方案提交,我会将其标记为答案。干杯。
标签: tfs nuget tfsbuild nuget-package