在Visual Studio中,我有一个解决方案。在那个解决方案中,我有2个项目。一个是VSTO,以便我们可以为Excel创建一个插件。另一个项目用于创建.xll文件,以便我们可以使用自定义函数。
VSTO帮助我们在Excel上创建登录系统,以便他们可以做某些事情。
但是,由于我们只希望我们的用户能够使用我们的自定义功能,他们必须登录。我认为这两个项目无法直接通信,因此.xll插件无法知道用户是否已登录是否。
这两个项目有没有沟通?也许通过中间人就像一个带有静态变量的类?
修改
更多信息:
这两个项目都是用C#代码编写的。我能够通过使用ExcelDNA为.xll文件做到这一点。
因此,如果有任何方法可以创建一个可以在两个项目之间协调或共享数据的C#类,那将非常棒。由于登录数据不是我们想要分享的唯一内容。
我希望在类中会有一个静态布尔变量来保存用户是否已登录。因此VSTO可以设置布尔值,而.xll可以得到它。
答案 0 :(得分:1)
您可以向.xll添加隐藏函数[ExcelFunction(IsHidden = true)],您可以使用Application.Run从VSTO加载项调用该函数。
答案 1 :(得分:0)
我会使用允许用户验证许可证密钥的许可系统。此过程可以在VSTO中进行。然后我会用两张支票:
只需要能够检查C#(VSTO)和C(Xll)中的许可证密钥,即以两种语言实现验证密钥算法。