从WPF应用程序引用.Net标准2.0项目时出现异常

时间:2017-11-13 10:15:18

标签: wpf asp.net-core .net-standard-2.0

从使用.Net framework 4.6.1项目开发的WPF应用程序引用.Net标准2.0项目时,我遇到以下异常

  

无法加载文件或程序集' Microsoft.EntityFrameworkCore,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = adb9793829ddae60'或其中一个依赖项。系统找不到指定的文件。'

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

截至今天(使用Visual Studio 2017 15.8.4),这似乎仍然是一个常见问题:

使用packages.config文件引用依赖关系的程序包管理格式不能正确处理传递依赖关系。

问题在于,当您创建新的WPF桌面项目时,VisualStudio 2017默认仍使用此 old 程序包管理格式。

解决方案

解决方案是将项目引用从packages.config文件迁移到PackageReference项目文件中的 new .csproj节点。

VisualStudio可以自动为您执行此迁移。迁移记录在这里:

https://docs.microsoft.com/en-us/nuget/reference/migrate-packages-config-to-package-reference

请注意,存在一个已知问题:

在初始化Migrate packages.config to PackageReference...之前,右键单击上下文菜单中的NuGet选项不可用。

如果您的项目根本没有任何包引用,另一种选择是将RestoreProjectStyle文件中的PackageReference设置更改为.csproj

https://docs.microsoft.com/en-us/nuget/consume-packages/package-references-in-project-files#using-packagereference-for-a-project-with-no-packagereferences

我希望这会有所帮助。

答案 1 :(得分:-1)

在WPF项目中添加对Microsoft.EntityFrameworkCore包的引用。