Использование пакета nuget для развертывания одного файла

Я хочу создать пакет nuget с одним файлом. Есть ли способ упаковать один файл, а затем проинструктировать файл о том, где он должен быть размещен в проекте Visual Studio?

Мне удалось создать файл nuspec и упаковать пакет nuget, содержащий этот файл. Однако его невозможно установить внутри пакета.

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

Теперь файл nuspec просто определяет основы метаданных. Затем я запускаю пакет nuget с этим файлом nuspec и конфигурационным файлом в каталоге. Это приводит к пакету nuget с файлом конфигурации, который не удаляется.

Вот что я имею в пакете nuget:

enter image description here

и файл nuspec:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>StyleCopSettings</id>
    <version>1.0.1</version>
    <title>StyleCopSettings</title>
    <authors>Clearspan</authors>
    <owners>Clearspan</owners>
    <description>StyleCopSettings</description>
  </metadata>
</package>

Ответ 1

Проблема заключается в том, что вы не ссылаетесь на файл, о котором идет речь, в вашем nuspec. Я отредактировал ваш nuspec следующим образом.

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>StyleCopSettings</id>
    <version>1.0.1</version>
    <title>StyleCopSettings</title>
    <authors>Clearspan</authors>
    <owners>Clearspan</owners>
    <description>StyleCopSettings</description>
  </metadata>
  <files>
        <file src="$pathToYourFile$\styleCopSettings.txt" target="content\Settings" /> 
   </files>
</package>

Чтобы добавить файл в проект через пакет, вы должны добавить его в каталог содержимого вашего пакета target="content\Settings". Каталог содержимого пакета nuget действует как корневая директория проекта, в который будет установлен пакет (source). Таким образом, указывая дальнейшие каталоги в нашей цели, мы можем разместить файл в определенном месте. В приведенном выше примере файл styleCopSettings.txt будет помещен в каталог настроек любого проекта, использующего этот пакет. Каталог настроек будет добавлен как часть установки.

После того, как вы вызвали пакет nuget на свой nuspec, вы должны получить что-то вроде этого

nupkg view

Когда вы будете использовать пакет, вы получите следующее.

example