ReplacableToken_ podczas korzystania z transformacji web.config?

86

Mam plik web.config z 2 transformacjami - do debugowania i wydania.

web.config:

<connectionStrings>
    <clear />
    <add name="StrName" connectionString="data source=.\sqlexpress;User Id=sa;Password=pass;Database=SocialBot;"
                providerName="System.Data.SqlClient" />
</connectionStrings>

Po prostu skopiowałem podany przykład i zastąpiłem nazwę StrName. Skończyłem z:

<add name="StrName" connectionString="$(ReplacableToken_SocialBotConnectionString-Web.config Connection String_0)"
                providerName="System.Data.SqlClient" />

Czym do cholery jest ReplacableToken_?

Mam inny projekt i działa tam bez problemu.

sirrocco
źródło

Odpowiedzi:

142

Jeśli tak jak ja napotykasz ten problem, próbując zautomatyzować proces kompilacji za pomocą msbuild z wiersza poleceń, poprawną odpowiedź można znaleźć w tym wpisie na blogu:

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

W szczególności parametr, który musisz ustawić, to:

/p:AutoParameterizationWebConfigConnectionStrings=False

Najprawdopodobniej to właśnie robi VS w Twoim imieniu, kiedy publikujesz w systemie plików

Iain Hunter
źródło
2
Dokładnie to, czego szukałem!
Jeremy Smith
2
tak, miałem problem, znalazłem własną odpowiedź!
zvolkov
5
Niejasne przełączniki wiersza poleceń zapewniają wygraną! Dziękujemy za przesłanie aktualnego ustawienia oprócz linku. To naprawdę powinno być oznaczone jako rozwiązanie.
longda,
martwy link. Przynajmniej umieściłeś to ustawienie w swojej odpowiedzi :)
iandayman
1
Wreszcie odpowiedź !! Uratowałeś mój dzień (lub noc)!
Fabricio
31

Jeśli chcesz kompilować za pomocą programu Visual Studio 2010, dodaj następujący wiersz do konfiguracji PropertyGroup w pliku .csproj:

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

Więcej szczegółów tutaj: Jak całkowicie pozbyć się "$ (ReplacableToken ...)" w web.config

Andre Albuquerque
źródło
1
+1 To umożliwia kliknięcie „Build Deployment Package” w celu uzyskania przekształconego pliku web.config.
Chad Schouggins