我正在尝试仅为由第 3 方包组成的依赖项构建一个 nuget 包。如果我从头开始,可能带有所需程序集的空项目可能是一个更好的主意,但我已经有可用的 nuspec 文件,所以我不想为未来的安全创建自己的项目。这是一个这样的 nuspec 文件:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>MyCompany.TestPack</id>
<tags>Test</tags>
<version>1.0.0</version>
<authors>Example Inc.</authors>
<owners>Example Inc.</owners>
<description>This package provides data.</description>
<language>en-US</language>
<licenseUrl>https://example.com</licenseUrl>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<dependencies>
<group targetFramework="net6.0-windows">
<dependency id="DevExpress.Data" version="[22.2.9]" />
</group>
</dependencies>
<frameworkReferences />
<developmentDependency>false</developmentDependency>
</metadata>
</package>
这是构建包的 nuget 命令:
nuget pack my.package.nuspec
问题是它失败并出现错误:
NU1012:某些依赖项组 TFM 缺少平台版本: net6.0-windows
我还尝试使用 nuget 命令 /p:WindowsTargetPlatformVersion=7 但没有成功。
但如果我将 targetFramework="net6.0-windows" 更改为 "net6.0-windows7.0" 或 10 等,它就可以工作。
我的问题是,如何在不提供平台版本的情况下从上述 nuspec 构建软件包?或者如果有必要的话我该如何通过nuget命令设置它?
使用nuget.exe版本5.8.1(https://dist.nuget.org/win-x86-commandline/v5.8.1/nuget.exe),指定没有限制平台版本。