Je suis en train de jouer avec MVC 2.0 sur VS2010 et j'ai un problème Obtenir la fonctionnalité de configuration Web propre.
essentiellement dans mon web.debug.config code> J'ai p>
<connectionStrings xdt:Transform="Replace">
<add name="ApplicationServices"
connectionString="Server=localhost;Database=SITE_DB;User ID=dbuser;Password=P@ssw0rd;Trusted_Connection=False;" />
</connectionStrings>
and in my `Web.config` I have
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
3 Réponses :
Je pense que vous devez mettre xdt: locator = "match (nom)" dans
<connectionStrings xdt:Transform="Replace" xdt:Locator="Match(name)"> <add name="ApplicationServices" connectionString="Server=localhost;Database=SITE_DB; User ID=dbuser;Password=P@ssw0rd;Trusted_Connection=False;" /> </connectionStrings>
Que se passe-t-il s'il veut remplacer toujours tout dans l'élément Connexionstrings? En ce moment, le match (nom) ne fonctionnerait pas, non? Parce que c'est essayer de chercher un attribut i> sur les connexions élément i> appelé "nom" .. qui n'existe pas. Cet Attrib existe dans les éléments
Pure.krome est correct. Vous devez soit retirer la transformation du localisateur ou déplacer les deux transformations sur l'ajout xnode au lieu des connecteurs Xnode.
Les transformations .config ne se produisent que lorsque vous publiez ou déployez l'application d'une manière ou d'une autre. Si vous ne faites que déboguer, les transformations ne se produisent pas. P>
Cela semble fou, mais c'est tout droit de la bouche d'un représentant de la MS: http://forums.asp.net/f/1532038/3711423.aspx p>
Ce comportement fou m'a coûté assez de temps aujourd'hui :( Merci de pointer vers l'explication!
Quel est le point d'avoir un web.debug.config s'il n'est jamais utilisé alors? Il est là seulement pour confondre les gens?
Vous pouvez activer ce comportement, mais vous devrez créer un fichier "modèle" pour stocker votre état de pré-transformation dans un fichier qui n'est pas nommé web.config, sinon vous n'écracez pas votre modèle avec vos modifications transformées. Vous devez également ajouter une tâche de transformation dans votre fichier de projet afin de pouvoir exécuter lorsque vous déboguez.
<PropertyGroup> <BuildDependsOn> CustomWebConfigTransform; $(BuildDependsOn); </BuildDependsOn> </PropertyGroup> <Target Name="CustomWebConfigTransform"> <TransformXml source="Web.template.config" transform="Web.$(Configuration).config" destination="Web.config" /> </Target>