VEBuild.VcxprojGenerator
1.0.4
dotnet add package VEBuild.VcxprojGenerator --version 1.0.4
NuGet\Install-Package VEBuild.VcxprojGenerator -Version 1.0.4
<PackageReference Include="VEBuild.VcxprojGenerator" Version="1.0.4" />
<PackageVersion Include="VEBuild.VcxprojGenerator" Version="1.0.4" />
<PackageReference Include="VEBuild.VcxprojGenerator" />
paket add VEBuild.VcxprojGenerator --version 1.0.4
#r "nuget: VEBuild.VcxprojGenerator, 1.0.4"
#:package VEBuild.VcxprojGenerator@1.0.4
#addin nuget:?package=VEBuild.VcxprojGenerator&version=1.0.4
#tool nuget:?package=VEBuild.VcxprojGenerator&version=1.0.4
ve.build.vcxprojgenerator
🚀 STATUS: v1.0.0 RC. Visual Studio Generator for VEBuild.
ve.build.vcxprojgenerator implements the IProjectGenerator interface to create Visual Studio 2022 project files (.vcxproj) and solutions (.sln).
It bridges the gap between the custom ve.build system and the Visual Studio IDE, providing a first-class development experience with full IntelliSense, Debugging, and C++20 Modules support.
📦 Features
1. NMake Project Generation
It generates Makefile Project configurations (.vcxproj) that delegate build commands back to ve.build:
- Build Command: Calls
ve.build build ... - Rebuild Command: Calls
ve.build rebuild ... - Clean Command: Calls
ve.build clean ...
2. IntelliSense & C++20 Modules
It employs advanced techniques to make VS IntelliSense work with custom build artifacts:
- Forced Includes: Generates a header (
ve_intellisense.h) to pass complex preprocessor definitions (like__declspec(dllexport)) that typically break NMake XML parsers. - Module Visibility: Automatically adds module interface files (
.ixx) from dependent projects as links, ensuring cross-project code navigation (Go To Definition) works correctly.
3. Smart Solution Generation (.sln)
It generates a .sln file that intelligently combines your C++ projects with the C# build tool itself:
- Hybrid Solution: Includes both the target C++ projects and the
ve.buildC# project. - Build Dependencies: Configures the Solution so that the C# build tool is compiled before the C++ projects. This ensures you always run the latest version of your build script.
- Configuration Mapping: Maps solution configurations (e.g.,
DEBUG|windows-x64) to the correct C# configuration (Debug|Any CPU) and C++ configuration.
4. Debugger Integration
Automatically configures the Local Windows Debugger:
- Sets the
Commandto the generated executable path. - Sets the
WorkingDirectoryto the project root. - Enables
NativeOnlydebugging for maximum performance.
💻 Usage
Register this generator in your HostBuilder.
using ve.build.core;
using ve.build.vcxprojgenerator; // Extension namespace
return await new HostBuilder()
.project("my_game", ...)
// Register the VS2022 Generator
.useVcxprojGenerator()
.build()
.run(args);
After registration, run the generate command:
dotnet run -- generateProjectFiles
This will produce:
MyGame.slnobj/my_game.vcxprojobj/my_game.vcxproj.filters
Open MyGame.sln in Visual Studio 2022, and you are ready to code, build (F7), and debug (F5).
🔧 Architecture
The generator operates in two phases:
Project Generation (
.vcxproj):- Iterates over all defined projects.
- Resolves source files and dependencies.
- Generates XML with
<NMakeBuildCommandLine>,<ClCompile>includes, and<ProjectReference>to link dependencies for IntelliSense.
Solution Generation (
.sln):- Discovers the
.csprojof the build tool itself. - Creates a Solution file linking the C# tool and C++ projects.
- Sets up
ProjectDependenciesto enforce the build order:C# Tool -> C++ Libs -> C++ Exe.
- Discovers the
License
© 2025 VassalStudio. All rights reserved.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- VEBuild.Cpp (>= 1.0.3)
- VEBuild.Link (>= 1.0.3)
- VEBuild.ProjectGenerator (>= 1.0.4)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on VEBuild.VcxprojGenerator:
| Package | Downloads |
|---|---|
|
VEBuild.Msvc
VEBuild is a modular .NET build system that composes projects via declarative tasks, extensions, and platforms. This repo contains the core abstractions and a sandbox used to validate the architecture. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.4 | 110 | 5/29/2026 |
| 1.0.3.2 | 130 | 5/22/2026 |
| 1.0.3.1 | 105 | 5/22/2026 |
| 1.0.3 | 102 | 5/22/2026 |
| 1.0.2.2 | 112 | 3/6/2026 |
| 1.0.2.1 | 109 | 3/6/2026 |
| 1.0.2 | 114 | 3/3/2026 |
| 1.0.1.6-rc | 113 | 3/2/2026 |
| 1.0.1.5-rc | 112 | 2/26/2026 |
| 1.0.1.4-rc | 122 | 2/25/2026 |
| 1.0.1.3-rc | 110 | 2/17/2026 |
| 1.0.1.2-rc | 105 | 2/17/2026 |
| 1.0.1.1-rc | 122 | 12/27/2025 |
| 1.0.1-rc | 104 | 12/27/2025 |
| 1.0.0.1-rc | 191 | 12/25/2025 |
| 1.0.0-rc | 194 | 11/27/2025 |