[英]Setup targeting both x86 and x64?
我有一个同时需要x64和x86 dll的程序(它可以确定运行时需要哪些dll),但是当尝试创建安装程序时,它抱怨:
目标为“ AMD64”的文件AlphaVSS.WinXP.x64.dll与该项目的目标平台“ x86”不兼容
目标为“ AMD64”的文件AlphaVSS.Win2003.x64.dll与该项目的目标平台“ x86”不兼容
目标为“ AMD64”的文件AlphaVSS.Win2008.x64.dll与该项目的目标平台“ x86”不兼容
如何使我的设置像程序一样针对两个平台?
安装项目(在Visual Studio中)创建的MSI一次只能定位到一个平台。 您的选择是制作两个MSI,将它们合并在一起,然后制作一个在这两者之间选择的自定义安装程序启动打包程序。 有一些第三方产品,例如Advanced Installer ,可以为您完成此任务。
.Net具有“任何CPU”选项。 极有可能将其视为仅使用较少的x86功能的“通用”选项,但实际上,它允许每台计算机上的JIT编译器为该计算机选择适当的cpu类型。
唯一不应该使用它的时间是,如果您知道自己的依赖项或要求不利于一种体系结构或另一种体系结构。 例如:您知道您需要大量的内存,您对32位本机dll有依赖性,或者您想预编译该应用程序。
这里存在危险,因为您具有特定于平台的dll依赖关系。 但是您同时拥有两种类型的dll,这听起来像您知道如何在运行时选择正确的dll。 那么“ Any CPU”选项对您有用吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.