C# 加载TFS工作项文档
正在执行一些tfs自动化,并且一直在使用GetWorkItem调用检索WorkItemDocument对象,但是在检索到的workitem上,我在标题中发现了错误。我在哪里可以找到错误的描述,或者它产生错误的原因 _COMPlusExceptionCode=-532462766 我在谷歌上搜索过,没有关于这个例外的定义C# 加载TFS工作项文档,c#,C#,正在执行一些tfs自动化,并且一直在使用GetWorkItem调用检索WorkItemDocument对象,但是在检索到的workitem上,我在标题中发现了错误。我在哪里可以找到错误的描述,或者它产生错误的原因 _COMPlusExceptionCode=-532462766 我在谷歌上搜索过,没有关于这个例外的定义 foreach (int i in (doc2 as IResultsDocument).SelectedItemIds) { _lockToken1 = new obj
foreach (int i in (doc2 as IResultsDocument).SelectedItemIds)
{
_lockToken1 = new object();
IWorkItemDocument widoc = docsrv2.GetWorkItem(tfscoll, i, _lockToken1);
if (widoc == null) continue;
Debug.Print("Project name: {0}", widoc.Item.Project.Name);
if (!widoc.IsLoaded) // Does not load and errors
{
谢谢现在可以用了,谢谢!它是循环中对象的资源锁,不允许加载第二个或多个项。在每次迭代中,我现在都会正确地释放和处理锁,在任何退出迭代场景中也是如此。需要一个卑鄙的人,但现在它工作得很好
//...
//...
foreach (int i in (doc2 as IResultsDocument).SelectedItemIds)
{
_lockToken1 = new object();
IWorkItemDocument widoc = docsrv2.GetWorkItem(tfscoll, i, _lockToken1);
if (widoc == null) continue;
if (!widoc.IsLoaded)
{
widoc.Load();
DateTime startTime = DateTime.Now;
while (!widoc.IsLoaded && DateTime.Now.Subtract(startTime).TotalSeconds <= 2.0)
{
Application.DoEvents();
}
//...
//...
//...
}
widoc.Item.Close();
widoc.Release(_lockToken1);
//...
//...
/。。。
//...
foreach(int i in(文档2作为IResultsDocument)。选择EditEmids)
{
_lockToken1=新对象();
IWorkItemDocument widoc=docsrv2.GetWorkItem(tfscoll,i,_locktoke1);
如果(widoc==null)继续;
如果(!widoc.IsLoaded)
{
widoc.Load();
DateTime startTime=DateTime.Now;
而(!widoc.IsLoaded&&DateTime.Now.Subtract(startTime).TotalSeconds谢谢。仍然深入挖掘,作为一个常规异常,仍然无法为我指明正确的方向。我拥有对工作项/项目的权限,因此需要检查的另一件事是,当加载第二个工作项时,由于锁失败,我使用
语句或调用.Close()
或.Dispose()
,在COM异常情况下,始终是一个常见选项。。。