我不知道我做错了什么,但我几乎觉得我已经尝试了一切。我似乎无法通过web.debug.config更改来获取我的项目的web.config。我在某处读到只有在发布时才进行转换。然后我读到SlowCheetah可以处理这个,所以我把它安装到我的项目中。它也没有任何区别。
运行VS 2012 Express。我使用VS安装的IIS Express本地服务器进行调试。我将Firefox作为浏览器运行。
的web.config:
<appSettings>
<add key="SiteUrl" value="http://development.mysite.com/" />
</appSettings>
web.debug.config:
<appSettings>
<add key="SiteUrl" value="http://localhost:4652/"
xdt:Transform="SetAttributes"
xdt:Locator="Match(key)" />
</appSettings>
我也尝试过使用替换:
<appSettings>
<add key="SiteUrl" value="http://localhost:4652/"
xdt:Transform="Replace"
xdt:Locator="Match(key)" />
</appSettings>
在本地调试配置中运行时:
string siteurl = ConfigurationManager.AppSettings["SiteUrl"];
仍然导致siteurl为http://development.mysite.com/
我通过右键单击web.debug.config来运行预览转换,它显示转换完美,但不是我在本地运行Web应用程序时。
不得不承认,我没有看到如何配置SlowCheetah。我没有看到任何配置它的方法,我一直在想也许它本身就有“某些东西”。 :S
有谁知道如何克服这个问题,或者我可能做错了什么?
答案 0 :(得分:0)
我建议暂时忽略缓慢的猎豹,因为我觉得你不需要它。我已将它用于Windows Forms开发,但不需要Web开发。而是使用标准的单击Web部署机制,并重新考虑如何使用配置转换。
基本上,只在发布时使用转换,并将本地开发设置放在主Web.config而不是转换中。
的Web.config:
<appSettings>
<add key="SiteUrl" value="http://localhost:4652/" />
</appSettings>
Web.Sandbox.config:
<appSettings>
<add key="SiteUrl" value="http://sandbox.mysite.com/"
xdt:Transform="SetAttributes"
xdt:Locator="Match(key)" />
</appSettings>