.nu​​spec文件无效:目标框架`不支持,版本= v0.0`不受支持

时间:2018-01-29 07:25:35

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

如此尴尬地提出一些记录良好的内容,但是当我推送NuGet包时出现错误,我感到很遗憾:

enter image description here

  

System.AggregateException:发生了一个或多个错误。 --->   System.Net.Http.HttpRequestException:响应状态代码没有   表示成功:400(NuGet包中包含无效.nuspec   文件。遇到的错误是:'目标框架   不支持,版本= v0.0 不受支持。'。纠正错误,然后再试一次。)。

我使用VSTS NuGet 任务将软件包推送到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部分留空(<dependencies />),一切都运行得很好,除了包裹没有列出我想要包含的依赖项。此外,如果我不使用群组,因此不会定位框架,但列出所有依赖包,一切正常。

任何解决这个问题(可能是愚蠢的)的提示都会受到热烈的赞赏。

1 个答案:

答案 0 :(得分:0)

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

例如,VSTS中不推荐使用的 NuGet Packager 任务用于在内部打包使用旧版本的NuGet。因此,用推荐的 NuGet 任务替换VSTS任务可以解决问题,NuGet.org不再会抱怨错误的nuspec文件。

enter image description here