ReplacableToken_ bei Verwendung der web.config-Transformation?

83

Ich habe eine web.config mit 2 Transformationen - zum Debuggen und Freigeben.

web.config:

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

Ich habe gerade das angegebene Beispiel kopiert und den Namen durch StrName ersetzt. Am Ende habe ich:

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

Was zum Teufel ist ReplacableToken_?

Ich habe ein anderes Projekt und es funktioniert dort ohne Probleme.

Sirrocco
quelle

Antworten:

139

Wenn Sie wie ich auf dieses Problem stoßen, während Sie versuchen, Ihren Erstellungsprozess mithilfe von msbuild über die Befehlszeile zu automatisieren, finden Sie die richtige Antwort in diesem Blogeintrag:

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

Insbesondere müssen Sie folgende Parameter einstellen:

/p:AutoParameterizationWebConfigConnectionStrings=False

Dies ist höchstwahrscheinlich das, was VS in Ihrem Namen tut, wenn Sie im Dateisystem veröffentlichen

Iain Hunter
quelle
2
Genau das, wonach ich gesucht habe!
Jeremy Smith
2
yay, hatte das Problem, fand meine eigene Antwort!
Zvolkov
5
Obskure Befehlszeilenschalter für den Gewinn! Vielen Dank, dass Sie die aktuelle Einstellung zusätzlich zum Link veröffentlicht haben. Dies sollte wirklich als Lösung markiert werden.
Longda
toter Link. Zumindest hast du die Einstellung in deine Antwort aufgenommen :)
iandayman
1
Endlich eine Antwort !! Du hast meinen Tag (oder meine Nacht) gerettet!
Fabricio
30

Wenn Sie mit Visual Studio 2010 erstellen möchten, fügen Sie Ihrer Konfigurations-PropertyGroup in Ihrer .csproj-Zeile die folgende Zeile hinzu:

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

Weitere Details hier: So entfernen Sie "$ (ReplacableToken ...)" in web.config vollständig

Andre Albuquerque
quelle
1
+1 Auf diese Weise können Sie auf "Build Deployment Package" klicken, um die transformierte web.config abzurufen.
Chad Schouggins