Я пытаюсь автоматически обнаружить web.configs как часть события предварительной сборки преобразования в одном из файлов проекта веб-приложения, этот код поднимается на один уровень папок из моего проекта файл и получает все web.configs в каждом каталоге и подкаталогах каталога:Нежелательные изменения в файле .csproj при сборке
<ItemGroup>
<WebConfigsRelativePath Include ="..\**\Web.config"/>
</ItemGroup>
Это прекрасно работает, но каждый раз, когда я строю и выход Visual Studio, я получаю приглашение спрашивать меня, если я хочу, чтобы сохранить изменения, внесенные в мой файл решения , Если я выбираю да, и откройте файл проекта, приведенный выше код изменяется в места расположения каждого web.config
<ItemGroup>
<WebConfigsRelativePath Include="..\Web\Decade\Web.config" />
<WebConfigsRelativePath Include="..\Web\Matrix\RiskAnalysis\Web.config" />
<WebConfigsRelativePath Include="..\Web\Service\Web.config" />
<WebConfigsRelativePath Include="..\Web\Web.config" />
</ItemGroup>
Это было бы хорошо, но в целом причиной я автоопределение web.configs пре- build, так что я могу добавить и удалить web.configs, как мне угодно, без необходимости жесткого кодирования их местоположений, и каждый раз, когда я выхожу из VS, места будут жестко закодированы в файле проекта ....
Кто-нибудь знает, почему этот ItemGroup меняется каждый раз, когда я выхожу из Visual Studio?
Это на самом деле тот же вопрос, что и http://stackoverflow.com/questions/21583437/how-do-i-prevent-visual-studio-2012-from-expanding-an-msbuild-4-wildcard – stijn