我正构建一个构建步骤,使用metrics.exe工具生成代码指标到我们的构建管道中。运行metrics.exe /f:MyApp.Web.dll /o:results.xml
时出现以下错误。
Calculating metrics for file 'C:\Code\a\MyApp.Web\MyApp.Web.dll'.
error : CA0058 : The referenced assembly 'Microsoft.Owin.Security.Cookies, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be found. This assembly is required for analysis and was referenced by: C:\Code\a\SteelAccount.Web\Microsoft.AspNet.Identity.Owin.dll.
我的packages.config引用<package id="Microsoft.Owin.Security.Cookies" version="3.0.0" targetFramework="net45" />
,因此我可以理解错误发生的原因。没有2.1版的cookie程序集。
当我从Visual Studio生成代码指标时,它以某种方式克服了这个问题。谁知道怎么做?
答案 0 :(得分:1)
当它在解决方案上运行时,它包含所有引用的DLL,然后过滤掉任何不属于您的解决方案项目的DLL。因此,如果您使用此命令,则应包含引用的DLL:
metrics.exe /f:drive:\solutiondirectory*.dll /o:results.xml / acm:None 强>
编辑:我通过.Net Reflector运行Metrics.exe,结果发现有一个比较模式的开关,可以让你的例子成功。 “/ acm:”开关的有效值为: