microsoft / microsoft/vscode-cpptools

Managed C++ (CLI/CX) support doesn't work on arm64 Windows

Open
#8,191 6 comments 0 reactions 1 assignee View on GitHub

@sean-mcmanus is already working on this.

Since Apr 30, 2024.

bug C++/CLI Language Service postponed
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

The repro is to add the /ZW compiler arg, to a cl.exe configuration, with the arm64 Windows build.

The issue appears to be that we're looking for vcmeta.dll in either a x64 or x86 path, and this was not updated for arm64.

A related issue is that the user may not have installed build tools for all architectures. The code that looks for vcmeta.dll assume the built tools for the current platform's target architecture is available, but they may not be. If we're not able to find vcmeta.dll, we should display an error message instead of silently failing to set this up.

Also, it looks like an x86 lib output path is used to find platform.winmd. If the user hasn't installed x86 tools, this may not be available either.

Also, it looks like vcmeta.dll is needed for tag parsing. It looks like we copy vcmeta.dll into the Extensions bin directory for that (in a CMakeFiles.txt), but are not yet doing so for arm64 builds of the extension.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.