Visual studio 2017 Visual Studio 2017:规则集赢得';不执行

Visual studio 2017 Visual Studio 2017:规则集赢得';不执行,visual-studio-2017,Visual Studio 2017,我想定义一组在编译时要检查的自定义规则。但它似乎不起作用 例如: 我直接选择一条规则,我将得到预期的警告。 但是,当我创建一个包含完全相同规则的自定义规则集时,我不会得到预期的警告。 有什么不对劲吗 编辑: void f(std::string&i){ std::字符串s=i; 我已经能够用Visual Studio 2017重现您的错误。我不知道我到底更改了什么(或者是否更改了任何内容),但我能够看到您期望的自定义规则集的代码分析警告 我会尝试的事情: 仔细检查“错误列表”窗口是否可见,而

我想定义一组在编译时要检查的自定义规则。但它似乎不起作用

例如: 我直接选择一条规则,我将得到预期的警告。

但是,当我创建一个包含完全相同规则的自定义规则集时,我不会得到预期的警告。

有什么不对劲吗

编辑:

void f(std::string&i){
std::字符串s=i;

我已经能够用Visual Studio 2017重现您的错误。我不知道我到底更改了什么(或者是否更改了任何内容),但我能够看到您期望的自定义规则集的代码分析警告

我会尝试的事情:

  • 仔细检查“错误列表”窗口是否可见,而不是隐藏在某处
  • 打开规则集文件,将操作更改为“错误”,然后返回到“警告”并保存它。我不认为这是问题所在,但这是我做的事情之一,之后我开始看到“错误列表”窗口

  • 您能提供更多信息吗?预期的输出是什么?您得到的是什么?默认的规则代码集是什么?您更改它的目的是哪一个?除了创建自定义规则集之外,您确定您正在应用自定义规则集吗?添加了应用规则集的图片。有人能重现此问题吗?(选择随机规则集会产生警告,而从自定义规则集中选择相同的规则集不会产生警告)谢谢,这解决了问题。.ruleset文件必须包含明确列出的每个测试用例,这可以通过在规则集编辑器中更改操作或通过扩展它来查看每个单独的规则来实现。非常高兴它有帮助!很抱歉它花了这么长时间才按预期工作。最后,在我看来,此Visual Studio功能我跑得不太舒服。
    void f(std::string& i) {
        std::string s = i;
        cout << s;
    }
    
    int main()
    {
        std::string s ("abc");
        f(s);
    }