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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.