微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nuget 包 (Flee) 正在为不正确的框架输出 .dll

如何解决Nuget 包 (Flee) 正在为不正确的框架输出 .dll

在我们的解决方案中,我们有三个与此问题相关的项目。下面是显示它们的图表:

dependency diagram

项目 A 在实现 Flee nuget 包的 C 上运行测试。这个包显然支持 .NET Framework.NET Core。当我检查本地 nuget 缓存中包目录的内容时,它有两个不同的 dll:Flee.Net45.dllFlee.Standard20.dll

问题是在A中运行测试时,所有C相关的测试出现以下错误

System.IO.FileNotFoundException:
Could not load file or assembly Flee.NetStandard20,[...] The system cannot find the file specified.

我做的第一件事是检查 bin 文件夹:那时我看到 Flee.Net45.dll 坐在那里。这似乎是正确的,因为项目 A 使用的是 .NET Framework。在项目 Acsproj 文件中,框架设置为:<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>.

为了进一步排除故障,我设置了一个临时 xUnit Test Project (.NET Core)(即项目 B),并复制了相关测试。他们都通过了 - 在 bin 文件夹中,它显示Flee.NetStandard20.dll,这正是我所期望的。

问题

当我在以 .NET Framework 为目标的项目中运行测试时,为什么它在运行时寻找 Flee.Standard20.dll?这看起来像 Flee 包的问题吗?还是项目 A 中的配置问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。