我有一个Windows Forms应用程序,并通过ClickOnce部署部署该应用程序。现在,我有一个第三方DLL文件,它有32位和64位操作系统的不同版本。
是否可以通过ClickOnce基于目标计算机(32位或64位)部署不同的DLL文件?
答案 0 :(得分:3)
<强> [编辑] 强>
没有必要使用反射。您可以直接在加载程序中添加对程序的引用并启动它。在Tech and Me上发布了一篇包含相关代码的博文。
<小时/> 您可以在部署中包含这两个版本,但以不同方式命名。然后有一个加载程序应用程序检查你是否在32位或64位系统上,复制你的真实程序链接到的正确的dll(例如thirdparty64.dll - &gt; thirdparty.dll),然后从加载器调用你的程序示例
Assembly.Load
并使用反射来启动主方法。
更简单的方法是将您的应用程序编译为以x86运行,确保它始终以32位模式运行。如果您不依赖于32/64位版本的机器上安装的某些特定应用程序,这可能是最佳选择。