我将不再使用.NET Core/5/6 NuGet包的.nuspec
文件,但我不知道如何在.csproj
文件中设置等效的<requireLicenseAcceptance>
元素。
我在包中包含了一个名为license.txt
的许可证文件,如:
<ItemGroup>
<None Include="license.txt">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
然后我设置以下内容:
<PropertyGroup>
<PackageLicenseExpression></PackageLicenseExpression>
<PackageLicenseFile>license.txt</PackageLicenseFile>
</PropertyGroup>
这将在生成的.nuspec
文件中产生以下结果:
<license type="file">license.txt</license>
<licenseUrl>https://aka.ms/deprecateLicenseUrl</licenseUrl>
我希望<requireLicenseAcceptance>true</requireLicenseAcceptance>
也包含在生成的.nuspec
文件中,以便在安装包时弹出license.txt
的内容。
Doh。我没有意识到它可以通过项目属性设置,这样做揭示了我应该猜测的内容:元素名称几乎相同,只是前缀为"包装";。
.nuspec:
<RequireLicenseAcceptance>True</RequireLicenseAcceptance>
.csproj:
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>