我尝试使用SlowCheetah扩展程序,但我似乎无法让它工作。我想我可能错过了某个地方的一步。
我下载了扩展并安装了它。 我创建了我的web.config文件并执行了“添加转换”
为了测试它,我已经在我的项目中使用了ELmah,所以我尝试给它不同的电子邮件地址来发送每个配置的错误日志,而没有在web.config中发送。
的web.config
<elmah>
<security allowRemoteAccess="0"/>
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="C:\myLogPath"/>
<errorFilter>
<test>
<or>
<equal binding="HttpStatusCode" value="404" type="Int32"/>
<is-type binding="BaseException" type="System.FieldAccessException" />
</or>
</test>
</errorFilter>
</elmah>
web.debug.config
<elmah>
<errorMail from="error-debug@domain.tld" to="me@domain.tld" priority="High" xdt:Transform="Insert"/>
</elmah>
所以,当我看“预览变换”时,似乎结果就是我想要的。然后我启动我的应用程序(使用F5或ctrl + F5)并故意在我的网站上引发异常以触发Elmah错误报告,但我从未收到任何电子邮件。如果我在web.config中添加errorMail行,我会收到一封电子邮件,因此问题不是来自Elmah。
正如我所说,我觉得我可能错过了设置扩展的简单步骤。
答案 0 :(得分:0)
您遇到的问题不是SlowCheetah,而是您如何从Visual Studio启动Web应用程序。
SlowCheetah确实会为您的项目添加必要的MSBuild目标,以便在构建时进行转换,但仅适用于项目输出中包含的内容(即\ bin文件夹)。
构建Web应用程序时,web.config保持不变,只有程序集被复制到\ bin文件夹中。 Visual Studio将启动WebDev服务器并将其指向Web应用程序的根目录。由于您的web.config尚未修改,因此它将始终包含原始内容。
答案 1 :(得分:0)
据我所知,slow-Cheetah目前在调试时支持app.config
文件的配置转换,但不支持web.configs
。它应该将已转换的web.config
文件放在项目的bin
文件夹中,但您的项目仍然会从根文件夹中的配置文件中读取。请查看http://sedodream.com/CommentView,guid,68b7e248-b9f5-4d07-bdfe-eb037bcf2cbb.aspx处的解决方法。这对我有用,而不是使用Slow-Cheetah。
您还可以在调试时请求针对Slow-Cheetah的Web配置转换支持 https://github.com/sayedihashimi/slow-cheetah/issues/39他们正在考虑在F5上添加网络支持。