MVC5 应用程序不尊重连接字符串中的配置源,仅在 PROD 上



新的MVC5应用程序。我正在使用 configSource 来处理我的连接字符串,如下所示:

<connectionStrings configSource="ConfigSectionsdb.config"></connectionStrings>

使用如下所示的 db.config 文件:

<?xml version="1.0" encoding="utf-8"?>
<connectionStrings>
    <add name="ApplicationServices" connectionString="Data Source=OurServer;Initial Catalog=OurDb;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>

这在我们的 DEV 服务器上工作正常,但在 PROD 上失败,如下所示:

[Win32Exception (0x80004005): The system cannot find the file specified]
[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server...

。我相信,SQL错误是 ASP.NET 身份试图创建新的本地数据库并失败。

我会假设我做了一些愚蠢的事情,比如指向错误的名字,但是 a)我已经尽我所能检查了这一点,dev 和 prod 的设置方式相同,b) 这个线程底部的MSDN_ice描述了非常相似的东西。

有谁知道这里发生了什么?它不仅仅是生产服务器,因为我们有一个MVC3应用程序,它运行在同一个网站上,使用configSource就可以了。看起来像MVC5 + ???.的组合

(如果需要,我会切换到 Web.Config.Debug/Release 方法,但如果可以解决这个问题,我宁愿不这样做。

这确实是愚蠢的事情。我在 db.config 中的连接名称错误。我的应用程序的旧版本使用名为应用程序服务的 conn 字符串。当前版本使用一个名为 DefaultConnection 的版本。不知何故,我已经更新了 DEV,但没有更新 PROD(叹气)。

最新更新