在应用程序配置文件中找不到连接字符串(但它确实存在)

时间:2015-04-24 17:57:50

标签: entity-framework asp.net-web-api iis-7 web-config asp.net-web-api2

我有一个我发布到IIS的Web API项目,它抱怨我的配置文件中没有特定名称的连接字符串。我验证了 web API项目的web.config文件中有一个条目,所以一定不能把它拿起来。我能够使用Visual Studio 2013在本地运行同一个web.config文件。

我很清楚引用的启动项目必须具有连接字符串,这就是我的情况。我验证了我的Web API项目下面有连接字符串(我在本地计算机上成功使用的那个)。

<connectionStrings>
    <add name="MyDB" connectionString="metadata=res://*/MyDB.csdl|res://*/MyDB.ssdl|res://*/MyDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=localhost\MyDB;initial catalog=MyDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient"/>
</connectionStrings>

是否在服务器上的其他地方抱怨另一个配置文件?

我已经尝试了this question中的建议而没有运气。

2 个答案:

答案 0 :(得分:0)

  1. 如果您的项目在IIS上的文件夹中发布,并且配置文件存在于最上面的文件夹中,则这些值可能存在冲突。
  2. 如果存在其他配置文件,请尝试在发布时启用“在目标位置删除其他文件”选项。此选项位于“设置”下的位置 - &gt;文件发布选项

答案 1 :(得分:0)

  

在bin中只有一个web.config文件 -

您的web.config文件应与Global.asax,packages.config位于同一文件夹中,而不应位于bin文件夹中。