2016-01-25 1 views
0

Я создаю пакет NuGet, используя онлайн-шаблон NuGet Packager в Visual Studio 2013. У меня есть следующая файловая структура в моем проекте:Как предотвратить файлы документации HTML в пакете NuGet от копирования в папку содержимого

content/ 
docs/ 
    | 
    +- Install.md 
    | 
    +- Install.html 
lib/ 
src/ 
tools/ 

в качестве точки отсчета, у меня есть расширение Web Основы для Visual Studio установлен, и файл docs/Install.md составлен из Markdown в HTML на сохранения.

С настройками по умолчанию Package.nuspec для включения файлов каталог docs копируется в каталог .nupkg content.

<files> секция Package.nuspec:

<files> 
    <file src="lib\" target="lib" /> 
    <file src="tools\" target="tools" /> 
    <file src="docs\*" target="lib\docs" exclude="docs\**\*.md" /> 
    <file src="content\" target="content" /> 
</files> 

Полученная структура файла файла .nupkg:

content/ 
    docs/ 
     Install.html <-- This is NOT correct 
lib/ 
    docs/ 
     Install.html <-- This is correct 
package/ 
tools/ 

Некоторые дополнительные изменения моей <files> спецификации, которая не работает:

<file src="content\" target="content" exclude="docs" /> 
<file src="content\" target="content" exclude="docs\*" /> 
<file src="content\" target="content" exclude="docs\**\*" /> 
<file src="content\" target="content" exclude="content\docs" /> 
<file src="content\" target="content" exclude="content\docs\" /> 
<file src="content\" target="content" exclude="content\docs\*" /> 
<file src="content\" target="content" exclude="content\docs\**\*" /> 

Если я исключаю docs моя моя проект Visual Studio эта папка больше не отображается в полученной папке content и копируется в папку lib, как я хочу, но это нарушает удобный рабочий процесс сохранения файла .md и преобразования веб-Essentials в HTML на сохранение.

Почему моя папка lib/docs копируется в папку content в файле .nupkg?

ответ

0

Ненавижу это, когда я это делаю. Через 15 секунд после отправки вопроса я обнаружил ответ.

Две вещи по всей видимости, происходит:

  1. HTML-файлы, по умолчанию задано "Build Action" в Visual Studio в "Материалы"

  2. NuGet поднимает на этом и будет перебрасывать любой файл с помощью этого действия Build --- в любой каталог вашего проекта --- в папку content файла .nupkg.

Исправление:

  1. Щелкните правой кнопкой мыши на HTML-файл
  2. В "Свойства" панели, выберите "Нет" для "Build Action"
  3. Чистый и построить проект