如何解决Nuget 包 (Flee) 正在为不正确的框架输出 .dll
在我们的解决方案中,我们有三个与此问题相关的项目。下面是显示它们的图表:
项目 A 在实现 Flee nuget 包的 C 上运行测试。这个包显然支持 .NET Framework
和 .NET Core
。当我检查本地 nuget 缓存中包目录的内容时,它有两个不同的 dll:Flee.Net45.dll
和 Flee.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
。在项目 A 的 csproj
文件中,框架设置为:<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 举报,一经查实,本站将立刻删除。