我正在尝试为mstest项目VS2010编写自定义fxcop规则。我想调试它但是当它试图为mstest项目加载dll时仍然遇到异常,它失败说它找不到引用的程序集:
Microsoft.FxCop.Common.AssemblyLoadException
Could not load C:\Users\Administrator\Documents\Visual Studio 2010\Projects\20100106-CodeAnalysisRulesBlogDemo\BlogDemo\TestProject1\bin\Debug\TestProject1.dll.
Microsoft.FxCop.Sdk.InvalidMetadataException
The following error was encountered while reading module 'TestProject1': Assembly reference cannot be resolved: Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.
有谁知道如何解决这个问题?如果我只是运行代码分析它工作正常,但一旦我尝试调试失败。
由于
答案 0 :(得分:1)
您可以使用/ d选项指定在程序集解析期间搜索的其他目录。
代码分析不会自动从项目设置中获取程序集,除非您已将它们全部设置为“本地复制”。
答案 1 :(得分:0)
编写FxCop规则的另一种方法是使用NDepend工具。这个工具允许通过C#LINQ查询编写代码规则 what we call CQLinq。 免责声明:我是该工具的开发人员之一
默认情况下会提出超过200 code rules的内容。由于众所周知的 C#LINQ语法,自定义现有规则或创建自己的规则非常简单。
CQLinq查询可以在VisualStudio中实时编辑,并提供即时结果,并提供结果浏览功能:
可以live in Visual Studio验证规则generated HTML+javascript report并在构建流程时验证规则。