2016-02-03 1 views
2

У меня есть пакет nuget, в котором у меня есть xml-файл, скажем, config.xml. Я хочу, чтобы этот файл был скопирован в папку bin любого зависимого проекта. Однако, независимо от того, как я пытаюсь указать этот файл, или где я помещаю его на основе различных руководств, которые я нашел, мне не удается его скопировать.Скопировать xml из зависимости nuget для вывода

Если я переименовать мой .nupkg в *.nupkg.zip и смотреть на него в Проводнике, имеет следующую внутреннюю структуру:

package root 
|-- lib 
| +-- net45 
|   |-- My.Own.Library.dll 
|   +-- My.Own.Library.xml 
+-- config.xml 

Когда я строю зависимый проект, я получаю что-то вроде этого в моей папке Bin:

bin 
|-- My.Own.Program.exe 
|-- My.Own.Library.dll 
+-- My.Own.Library.xml 

Отметьте, что config.xml не включен здесь. Как мне, предпочтительнее из спецификации nuget пакета (а не в зависимом проекте), убедитесь, что config.xml скопирован в папку bin при создании программы?


Некоторые дополнительная информация:

Я имею в project.json файл библиотеки, который генерирует NuGet Packge, следующие спецификации:

"packInclude": { 
    "/": "config.xml", 
    "lib/net45/": "config.xml" 
}, 
"contentFiles": [ 
    "config.xml" 
], 

Однако, это, кажется, не генерировать все в файле .nuspec, который входит в пакет в выходной папке. Я нашел these instructions и редактировать сгенерированный .nuspec вручную, чтобы соответствовать:

<contentFiles> 
    <files include="contentFiles/any/any/certificates.xml" copyToOutput="true" /> 
</contentFiles> 

Это не оказывает никакого влияния на всех в зависимости проекта.

+0

Возможный дубликат [NuGet Package не копирует файл XMLDoc вместе с dll в bin] (http://stackoverflow.com/questions/19136999/nuget-package-not-copying-xmldoc-file-along-with-dll- к бункеру) – JEuvin

ответ

0

NuPack открытый проект источника в соответствии с лицензией MIT, что изначально делать то, что вам нужно:

Это самородок пакет, который автоматически создать пакет на время сборки , Вы можете попробовать и посмотреть, как он управляет функцией, которая вам нужна.

Похоже, что он содержит папку сборки в пакете nuget с файлом .targets, чтобы включить процесс пост-сборки для копирования файлов зависимостей.