我想使用Nuget打包ILMerge的dll。用於ILMerged DLL的Nuget包
目前我可以做到這一點,但該軟件包還包括我剛合併的dll,並且還安裝了一些其他的nuget軟件包依賴項。
我想在nuspec文件中指定它應該只包含我的合併dll,並且它不應該在用戶安裝此包時非常有效地添加對nuget依賴項的引用,他們將獲得他們的項目中的單個dll參考,並沒有額外的nuget依賴關係。
這可能在nuspec中定義嗎?還是有更好的方法來實現這一目標?
我想使用Nuget打包ILMerge的dll。用於ILMerged DLL的Nuget包
目前我可以做到這一點,但該軟件包還包括我剛合併的dll,並且還安裝了一些其他的nuget軟件包依賴項。
我想在nuspec文件中指定它應該只包含我的合併dll,並且它不應該在用戶安裝此包時非常有效地添加對nuget依賴項的引用,他們將獲得他們的項目中的單個dll參考,並沒有額外的nuget依賴關係。
這可能在nuspec中定義嗎?還是有更好的方法來實現這一目標?
像這樣:
<?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>
好,而包裝DLL(一個或多個),請確保你沒有在lib依賴引用。另外,請確保在nuspec文件中沒有添加引用。
目錄結構:
My_Package
| - lib
| - [Required Dll's]
| - My_Package.nuspec
編輯nuspec文件,並刪除所有引用:
<dependencies>
<dependency id="DLLDependency" version="1.0" />
</dependencies>
這將有助於如果你解釋你如何建立你的NuGet包。假設你有一個手寫的.nuspec文件,這個改變將是微不足道的,因爲.nuspec文件明確地調出哪些文件被添加到包中。 –