web-dev-qa-db-fra.com

ReplacableToken_ lors de l'utilisation de la transformation web.config?

J'ai un web.config avec 2 transformations - pour le débogage et la publication.

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 de remplacer le nom par StrName. Je me retrouve avec:

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

Qu'est-ce que l'enfer est ReplacableToken_?

J'ai un autre projet et ça marche sans problème là-bas.

77
sirrocco

Si, comme moi, vous rencontrez ce problème en essayant d'automatiser votre processus de génération à l'aide de msbuild à partir 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 que vous devez définir est:

/ p: AutoParameterizationWebConfigConnectionStrings = False

C'est probablement ce que VS fait en votre nom lorsque vous publiez sur le système de fichiers

123
Iain Hunter

Si vous souhaitez créer avec Visual Studio 2010, ajoutez la ligne suivante à votre PropertyGroup de configuration dans votre .csproj:

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

Plus de détails ici: Comment se débarrasser complètement de "$ (ReplacableToken ...)" dans web.config

26
Andre Albuquerque