dotnet / dotnet/maui

Enable VS 2022 "External Sources", Source Link, and/or Source Server

Open
#4,299 13 comments 15 reactions 2 assignees Claimed by @BretJohnson View on GitHub
area-architecture p/2 s/triaged s/verified t/bug
Dominant language
C#
Stars
23.3k
Forks
2k
Avg merge
1d 14h
Merged PRs (30d)
296

Description

### Description

In August 2021, the Microsoft Visual Studio team announced the addition of the "External Sources" node that appears in Solution Explorer when in a debugging session. The blog post announcing this feature can be found here: https://devblogs.microsoft.com/visualstudio/debugging-external-sources-with-visual-studio.

I've attempted to use this tool with Maui without success as apparently neither a Source Server nor Source Link is enabled. Detailed debug symbols are downloaded but an attempt to access source code fails. I have a number of applications I am porting from Xamarin Forms that use low-level features, such as Effects and Renderers, and source-level debugging deep into Maui is the only way to figure out what is wrong with the code. Unfortunately, many developers like myself, do not have the resources (neither time nor hardware to dedicate) to build Maui locally.

On GitHub, each time a Preview or RC is released, the Maui repo is branched so that the source code for that release is frozen. My request is that when the code is branched, that either a Source Server be established or updated as part of the CI stream or that the source code be indexed and available via Source Link. There are a number of potential benefits from implementing this feature:

1. Lower maintenance cost to Microsoft by reducing the number of support calls, especially some of the more complex issues.
2. Increased community engagement and participation in the further development of Maui.
3. Further indication of Microsoft's commitment to the developer community.

I respectfully request that this feature request be considered and implemented as soon as possible.

### Public API Changes

None

### Intended Use-Case

I have an example: I am porting a set of controls that use SkiaSharp on Maui. There is an Effect implemented that I am presently trying to debug. Unfortunately, registration of an effect goes through several *internal* layers of Maui code that are opaque without the ability to use source code debugging into Maui code. I am currently stymied and unable to continue troubleshooting without the assistance of a Maui developer. These developers have been great and very helpful, but their time is a limited resource that should be dedicated to less time-consuming side-issues and more productive endeavors. Making it possible for the developer community to do deep troubleshooting would go a long way to making Maui the success it deserves to be.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.