我目前正在开发一个在Windows Azure上运行的ASP.NET MVC项目。 我最近升级了这个项目的所有包,似乎我的web.x.config不再加载。
更确切地说,我有三种不同的configuration: – 开发 – 分期 – 生产
每个人都有一个web.x.config其中x被这些名称之一所取代。 运行该项目时,我惊讶于我的数据库连接string是相当无聊(。\ SQLExpress),而不是我的连接到天青。
在网上search了很长时间之后,我试图从web.Development.config中移动它。
<add name="DatabaseContext" connectionString="Server=tcp:xxx.database.windows.net,1433;Database=<database>;User ID=<login>;Password=<pass>;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" xdt:Transform="Insert"/>
到web.config,去掉变换:
<add name="DatabaseContext" connectionString="Server=tcp:xxx.database.windows.net,1433;Database=<database>;User ID=<login>;Password=<pass>;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient"/>
在这一点上,我的数据库连接string是正确的,所以似乎我的web.x.config运行应用程序时不使用。 我试图find可以让我改变的设置,但无济于事。 任何想法为什么发生这种情况?
如果这是惯例而不是configuration,我的configuration和web.config子文件有相同的名字,例如config:development,file:web.development.config
谢谢,Stéphane
只有在发布/部署应用程序时才会进行转换。 所以当你在本地运行/调试时,它使用web.config设置(不进行转换)。
看到这个线程可能的解决方案(我没有尝试/需要个人)。
心连心。
@EdSF是正确的Web.config转换将仅在发布/部署例程不在调试模式下应用。
您可以使用像SlowCheetah这样的附加组件在调试模式下应用您的转换。