Skip to content

fix: copy msdia140.dll to build output root#46

Merged
ivberg merged 2 commits intomainfrom
user/ivberg/fix-msdia140-missing-from-build-output
Apr 14, 2026
Merged

fix: copy msdia140.dll to build output root#46
ivberg merged 2 commits intomainfrom
user/ivberg/fix-msdia140-missing-from-build-output

Conversation

@ivberg
Copy link
Copy Markdown
Collaborator

@ivberg ivberg commented Apr 10, 2026

msdia140.dll was only landing in amd64/arm64/x86 subdirectories (via the TraceEvent.SupportFiles NuGet package) but PDBDebugInfoProvider references it at AppContext.BaseDirectory for COM registration via regsvr32.

Add Content items to ProfileExplorerUI.csproj to copy the correct arch variant (src/external/msdia140.dll for x64, src/external/arm64/msdia140.dll for ARM64) to the output root. The installer already handled this via xcopy in prepare-out.cmd, but regular dev builds did not.

msdia140.dll was only landing in amd64/arm64/x86 subdirectories
(via the TraceEvent.SupportFiles NuGet package) but PDBDebugInfoProvider
references it at AppContext.BaseDirectory for COM registration via regsvr32.

Add Content items to ProfileExplorerUI.csproj to copy the correct arch
variant (src/external/msdia140.dll for x64, src/external/arm64/msdia140.dll
for ARM64) to the output root. The installer already handled this via
xcopy in prepare-out.cmd, but regular dev builds did not.
Copilot AI review requested due to automatic review settings April 10, 2026 21:09
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the ProfileExplorer UI project to ensure msdia140.dll is present in the build output root so DIA COM registration via AppContext.BaseDirectory works in developer builds (not just installer builds).

Changes:

  • Adds conditional Content items in ProfileExplorerUI.csproj to copy msdia140.dll into the output root.
  • Selects the ARM64 vs non-ARM64 DLL source path based on build configuration.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/ProfileExplorerUI/ProfileExplorerUI.csproj Outdated
$(PlatformTarget) is overridden unconditionally to AnyCPU later in the
project file, so the ARM64 ItemGroup condition never triggered. $(Platform)
is set at the MSBuild invocation level and correctly distinguishes ARM64
from AnyCPU builds.
@ivberg ivberg merged commit 99624a9 into main Apr 14, 2026
6 checks passed
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.

5 participants