Skip to content

Support for /FU flag broken C++/CLI project #12641

@BartJolling

Description

@BartJolling

Environment

  • OS and Version: Windows 11 version 23H2
  • VS Code Version: 1.92.2
  • C/C++ Extension Version: 1.21.6
  • If using SSH remote, specify OS of remote machine:

Bug Summary and Steps to Reproduce

Bug Summary:
I'm working on a c++/cli project. The intellisense does not recognize the "Concurrent" namespace. I get red squiggles below Concurrent

Regression of #5819

using namespace System::Collections::Concurrent;

Steps to reproduce:

  • Create a c++/cli project
  • Add an /FU flag to System.Collections.Concurrent.dll in the c_cpp_properties.json file
  • Try to instantiatie a Systems::Collections::Concurrent::Dictionary

The /FU flag is ignored, but I can make it work by including the "System.Collections.Concurrent.dll" directly in the code file. This works:

#using "System.Collections.Concurrent.dll"

using namespace System;
using namespace System::Collections::Concurrent;

Expected behavior:
Not needing the workaround to get correct intellisense. The FU flag should not be discarded.

Configuration and Logs

"configurations": [
        {
            "name": "Debug x64 c++/cli",
            "includePath": [
                "${workspaceFolder}/include/"
            ],
            "defines": [
                "_DEBUG",
                "_WINDLL",
                "_UNICODE",
                "UNICODE",
                "BUILD_SHARED_LIB",
                "BUILDING_SHARED_LIB",
                "LIBTIDY_VERSION=\"5.8.0\"",
                "RELEASE_DATE=\"2021.07.10\""
            ],
            "windowsSdkVersion": "10.0.22621.0",
            "compilerPath": "cl.exe",
            "compilerArgs": [
                "/clr:netcore",
                "/AI", "C:/Program Files/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.7/ref/net8.0",
                "/FU", "C:/Program Files/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.7/ref/net8.0/System.Collections.Concurrent.dll"
            ],
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-msvc-x64",
            "browse": {
                "path": [
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": true
            },            
            "customConfigurationVariables": {
                "Configuration": "Debug",
                "Platform": "x64",
                "OutDir": "${workspaceFolder}/build/x64/Debug/"
            }
        }
    ],
    "version": 4
}

[ C:\Users\a98017094\Repos\tidy-html5-dotnet\src\Tidy.cpp ]:
    Process ID: 9764
    Memory Usage: 92 MB
    Compiler Path: C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.40.33807\bin\Hostx64\x64\cl.exe
    Includes:
        C:\Users\a98017094\Repos\tidy-html5-dotnet\include
    System Includes:
        C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.40.33807\include
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\winrt
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\cppwinrt
    Defines:
        _DEBUG
        _WINDLL
        _UNICODE
        UNICODE
        BUILD_SHARED_LIB
        BUILDING_SHARED_LIB
        LIBTIDY_VERSION="5.8.0"
        RELEASE_DATE="2021.07.10"
    Standard Version: ms_c++17
    IntelliSense Mode: windows-msvc-x64
    Other Flags:
        --cppcli_netcore
        --no_using_framework_directory
        --cppcli
        --using_directory
        C:/Program Files/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.7/ref/net8.0
Total Memory Usage: 235 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 6988

Other Extensions

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

Language ServicebugfixedCheck the Milestone for the release in which the fix is or will be available.regressionA bug that didn't exist in a previous release

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions