ResolveComReference无效参数。参数“ItemSpec”不能为空

时间:2011-04-18 18:13:34

标签: msbuild

我正在将项目升级到.NET 4.0,当我尝试构建解决方案时出现此错误:无效的参数。参数“ItemSpec”不能为空。 c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets 1558 9

有没有办法找出ResolveComReference任务传递给null的内容?

1 个答案:

答案 0 :(得分:0)

试试这个;暂时将以下内容添加到失败的项目文件中:

<Target Name="DiagnoseNullItems"
   BeforeTargets="ResolveComReferences"
   AfterTargets="ResolveAssemblyReferences">
   <Message Importance="High" Text="COMReference is '@(COMReference)'" />
   <Message Importance="High" Text="COMFileReference is '@(COMFileReference)'" />
   <Message Importance="High" Text="ReferencePath is '@(ReferencePath)'" />
   <Message Importance="High" Text="_ResolveComReferenceCache is '@(_ResolveComReferenceCache)'" />
</Target>

我认为这就是所有这些,除非该任务的其他一些$()参数也是ITaskItem类型。如果没有显示空项,请对传递给ResolveComReference任务的属性执行相同的操作。