某些第三方库(例如CefSharp
)需要将架构设置为x86
或x64
,而不是Any CPU
。这是否适用于解决方案中的所有项目,或仅适用于"启动"一个?
一般来说,启动项目是x86
,而其他所有({x}}显然是一个有效的配置,但是Any CPU
都是以32位模式运行?
答案 0 :(得分:2)
CefSharp要求您选择x86或x64的原因是因为它依赖于本机C ++ DLL来提供CEF / Chromium浏览器。在本机DLL中没有这样的AnyCPU概念。因此Visual Studio需要知道在构建和调试时是否将32位或64位CEF DLL复制到bin目录中。
回答您的具体问题:
只在启动项目上设置平台就可以了。其他所有东西都可以留在AnyCPU上。
通常这种配置没问题。这意味着您的程序将只能在32位模式下工作。部署时,您只需要包含bin \ x86 \ Release目录中的32位版本的CefSharp和CEF二进制文件(libcef.dll等)。
答案 1 :(得分:1)
只要你不混合使用x64和x86库就可以了。如果你的某个库是x86,其余的是任何CPU,你就可以了。
答案 2 :(得分:1)
这是部署详细信息。您应该创建两个安装程序,一个用于32位操作系统,另一个用于64位操作系统。用户选择哪一个适合他的机器。
64位安装程序应部署64位版本的CefSharp可执行文件。所有程序集都只是编译为AnyCPU。
32位安装程序应部署32位版本的CefSharp。所有程序集仍然编译到AnyCPU。但是,您可以覆盖角落情况,其中具有64位操作系统的用户出于某种原因更喜欢使用32位版本的程序。只需在EXE项目中设置“首选32位”选项即可。或者选择x86作为旧VS版本的平台目标。其他组件留在AnyCPU。
如果你不想打扰支持两者,那么最后一个适用于任何用户。