Создание проекта .NET через VS2015, в котором используется пакет Nuget, не копирует файл .config - PullRequest
0 голосов
/ 07 сентября 2018

Проект nuget предназначен для .NET 4.0 и использует файл .nuspec для всех настроек nuget.

Мой проект в настоящее время использует файл App.config.

Мне успешно удалось упаковать мои project.dll, project.pdb и project.dll.config (app.config) в мой пакет NuGet.

Когда я пытаюсь построить проект, используя пакет NuGet, я вижу, что в полученных папках bin нет моего файла конфигурации.

Следует отметить, что если я собираю Rider, установка работает правильно и файл конфигурации копируется.

Спроси меня что-нибудь, пока все, что я действительно пробовал, использует в моем .nuspec.

1 Ответ

0 голосов
/ 08 сентября 2018

Если вашему nuget требуются значения конфигурации, вы должны либо по умолчанию указать их как необязательные, так и документ о том, как настроить библиотеку, или вам необходимо использовать преобразования конфигурации

.Net загружает только один файл конфигурации, который соответствует основному исполняемому файлу, который он запускает. Поэтому, даже если вы вручную скопировали project.dll.config в папку с бинарным файлом, я не верю, что он загрузится. (этот один файл конфигурации может загружать другие, но лучше использовать преобразования, чтобы добавить к ним ваши значения, чтобы конечный пользователь вашей библиотеки мог изменять их по мере необходимости)

Я признаю, что я не очень знаком с Rider, но Nuget предназначен для того, чтобы быть менеджером библиотек зависимостей, и у библиотек не должно быть своих собственных "полусекретных" конфигурационных файлов. Мне было бы очень любопытно, что он делает, если значения вашего конфигурационного файла действительно загружаются, или как вы обращаетесь к этим значениям (на мой взгляд, вы должны использовать те же встроенные функции для загрузки значений app.config, как если бы вы ' в основном exe).

...