c# VS 2015包最近被GetService和Dte(2)返回null.GetObject,而无需更改代码
本文关键字:GetObject null 代码 返回 最近 2015包 VS GetService Dte | 更新日期: 2023-09-27 18:08:02
我在VS(2015)包中使用以下属性:
public DTE Dte
{
get
{
return GetService(typeof(DTE)) as DTE;
}
}
public ITeamFoundationContextManager TeamExplorer
{
get
{
return GetService(typeof(ITeamFoundationContextManager)) as ITeamFoundationContextManager;
}
}
public DocumentService DocService
{
get
{
return Dte.GetObject("Microsoft.VisualStudio.TeamFoundation.WorkItemTracking.DocumentService")
as DocumentService;
}
}
第一个(Dte)似乎工作得很好,返回一个Dte对象。第二个(TeamExplorer)总是返回null,就像第三个属性(DocService)。
问题是,自上次发布构建以来,我(而不是其他人)没有签入任何更改。最后一个版本在安装时仍然可以工作,但是如果我重新构建它,就会出现null值问题。
这个问题也出现在同事的机器上。我的扩展工具版本是:1.10.183
我不知道为什么,但是VS/TFS或我自己的一些机制改变了项目的
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
更改为12.0,并将程序集更改为较低版本(12.x)。一切工作后,我改变了项目文件(s)和14交换的程序集。x版本。