在Visual Studio中,我可以使用下面的代码来获取关于某个已安装的扩展信息(VSIX)以前的版本:ExtensionManager空在Visual Studio 2017年
IVsExtensionManager manager = ServiceProvider.GlobalProvider.GetService(typeof(SVsExtensionManager)) as IVsExtensionManager;
if (manager != null)
{
VsExtension extension = new VsExtension();
IInstalledExtension info = manager.GetInstalledExtension(cExtensionProductId);
}
在新的Visual Studio 2017年的版本,“ manager
'变量始终为空。微软改变了检索信息的方式(他们不再使用系统注册表),但我找不到另一种方式来检索信息。
你知道我在哪里可以找到更多信息和/或提供新实施的样本吗?
预先感谢您!
在“System.InvalidCastException:”中使用示例结果的代码无法投射“Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService”类型的对象以键入“Microsoft.VisualStudio.ExtensionManager.IVsExtensionManager”。 “ – Odrai
添加这两个DLL,ExtensionManager.dll和ExtensionEngine.dll导致以下错误:CS0433 \t类型'IInstalledExtension'存在于'Microsoft.VisualStudio.ExtensionEngine,Version = 15.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”和 'Microsoft.VisualStudio.ExtensionManager,版本= 11.0.0.0,文化=中性公钥= b03f5f7f11d50a3a' – Odrai
Microsoft.VisualStudio.ExtensionManager应该版本= 15.0.0.0为好。 –