我想構建一個nuget
包只用於設計時間包。該軟件包包含使用自定義代碼分析規則集的資源(規則集文件,構建道具文件和程序集)。我如何創建僅在設計時間的nuget包,在安裝時不會添加程序集引用?
我nuspec文件(我CodeAnalysis
裝配項目中)看起來是這樣的:
<package>
<metadata>
<id>$id$</id>
<version>$version$</version>
<authors>$author$</authors>
<description>$description$</description>
<references>
</references>
<developmentDependency>true</developmentDependency>
</metadata>
<files>
<!-- copy rules assembly to tools folder -->
<file src="bin\Release\CodeAnalysis.dll" target="tools\CodeAnalysis.dll" />
<file src="tools\CodeAnalysis.ruleset" target="tools\CodeAnalysis.ruleset" />
<file src="build\CodeAnalysis.props" target="build\CodeAnalysis.props" />
</files>
</package>
當構建這個包,CodeAnalysis.dll
組件存在於\lib\net40\CodeAnalysis.dll
,並且副本中加入\tools\CodeAnalysis.dll
。
當我在另一個項目中使用此包時,默認行爲是將對程序集的引用添加到項目中。由於這是一個只有設計/構建時間的程序集(僅在對項目執行代碼分析時使用),因此我不希望nuget
添加此引用。
我查看了nuspec
文件的<references>
部分,但是這並不能讓我知道如何防止引用。
如何構建nuspec文件,以便在安裝nuget包時nuget不添加項目引用?
是否可以在nuspec文件中指定它? (我直接從Visual Studio構建) –
使用Visual Studio擴展? –