ReplacableToken при использовании web.преобразование конфигурации?


у меня есть веб.конфигурация с 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_ ?

у меня есть другой проект и он работает без проблем.

2 70

2 ответа:

Если, как и я, вы столкнулись с этой проблемой при попытке автоматизировать процесс сборки с помощью msbuild из командной строки, правильный ответ можно найти в этой записи блога:

http://www.zvolkov.com/clog/2010/05/18/how-to-packagepublish-web-site-project-using-vs2010-and-msbuild/

в частности, параметр, который вам нужно установить:

/p: AutoParameterizationWebConfigConnectionstrings=False

Это скорее всего, что VS делает от вашего имени, когда вы публикуете в файловой системе

Если вы хотите построить с помощью Visual Studio 2010, добавьте следующую строку в свою группу свойств конфигурации .csproj:

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

подробнее здесь: Как избавиться от " $(ReplacableToken...)" в web.конфиг полностью