.NET Framework 4.7.2和Microsoft Enterprise Library v5版本不兼容?

3

我目前的项目针对 .Net Framework 4.5.2,并使用 Microsoft EnterpriseLibrary.Data 5.0.505.0。如果我将项目目标更改为 .Net Framework 4.7.2,我会收到以下错误:

'System.IO.FileNotFoundException: '无法加载文件或程序集 'Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或它的某个依赖项。 系统找不到指定的文件。'

该项目引用了 Microsoft.Practices.EnterpriseLibrary.Data,并且与错误中列出的版本相同,如果我将目标框架更改回 4.5.2,则不会出现此问题。是否存在 .net 4.5.2 和 EnterpriseLibrary v5 之间的兼容性问题?


你好,我查阅了许多官方文档,没有发现 .net framework 4.7.2 和 Microsoft EnterpriseLibrary v5 不兼容的相关问题。请问你是直接引入了 Microsoft EnterpriseLibrary v5,还是引入了一个带有 Microsoft EnterpriseLibrary v5 的项目? - wenbingeng-MSFT
@ wenbingeng-MSFT 我已经将 Microsoft.Practices.EnterpriseLibary .dlls 作为该项目的引用添加进来了。(右键项目引用>添加引用) - sircrisp
这些参考资料已经存在一段时间了。正如我所提到的,如果我右键单击我的项目,选择属性,然后应用程序,并将目标框架更改为.NET 4.5.2,则不会出现文件异常,只有在将目标更改为.NET 4.7.2之后才会出现。 - sircrisp
你好,根据我的测试情况并非如此,请提供一个最小可重现的示例。如果您前往Visual Studio Community反馈页面,可能会得到更多帮助,但仍需要提供一个最小可重现的示例。 - wenbingeng-MSFT
1个回答

1

我成功解决了这个问题,方法是将 Microsoft.Practices.EnterpriseLibrary.Data 文件复制到我的项目可执行文件夹中,而在我的情况下,该文件夹是 /bin/Debug/。

尽管我的引用设置为“复制本地”,但该文件未被复制。目前仍不清楚为什么将目标框架更改为 .Net 4.5.2 时未出现此问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接