Я все еще пытаюсь окунуться в вещи MSBuild. В настоящее время я возился с развертыванием через скрипт powershell с использованием сгенерированных скриптов из PackageWeb-Nuget-Package (video demo). Я пробовал это в течение нескольких дней, и это, казалось, сработало. Но «вдруг» строка соединения в сгенерированном web.config является лексемами и вместо строки подключения в вопросе я вижуЯвляется ли "AutoParameterizationWebConfigConnectionStrings" -отверстием единственный способ предотвратить токенизацию строки подключения?
connectionString="$(ReplacableToken_DefaultConnection-Web.config Connection String_0)
я написал «вдруг», потому что я не мог связать это (для меня новое) поведения в все, что я делал в предыдущие часы.
Итак, чтобы подвести итог: развертывание из пакета работает нормально, также применяется правильное преобразование конфигурации, но в итоге я получаю эту токенизированную строку соединения.
Я понимаю, что я могу это исправить, если я ввожу
<AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings>
в PropertyGroup (я просто положить его в генерируемых мишенях-файл, который создает NuGet-пакет)
Однако я действительно не нравится это, чтобы вставить это дополнительное значение в каждый проект, который может понадобиться; особенно потому, что я не знал, что мне нужна эта настройка в первую очередь. Вчера это сработало, и у меня не было этой дополнительной строки, вставленной в любые проекты или файлы целей.
Так что я надеялся, что, возможно, кто-то знает дополнительный переключатель, трюк или настройку, которые могут оказать дополнительное влияние на то, как это работает.
Это старая, но вы бы плз поделиться своими выводами о том, как вы сделали это без указания этого loooooog свойство в. * Проектируемый файл? – ostati
@Ostati Честно говоря, я не «решил», что в любой момент - свойство «AutoParameterizationWebConfigConnectionStrings = false» все еще является частью моего процесса развертывания; хотя я не сталкивался с какими-либо проблемами с этим, кроме эстетически, я все равно был бы очень заинтересован, если это можно обойти любым способом. – DrCopyPaste
@Ostati Чтобы добавить к этому, основное, что мне не понравилось в этом, - это изменить каждый проект (файл proj-файла) для этого; однако вам не обязательно это делать, вы можете передавать свойства в качестве параметров 'msbuild' - таким образом вы переопределяете уже существующие свойства в своих файлах proj или добавляете новые, которые вам нужны (например,' AutoParameterizationWebConfigConnectionStrings'), надеюсь, это поможет вам ;) (пример: http://stackoverflow.com/a/6052146/2186023) – DrCopyPaste