我在Visual Studio 2012中有一个解决方案,其中包含一个azure项目和一个MVC Web项目等。 Web项目正在使用Entity Framework Code First。数据库是localdb。如果我将Web项目设置为启动项目,它在本地运行正常。 Code First更改传播到数据库,并且在调试时应用程序运行正常。如果我将azure项目设置为在app面料下本地运行的启动项目,则在登录应用程序并首次点击数据库时会收到以下错误。应用程序在部署到azure时运行正常。我可以通过SQL Server Management Studio在本地访问数据库。当Web应用程序设置为启动项目时,应用程序可以正常访问数据库。我认为它可能是数据库权限,因此我将localdb的连接字符串更改为不使用可信连接,并使用sysadmin权限在本地数据库中创建新登录。同样的错误。
这是连接字符串:
connectionString="Data Source=(localdb)\v11.0;Initial Catalog=[Database Name];User ID=[User Name];Password=[Password];Integrated Security=False; MultipleActiveResultSets=True;"
这是错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。无法创建自动实例。请参阅Windows应用程序事件日志以获取错误详细信息。
答案 0 :(得分:5)
我有类似的错误。查看应用程序事件日志,我可以看到我有两个不同的错误重复。我用谷歌搜索了他们,找到了描述解决方案的this blog post。显然在Windows 7 SP1中,您必须编辑%windir%\ system32 \ inetsrv \ config \中的 applicationHost.config 并更改
<add name="ASP.NET v4.0" managedRuntimeVersion="v4.0" />
到
<add name="ASP.NET v4.0" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>
我这样做了,但仍然无法正常工作。我看到我有使用GUIDS命名的网络服务,我向它们添加了相同的属性。在我回收所有应用程序池之后,问题就解决了。
希望这会有所帮助。或许有更多知识的人可以解释这一切背后的原因。