发布到生产服务器名称时ELMAH字符串的转换不起作用

时间:2012-07-19 17:33:55

标签: asp.net visual-studio-2010 elmah

我正在运行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>

它没有抱怨但它也没有改变文本。我需要更改什么才能在构建/发布时对文件进行转换。

1 个答案:

答案 0 :(得分:6)

由于只有一个errorLog代码,因此您可以使用Replace代替SetAttributes定位器。另请注意,您必须使用实际的标记名称,而不是<add>

<errorLog type="Elmah.SqlErrorLog, Elmah"
     connectionString="Server=ProductionServer;Initial Catalog=OnlineApplication;Integrated Security=True"
     xdt:Transform="Replace"/>