Подтвердить что ты не робот

Может ли NuGet добавить файл .cs в проект назначения?

Я хочу создать пакет NuGet, который добавляет файл .cs(базовый класс, которому потребитель пакета рекомендуется впоследствии модифицировать) в корень проекта назначения во время установки.

Это возможно? Все, что я нашел до сих пор, говорит "нет, вы можете устанавливать файлы только под каталогом пакетов".

4b9b3361

Ответ 1

Просто поместите ваш .cs файл в папку под названием "content" в корневом каталоге.

из документов:

"вы можете расположить структуру каталогов, которая следует за соглашениями NuGet.

tools. Папка инструментов пакета предназначена для сценариев и программ powershell, доступных из консоли диспетчера пакетов. После копирования папки в целевой проект она добавляется в переменную среды $env: Path (PATH).

lib - сборки (DLL файлы) в папке lib добавляются в качестве ссылок на сборки при установке пакета.

content - файлы в папке содержимого копируются в корень вашего приложения, когда пакет установлен.

Подумайте о папке "Содержимое" в качестве корня вашего целевого приложения. Например, если я хочу, чтобы пакет добавлял изображение в каталог /images целевого приложения, обязательно поместите изображение в папку Content/images в пакете. "

см. http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory

Ответ 2

Вы также можете использовать раздел <files> nuspec для перемещения вашего файла в папку содержимого при создании пакета:

<?xml version="1.0"?>
<package>
  <metadata>
    ...
  </metadata>
  <files>
    <file src="App.Template.config" target="content" />
    <file src="Program.template.cs" target="content" />
  </files>
</package>