使用32位应用程序中的64位库

问题描述 投票:3回答:1

我的.NET应用程序是32位,因为我在其中使用TWAIN。但是我需要编写64位库或app并从我的程序中调用它的方法。我必须创建一个64位库来与WMI SMO进行交互,如果它编译为32位dll,它的功能将无法正常工作。

我该如何解决这个问题?是否可以使用32位应用程序中的64位库?

c# .net
1个回答
2
投票

您不能从64位可执行文件引用32位库,反之亦然。这是技术限制。

但是,根据您的其他限制,您可能决定采用基于服务的体系结构来避免像您这样的问题,并在将来更加敏捷。

实际上,您可以编写专门用于解决一个目的的“微”服务(扫描,与WMI交互等),然后从您的应用程序中调用它们。这样,您就可以完全自由地选择所需的技术/体系结构来实现应用程序所需的每个任务。隔离服务中的“功能”,允许您为每个服务提供不同的进化路径,因为每个服务都是彼此松散耦合的。

此解决方案需要编写比使用库更多的代码。首先,您需要创建一个Windows服务(msdn)来包装您的代码,然后您需要实现通信通道。看看WCFWebApi2,了解你可以实现的目标。

© www.soinside.com 2019 - 2024. All rights reserved.