【发布时间】:2018-06-15 12:11:07
【问题描述】:
我有一个 .NET Standard 类库项目,它将被构建到 NuGet 包中。我已经安装了docfx.console 包,这样我每次构建时都可以生成一个文档网站。
现在,当另一个项目安装我的库的 NuGet 包时,docfx.console NuGet 包也会被安装 - 这是我不想要的。
在Package下的项目属性中,我选择了Generate NuGet package on build。这将在我构建库时自动为我的库生成 NuGet 包。但在此选项卡中,我看不到可以配置排除任何包的任何地方。
所以为了排除docfx.console包,我创建了一个.nuspec文件,内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<!-- Required elements-->
<id>My.Library</id>
<version>1.0.1</version>
<description>My Library's project dscription.</description>
<authors>Me</authors>
<copyright>My Copyright (c)</copyright>
<!-- Optional elements -->
<dependencies>
<dependency id="docfx.console" version="2.36.1" exclude="build" />
</dependencies>
<!-- ... -->
</metadata>
<!-- Optional 'files' node -->
</package>
但它不起作用。在构建 NuGet 包时,如何更正它以排除 docfx.console 包?
或者,有没有其他方法可以从 NuGet 包中排除 docfx.console 包?
【问题讨论】:
-
尝试在您的项目中将
<PrivateAssets>all</PrivateAssets>添加到PackageReferenceofdocfx.console。
标签: c# xml visual-studio nuget nuget-package