Time to complete: Less than 5 minutesPrerequisites: You should have installed DotNET Build Buddy
Scenario 1: Starting a New Project
Let’s create a simple C# project from scratch and watch DotNET Build Buddy do the heavy lifting.Create a C# source file
Create a new file called Save the file (
Program.cs with the following content:Program.cs
Ctrl+S or Cmd+S).Watch the extension activate
When you save the
.cs file, DotNET Build Buddy automatically activates. Look for the notification:Generate project files
Open the Command Palette (The extension creates a
Ctrl+Shift+P or Cmd+Shift+P) and run:MyDotNetApp.csproj file automatically based on your source files.Generate a solution file
Run the command:A
Solution.sln file is created that includes your project. You should see:Success! You’ve created a .NET project without manually editing any XML files.
Scenario 2: Automatic Updates with File Watching
Now let’s see the extension’s real-time monitoring in action.Enable auto-update (if not already enabled)
The
dotnetBuildBuddy.autoUpdate setting is enabled by default. Verify it in your settings:settings.json
Watch the automatic update
DotNET Build Buddy detects the new file and automatically updates
MyDotNetApp.csproj. Open the project file and you’ll see:MyDotNetApp.csproj
The update happens automatically within a few seconds after saving the file - no manual command needed!
Scenario 3: NuGet Compatibility Checking
Let’s add some NuGet packages and see the intelligent compatibility checking in action.Add a compatible NuGet package
Open Save the file. Since Newtonsoft.Json 13.0.3 is compatible with net8.0, you won’t see any warnings.
MyDotNetApp.csproj and add a PackageReference inside the <ItemGroup> element:MyDotNetApp.csproj
Add an incompatible package
Now let’s add a package that’s not compatible with net8.0. Add this PackageReference:EntityFramework 6.x is designed for .NET Framework and is not compatible with .NET 8.0.
See the diagnostic warnings
After saving, you’ll see:
- A red squiggly line under the EntityFramework package reference
- Hover over it to see a tooltip with detailed information
Try a version mismatch
Change the Newtonsoft.Json version to an incompatible one:(Assuming this version doesn’t exist or has issues with net8.0)You’ll see a yellow squiggly line (warning) with a suggestion for the correct version in the hover tooltip.
Success! You’ve seen how DotNET Build Buddy prevents compatibility issues before they cause runtime problems.
Scenario 4: Multi-Project Solution
Let’s create a multi-project solution with different project types.Add files to each project
Create Create
MyApp.Core/DataService.cs:MyApp.Core/DataService.cs
MyApp.Web/Startup.cs:MyApp.Web/Startup.cs
Generate all project files
Run the command:The extension creates:
MyApp.Core/MyApp.Core.csprojMyApp.Web/MyApp.Web.csproj
Generate the solution file
Run:The
Solution.sln file now includes both projects, maintaining the directory structure.Success! You’ve created a multi-project solution with automatic organization based on directory structure.
Available Commands Reference
Now that you’ve seen the extension in action, here are the three main commands you’ll use:DotNET Build Buddy: Generate Solution File
Manually generates a solution file (
.sln) for all projects in the workspace. Use this when you want to create or refresh the solution file.DotNET Build Buddy: Update Project Files
Manually updates all project files based on current source files. Use this when auto-update is disabled or you want to force an update.
DotNET Build Buddy: Refresh All .NET Files
Updates both project files and the solution file in one command. This is the most comprehensive refresh option.
Configuration Quick Reference
Here are the most commonly used settings:settings.json
Common Workflows
Working with automatic updates
Working with automatic updates
Best for: Active development when you’re frequently adding/removing files
- Ensure
dotnetBuildBuddy.autoUpdateistrue(default) - Add, modify, or delete source files as usual
- Project files update automatically within seconds
- Focus on coding, not project file management
Working with manual updates
Working with manual updates
Best for: Large projects where you want control over when updates happen
- Set
dotnetBuildBuddy.autoUpdatetofalse - Make all your source file changes
- Run
DotNET Build Buddy: Refresh All .NET Fileswhen ready - All project files and solution are updated at once
Managing NuGet packages
Managing NuGet packages
Best for: Adding or updating dependencies
- Open your
.csprojfile - Add or modify
<PackageReference>entries - Save the file
- Watch for inline diagnostics showing compatibility issues
- Hover over warnings/errors for suggestions
- Update versions or switch to recommended alternatives
Framework migration
Framework migration
Best for: Upgrading to newer .NET versions
- Change the
<TargetFramework>in your project file - Save the file
- DotNET Build Buddy checks all packages for compatibility
- Review suggestions for incompatible packages
- Update or replace packages as recommended
- Get notified if you can upgrade to an even newer framework
Troubleshooting Tips
- Extension not activating: Ensure your workspace contains at least one
.cs,.fs,.vb, or project file - Auto-update not working: Check that
dotnetBuildBuddy.autoUpdateistruein settings - No NuGet diagnostics: Verify
dotnetBuildBuddy.nugetCheckEnabledistrue - Performance issues with large projects: Disable auto-update and use manual commands instead
Help > Toggle Developer Tools) for log messages starting with “DotNET Build Buddy:”.
Next Steps
You’re now familiar with the core features of DotNET Build Buddy! Here’s what to explore next:Configuration Guide
Learn about all available settings and advanced configuration options
NuGet Compatibility
Deep dive into NuGet compatibility checking features
Troubleshooting
Common issues and their solutions
GitHub Repository
Contribute to the project or report issues