我目前正在开发一个在 Windows Azure 上运行的 ASP.NET MVC 项目。我最近升级了该项目的所有包,似乎我的 web.x.config 不再加载。
更准确地说,我有三种不同的配置: - 发展 - 分期 - 生产
每个都有一个 web.x.config,其中 x 被这些名称之一替换。运行该项目时,我惊讶地发现我的数据库连接字符串非常乏味(.\SQLExpress),而不是与 azure 的连接。
在网上搜索了很长时间后,我尝试将其从 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"/>
此时我的数据库连接字符串是正确的,因此运行应用程序时似乎没有使用我的 web.x.config。我试图找到可以让我更改的设置,但无济于事。知道为什么会发生这种情况吗?
如果这是约定优于配置,我的配置与 web.config 子文件同名,即 config:development,file:web.development.config
谢谢, 史蒂芬
最佳答案
仅当您 publish/deploy 时才会进行转换应用程序。因此,当您在本地运行/调试时,它会使用 web.config 设置(不进行任何转换)。
参见this SO thread寻找可能的解决方案(我个人没有尝试/需要)。
第一个。
关于asp.net - 我的特定 web.x.config 文件未使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339593/