我唯一的连接字符串是 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
文件,尽管内容可以与您在问题中发布的内容相同。
我在 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
文件,尽管内容可以与您在问题中发布的内容相同。