Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • CMake CMake
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 4,165
    • Issues 4,165
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • CMakeCMake
  • CMakeCMake
  • Issues
  • #23190
Closed
Open
Issue created Feb 07, 2022 by Sumit Bhardwaj@bhardwajsContributor8 of 11 checklist items completed8/11 checklist items

VS: DOTNET_SDK support for core msbuild attributes

In a recent issue on DOTNET_SDK support, @rainersigwald proposed looking at core MSBuild attributes. This issue tracks the support for each of those attributes. Below is a slight edit of

  • VS_DOTNET_DOCUMENTATION_FILE
  • VS_DOTNET_REFERENCE_
  • VS_DOTNET_REFERENCEPROP_
  • VS_DOTNET_REFERENCES (ideally only when targeting .NET Framework and error if targeting .NET Core/.NET 5.0+)
  • VS_PACKAGE_REFERENCES
  • DOTNET_TARGET_FRAMEWORK
  • VS_GLOBAL_ROOTNAMESPACE
  • VS_GLOBAL_<variable>

Additionally, I think it does not make sense to support

  • DOTNET_TARGET_FRAMEWORK_VERSION, since that's tied to .NET Framework and shouldn't be used for .NET Core/.NET 5.0+ projects (prefer DOTNET_TARGET_FRAMEWORK's specification of a target framework moniker instead)
  • VS_PROJECT_IMPORT, since imports from NuGet packages should be handled by dotnet restore/MSBuild.exe -restore

There are also a couple of new things to consider supporting:

  • Runtime identifier, the .NET Core/.NET 5.0+ mechanism for supporting target OS/OS version/architecture. For RuntimeIdentifier, CMake supports it via VS_GLOBAL_RuntimeIdentifier. I am hesitant adding another variable.

FYI @baronfel

Edited Feb 07, 2022 by Sumit Bhardwaj
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking