dotnet / dotnet/msbuild

MSBuild should not resolve *.winmd files from C:\Windows\System32\WinMetadata

Open
#4,402 5 comments 0 reactions 0 assignees View on GitHub
triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 13h
Merged PRs (30d)
133

Description

### Steps to reproduce

Project file
```xml


net472
10.0.18362.0




```

Command line
```
msbuild /bl /r
```
### Expected behavior
Should resolve Windows.Data from somewhere

### Actual behavior
Doesn't resolve from anywhere
Attempts to resolve from C:\Windows\System32\WinMetadata but that location is inaccessible from a 32-bit process, and Windows has removed the files from C:\Windows\SysWOW64\WinMetadata

OS info:
1903 (18362.116)

We have discovered that starting with 1903 Windows no longer places these *.winmd files in C:\Windows\SysWOW64\WinMetadata, and so 32-bit MSBuild no longer resolves references such as from that folder.

https://docs.microsoft.com/en-us/windows/desktop/winprog64/file-system-redirector

https://github.com/microsoft/msbuild/blob/7708b265eaf4d210ded52d3db3c7905d8e56dd39/src/Tasks/Microsoft.Common.CurrentVersion.targets#L88-L97

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.