If you’re trying to use web.config transformations in VS 2010 with nHibernate you might be hitting the same issue I’ve been getting the transformation to match the hibernate-configuration node. The reason is because you have to specify an xmlns="urn:nhibernate-configuration-2.2"
attribute as part of the configuration:
<configuration> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> <session-factory> <property name="connection.connection_string">connection string</property> ... </session-factory> </hibernate-configuration> </configuration>
To fix, just set the namespace on the target node in the transformation file like this:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xmlns:hib="urn:nhibernate-configuration-2.2"> <hib:hibernate-configuration> <hib:session-factory> <hib:property xdt:Transform="Replace" xdt:Locator="Match(name)" name="connection.connection_string">your connection string</hib:property> </hib:session-factory> </hib:hibernate-configuration> </configuration>
2 replies on “web.config transformations for NHibernate”
Thank you for your post.But I perfer using the XML file XD.
[…] assigned to it. I've had hit and miss success using this method and found a more reliable solution here. In short, add the namespace to your transformation file and use it when "finding" the target node. […]