2013-05-31 75 views
3

我想使用Nuget打包ILMerge的dll。用於ILMerged DLL的Nuget包

目前我可以做到這一點,但該軟件包還包括我剛合併的dll,並且還安裝了一些其他的nuget軟件包依賴項。

我想在nuspec文件中指定它應該只包含我的合併dll,並且它不應該在用戶安裝此包時非常有效地添加對nuget依賴項的引用,他們將獲得他們的項目中的單個dll參考,並沒有額外的nuget依賴關係。

這可能在nuspec中定義嗎?還是有更好的方法來實現這一目標?

+0

這將有助於如果你解釋你如何建立你的NuGet包。假設你有一個手寫的.nuspec文件,這個改變將是微不足道的,因爲.nuspec文件明確地調出哪些文件被添加到包中。 –

回答

0

像這樣:

<?xml version="1.0"?> 
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> 
    <metadata> 
    <dependencies> 
    </dependencies> 
    </metadata> 
    <files> 
    <file src="bin\Release\mydll.dll" target="lib" /> 
    <file src="bin\Release\mydll.pdb" target="lib" /> 
    </files> 
</package> 
1

好,而包裝DLL(一個或多個),請確保你沒有在lib依賴引用。另外,請確保在nuspec文件中沒有添加引用。

目錄結構:

My_Package 
| - lib 
    | - [Required Dll's] 
| - My_Package.nuspec 

編輯nuspec文件,並刪除所有引用:

<dependencies> 
     <dependency id="DLLDependency" version="1.0" /> 
    </dependencies>