【问题标题】:The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty在应用程序配置中找不到连接名称“LocalSqlServer”或连接字符串为空
【发布时间】:2012-06-14 14:49:54
【问题描述】:

所以昨天我在我的开发机器上安装了 PHP 和 MySQL。从那时起,我在尝试运行我的一个 .NET 项目时收到以下错误:

在应用程序配置中未找到连接名称“LocalSqlServer”或连接字符串为空。

它引用了 Machine.Config 的这一行:

<add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

我在网上搜索过,高低都可以确认我的machine.config有必要的连接字符串:

  <connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="LocalMySqlServer" connectionString="" />

有趣的是,我在生产服务器(服务器 2008)上执行了完全相同的安装 PHP 和 MySQL 的操作,并且没有问题。我的开发机器是 Windows 7。

因此,我的整个开发机器都坏了。如何修复 machine.config 或修复它并解决此问题?有没有人经历过这种情况?

小牛

【问题讨论】:

    标签: .net visual-studio-2010 iis windows-7 .net-4.0


    【解决方案1】:

    也许某处有一个 web.config,其中包含:

    <connectionStrings>
        <clear/>
        ...
    </connectionStrings>
    

    您可能还需要仔细检查您正在查看的 machine.config 是否正确。每个框架版本都有单独的 machine.config,对于 32 位和 64 位框架也有单独的。

    【讨论】:

    • 所以出于某种奇怪的原因。一个完全不相关的 web.config 文件有:
    • 删除它似乎可以解决问题。我不知道即使不在我正在运行的项目中的 web.config 文件也会影响其他项目?
    • @Nugs,请查看以下有关 ASP.NET 配置文件层次结构和继承的 MSDN 文章,了解您的项目为何继承这些设置:msdn.microsoft.com/en-us/library/ms178685.aspx
    • 没有这个网站你真的能生存吗 :-) 两年前,我在连接字符串方面遇到了一些问题,根据一些建议,我添加了 标签并且它起作用了。快进,一切正常(并且仍然使用这个标签),除了今天,经过一番努力,我终于设法将项目升级到 MVC4 并转移到 VS2013 和这个错误。我在整个硬盘驱动器上搜索术语“LocalSQLServer”,以便将其删除。谁能想到微软的聪明人看到“清晰”标签时会插入这个东西。谢谢。
    • 旧帖子,但我有同样的问题 - 只要名为 LocalSqlServer 的 connectionString 存在 - 网站加载正常......如果我删除连接字符串,错误又回来了......怎么能我删除 LocalSqlServer connectionString 行?我试过
    【解决方案2】:

    出于各种原因,我需要将&lt;clear /&gt; 保留在我的连接字符串的顶部,虽然添加一个名为LocalSqlServer 的虚拟连接字符串的解决方案有效,但由于“我不知道我们为什么需要它,但没有它,应用程序就无法工作”。

    我的解决方案是删除下面的 roleManager 行,因为它是旧代码遗留下来的,不再需要。

    <system.web>
        <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />
    </system.web>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      相关资源
      最近更新 更多