У меня есть решение Visual Studio 2019, которое выглядит следующим образом, и я хочу упаковать его в репозиторий nuget:
-Solution
+Project1
(no web.config file)
+Project2
-web.config.transform
<appSettings>
<add key="Project2Key" value="p2value" />
</appSettings>
+Project3
-web.config.transform
<appSettings>
<add key="Project3Key" value="p3value" />
</appSettings>
<customSettingsForProject3>
.....
</customSettingsForProject3>
+MainUtilsProject
-web.config.transform
<appSettings>
<add key="MainUtilsProjectKey" value="mainValue" />
</appSettings>
Когда он компилируется, он запускает команду nuget pack для генерации пакета nuget (все это отлично работает). Проблема в том, что упаковывается только web.config.transform в MainUtilsProject. Другие файлы web.configs либо не копируются, либо перезаписываются, либо не преобразуются. "Копировать всегда" устанавливается для этих файлов.
В узле файлов * nuspe c есть
<file src="web.config.transform" target="Content" />
.
Я знаю, что они все с тем же именем и что последний вход будет единственным, существующим после сборки, но если я переименую web.configs в других проектах, все они будут скопированы в папку bin, но команда nuget pack не будет выполнена, если я попытаюсь сослаться они говорят, что «файл не найден».
Конечная цель состоит в том, чтобы потребляющий проект, который загружает пакет nuget, установил соответствующие разделы web.configs в свой собственный web.config. И это прекрасно работает, но только для файла MainUtilsProject (в приведенном ниже примере в него вставлен только ключ для MainUtilsProject)
Так как я могу получить файл web.configs для всех проектов, объединенных в один файл, который получает упакованы в пакет nuget? Принимая во внимание, что проекты могут также существовать как независимые проекты со своими собственными web.configs.
В потребляющем проекте после установки пакета nuget хотелось бы увидеть это в файле web.config:
<appSettings>
<add key="Project2Key" value="p2value" />
<add key="Project3Key" value="p3value" />
<add key="MainUtilsProjectKey" value="mainValue" />
</appSettings>
<customSettingsForProject3>
.....
</customSettingsForProject3>
Это вообще возможно?
Спасибо