我创建了一个C#.Net WinForms项目,该项目使用了很少的库,这些库也是由我创建的。现在我正在创建一个COM包装器,并希望通过VBA从Excel文件中使用相同的库。但我不希望Excel创建库的新实例。我需要使用WinForms项目加载的库的相同实例。请提出建议。
WinForm App
|- Library1.dll
|- Library2.dll
.
Excel
|-ComWrapper
|-Library1.dll
|-Library2.dll
我试图以图解方式解释当前的情况。在上面的例子中,将创建两个Library1.dll和library2.dll实例,因为它们是从不同进程调用的。我需要在内存中只有一个library1.dll和library2.dll实例。
答案 0 :(得分:0)
唯一容易实现的方法是将COM包装器注册为COM +对象,并将其配置为“激活”选项卡中的“服务器应用程序”。 然后,您需要在winforms应用程序和Excel文件中使用该COM +对象。