-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[release/6.0] Use x64 directory if running x64 process on arm64 apphost #68583
Conversation
Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov Issue DetailsBackport of #59890 Customer ImpactTestingRisk
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved. We will take for consideration in 6.0.x
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@elinor-fung @vitek-karas the CI has failures. Can you confirm if the errors are related to this change? If not, let me know so I can merge this.
The failures are unrelated:
|
Backport of #59890 and #68671
Issues:
Customer Impact
When running an x64 application via
apphost
on arm64 (Windows or macOS), the application looks for a .NET install at a default path corresponding to an arm64 install rather than an x64 install. This means that:hostfxr
hostpolicy
if multi-level lookup is enabled (default on Windows)On Windows, (2) also occurs when running via the x64
dotnet
. This includes running SDK commands. For example, running\Program Files\dotnet\x64\dotnet.exe build
(or even--info
) will fail to load the arm64hostpolicy
.In every case, the result is a confusing error about failing to load one of our hosting components.
Testing
Manual validation
hostfxr
)hostpolicy
on Windows)hostfxr
)Risk
The fix for macOS has been in main for about 6 months. The fix for Windows is targeted to only affect x64 hosting binaries running on non-x64 systems.