VS2015 VersionControlExt 始终为空

VS2015 VersionControlExt always null

我的 VSPackage 中的 VersionControlExt 对象有问题。它始终为空,无论我做什么,因为我 运行 VS2015。到目前为止 VS2013 没有问题。

VersionControlExt versionControlExt = dte.GetObject(typeof(VersionControlExt).FullName) as VersionControlExt;

dte 是一个 DTE2 对象。

您在项目中引用的包含 VersionControlExt 的程序集可能存在版本不匹配(VS 2013 的 12.0 与 VS 2015 的 14.0)。

如果转换失败,"as" 运算符不会抛出异常,因此将其更改为以下内容并自己回答内联问题:

// Is the object null?
object o = dte.GetObject(typeof(VersionControlExt).FullName);

try
{ 
   // Does the cast work?
   VersionControlExt versionControlExt = (VersionControlExt) o;
}
catch (Exception ex)
{
...
}