C# 从命令行生成代码度量文件不会产生任何结果
我正在尝试为包含多个模块的项目生成代码度量数据。当我在VisualStudio2019中生成代码度量分析时,我得到了项目的有效结果。 我的命令行生成基于Microsoft文档: 我将以下命令行脚本作为生成后事件运行:C# 从命令行生成代码度量文件不会产生任何结果,c#,visual-studio,xamarin.android,C#,Visual Studio,Xamarin.android,我正在尝试为包含多个模块的项目生成代码度量数据。当我在VisualStudio2019中生成代码度量分析时,我得到了项目的有效结果。 我的命令行生成基于Microsoft文档: 我将以下命令行脚本作为生成后事件运行: msbuild SIMSMobile.sln /t:Metrics /p:MetricsOutputFile="MetricsOutput.xml" /p:Configuration="Debugging Release" 这在一个多月前起
msbuild SIMSMobile.sln /t:Metrics /p:MetricsOutputFile="MetricsOutput.xml" /p:Configuration="Debugging Release"
这在一个多月前起作用,在一个xml文件中提供了有效的结果,如Microsoft文档中所述。
最近我发现我的结果不再有效。生成的文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<CodeMetricsReport Version="1.0">
<Targets>
<Target Name="SIMSMobileView.csproj">
<Assembly Name="SIMSMobileView, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
<Metrics>
<Metric Name="MaintainabilityIndex" Value="100" />
<Metric Name="CyclomaticComplexity" Value="0" />
<Metric Name="ClassCoupling" Value="0" />
<Metric Name="DepthOfInheritance" Value="0" />
<Metric Name="SourceLines" Value="0" />
<Metric Name="ExecutableLines" Value="0" />
</Metrics>
</Assembly>
</Target>
</Targets>
</CodeMetricsReport>
我不明白这是怎么发生的。我没有改变我的剧本或任何东西。
我已经尝试签出了一个我知道当时正在工作的提交,但是运行我的命令行度量生成会得到与上面相同的空xml文件
我已尝试使用Metrics.exe方法生成输出度量文件,如Microsoft文档中所述,该文件提供了与上述相同的空文件。
我已经将Microsoft.CodeAnalysis.Analyzers Nuget包更新为最新的稳定版本,但没有任何效果。
在VS 2019中对我的解决方案运行代码度量给了我有意义的结果。
为什么我不能从使用命令行和生成输出文件中获得相同的结果?我在Windows服务器上也有类似的行为。 设置环境变量
MSBuildSDKsPath
后,Metrics.exe将再次生成正确的度量文件
set MSBuildSDKsPath=C:\Program Files\dotnet\sdk\3.1.302\Sdks
我仍然不知道它以前工作的确切原因,但我会在找到确切的根本原因后通知您。我已尝试将环境变量设置为系统上的路径,即C:\Program Files\dotnet\sdk\5.0.202\sdk,但这并没有改变我的输出。仍在获取原始帖子中显示的输出文件。@user1845860很抱歉,它不适用于您。我找到了暗示。也许你可以在那里找到信息来找到你的原因。