FX COP无法解析类型引用:System.Windows.Input.ICommand

时间:2013-05-14 15:42:07

标签: c# wpf teamcity caliburn.micro fxcop

仅在我们的buildagent上使用FXCOP时遇到麻烦,并且只能通过命令行工具。

我正在使用Caliburn.Mirco框架并添加了自定义触发器,因此我可以使用删除按钮。此类实现ICommand接口

错误是:“在读取模块'MyProject.UI'时遇到以下错误:无法解析类型引用:[System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089] System.Windows.Input .ICommand“

完整的错误日志

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="C:\BuildAgent\work\program files\microsoft fxcop 1.36\Xml\FxCopReport.xsl"?>
<FxCopReport Version="10.0">
 <Localized>
  <String Key="Category">Category</String>
  <String Key="Certainty">Certainty</String>
  <String Key="CollapseAll">Collapse All</String>
  <String Key="CheckId">Check Id</String>
  <String Key="Error">Error</String>
  <String Key="Errors">error(s)</String>
  <String Key="ExpandAll">Expand All</String>
  <String Key="Help">Help</String>
  <String Key="Line">Line</String>
  <String Key="Messages">message(s)</String>
  <String Key="LocationNotStoredInPdb">[Location not stored in Pdb]</String>
  <String Key="Project">Project</String>
  <String Key="Resolution">Resolution</String>
  <String Key="Rule">Rule</String>
  <String Key="RuleFile">Rule File</String>
  <String Key="RuleDescription">Rule Description</String>
  <String Key="Source">Source</String>
  <String Key="Status">Status</String>
  <String Key="Target">Target</String>
  <String Key="Warning">Warning</String>
  <String Key="Warnings">warning(s)</String>
  <String Key="ReportTitle">Code Analysis Report</String>
 </Localized>
 <Exceptions>
  <Exception Keyword="CA0001" Kind="Engine">
   <Type>Microsoft.FxCop.Sdk.FxCopException</Type>
   <ExceptionMessage>An unhandled exception was encountered during LoadTargetsForAnalysis:</ExceptionMessage>
   <InnerType>Microsoft.FxCop.Sdk.InvalidMetadataException</InnerType>
   <InnerExceptionMessage>The following error was encountered while reading module 'MyProject.UI': Could not resolve type reference: [System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]System.Windows.Input.ICommand.</InnerExceptionMessage>
   <InnerStackTrace>   at Microsoft.FxCop.Sdk.Reader.HandleError(ModuleNode mod, String errorMessage)
   at Microsoft.FxCop.Sdk.Reader.GetDummyTypeNode(Identifier namesp, Identifier name, ModuleNode declaringModule, TypeNode declaringType, Boolean expectStruct)
   at Microsoft.FxCop.Sdk.Reader.GetTypeFromRef(Int32 i, Boolean expectStruct)
   at Microsoft.FxCop.Sdk.Reader.DecodeAndGetTypeDefOrRefOrSpec(Int32 codedIndex)
   at Microsoft.FxCop.Sdk.Reader.GetInterfaces(Int32 i, Int32 firstInterfaceIndex, InterfaceCollection interfaces)
   at Microsoft.FxCop.Sdk.Reader.GetTypeFromDefHelper(Int32 i)
   at Microsoft.FxCop.Sdk.Reader.GetTypeFromDef(Int32 i)
   at Microsoft.FxCop.Sdk.Reader.GetTypeList(ModuleNode module)
   at Microsoft.FxCop.Sdk.ModuleNode.get_Types()
   at Microsoft.FxCop.Engines.Introspection.IntrospectionAnalysisEngine.LoadTargetsForAnalysis(TargetFileDictionary targetFiles, Int32 loadThreadCount)
   at Microsoft.FxCop.Engines.Introspection.IntrospectionAnalysisEngine.AnalyzeInternal()</InnerStackTrace>
  </Exception>
  <Exception Keyword="CA0001" Kind="Engine">
   <Type>Microsoft.FxCop.Sdk.FxCopException</Type>
   <ExceptionMessage>An unhandled exception was encountered during GlobalBeforeAnalysis:</ExceptionMessage>
   <InnerType>System.NullReferenceException</InnerType>
   <InnerExceptionMessage>Object reference not set to an instance of an object.</InnerExceptionMessage>
   <InnerStackTrace>   at Microsoft.FxCop.Sdk.InternalUtilities.GlobalBeforeAnalysis()
   at Microsoft.FxCop.Engines.Introspection.IntrospectionAnalysisEngine.AnalyzeInternal()</InnerStackTrace>
  </Exception>
 </Exceptions>
</FxCopReport>

1 个答案:

答案 0 :(得分:1)

您是否尝试过/gac作为选项?还有/directory告诉FxCop从该文件夹加载任何所需的程序集。

还有更多选项available