VSTO和.XLL之间的通信

在Visual Studio中,我有一个解决scheme。 在这个解决scheme中,我有2个项目。 一个是VSTO,所以我们可以为Excel创build一个插件。 另一个项目是用来创build一个.xll文件,以便我们可以有自定义函数。

VSTO帮助我们在excel上创build一个login系统,以便他们可以做某些事情。

但是,因为我们只希望我们的用户能够使用我们的自定义函数,他们必须login。我认为这两个项目不能直接通信,所以.xll插件不会知道用户是否login。

这两个项目有没有交stream? 也许通过一个像静态variables类的中间人?

编辑:
更多信息:
这两个项目都是用C#代码编写的。 我可以通过使用ExcelDNA为.xll文件做到这一点。

因此,如果有什么办法可以创build一个C#类,它可以在两个项目之间协调或共享数据,这将非常棒。 由于login数据不是我们想分享的唯一东西。

我希望在类中将有一个静态布尔variables保持用户是否login。所以VSTO可以设置布尔值和.xll可以得到它。

您可以添加一个隐藏函数[ExcelFunction(IsHidden = true)]到.xll,您可以使用Application.Run从VSTO加载项调用该函数。

我将使用允许用户validation许可证密钥的许可证系统。 这个过程可以在VSTO内进行。 然后我会用两个检查:

  1. 如果在VSTO许可证密钥validation然后加载xll,否则不加载它。
  2. 在xll中,通过使用相对path,我会再次定位并检查许可证密钥(以防止用户直接加载xll)。

它只需要能够检查C#(VSTO)和C(Xll)中的许可证密钥,即具有以两种语言实现的validation密钥algorithm。