EnvDTE替代在Visual Studio 2012(EnvDTE substitute in V

2019-06-27 08:33发布

到现在为止,我已经成功地使用EnvDTE管理的Visual Studio工具箱。

有定制的DLL来处理不同的Visual Studio版本:

EnvDTE.dll - 共同VS自动化(可能适用于所有版本)

EnvDTE80.dll - 对付VS 2005

EnvDTE90.dll - 对付VS 2008

EnvDTE100.dll - 对付VS 2010

然而,没有EnvDTE110为VS 2012这是否意味着比使用这些COM包装库VS自动化的这些不同的方式?

如果是这样,怎么例如用VS 2012个的工作项目和工具箱远程其他方式比使用EnvDTE?

Answer 1:

我想你是误会EnvDTE如何版本的作品。

Visual Studio是与EnvDTE的每一个版本的向后兼容。 但是,如果Visual Studio的新版本或需要额外的暴露可扩展性,则MS释放EnvDTE的新版本,通过其接口公开此。

因此,例如,你可以使用EnvDTE80类与Visual Studio 2012交互你只是仅限于在Visual Studio是可利用的2005或者你可以使用EnvDTE90的可扩展性,并仅限于这是可在Visual Studio 2008中出来。

如果EnvDTE的新版本尚未发布了最新的SDK VS,那么你只限于EnvDTE100。



Answer 2:

虽然只存在于envdte100.dll

c:\Program Files (x86)\Common Files\microsoft shared\MSEnv\PublicAssemblies\

为Visual Studio 2012以下工作:

Type typeDTE = typeDTE = Type.GetTypeFromProgID("VisualStudio.DTE.11.0");

DTE objDTE = (DTE)Activator.CreateInstance(typeDTE, true);


文章来源: EnvDTE substitute in Visual Studio 2012