.NET标准2.0项目无法加载Dapper 1.50.5

时间:2018-12-10 22:30:28

标签: dapper .net-standard-2.0

我只是从.NET标准开始。在概念验证项目中,我尝试使用Dapper作为我的ORM。在.NET Standard 2.0类库项目中,我添加了Dapper 1.50.5 Nuget程序包。但是,程序集不会在运行时加载。 我收到此错误:

System.IO.FileNotFoundException   HResult=0x80070002
Message=Could not load file or assembly 'Dapper, Version=1.50.5.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
The system cannot find the file specified.

完成我的.csproj的内容:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Dapper" Version="1.50.5" />
    <PackageReference Include="Npgsql" Version="4.0.4" />
    <PackageReference Include="System.Data.SqlClient" Version="4.6.0" />
    <PackageReference Include="System.Reflection.Emit.Lightweight" Version="4.3.0" />
    <PackageReference Include="System.Reflection.TypeExtensions" Version="4.5.1" />
    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.5.2" />
    <PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.1" />
  </ItemGroup>
</Project>

因此,您看到我已经安装了依赖项和依赖项。

我还应该做什么?

1 个答案:

答案 0 :(得分:2)

.NETStandard程序集已添加为对我的WPF项目的引用。我需要在WPF项目的.csproj中进行更改。

https://github.com/dotnet/sdk/issues/901中提到的解决方案已解决。

步骤:

  1. 在记事本中编辑核心.csproj文件。
  2. 在您发现的每一行中添加以下两行。

    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. 清洁并重建您的解决方案。

Yes... I used Notepad.