2013-05-31 2 views
3

Я хотел бы упаковать DLL ILMerge'd с помощью Nuget.Nuget пакет для ILMerged dll

В настоящее время я могу это сделать, однако пакет также включает в себя 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>