我正在运行Visual Studio 2010,使用ASP.Net表单应用程序。我正在尝试在构建时转换XMl但它无法正常工作。
在我的配置部分,我有以下内容:
<elmah>
<security allowRemoteAccess="yes" />
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionString="Data Source=TestServer;Initial Catalog=OnlineApplication;Trusted_Connection=True" />
<errorMail from="emhelp@server.edu" to="person@test.com" subject=" Exception" async="true" smtpserver="smtpgate.server.edu" />
当我通过web.config.production xml转换发布到生产时,我试图让它变成ELMAH服务器名称。我对应用程序设置和连接字符串的所有其他设置都可以正常工作。 我在web.production.config中有以下内容:
<add type="Elmah.SqlErrorLog, Elmah"
connectionString="Server=ProductionServer;Initial Catalog=OnlineApplication;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(type)"/>
</elmah>
它没有抱怨但它也没有改变文本。我需要更改什么才能在构建/发布时对文件进行转换。
答案 0 :(得分:6)
由于只有一个errorLog
代码,因此您可以使用Replace
代替SetAttributes
定位器。另请注意,您必须使用实际的标记名称,而不是<add>
。
<errorLog type="Elmah.SqlErrorLog, Elmah"
connectionString="Server=ProductionServer;Initial Catalog=OnlineApplication;Integrated Security=True"
xdt:Transform="Replace"/>