Ich mag die neue VS2010 web.config Transformation-Funktion verwenden, um die Verbindungszeichenfolge in der nhibernate Konfiguration in meiner web.config-Datei zu ändern. Der entsprechende Code-Schnipsel ist so etwas wie folgt aus:Wie VS2010 web.config Transformation auf ein Element mit einem Namespace-Attribute anwenden?
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
<property name="connection.connection_string">(test connection string)</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
...
ich die folgende Transformation ohne Erfolg versucht haben:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory>
<property name="connection.connection_string" xdt:Transform="Replace">(production connection string)</property>
</session-factory>
</hibernate-configuration>
</configuration>
Das Problem scheint in der xmlns Attribut des nhibernate-Konfigurationselement zu sein.
Was sollte die richtige Transformation zu ersetzen (Test Connection String) mit (Produktionsverbindungszeichenfolge) während des Einsatzes?
Ich habe bereits versucht, das, aber der Transformationsschritt die „Hibernate-Konfiguration“ Knoten nicht einmal finden kann ... sehr wahrscheinlich aufgrund seiner xmlns Attribut . – gschuager
Ich weiß, dass ich hier nach Strohhalmen griffe, aber das letzte, was ich vor dem Aufgeben versuchen würde, wäre, diesen zusätzlichen Leerraum im Hibernate-Konfigurationselement zu eliminieren, so dass die Konfigurationen genau übereinstimmen. Ich habe meinen obigen Code bearbeitet, um zu reflektieren, worüber ich rede. –