Skip to content

Cherry-pick: Add ARM64 msdia140.dll support to test platform packages - #15692

Merged
Jakub Jareš (nohwnd) merged 6 commits into
microsoft:mainfrom
nohwnd:cherry-msdia-arm64
Apr 20, 2026
Merged

Cherry-pick: Add ARM64 msdia140.dll support to test platform packages#15692
Jakub Jareš (nohwnd) merged 6 commits into
microsoft:mainfrom
nohwnd:cherry-msdia-arm64

Conversation

@nohwnd

Copy link
Copy Markdown
Member

Cherry-pick of #15689 (rel/18.7) to main.

Adds ARM64 support for msdia140.dll across the test platform packaging, enabling ARM64 test hosts to use the DIA SDK for symbol resolution and crash dump analysis.

Changes

  • Bump TestPlatformMSDiaVersion to 18.7.0-preview-1-11715-406
  • Add arm64/msdia140.dll to TestHost, CLI, Portable, V2.CLI, and Microsoft.TestPlatform nuspec/csproj files
  • Update verify-nupkgs.ps1 file counts for main branch
  • Fix NU5050 duplicate: CodeCoverage wildcard already includes arm64/msdia140.dll at the TestPlatform root path

Verified: build.cmd -pack passes locally on main.

- Bump Microsoft.Internal.Dia to 18.7.0-preview-1-11715-406 (includes ARM64)
- Add ARM64 DIA file copy in TestHost.csproj CopyDiaFiles target
- Add ARM64 msdia140.dll to TestHost.nuspec package layout
- Add ARM64 msdia140.dll and manifest to CLI.nuspec TestHostNetFramework

The ARM64 msdia140.dll was added to the Microsoft.Internal.Dia package via VS PR #720616. Symbol resolution verified for all architectures (x86, x64, arm64) via dotnet-symbol against the Microsoft symbol server.
- Add ARM64 msdia140.dll and manifest to Portable.nuspec TestHostNetFramework
- Add ARM64 VsixSourceItem to V2.CLI.csproj for VSIX packaging
- Update verify-nupkgs.ps1 expected file counts
Add arm64 msdia140.dll and manifest entries to all three locations in
Microsoft.TestPlatform.nuspec (TestImpact/ComComponents, V1/TestImpact/ComComponents,
and TestPlatform root). Update verify-nupkgs.ps1 count from 545 to 551 (+6 files).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The Microsoft.Internal.CodeCoverage package already includes arm64\msdia140.dll
in its TestPlatform folder, and the wildcard on line 378 of the nuspec picks it up.
The explicit entry conflicts with that wildcard. Remove just the dll entry (keep
the manifest which CodeCoverage doesn't include). Count: 551 -> 550.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 17, 2026 20:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Cherry-picks ARM64 msdia140.dll packaging support into main so ARM64 test hosts can use the DIA SDK for symbol resolution and dump analysis across the shipped Test Platform packages.

Changes:

  • Bumps TestPlatformMSDiaVersion to 18.7.0-preview-1-11715-406.
  • Adds ARM64 msdia140.dll (and manifests where applicable) to multiple NuGet/VSIX packaging definitions.
  • Updates eng/verify-nupkgs.ps1 expected file counts for the updated package contents.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/package/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI.csproj Includes ARM64 DIA artifacts in the VSIX packaging inputs.
src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.nuspec Adds ARM64 DIA files to VS/TestPlatform package layout and avoids a duplicate include with existing wildcards.
src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec Adds ARM64 msdia140.dll to the TestHost NuGet package.
src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.csproj Copies ARM64 DIA binaries from the Microsoft.Internal.Dia package into build output for packing.
src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.nuspec Adds ARM64 DIA dll/manifest into the portable package’s TestHostNetFramework layout.
src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.nuspec Adds ARM64 DIA dll/manifest into the CLI package contentFiles layout.
eng/verify-nupkgs.ps1 Adjusts expected file counts to reflect newly included ARM64 artifacts.
eng/Versions.props Updates the DIA dependency version to one that includes ARM64 binaries.

Comment thread src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.nuspec
@nohwnd
Jakub Jareš (nohwnd) merged commit 874376d into microsoft:main Apr 20, 2026
6 checks passed
This was referenced Jul 14, 2026
github-actions Bot pushed a commit to Nimblesite/SharpLsp that referenced this pull request Jul 14, 2026
Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest)
from 18.7.0 to 18.8.0.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.NET.Test.Sdk's
releases](https://github.com/microsoft/vstest/releases)._

## 18.8.0

## What's Changed
* Migrate from Newtonsoft.Json to System.Text.Json / Jsonite (merge to
main) by @​nohwnd in microsoft/vstest#15687
- For more detail refer to
https://devblogs.microsoft.com/dotnet/vs-test-is-removing-its-newtonsoft-json-dependency/
* Create source-only filter package by @​Youssef1313 in
microsoft/vstest#15638
   - Package release is pending.
* Add ARM64 msdia140.dll support to test platform packages by @​nohwnd
in microsoft/vstest#15692
* Fix mutex cleanup crash on macOS/Linux by @​nohwnd in
microsoft/vstest#15684
* Restrict artifact temp directory permissions on Unix by @​nohwnd in
microsoft/vstest#15729
* Add support for filtering uncategorized tests with TestCategory=None
by @​Evangelink in microsoft/vstest#15727
* Fix SCI binding failure in DTA hosts (main) by @​nohwnd in
microsoft/vstest#15724
* Fix HTML logger parallel file collision by @​nohwnd in
microsoft/vstest#15435
* Improve error message when testhost cannot be found by @​nohwnd in
microsoft/vstest#16053
* Fix HTML logger exception on invalid XML chars in test display names
by @​nohwnd in microsoft/vstest#16051

**Full Changelog**:
microsoft/vstest@v18.7.0...v18.8.0

Commits viewable in [compare
view](microsoft/vstest@v18.7.0...v18.8.0).
</details>

Updated [Serilog](https://github.com/serilog/serilog) from 4.3.1 to
4.4.0.

<details>
<summary>Release notes</summary>

_Sourced from [Serilog's
releases](https://github.com/serilog/serilog/releases)._

## 4.4.0

## What's Changed
* Emit SelfLog warning when extra arguments are provided by @​matantsach
in serilog/serilog#2222
* dont WriteQuotedJsonString for null by @​SimonCropp in
serilog/serilog#2216
* Pin System.Security.Cryptography.Xml to 8.0.3 in tests by @​ArieGato
in serilog/serilog#2232
* Route optional interfaces through OptionalInterfaceForwardingSink for
restricted sinks by @​ArieGato in
serilog/serilog#2234
* `SelfMetrics` by @​nblumhardt in
serilog/serilog#2237

## New Contributors
* @​matantsach made their first contribution in
serilog/serilog#2222
* @​ArieGato made their first contribution in
serilog/serilog#2232

**Full Changelog**:
serilog/serilog@v4.3.1...v4.4.0

Commits viewable in [compare
view](serilog/serilog@v4.3.1...v4.4.0).
</details>

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants