C# выдаёт null при попытке прочитать подключение из web.config
Есть два проекта в общем регенте. 1 asp net , 2 mstest. Через mstest проверяется метод из проекта asp net, в котором читает строку подключения из web.config, но получаю null. Ссылка на родительский проект есть. Арр.config добавил в проект тестирования, там прописал conString, но это тоже не помогло.. есть предположения, что я не так делаю ? Код теста
[TestClass]
public class CheckAccessTest
{
/// <summary>
/// Проверяет принадлежность к роли по маршруту
/// </summary>
[TestMethod]
public void AllowAccess_ByRoute_()
{
string test_user = "mstest";
string test_route = "/Admin";
var result = CheckAccess.AllowAccess_ByRoute(user_name: test_user, route: test_route);
//Assert
Assert.IsTrue(result);
}
}
Метод вызываемый из класса CheckAccess
public static class CheckAccess
{
public static string CheckAccess_ConnectionString => ConfigurationManager.ConnectionStrings["Base_DB_Connection"].ConnectionString;
public static bool AllowAccess_ByRoute(string user_name, string route)
{
bool res = false;
using (SqlConnection conn = new SqlConnection(CheckAccess_ConnectionString))
{
Web.config выглядит так :
<?xml version="1.0" encoding="utf-8"?>
<!--
Дополнительные сведения о настройке приложения ASP.NET см. на странице
https://go.microsoft.com/fwlink/?LinkId=169433.
-->
<connectionStrings>
<add name="Base_DB_Connection" connectionString="Data Source=0000;Initial Catalog=0000;Persist Security Info=True;User ID=0000;Password=0000" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
App.config выглядит так :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Base_DB_Connection" connectionString="Data Source=0000;Initial Catalog=0000;Persist Security Info=True;User ID=0000;Password=0000" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Ответы (1 шт):
Автор решения: Олег Устинов
→ Ссылка
Исправил. @Aarnihauta оказался прав, потребовалось добавить в .csproj проекта mstest данный кусок кода
<Target Name="CopyCustomContent" AfterTargets="AfterBuild">
<Copy SourceFiles="app.config" DestinationFiles="$(OutDir)\testhost.dll.config" />
<Copy SourceFiles="app.config" DestinationFiles="$(OutDir)\testhost.x86.dll.config"/>
</Target>
