我已经完成了一次发布到我的MVC应用程序。在那之后,我再也无法调试了! 这是错误。我的visual studio web服务器似乎正在加载machine.config
2>'/'应用程序中的服务器错误。配置错误 描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并相应地修改配置文件。
分析程序错误消息:在应用程序配置中找不到连接名称“LocalSqlServer”,或者连接字符串为空。
来源错误:
第255行: 第256行:
源文件:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config行:257
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.237
这就是我的web.config的样子,我的代码中没有任何内容使用ASP.Net Membership,因为我的身份验证模式是“Windows”。 在我将构建模式从“Release”设置为“Debug”后,我确实设法在Visual Studio中再次运行它,但是在我今天再次发布之后......问题又回来了。
<configuration>
<connectionStrings>
<clear/>
<add name="ApplicationServices" connectionString="Data Source=SCG1SQL-64;Initial Catalog=Metallurgy;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="mandb100ConnectionString" connectionString="Data Source=scg1sql-64;Initial Catalog=mandb100;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="webpages:Version" value="1.0.0.0" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<authentication mode="Windows"/>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
答案 0 :(得分:2)
好吧,它正在使用machine.config
。有一个配置层次结构。换句话说,如果您未在remove
中明确指定(或clear
或web.config
),则会从machine.config
中提取基本默认值。
您的ASP.NET应用程序将在当前目录中查找web.config
以进行配置。如果找不到,或找不到所需的配置,它将查看应用程序的web.config
。然后,对于默认值,或未清除或未删除的项目,它还将从machine.config
提取配置。
但问题。您的错误消息是说它无法在任何地方找到LocalSqlServer
连接字符串名称。您确定web.config
中存在conn字符串名称吗?
修改:检查您的web.release.config
文件。如果您下拉web.config
文件,可以在解决方案资源管理器中找到它。这可能包含LocalSqlServer
连接字符串吗?
答案 1 :(得分:1)
此链接可能有所帮助:http://msdn.microsoft.com/en-us/library/webmatrix.webdata.preapplicationstartcode(v=vs.99).aspx
这就是我解决问题的方法。显然,默认情况下启用此WebMatrix SimpleMembership。所以我在web.config中添加了这一行,问题就消失了!!!
<add key="enableSimpleMembership" value="false"/>
答案 2 :(得分:1)
我知道这是一篇旧帖子,因为这两个答案都是正确的,指出你正确的方向来解决问题,我想添加另一个解决方案,如果它可以帮助任何人。
在我的应用程序中,在解决方案资源管理器,项目上下文菜单(右键单击项目)中使用“Add Deployable Dependencies ...”项后发生错误。这添加了一个名为 _bin_deployableAssemblies 的目录,其中包含在服务器上部署应用程序所需的dll,如果它们没有将其中一些添加到GAC中。 _bin_deployableAssemblies 中的dll将复制到应用程序的bin目录中。
有两个感兴趣的dll我没有使用 WebMatrix.Data 和 WebMatrix.WebData 。他们在我的应用程序的bin目录中的存在以某种方式混淆了默认的成员资格提供程序解析(如果我错了,请纠正我,或者对真正发生的事情添加解释:))。解决方案是简单地从bin目录和 _bin_deployableAssemblies 中删除有问题的dll。