如何通过 .csproj 文件要求接受 NuGet 包的许可
How to require license acceptance for NuGet package through .csproj file
我正在远离 .NET Core/5/6 NuGet 包的 .nuspec
文件,但我不知道如何设置 [=15] 中 <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
的内容。
呵呵。我没有意识到它可以通过项目属性设置,这样做揭示了我 应该 猜到的:元素名称几乎相同,只是前缀为“Package”。
.nuspec:
<RequireLicenseAcceptance>True</RequireLicenseAcceptance>
.csproj:
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
我正在远离 .NET Core/5/6 NuGet 包的 .nuspec
文件,但我不知道如何设置 [=15] 中 <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
的内容。
呵呵。我没有意识到它可以通过项目属性设置,这样做揭示了我 应该 猜到的:元素名称几乎相同,只是前缀为“Package”。
.nuspec:
<RequireLicenseAcceptance>True</RequireLicenseAcceptance>
.csproj:
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>