使用ClickOnce部署识别目标计算机(32位或64位)

JPR*_*ddy 7 .net deployment clickonce 32bit-64bit winforms

我有一个Windows窗体应用程序,并通过ClickOnce部署部署该应用程序.现在,我有一个第三方DLL文件,它有32位和64位操作系统的不同版本.

是否可以通过ClickOnce基于目标计算机(32位或64位)部署不同的DLL文件?

Mik*_*son 3

[编辑]

\n\n

没有必要使用反射。您可以直接在加载程序中添加对程序的引用并启动它。在Tech and Me上发表了一篇包含相关代码的博客文章。

\n\n


\n您可以在部署中包含这两个版本,但名称不同。然后让加载程序应用程序检查您是否在 32 位或 64 位系统上,复制您的真实程序链接到的正确 dll(例如thirdparty64.dll ->thirdparty.dll),然后从加载程序调用您的程序,例如Assembly.Load并使用反射来启动您的主要方法。

\n\n

一种更简单的方法是将应用程序编译为 x86 运行,确保它始终在 32 位模式下运行。如果您不依赖于 32/64 位版本的计算机上安装的某些特定应用程序,这可能是最佳选择。

\n