### Log output for Roslyn Copilot language server installation
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Example log entries observed in the C# Output pane indicating the installation process for the Roslyn Copilot language server.
```log
[info] Installing package 'Language server for Roslyn Copilot integration'
[info] Finished
```
--------------------------------
### Example launch.json Configuration for x64 Debugging
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Debugging-x64-processes-on-an-arm64-computer.md
This is an example of a launch.json configuration for debugging a .NET Core console application. It specifies the x64 dotnet executable and the target architecture.
```json
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"cwd": "${workspaceFolder}",
"program": "/usr/local/share/dotnet/x64/dotnet",
"args": "${workspaceFolder}/bin/Debug/net8.0/ExampleProject.dll",
"targetArchitecture": "x86_64"
}
```
--------------------------------
### Install NPM Authentication Helper
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Install the `ado-npm-auth` global package if you need to authenticate with the .NET eng AzDo artifacts feed when adding new packages.
```bash
npm install -g ado-npm-auth
```
--------------------------------
### Create Symbolic Link for .NET SDK Snap Install
Source: https://github.com/dotnet/vscode-csharp/wiki/Configuring-Snap-installs-of-dotnet-sdk
Use this command to create a symbolic link for the .NET SDK installed via Snap. This helps tools like OmniSharp resolve the SDK location. Ensure you have the necessary permissions to write to /usr/local/bin.
```bash
ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
```
--------------------------------
### Install Project Dependencies
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Installs project dependencies using npm. Authentication is only required when adding new packages.
```bash
npm ci
```
--------------------------------
### Install .NET Core Debugger for Linux ARM
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Remote-Debugging-On-Linux-Arm.md
Installs the .NET Core debugger to the specified directory on the target Linux ARM machine. Ensure you have curl and unzip installed.
```bash
curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -r linux-arm -v latest -l ~/vsdbg
```
--------------------------------
### Project Setup for Testing
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
This snippet demonstrates how to set up a project structure with a console application and an xUnit test project, linking them, and creating a solution file. Useful for setting up a test environment for C# projects.
```bash
mkdir project
mkdir test
dotnet new console -o project
dotnet new xunit -o test
dotnet add test/test.csproj reference project/project.csproj
dotnet new solution -n solution
dotnet sln solution.sln add test/test.csproj project/project.csproj
```
--------------------------------
### Blazor WASM Debugging Setup
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Command to create a new Blazor WebAssembly application for debugging.
```bash
$ dotnet new blazorwasm -o DebugTestProject
```
--------------------------------
### Install MicroBuild Signing Plugin
Source: https://github.com/dotnet/vscode-csharp/blob/main/msbuild/signing/SIGNING.md
Installs the MicroBuild signing plugin globally. This is a prerequisite for running signing targets locally and is typically handled by a pipeline step in CI environments.
```bash
npm run installSignPlugin
```
--------------------------------
### Install Azure Artifacts NuGet Credential Provider
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Instructions for installing the Azure Artifacts NuGet Credential Provider on Windows, which may be required for interactive authentication when running npm scripts.
```bash
Install-Package Microsoft.Azure.Services.AppAuthentication -Version 1.0.0
```
--------------------------------
### Example .runsettings File for MSTest 64-bit Worker
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Desktop-.NET-Framework.md
Create a .runsettings file to force MSTest projects to use a 64-bit worker process, which is required for debugging. This file specifies the target platform as 'x64'.
```xml
x64
```
--------------------------------
### Install Debugger for WSL
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Windows-Subsystem-for-Linux.md
Installs the .NET Core debugger (vsdbg) for use with WSL. This command downloads and installs the latest version to the ~/vsdbg directory.
```bash
sudo apt-get install unzip
curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg
```
--------------------------------
### Start Debugger as Server
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Troubleshoot-loading-the-.NET-Debug-Services.md
Initiates the debugger in server mode, redirecting logs to a specified file for troubleshooting. Ensure the log file path is accessible.
```bash
./vsdbg-ui --server 2> ~/vsdbg-ui.log
```
--------------------------------
### VS Code launch.json configuration for .NET Core
Source: https://github.com/dotnet/vscode-csharp/blob/main/debugger.md
Example configuration for launch.json to debug a .NET Core application. Ensure the 'program' property points to the correct application DLL.
```json
"configurations": [
{
"...": "...",
"program": "${workspaceFolder}/MyLaunchingProject/bin/Debug/netcoreapp1.0/MyLaunchingProject.dll",
```
--------------------------------
### Authenticate with NPM Feed
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Run this command after installing `ado-npm-auth` to authenticate with the .NET eng AzDo artifacts feed by configuring your `.npmrc` file.
```bash
ado-npm-auth -c .npmrc
```
--------------------------------
### Download VSDBG using wget
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Attaching-to-remote-processes.md
An alternative method to download and install VSDBG using wget, suitable for systems where curl is not available.
```bash
wget https://aka.ms/getvsdbgsh -O - 2>/dev/null | /bin/sh /dev/stdin -v latest -l ~/vsdbg
```
--------------------------------
### Blazor project.razor.json Structure
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Example structure of the `project.razor.json` file for a Blazor project. It includes file path, configuration settings, project workspace state, and document details.
```JSON
{
"FilePath": "c:\\Users\\JohnDoe\\Projects\\BlazorTestApp\\BlazorTestApp.csproj",
"Configuration": {
"ConfigurationName": "MVC-3.0",
"LanguageVersion": "MVC-3.0",
"Extensions": [
{
"ExtensionName": "MVC-3.0"
}
]
},
"ProjectWorkspaceState": {
"TagHelpers": [ /* LOTS OF ENTRIES HERE */ ],
"CSharpLanguageVersion": 703 // This may be different
},
"RootNamespace": "BlazorTestApp",
"Documents": [ /* LOTS OF ENTRIES HERE */]
}
```
--------------------------------
### Legacy Razor project.razor.json Structure
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Example structure of the `project.razor.json` file for a Legacy Razor project. Note the 'UnsupportedRazor' configuration and null RootNamespace.
```JSON
{
"ProjectFilePath": "c:\\Users\\JohnDoe\\Projects\\LegacyRazorTestApp\\LegacyRazorTestApp.csproj",
"Configuration": {
"ConfigurationName": "UnsupportedRazor",
"LanguageVersion": "1.0",
"Extensions": [
{
"ExtensionName": "UnsupportedRazorExtension"
}
]
},
"ProjectWorkspaceState": {
"TagHelpers": [],
"CSharpLanguageVersion": 703 // This may be different
},
"RootNamespace": null,
"Documents": []
}
```
--------------------------------
### Razor Syntax Example with Diagnostics
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Demonstrates Razor syntax that initially produces a diagnostic error for a missing closing tag, which is then resolved by adding the corresponding closing tag.
```razor
@{ }
```
--------------------------------
### Configure launch.json for Unlimited Core Dumps
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Attaching-to-remote-processes.md
Modifies the launch.json configuration to enable unlimited core dumps by setting the ulimit before starting the debugger. This is used in conjunction with core_pattern configuration.
```json
"pipeArgs": [ "-T", "ExampleAccount@ExampleTargetComputer", "ulimit -c unlimited && ${debuggerCommand}" ],
```
--------------------------------
### Legacy Razor Formatting Example
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Illustrates the expected formatting within a Razor code block when hitting enter between curly braces in a legacy Razor project context.
```razor
{
}
```
--------------------------------
### ASP.NET Core Razor project.razor.json Structure
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Example structure of the `project.razor.json` file for an ASP.NET Core Razor project. This file contains configuration details, tag helper information, and document entries.
```JSON
{
"FilePath": "c:\\Users\\JohnDoe\\Projects\\RazorCoreTestApp\\RazorCoreTestApp.csproj",
"Configuration": {
"ConfigurationName": "MVC-3.0",
"LanguageVersion": "3.0",
"Extensions": [
{
"ExtensionName": "MVC-3.0"
}
]
},
"ProjectWorkspaceState": {
"TagHelpers": [ /* LOTS OF ENTRIES HERE */ ],
"CSharpLanguageVersion": 703 // This may be different
},
"RootNamespace": "RazorCoreTestApp",
"Documents": [ /* LOTS OF ENTRIES HERE */]
}
```
--------------------------------
### Create Hosted Blazor WASM Project
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Use this command to set up a new Blazor WebAssembly project with a hosted backend for testing purposes. Ensure the `--hosted` flag is included.
```bash
$ dotnet new blazorwasm --hosted -o DebugHostedTestProject
```
--------------------------------
### Download VSDBG using curl
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Attaching-to-remote-processes.md
Installs the latest version of VSDBG (the .NET Core command line debugger) on the target server. Specify the desired installation path.
```bash
curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg
```
--------------------------------
### Sample launch.json for Remote Debugging (Windows - Framework Dependent)
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Remote-Debugging-On-Linux-Arm.md
This configuration is for debugging a framework-dependent .NET Core application remotely on Linux ARM from a Windows machine. It requires PuTTY and a converted SSH keyfile.
```json
{
"name": ".NET Core Remote Launch - Framework Dependent (console)",
"type": "coreclr",
"request": "launch",
"program": "~/dotnet/dotnet",
"args": ["./dotnetapp.dll"],
"cwd": "~/dotnet-core-app",
"stopAtEntry": false,
"console": "internalConsole",
"pipeTransport": {
"pipeCwd": "${workspaceRoot}",
"pipeProgram": "c:\\Program Files\\PuTTY\\plink.exe",
"pipeArgs": [
"-i",
"mysshkeyfile.ppk",
"pi@10.10.10.10"
],
"debuggerPath": "~/vsdbg/vsdbg"
}
}
```
--------------------------------
### Sample launch.json for .NET Core WSL Launch
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Windows-Subsystem-for-Linux.md
Configuration for launching a .NET Core application on WSL. It uses a preLaunchTask to publish the application and specifies pipe transport for debugging.
```json
{
"name": ".NET Core WSL Launch",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "publish",
"program": "/mnt/c/temp/dotnetapps/wslApp/bin/publish/wslApp.dll",
"args": [],
"cwd": "/mnt/c/temp/dotnetapps/wslApp",
"stopAtEntry": false,
"console": "internalConsole",
"pipeTransport": {
"pipeCwd": "${workspaceRoot}",
"pipeProgram": "bash.exe",
"pipeArgs": [ "-c" ],
"debuggerPath": "~/vsdbg/vsdbg"
}
}
```
--------------------------------
### C# Go to Implementation for Interface
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Navigates to the implementation of an interface member.
```csharp
@functions {
interface Foo {}
class Bar: Foo {}
}
```
--------------------------------
### Sample launch.json for Remote Debugging (macOS/Linux - Standalone)
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Remote-Debugging-On-Linux-Arm.md
This configuration is for debugging a self-contained .NET Core application remotely on Linux ARM from a macOS or Linux machine using SSH.
```json
{
"name": ".NET Core Remote Launch - Standalone Application (console)",
"type": "coreclr",
"request": "launch",
"program": "MyConsoleApp",
"args": [],
"cwd": "~/MyConsoleApp",
"stopAtEntry": false,
"console": "internalConsole",
"pipeTransport": {
"pipeCwd": "${workspaceRoot}",
"pipeProgram": "/usr/bin/ssh",
"pipeArgs": [
"-T", "-i", "mysshkeyfile",
"pi@10.10.10.10"
],
"debuggerPath": "~/vsdbg/vsdbg"
}
}
```
--------------------------------
### Watch for Code Changes
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Starts a process that watches for code changes and automatically recompiles or reloads as needed. This is optional.
```bash
npm run watch
```
--------------------------------
### Create .NET Core Console App for CultureInfo Test
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Testing-libicu-compatibility-on-Linux.md
Creates a new .NET 5.0 console application named CultureInfoTest to verify libicu compatibility.
```bash
dotnet new console -f net5.0 -o CultureInfoTest
```
```bash
cd CultureInfoTest
```
--------------------------------
### Package VSIX for Extension Release
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Execute this npm script to create platform-specific VSIX packages for the extension, which can then be manually installed in VS Code.
```bash
npm run vsix:release:package
```
--------------------------------
### Download and Extract .NET Core Runtime (2.1)
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Remote-Debugging-On-Linux-Arm.md
Downloads and extracts a specific version of the .NET Core runtime for Linux ARM to a local directory. This is for framework-dependent deployments.
```bash
mkdir ~/dotnet & curl -sSL https://dotnetcli.blob.core.windows.net/dotnet/Runtime/2.1.3/dotnet-runtime-2.1.3-linux-arm.tar.gz |
tar xvzf /dev/stdin -C ~/dotnet
```
--------------------------------
### Sample launch.json for .NET Core WSL Attach
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Windows-Subsystem-for-Linux.md
Configuration for attaching to a running .NET Core process on WSL. It uses pipe transport and allows selecting the remote process to attach to.
```json
{
"name": ".NET Core WSL Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickRemoteProcess}",
"pipeTransport": {
"pipeCwd": "${workspaceRoot}",
"pipeProgram": "bash.exe",
"pipeArgs": [ "-c" ],
"debuggerPath": "~/vsdbg/vsdbg",
"quoteArgs": true
}
}
```
--------------------------------
### Attach Failed Telemetry Event on macOS
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Attaching-to-remote-processes.md
Example telemetry event indicating a debugger attach failure on macOS. This often correlates with Developer Mode not being enabled.
```javascript
{
"event":"output",
"body": {
"category":"telemetry",
"output":"VS/Diagnostics/Debugger/vsdbg/AttachFailed",
"data":{
"VS.Diagnostics.Debugger.vsdbg.OSFamily":"Darwin",
"VS.Diagnostics.Debugger.vsdbg.ErrorCode":-2147024809
}
```
--------------------------------
### macOS Debugger Crash Call Stack
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Diagnosting-'Debug-adapter-process-has-terminated-unexpectedly'.md
This is an example of a call stack from a debugger crash on macOS. It helps identify the sequence of function calls leading to the termination.
```text
Thread 9 Crashed:
0 libsystem_c.dylib 0x00007fffbbc43b52 strlen + 18
1 libc++.1.dylib 0x00007fffba7e0b27 std::__1::basic_string, std::__1::allocator >::assign(char const*) + 21
2 libvsdbg.dylib 0x0000000103fab41f VsCode::LaunchOptions::Deserialize(rapidjson::GenericValue, rapidjson::MemoryPoolAllocator > const&, VsCode::LaunchOptions&, std::__1::basic_string, std::__1::allocator >&) + 1999
3 libvsdbg.dylib 0x0000000103f70fe0 VsCode::CVsCodeProtocol::HandleLaunchRequest(rapidjson::GenericDocument, rapidjson::MemoryPoolAllocator, rapidjson::CrtAllocator> const&, std::__1::basic_string, std::__1::allocator >&, unsigned int&, bool&) + 288
4 libvsdbg.dylib 0x0000000103f6e6a0 VsCode::CVsCodeProtocol::HandleRequest(char const*) + 1648
5 libvsdbg.dylib 0x0000000103f62e7c std::__1::__function::__func)::$_1, std::__1::allocator)::$_1>, int ()>::operator()() + 28
6 libvsdbg.dylib 0x0000000103f629f8 VsCode::CommandQueue::CommandLoop() + 360
7 libvsdbg.dylib 0x0000000103f6cfc7 CVsCodeMainLoop::Run() + 103
8 libvsdbg.dylib 0x0000000103f10b41 RunMainLoop + 17
9 ??? 0x000000011038d5a3 0 + 4567127459
10 ??? 0x000000011038128e 0 + 4567077518
11 ??? 0x000000010fee99c6 0 + 4562262470
12 ??? 0x000000010fe99e71 0 + 4561935985
13 ??? 0x000000010fee9fc7 0 + 4562264007
14 ??? 0x000000010fee9ce8 0 + 4562263272
15 ??? 0x000000010feffd25 0 + 4562353445
16 libcoreclr.dylib 0x00000001017c99a1 CallDescrWorkerInternal + 124
17 libcoreclr.dylib 0x00000001016b5b43 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 707
18 libcoreclr.dylib 0x00000001016d1025 QueueUserWorkItemManagedCallback(void*) + 165
19 libcoreclr.dylib 0x000000010167515a ManagedThreadBase_DispatchOuter(ManagedThreadCallState*) + 378
20 libcoreclr.dylib 0x0000000101675803 ManagedThreadBase::ThreadPool(ADID, void (*)(void*), void*) + 51
21 libcoreclr.dylib 0x0000000101669d4c ManagedPerAppDomainTPCount::DispatchWorkItem(bool*, bool*) + 268
22 libcoreclr.dylib 0x0000000101694b00 ThreadpoolMgr::WorkerThreadStart(void*) + 992
23 libcoreclr.dylib 0x00000001014ede48 CorUnix::CPalThread::ThreadEntry(void*) + 328
24 libsystem_pthread.dylib 0x00007fffbbe269af _pthread_body + 180
25 libsystem_pthread.dylib 0x00007fffbbe268fb _pthread_start + 286
26 libsystem_pthread.dylib 0x00007fffbbe26101 thread_start + 13
```
--------------------------------
### Enable Debugging into .NET Runtime
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Debugging-into-the-.NET-Runtime-itself.md
Configure these settings in your launch.json to debug into the .NET Runtime. Ensure 'justMyCode' is false and symbol servers are enabled. 'suppressJITOptimizations' and 'COMPlus_ReadyToRun' are crucial for disabling runtime optimizations.
```json
"justMyCode": false,
"symbolOptions": {
"searchMicrosoftSymbolServer": true
},
"suppressJITOptimizations": true,
"env": {
"COMPlus_ReadyToRun": "0"
}
```
--------------------------------
### Configure Debug Server in launch.json for Console Logging
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Enabling-C
Set up launch.json to use a specific debug server port and enable console logging for advanced troubleshooting. This is helpful for issues occurring early in debugger startup or when the debugger crashes.
```json
{
"version": "0.2.0",
"configurations": [
{
"debugServer": 4711,
"name": ".NET Core Launch (console)",
"...": "...",
},
{ "...": "..." }
]
}
```
--------------------------------
### Run .NET Application on Linux ARM
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Remote-Debugging-On-Linux-Arm.md
Executes a .NET Core application's DLL using the locally installed .NET Core runtime on the Linux ARM device.
```bash
$ ~/dotnet/dotnet MyConsoleApp.dll
```
--------------------------------
### Open Project in VS Code
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Opens the current directory in Visual Studio Code.
```bash
code .
```
--------------------------------
### Run 'Branch snap' GitHub Action for main to prerelease
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Execute the 'Branch snap' GitHub action by selecting 'main' as the base branch to merge code from main to the prerelease branch.
```bash
Run workflow
Base branch: main
```
--------------------------------
### Configure SSH Attach for .NET Core
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Attaching-to-remote-processes.md
Add this configuration to your .vscode/launch.json file to enable attaching to a remote .NET Core process via SSH. Ensure VSDBG is installed on the target machine.
```json
{
"name": ".NET Core SSH Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickRemoteProcess}",
"pipeTransport": {
"pipeProgram": "ssh",
"pipeArgs": [ "-T", "ExampleAccount@ExampleTargetComputer" ],
"debuggerPath": "~/vsdbg/vsdbg",
"pipeCwd": "${workspaceRoot}",
"quoteArgs": true
},
"sourceFileMap": {
"/home/ExampleAccount/ExampleProject": "${workspaceRoot}"
}
}
```
--------------------------------
### Sample tasks.json for 'publish' task
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Windows-Subsystem-for-Linux.md
Defines a 'publish' task for tasks.json, used to build and publish a .NET Core project. This task is typically referenced by the preLaunchTask in launch.json.
```json
{
"version": "2.0.0",
"tasks": [
...
{
"label": "publish",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/wslApp.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary",
"-o",
"${workspaceFolder}/bin/publish"
]
}
]
}
```
--------------------------------
### Run npm script to update Roslyn version
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Execute the 'updateRoslynVersion' npm script to ensure the specified Roslyn package version is available in the feeds. Ensure the Azure Artifacts NuGet Credential Provider is installed if needed.
```bash
npm run updateRoslynVersion
```
--------------------------------
### Windows Event Log Details for Debugger Crash
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Diagnosting-'Debug-adapter-process-has-terminated-unexpectedly'.md
This is an example of the event details you might find in the Windows Event Viewer (Application log) when the debug adapter process terminates unexpectedly. It provides crucial information for diagnosing the root cause.
```text
Faulting application name: vsdbg-ui.exe, version: 1.1.0.1179, time stamp: 0x58224b03
Faulting module name: vsdbg.DLL, version: 15.1.10517.0, time stamp: 0x591cc77d
Exception code: 0xc0000005
Fault offset: 0x00000000002e3d3a
Faulting process id: 0x2dd8
Faulting application start time: 0x01d2cf58f1e7031e
Faulting application path: C:\Users\greggm\.vscode\extensions\ms-dotnettools.csharp-1.21.18\.debugger\vsdbg-ui.exe
Faulting module path: C:\Users\greggm\.vscode\extensions\ms-dotnettools.csharp-1.21.18\.debugger\vsdbg.DLL
Report Id: 694807aa-44e0-42d3-8129-437f457a5efd
Faulting package full name:
Faulting package-relative application ID:
```
--------------------------------
### VS Code launch.json for Remote Debugging (Framework Dependent)
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Remote-Debugging-On-Linux-Arm.md
Configuration for VS Code to remotely debug a framework-dependent .NET Core console application on Linux ARM via SSH. Ensure the 'program' path points to the dotnet executable and 'debuggerPath' to the installed vsdbg.
```json
{
"name": ".NET Core Remote Launch - Framework Dependent (console)",
"type": "coreclr",
"request": "launch",
"program": "~/dotnet/dotnet",
"args": [
"./MyConsoleApp.dll"
],
"cwd": "~/MyConsoleApp",
"stopAtEntry": false,
"console": "internalConsole",
"pipeTransport": {
"pipeCwd": "${workspaceRoot}",
"pipeProgram": "/usr/bin/ssh",
"pipeArgs": [
"-T", "-i", "mysshkeyfile",
"pi@10.10.10.10"
],
"debuggerPath": "~/vsdbg/vsdbg"
}
}
```
--------------------------------
### Run Standalone Blazor WASM Project
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Execute the created standalone Blazor WebAssembly project from the command line. This step is necessary before attaching the debugger.
```bash
$ cd DebugTestProject
$ dotnet run
```
--------------------------------
### TagHelper Quick Info
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Provides IntelliSense quick info for TagHelpers when hovering over the opening tag.
```html
```
--------------------------------
### Test Application Execution on Linux ARM
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Remote-Debugging-On-Linux-Arm.md
This command demonstrates how to run a self-contained .NET Core application after it has been deployed to a Linux ARM device.
```bash
$ ./MyConsoleApp
```
--------------------------------
### Create a new .NET console project
Source: https://github.com/dotnet/vscode-csharp/blob/main/debugger.md
Use 'dotnet new console' to create a new console application. This command is run from the VS Code terminal.
```bash
cd ~
dotnet new console
```
--------------------------------
### Run 'Branch snap' GitHub Action for prerelease to release
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Execute the 'Branch snap' GitHub action by selecting 'prerelease' as the workflow branch to merge code from prerelease to the release branch.
```bash
Run workflow
Workflow branch: prerelease
```
--------------------------------
### Run Unit Tests
Source: https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md
Executes all unit tests for the project.
```bash
npm run test:unit
```
--------------------------------
### Run .NET Core Console App
Source: https://github.com/dotnet/vscode-csharp/blob/main/docs/debugger/Testing-libicu-compatibility-on-Linux.md
Executes the .NET Core console application to perform the libicu compatibility test.
```bash
dotnet run
```
--------------------------------
### C# Go to Implementation in Razor
Source: https://github.com/dotnet/vscode-csharp/blob/main/test-plan.md
Navigates from an interface or abstract class usage to its implementation in Razor.
```razor
@functions {interface Foo {} class Bar: Foo {}}
```