ReplacableToken_ при использовании преобразования web.config?

86

У меня есть web.config с двумя преобразованиями - для отладки и выпуска.

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_?

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

сиррокко
источник

Ответы:

142

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

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

В частности, вам нужно установить следующий параметр:

/p:AutoParameterizationWebConfigConnectionStrings=False

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

Иэн Хантер
источник
2
Именно то, что я искал!
Джереми Смит
2
ура, была проблема, нашел свой ответ!
zvolkov
5
Непонятные переключатели командной строки для победы! Спасибо, что разместили фактическую настройку в дополнение к ссылке. Это действительно должно быть отмечено как решение.
longda
мертвая ссылка. По крайней мере, вы включили настройку в свой ответ :)
iandayman
1
Наконец-то ответ !! Ты спас мне день (или ночь)!
Фабрицио
31

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

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

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

Андре Альбукерке
источник
1
+1 Это то, что позволяет вам щелкнуть «Build Deployment Package», чтобы получить преобразованный файл web.config.
Chad Schouggins