【问题标题】:VS2015 MSB3884 warning: Could not find rule set fileVS2015 MSB3884 警告:找不到规则集文件
【发布时间】:2015-10-08 15:52:03
【问题描述】:

当我在 VS2015 中导入旧解决方案时,我收到大量警告 MSB3884 警告:在构建解决方案时找不到规则集文件..

我怎样才能摆脱这个烦人的问题?

【问题讨论】:

    标签: visual-studio


    【解决方案1】:

    您需要编辑 .csproj 文件并找到对CodeAnalysisRuleSetDirectories 的引用。将路径中的 Visual Studio 引用版本更改为 VS2015(a.k.a 14)的版本并重新加载项目。 (这对我有用。)

    或者删除所有对

    的引用
    <CodeAnalysisRuleSetDirectories>
    <CodeAnalysisIgnoreBuiltInRuleSets> 
    <CodeAnalysisRuleDirectories> 
    <CodeAnalysisIgnoreBuiltInRules>
    

    我找到了解决方案here.

    【讨论】:

      【解决方案2】:

      使用 DevEnvDir 代替旧版本 VS(可能是 2010 年)的硬编码路径。

      <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
      <CodeAnalysisRuleSetDirectories>;$(DevEnvDir)\..\..\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
      

      【讨论】:

      • 这对我来说非常有效。就我而言,正如您所说,它是较旧的 VS 2010。我不再安装 2010 - 但我认为这不向后兼容 - 这意味着如果其他人在 VS 2010 中打开解决方案,他们会收到错误或警告?
      • 没关系 - 我发现有人使用 2010,它向后兼容。我认为这是最好的答案,因为无论哪个 VS 版本,至少 2010 - 2015 年,它都会动态工作。
      • 我认为;在这里放错了(来自;$(DevEnvDir)),我没有把它放进去然后可以找到路径:)
      • @DrCopyPaste 我假设由于该属性被称为“目录”,复数,分号只是多个路径的分隔符,因此要么无害,要么专门添加工作目录。跨度>
      【解决方案3】:

      在仅安装了 VS 2017 构建工具(未安装 VS 2017)的构建机器上收到此警告。一旦我安装了静态分析工具(单个组件 -> 代码工具 -> 静态分析工具),警告就消失了。

      【讨论】:

        【解决方案4】:

        这些二进制分析器现已弃用 link

        VS 中的新项目不再有这些行了。

        在 VS 2019 中,我通过编辑项目文件并删除所有 PropertyGroups 中与 CodeAnalysis 相关的所有行来解决问题。

        示例:

        【讨论】:

          【解决方案5】:

          我解决了在 app.config 中添加以下内容。

          <Target Name="BeforeBuild">
              <PropertyGroup>
                <CodeAnalysisRuleSet></CodeAnalysisRuleSet>
              </PropertyGroup>
          </Target>
          

          【讨论】:

            猜你喜欢
            • 2016-02-11
            • 1970-01-01
            • 2015-07-23
            • 2012-11-03
            • 1970-01-01
            • 2018-03-31
            • 2023-03-13
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多