2010-09-02 4 views
66

J'ai un web.config avec 2 transformations - pour le débogage et la libération.ReplacableToken_ lors de l'utilisation de la transformation 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> 

Je viens de copier l'exemple donné et remplacé le nom avec strName. Je me retrouve avec:

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

Qu'est-ce qui est ReplacableToken_?

J'ai un autre projet et cela fonctionne sans problème.

Répondre

109

Si, comme moi, vous êtes en cours d'exécution contre ce problème tout en essayant d'automatiser votre processus de construction en utilisant msbuild de la ligne de commande, la bonne réponse se trouve dans cette entrée de blog:

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

plus précisément, le paramètre vous devez définir est:

/p: AutoParameterizationWebConfigConnectionStrings = False

Ceci est probablement ce que VS fait en votre nom lorsque vous publiez la système de fichiers

+4

Vous êtes un épargnant de vie . – willem

+2

Exactement ce que je cherchais! –

+2

yay, eu le problème, trouvé ma propre réponse! – zvolkov

23

Si vous voulez construire avec Visual Studio 2010, ajoutez la ligne suivante à votre PropertyGroup de configuration dans votre .csproj:

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings> 

Plus de détails ici: How to get rid of "$(ReplacableToken...)" in web.config completely

+0

+1 Ceci vous permet de cliquer sur "Build Deployment Package" pour obtenir le fichier web.config transformé. –

Questions connexes