0

我的 Outlook 加载项使用平台目标编译为“任何 CPU”,现在在 32 位和 64 位 Outlook 中运行良好。

我想redemption.dl在我的插件中使用 l 来扩展一些功能。我看到下载的兑换包中有两个版本的 DLL (redemption.dllredemption64.dll) 我想使用下面的类似代码在我的加载项中使用 dll

Type t = Type.GetTypeFromProgID("MyDll.MyMailItem");
SafeMailItem sItem = (SafeMailItem) Activator.CreateInstance(t);

在这种情况下,我指的是我的项目的哪个 dll?redemption.dll或者redemption64.dll

我的项目如何在 32 位 Office 和 64 位 Office 中加载正确的 DLL?

4

1 回答 1

1

正确的 dll 将由 COM 系统加载,而不是您的代码。

只要两个版本都正确安装并在注册表中注册,您的代码无需任何修改即可工作。但是请注意,您将无法在 32 位机器上安装 64 位版本的 dll。

您可能想考虑使用 RedemptionLoader - 您将完全跳过 COM 注册,RedemptionLoader 将根据进程位数为您加载正确的 dll。

于 2013-08-28T20:14:34.363 回答