Continuous integration 使用.nuspec创建多目标nuget包

Continuous integration 使用.nuspec创建多目标nuget包,continuous-integration,nuget,.net-standard,nuspec,Continuous Integration,Nuget,.net Standard,Nuspec,我在.csproj中指定了多目标 <TargetFrameworks>netstandard2.0;net472</TargetFrameworks> 问题是,我还想使用.nuspec文件,其中包含有关包的一些信息: dotnet pack --output nupkgs $ProjectPath -c:Release -p:NuspecFile=$NuspecFile 对于.nuspec文件,该包没有依赖项,我只能在netstandard2.0中安装它 <?

我在.csproj中指定了多目标

<TargetFrameworks>netstandard2.0;net472</TargetFrameworks>
问题是,我还想使用.nuspec文件,其中包含有关包的一些信息:

dotnet pack --output nupkgs $ProjectPath -c:Release -p:NuspecFile=$NuspecFile 
对于.nuspec文件,该包没有依赖项,我只能在netstandard2.0中安装它

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>xyz</id>
    <version>1.2011.4</version>
    <title>xyz</title>
    <authors>xyz</authors>
    <projectUrl>xyz</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>xyz</description>
    <copyright>xyz</copyright>
  </metadata>
</package>

xyz
1.2011.4
xyz
xyz
xyz
假的
xyz
xyz

我是否应该在这个.nuspec中添加一些内容,以使包具有目标依赖项?我已经读过关于标签的内容,但老实说,我找不到如何配置它的示例。

鉴于您使用的是基于SDK的项目,我强烈建议不要使用nuspec,除非您的场景由于其复杂性而无法满足要求

通过
dotnet.exe pack
自动生成项目文件包,可以为您完成大部分兼容性工作

如果确实需要使用nuspec,则应添加如下定义的依赖项组:

确保添加了相关的框架

范例


请注意,您需要为支持的特定框架添加依赖项组

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>xyz</id>
    <version>1.2011.4</version>
    <title>xyz</title>
    <authors>xyz</authors>
    <projectUrl>xyz</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>xyz</description>
    <copyright>xyz</copyright>
  </metadata>
</package>