C# 完整的.NET引用.NET标准类库:FileNotFoundException
我刚刚用Visual Studio 2019(16.3.3)创建了两个项目:C# 完整的.NET引用.NET标准类库:FileNotFoundException,c#,.net,visual-studio,nuget,entity-framework-core,C#,.net,Visual Studio,Nuget,Entity Framework Core,我刚刚用Visual Studio 2019(16.3.3)创建了两个项目: 类库(netstandard2.0) +Microsoft.EntityFrameworkCore,版本2.2.4 +自定义Repositoryclass以隐藏DbContextclass WPF项目(v4.7.1) +对上面类库的引用 +使用存储库的一些代码: var r=new Repository(@“Server=(localdb)\MsSqlLocalDB;Database=EfCore2Wpf;Tr
netstandard2.0
)
- +
,版本2.2.4Microsoft.EntityFrameworkCore
- +自定义
class以隐藏Repository
classDbContext
v4.7.1
)
- +对上面类库的引用
- +使用
:存储库的一些代码
var r=new Repository(@“Server=(localdb)\MsSqlLocalDB;Database=EfCore2Wpf;Trusted_Connection=True;”;
DataContext=r.GetItems();//FileNotFoundException在这里。
以下是一个完全例外:
System.IO.FileNotFoundException:“无法加载文件或程序集”Microsoft.EntityFrameworkCore,版本=2.2.4.0,区域性=中性,PublicKeyToken=adb9793829ddae60“或其依赖项之一。找不到指定的模块。'
没错!\WpfApp\bin\Debug
文件夹中没有Microsoft.EntityFrameworkCore.dll
。
但是为什么呢?
(我有一些具有相同项目类型的遗留解决方案,它们可以工作。这里有什么问题?)
供您参考: 1) 包括一个.NET Core包,如Microsoft.EntityFrameworkCore.SqlServer,会导致一百万个
。\packages\…dll
条目别无选择。
2) 就我所记得的,我必须迁移我的遗留WPF项目来传递间接的.NET核心引用:。但目前我的WPF项目中不需要任何NuGet包,因此没有
package.config
。如果没有package.config
文件我就无法迁移 这是一个bug,没有修复,因为没有人关心:
解决方法:
NLog
、AutoMapper
、MvvmLightLibs
或其他)packages.config
文件→ “将packages.config迁移到PackageReference…”(如果“PackageReference”是您的“默认包管理格式”,则可能不需要此步骤,请检查工具→ NuGet软件包管理器)
*.csproj
<ItemGroup>
<PackageReference Include="NLog" Version="4.6.7" />
</ItemGroup>
警告:小心使用诸如ReSharper的“优化引用…”之类的工具支持!它将删除未使用的引用:-(您在一个问题中问了很多问题,同时又设置了一些限制,比如在项目中没有添加.NET Core包的选项。请具体说明,一次只问一个问题。..EF Core 2.x支持.NET Framework 4.7.2。您读了吗?@EriawanKusumawardhono目标:在不引用我不需要的包的情况下运行它。@mm8升级到.NET Framework 4.7.2不起作用。@Marcel:如果您手动将DLL复制到输出文件夹中,是否起作用?Visual Studio反馈系统:我检测到,在过去35天中,此问题没有太多产品团队活动,也没有太多新的投票或评论。基于此,它的严重性和受影响的区域,它是根据我的经验,这个问题不大可能得到解决。