Add ARM64 support to GetArchitectureForSource methods#15278
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
GetArchitectureForSourcemethods inAssemblyMetadataProviderandAssemblyLoadWorkerwere missing support for ARM64 native assemblies. When VsTest encountered ARM64 binaries, it would fail to detect the correct architecture and fall back to either the user-specified default or the machine's architecture, resulting in incorrect testhost selection.This change adds the missing ARM64 constant and switch case to both methods:
Changes made:
IMAGE_FILE_MACHINE_ARM64 = 0xAA64constant (matching MSBuild's definition)Architecture.ARM64Before:
After:
This ensures VsTest can now correctly identify ARM64 native assemblies and select the appropriate ARM64 testhost, improving test execution on ARM64 platforms.
Fixes #15275.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
37cvsblobprodcus359.vsblob.vsassets.iodotnet build src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj(dns block)4m6vsblobprodcus384.vsblob.vsassets.iodotnet build src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj(dns block)5dkvsblobprodcus355.vsblob.vsassets.iodotnet build src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj(dns block)c50vsblobprodcus330.vsblob.vsassets.iodotnet build src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj(dns block)fdpvsblobprodcus345.vsblob.vsassets.iodotnet build src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj(dns block)l49vsblobprodcus358.vsblob.vsassets.iodotnet build src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj(dns block)pkvvsblobprodcus321.vsblob.vsassets.iodotnet build src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj(dns block)yttvsblobprodcus357.vsblob.vsassets.iodotnet build src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj(dns block)If you need me to access, download, or install something from one of these locations, you can either:
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.