【问题标题】:Invalid .nuspec file: target framework `Unsupported,Version=v0.0` is not supported.nu​​spec 文件无效:不支持目标框架`Unsupported,Version=v0.0`
【发布时间】:2018-01-29 07:25:35
【问题描述】:

问一些有据可查的东西真是太尴尬了,但是我在推送我的 NuGet 包时遇到了一个错误:

System.AggregateException:发生一个或多个错误。 ---> System.Net.Http.HttpRequestException:响应状态代码不 表示成功:400(NuGet 包包含 invalid .nuspec 文件。遇到的错误是:'目标框架 不支持,Version=v0.0 不受支持。'。更正错误并重试。)。

我使用 VSTS NuGet 任务将包推送到 NuGet.org,NuGet.org 会出现上述错误。没有任何自定义,只有默认设置:

在我的 nuspec 文件中,我列出了依赖项,简化示例:

<dependencies>
  <group targetFramework="netcoreapp">
    <dependency id="Microsoft.NETCore.App" version="2.0.0" exclude="Build,Analyzers" />
  </group>
  <group targetFramework="net462" />
  <group targetFramework="netstandard1.0" />
</dependencies>

我假设我的 targetFramework 设置不正确,但它与文档 NuGet Target Frameworks 一致。我试过像netstandardnetcoreapp2.0这样的目标框架,它们都会导致同样的问题。

我的包文件:

<files>
  <file src="bin\MINE.Core.dll" target="lib\netcoreapp\MINE.Core.dll" />
  <file src="bin\MINE.Core.NetFX.dll" target="lib\net462\MINE.Core.NetFX.dll" />
  <file src="bin\MINE.Core.PCL.dll" target="lib\netstandard1.0\MINE.Core.PCL.dll" />
  <file src="readme.core.txt" target="" />
</files>

如果我将 dependencies 部分留空 (&lt;dependencies /&gt;),则一切正常,除了包没有列出我想要包含的依赖项。另外,如果我不使用组,因此不以框架为目标,而是列出所有依赖包,那么一切正常。

任何解决这个(可能是愚蠢的)问题的提示将不胜感激。

【问题讨论】:

  • 尝试使用高于版本 2 的 NuGet 版本。NuGet 2 不了解 .NET Standard。
  • @MattWard 他正在使用比版本 2 更高版本的 nuget。上面屏幕截图中的“2”是包装 nuget 的任务的版本;)如果没有以前的 nuget,此任务使用版本 4.0使用 -installer 任务,否则使用 nuget-installer 任务中指定的版本。 QualityCatalyst:您的定义是否有“Nuget-Installer”任务以及配置了哪个版本?
  • @D.J.感谢您的澄清。不,我只有根据文档使用 NuGet 4.1.0 的屏幕截图的 NuGet Push 任务:docs.microsoft.com/en-us/vsts/build-release/tasks/package/nuget
  • @MattWard:我更新了图像以反映我使用的是 NuGet 版本 4.1.0。
  • 我好像无法重现这个问题。 nuspec的详细代码是什么?如果手动推送包,结果如何?你能用新样本重现这个问题吗?

标签: nuget azure-devops azure-pipelines-release-pipeline nuspec nuget-spec


【解决方案1】:

发布定义不是问题,构建定义才是问题。当要推送的 NuGet 包被打包时,请确保使用了正确的 NuGet 版本。

例如,VSTS 中用于打包的已弃用 NuGet Packager 任务在内部使用旧版本的 NuGet。因此,将 VSTS 任务替换为推荐的 NuGet 任务即可解决问题,并且 NuGet.org 不会再抱怨 nuspec 文件不正确。

【讨论】:

  • @starianchen-MSFT:感谢您提出正确的问题。这促使我检查打包过程,结果发现没有维护使用最新的 NuGet 版本 4.1.0。
猜你喜欢
  • 2017-07-31
  • 1970-01-01
  • 2016-06-27
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
  • 2016-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多