我唯一的连接字符串是 LocalSqlServer - 为什么在我 运行 测试时 Web.config 没有加载?

My only connection string is LocalSqlServer - Why is Web.config not loading when I run a test?

我在 Visual Studio 社区 2013 中从空模板开始了一个 ASP.NET Web 应用程序项目,并勾选了 Web API 复选框。我已经单独安装了 SQL Server 2014 Express,并且已经连接到服务器资源管理器下的数据库。不确定是否相关。

我正在尝试使用 Web.config:

中的连接字符串打开与我的数据库的连接
<configuration>
  <connectionStrings>
    <clear />
    <add name="DbConnection" connectionString="..."/>
  </connectionStrings>
</configuration>

我尝试通过几种方式访问​​它:

var connStr = System.Configuration.ConfigurationManager.ConnectionStrings["DbConnection"].ToString();

var connStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;

当我 运行 进行单元测试时,我尝试的所有操作都会吐出 NullReferenceException。

查看 ConfigurationManager.ConnectionStrings 中的内容,我只找到 machine.config 的 LocalSqlServer:

为什么我在测试时 Web.config 似乎没有加载?

var connStr = System.Configuration.ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;

不要使用 .ToString()。使用 .ConnectionString 属性。此外,您的 web.config 应该位于站点的根目录。


单元测试有自己单独的配置。您需要一个 app.config 文件,尽管内容可以与您在问题中发布的内容相同。