将我的 WinForms VS2013 项目升级到 VS2015 后,我开始看到 MSB3884“找不到规则集文件”警告。
Google 搜索发现了一篇 MSDN 文章,Stack Overflow 文章以及许多其他网站都指向了该文章。
类似问题:33020507 https://stackoverflow.com/questions/33020507/vs2015-msb3884-warning-could-not-find-rule-set-file
MSDN: VS2015 MSB3884 警告 https://social.msdn.microsoft.com/Forums/office/en-US/c6eea146-81f4-4d68-8886-e4433359bbdf/vs2015-msb3884-warning?forum=msbuild
我安装了VS2013和VS2015。
发出警告的项目文件(以及那些没有发出警告的项目文件)没有这些条目。
<CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>
如果我从项目文件中删除其他两个条目,那么问题就会消失,这是显而易见的,因为没有规则文件集。
<CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>
我正在尝试使用 msbuild 进行外部构建,但是 VS2015 也往往会显示该问题。
有趣的是,如果我单击项目属性代码分析器区域中的打开按钮,我确实会获取该文件。
指定不同的规则集没有什么区别。这让我觉得可能有一个环境变量设置,但我没有想到。代码分析器是项目文件的一个功能。我可以添加一个目录属性,但共识是取出路径,<CodeAnalysisRule*Directories>
.
GUI 使用默认值:
'
这是一个典型的项目文件片段。
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<Prefer32Bit>false</Prefer32Bit>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<CodeAnalysisRuleSet>BasicCorrectnessRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
如果不从项目文件中删除代码分析行,尽管再次保存项目文件只会将其添加回来,但如何消除/修复警告?