Skip to content

docs: BugSplat for .NET integration guide + .NET sample pages - #340

Open
bobbyg603 wants to merge 2 commits into
masterfrom
docs/bugsplat-dotnet-samples
Open

bobbyg603 wants to merge 2 commits into
masterfrom
docs/bugsplat-dotnet-samples

Conversation

@bobbyg603

Copy link
Copy Markdown
Member

Documents the new BugSplatDotNet (net8.0/net10.0) SDK and its samples from
bugsplat-windows, branded as cross-platform
BugSplat for .NET.

New pages

  • Integrations › Desktop › [BugSplat for .NET] — the native+managed SDK: initialize, ship the
    native runtime (Windows), configure WER (RuntimeExceptionHelperModules + IsWerEnabled),
    upload symbols, mixed-mode C#/C++, and an API reference.
  • Posting a Test Crash › [MyDotNetCrasher (.NET)] — the console sample's managed / native /
    feedback / mixed-mode / WER-class modes.
  • Posting a Test Crash › [MyDotNetWinUI3Crasher (WinUI 3)] — the GUI sample, its event cards,
    and the required WER registry configuration.

Cross-platform framing

Modern .NET is cross-platform, so the guide is branded BugSplat for .NET (not "…for Windows")
with an honest Platform support matrix: Windows (x64) has full native crash capture + managed
reporting today; Linux/macOS have managed exception reporting via BugSplatDotNetStandard now,
with native capture on a Roadmap section that links the implementation issues filed in
bugsplat-windows (#173#177).

The existing "MyDotnetCrasher (.NET)" page (the standalone BugSplatDotNetStandard sample) is
left as-is; these pages are added alongside it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MazQrSu8rUWDQPi9XdDeNa

… pages

Document the new BugSplatDotNet (net8.0/net10.0) SDK and its samples from
bugsplat-windows:

- Integrations > Desktop > "BugSplat for Windows (.NET)": the native+managed SDK
  — initialize, ship the native runtime, configure WER (RuntimeExceptionHelperModules
  + IsWerEnabled), upload symbols, mixed-mode C#/C++, and an API reference.
- Posting a Test Crash > "MyDotNetCrasher (.NET)": the console sample's managed /
  native / feedback / mixed-mode / WER-class modes.
- Posting a Test Crash > "MyDotNetWinUI3Crasher (WinUI 3)": the GUI sample, its
  event cards, and the required WER registry configuration.

The existing "MyDotnetCrasher (.NET)" page (the standalone BugSplatDotNetStandard
sample) is left as-is; these are added alongside it.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01MazQrSu8rUWDQPi9XdDeNa
Modern .NET is cross-platform, so brand the guide "BugSplat for .NET" (was
"BugSplat for Windows (.NET)") and frame it honestly:

- Add a Platform support matrix: Windows (x64) has full native crash capture +
  managed reporting today; Linux/macOS have managed exception reporting via
  BugSplatDotNetStandard now, native capture on the roadmap.
- Mark the Windows-only steps (ship the native runtime, configure WER) as such.
- Add a Roadmap section linking the cross-platform implementation issues filed in
  bugsplat-windows (#173 OS-guard/fallback, #174 Linux, #175 macOS, #176 NuGet,
  #177 sample + CI).
- Rename the file to bugsplat-for-dot-net.md and update SUMMARY + sample-page links.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01MazQrSu8rUWDQPi9XdDeNa
Copilot AI lite review requested due to automatic review settings September 11, 2026 14:29

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.

🟡 Changes recommended

The integration guide contains a compile-breaking WinUI example, along with additional documentation gaps.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds BugSplat for .NET integration documentation and console/WinUI 3 sample guides.

Changes:

  • Documents SDK setup, native runtime, WER, symbols, and platform support.
  • Adds native/managed console sample documentation.
  • Adds WinUI 3 sample and WER configuration documentation.
  • Updates documentation navigation.
File summaries
File Description
SUMMARY.md Adds navigation entries for the new guides and samples.
introduction/getting-started/posting-a-test-crash/mydotnetwinui3crasher/README.md Documents the WinUI 3 sample and WER setup.
introduction/getting-started/posting-a-test-crash/mydotnetcrasher-native-managed/README.md Documents native, managed, and mixed-mode sample crashes.
introduction/getting-started/integrations/desktop/bugsplat-for-dot-net.md Documents SDK integration, WER, symbols, APIs, and platform support.
Review details

Suppressed comments (3)

introduction/getting-started/integrations/desktop/bugsplat-for-dot-net.md:42

  • This GitHub URL currently resolves to a 404 for public users, and the organization search exposes Samples but not bugsplat-windows. Because this paragraph tells readers to obtain the SDK and samples by cloning that repository, the primary getting-started path is inaccessible unless they already have undisclosed repository access; link to a public distribution/source or document the access/package path.
[bugsplat-windows](https://github.com/BugSplat-Git/bugsplat-windows) repository under

introduction/getting-started/integrations/desktop/bugsplat-for-dot-net.md:127

  • All five roadmap links point into the same repository URL that is currently unavailable to public users, so none of the promised implementation issues can be opened from this guide. Use publicly accessible tracking links or remove the issue references until the repository/issues are available to readers.
* Guard the native P/Invoke by OS + managed-only fallback off Windows — [#173](https://github.com/BugSplat-Git/bugsplat-windows/issues/173)
* Native crash capture on Linux — [#174](https://github.com/BugSplat-Git/bugsplat-windows/issues/174)
* Native crash capture on macOS — [#175](https://github.com/BugSplat-Git/bugsplat-windows/issues/175)
* Ship as a NuGet package with per-RID native assets — [#176](https://github.com/BugSplat-Git/bugsplat-windows/issues/176)
* Cross-platform sample + CI matrix — [#177](https://github.com/BugSplat-Git/bugsplat-windows/issues/177)

introduction/getting-started/posting-a-test-crash/mydotnetwinui3crasher/README.md:38

  • This warning overstates what is lost without WER registration: the managed HandleApplicationExceptions/Post(Exception) path and feedback reporting still work, while WER-class/native crashes are the cases that require BugSplatWer.dll. Saying that all WinUI crashes are unreported conflicts with the managed crash behavior documented in the integration guide and can cause users to skip a working managed setup.
A WinUI 3 app's crashes are captured through BugSplat's WER runtime-exception helper
(`BugSplatWer.dll`). If it isn't registered, **crashes are not reported** — and the app shows a
warning at startup (`App` checks `BugSplat.IsWerEnabled`).
  • Files reviewed: 4/4 changed files
  • Comments generated: 5
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

In a WinUI 3 / XAML app, also forward UI-thread exceptions:

```csharp
UnhandledException += (s, e) => { App.BugSplat.Post(e.Exception).GetAwaiter().GetResult(); };
Comment thread SUMMARY.md
Comment on lines +21 to +22
* [MyDotNetCrasher (.NET)](introduction/getting-started/posting-a-test-crash/mydotnetcrasher-native-managed/README.md)
* [MyDotNetWinUI3Crasher (WinUI 3)](introduction/getting-started/posting-a-test-crash/mydotnetwinui3crasher/README.md)
Comment thread SUMMARY.md
* [BugSplat for Windows Dependencies](introduction/getting-started/integrations/desktop/cplusplus/dependencies.md)
* [BugSplat for Windows Upgrade Guide](introduction/getting-started/integrations/desktop/cplusplus/bugsplat-for-windows-upgrade-guide.md)
* [BugSplat for Windows API Documentation](introduction/getting-started/integrations/desktop/cplusplus/bugsplat-for-windows-api-documentation.md)
* [BugSplat for .NET](introduction/getting-started/integrations/desktop/bugsplat-for-dot-net.md)
Comment on lines +70 to +74
BugSplat.dll BugSplatMonitor.exe BugSplatRc.dll BugSplatWer.dll
```

Declare them as `Content` with `CopyToOutputDirectory` so they flow to `dotnet build`,
`dotnet publish`, and MSIX packaging automatically (see the sample `.csproj` files).
* Ship as a NuGet package with per-RID native assets — [#176](https://github.com/BugSplat-Git/bugsplat-windows/issues/176)
* Cross-platform sample + CI matrix — [#177](https://github.com/BugSplat-Git/bugsplat-windows/issues/177)

Until those land, use `BugSplat.Post(exception)` for managed exception reporting on Linux/macOS.
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.

2 participants