ReplacableToken_ при использовании преобразования web.config?
У меня есть web.config с 2 преобразованиями - для отладки и выпуска.
web.config:
<connectionStrings>
<clear />
<add name="StrName" connectionString="data source=.\sqlexpress;User Id=sa;Password=pass;Database=SocialBot;"
providerName="System.Data.SqlClient" />
</connectionStrings>
Я просто скопировал приведенный пример и заменил имя на StrName. Я получаю:
<add name="StrName" connectionString="$(ReplacableToken_SocialBotConnectionString-Web.config Connection String_0)"
providerName="System.Data.SqlClient" />
Что, черт возьми, ReplacableToken_?
У меня есть другой проект, и он работает без проблем.
Ответы
Ответ 1
Если, как и я, вы сталкиваетесь с этой проблемой, пытаясь автоматизировать процесс сборки с помощью msbuild из командной строки, правильный ответ можно найти в этой записи в блоге:
http://www.zvolkov.com/clog/2010/05/18/how-to-packagepublish-web-site-project-using-vs2010-and-msbuild/
В частности, параметр, который вы должны установить:
/р: AutoParameterizationWebConfigConnectionStrings = False
Это наиболее вероятно, что VS делает от вашего имени, когда вы публикуете в файловой системе
Ответ 2
Если вы хотите построить с помощью Visual Studio 2010, добавьте следующую строку в свою конфигурацию PropertyGroup в ваш .csproj:
<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>
Подробнее здесь:
Как избавиться от "$(ReplacableToken...)" в web.config полностью