Я пытаюсь понять, как работают пакеты NuGet, чтобы я мог упаковать некоторые из моих неоднократно используемых источников для будущих проектов.
Я работаю с простой библиотекой классов (.Net Foundation) и использую CLI для создания файла nuspec, а затем упаковываю из CLI. Я получаю пакет nuget, который отлично устанавливает DLL библиотеки классов.
Но теперь я хочу добавить преобразование в App.Config, которое включает строку подключения, и я хочу скопировать простой файл типа readme в целевой проект.
При использовании следующего файла nuspec файл readme не устанавливается в папку readme должным образом (не устанавливается вообще), и я не могу заставить работать ни один из app.config.transforms.
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<releaseNotes>Stuff</releaseNotes>
<copyright>Copyright 2019</copyright>
<tags>123 1234</tags>
</metadata>
<files>
<file src="app.config.transform" target="content\app.config.transform" />
<file src="Model\State1.cs" target="content\State1.cs"/>
<file src="new.txt" target="content\new.txt"/>
</files>
</package>
Куда мне положить файлы преобразования? Кажется, что они должны быть в папке содержимого в моем исходном проекте, но это не работает. Когда я упаковываю пакет nuget, я получаю сообщение о том, что файлы не находятся в папке содержимого, даже если они явно.
С вышеуказанным файлом nuspec я получаю ошибку:
Доступ к пути 'C: \ Users \ Имя пользователя \ .nuget \ packages \ MyDLLProject.lookups \ 1.1.7041.17482 \ content' запрещен.
Почему это?