EF 6.4 单元测试对于框架运行正常,但 dotnet 5.0 找不到我的连接字符串

问题描述

我的域对象在一个 SDK 风格的项目中,目标是 net472 和 net5.0,我的实体层和单元测试项目也是如此。一切都编译正常。

对于我声明的每个 TFM,测试资源管理器正确地显示了重复的测试。 然而,net5.0 测试失败,声称没有连接字符串。我有一个 App.config一个 appsettings.json 文件..但不确定我现在缺少什么。

单元测试项目源

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>net472;net5.0</TargetFrameworks>
    <Platforms>Anycpu;x64</Platforms>
    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <packagereference Include="EntityFramework" Version="6.4.4" />
    <packagereference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
    <packagereference Include="MSTest.TestAdapter" Version="2.1.1" />
    <packagereference Include="MSTest.TestFramework" Version="2.1.1" />
    <packagereference Include="coverlet.collector" Version="1.3.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\MyCorp.BizObjects\MyCorp.BizObjects.csproj" />
    <ProjectReference Include="..\MyCorp.EntityAccess\MyCorp.EntityAccess.csproj" />
  </ItemGroup>

  <ItemGroup>
    <Compile Update="appsettings.Designer.cs">
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
      <AutoGen>True</AutoGen>
      <DependentUpon>appsettings.json</DependentUpon>
    </Compile>
  </ItemGroup>

  <ItemGroup>
    <None Update="appsettings.json">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>appsettings.Designer.cs</LastGenOutput>
      <copyToOutputDirectory>Always</copyToOutputDirectory>
    </None>
  </ItemGroup>

</Project>

appsettings.json

{
  "ConnectionStrings": {
    "ThingStatusLocation": "Data Source=(localdb)\\MSsqlLocalDB;Initial Catalog=MyCorpEntity_TEST_DotNet50;Integrated Security=True;Pooling=False"
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...