当我运行时,我得到:Could not load file or assembly 'CefSharp.Wpf, Version=41.0.0.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' or one of its dependencies. An attempt was made to load a program with an incorrect format.
这意味着问题是由于 dll 的位数不正确。
在版本 41.0.0 中,nuget 包添加了指向正确路径(x86 文件夹)的 x86 版本的 dll 引用。还有另一个 dll 副本指向属性面板中的空路径。问题是 x64 版本因错误图像错误而崩溃,因为它引用了 x86 版本的 dll。
我已经回溯到 39.0.2 并且 CefSharp 对我有用。我有两组 dll,其中 x86 和 x64 版本的应用程序按预期编译和运行。
当我再次升级到 41.0.0 和以前一样的问题。尽管应用程序使用 x86 版本的 dll,但在尝试显示第一个浏览器时会崩溃,但 x64 版本将编译。我尝试重建所有并删除自动复制的 dll,并且在编译期间再次复制 x86 版本。(至少我相信是这种情况

然后我删除了引用中的所有 dll 并手动添加了 x64 版本。编译和执行与 39.02 版本的 CefSharp.WPF 一样正常工作。
如何在无需手动更改 dll 路径的情况下让两个版本都能正常工作? …
我们的应用程序中有一个项目,它构建在32位或64位版本的dll中,具体取决于它所基于的机器上的处理器体系结构,以便于测试.
我可以预测将在给定机器上使用的dll,但是我们有几个开发人员,一些使用64位机器,一些使用32位机器,我希望能够检查他们放到实时服务器的构建是否已经上升使用32位版本的dll或64位版本的dll.
检查dll的属性不会提供此类信息.有没有办法得到它?
谢谢