如何在2个或更多Visual Studio扩展之间共享数据?

问题描述:

我有几个Visual Studio扩展(VSX),我需要相互沟通。 (例如激活功能,共享保存的文件,将项目项目从一个项目移到另一个项目)。我可以利用注册表,但我对此感觉很糟糕。我正在考虑通常放置的XML文件,但我担心没有适当的权限来访问它。你能帮我找到在(实时)扩展之间共享数据的最佳做法吗?如何在2个或更多Visual Studio扩展之间共享数据?

我会将信息存储在%LOCALAPPDATA%下的某处。两个扩展都可以访问它,它是每个用户(它的计算结果如C:\users\[username]\AppData\Local)。

this SO question,您可以使用以下方法来获得一个参考这个路径:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) 

使两个扩展谈的一般方式是通过提供服务。软件包提供并使用服务。 看看this