VEBuild.link.msvc
1.0.3
dotnet add package VEBuild.link.msvc --version 1.0.3
NuGet\Install-Package VEBuild.link.msvc -Version 1.0.3
<PackageReference Include="VEBuild.link.msvc" Version="1.0.3" />
<PackageVersion Include="VEBuild.link.msvc" Version="1.0.3" />
<PackageReference Include="VEBuild.link.msvc" />
paket add VEBuild.link.msvc --version 1.0.3
#r "nuget: VEBuild.link.msvc, 1.0.3"
#:package VEBuild.link.msvc@1.0.3
#addin nuget:?package=VEBuild.link.msvc&version=1.0.3
#tool nuget:?package=VEBuild.link.msvc&version=1.0.3
ve.build.link.msvc
🚀 STATUS: v1.0.0 RC. MSVC Linker Provider for VEBuild.
ve.build.link.msvc is the implementation of linker abstractions for the Microsoft Visual C++ (MSVC) toolchain.
This package is responsible for invoking link.exe (for creating .exe and .dll) and lib.exe (for creating static libraries .lib). It automatically discovers paths to Windows SDK system libraries and configures the environment.
📦 Requirements
- OS: Windows (x64/ARM64).
- Tools: Visual Studio 2022 (or Build Tools) with C++ components installed.
- SDK: Windows 10/11 SDK (automatically discovered via Registry).
⚙️ Features
This package implements the ILinkTool interface and provides the following capabilities:
1. Auto-Discovery
You do not need to manually specify paths to link.exe or system .lib files.
The package uses vswhere.exe and the Windows Registry to locate:
- The latest version of MSVC Tools.
- Windows SDK (
ucrtandumfolders).
2. Platform Support
The package automatically registers platforms in ve.build depending on the host architecture and installed components:
- Desktop:
windows-x64,windows-x86,windows-arm64. - UEFI Development:
efi-x64,efi-x86,efi-arm64(generates files with.efiextension andEFI_APPLICATIONsubsystem).
3. Configuration Mapping
Translates abstract settings from ve.build.link into specific MSVC flags:
Abstraction (ILinkConfigurator) |
MSVC Flag |
|---|---|
.enableDebugInformation(...) |
/DEBUG:FULL, /DEBUG:FASTLINK |
.enableASLR(true) |
/DYNAMICBASE |
.ltcg(true) |
/LTCG |
.entryPoint("main") |
/ENTRY:main |
.subsystem(...) |
/SUBSYSTEM:WINDOWS, /SUBSYSTEM:CONSOLE, etc. |
.stack(reserve, commit) |
/STACK:reserve,commit |
💻 Usage
Typically, this package is used as part of the ve.build.msvc meta-package.
However, you can reference it separately:
using ve.build.core;
using ve.build.link.link;
using ve.build.link.msvc.msvc; // Extension namespace
return await new HostBuilder()
.project("sample", p => p
.Type(ProjectType.EXE)
.Sources("src")
)
// Register MSVC Linker
.useMsvcLink(
// Global configuration for LIB (Static Library)
lib => {
lib.extraFlag("/NOLOGO");
},
// Global configuration for LINK (Exe/Dll)
link => {
link.enableDebugInformation(DebugInformation.FULL);
link.enableASLR(true);
}
)
.build()
.run(args);
🔧 Internal Logic
The MsvcLinkerExtension class performs the following steps:
- Checks if running on Windows.
- Searches for Visual Studio and Windows SDK installation paths.
- Registers platforms (
windows-x64, etc.). - Creates instances of
MsvcLinkToolfor each platform with correct paths tobin(host/target) andlib.
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.Link (>= 1.0.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on VEBuild.link.msvc:
| 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.3 | 107 | 5/29/2026 |
| 1.0.2.3 | 117 | 5/22/2026 |
| 1.0.2.2 | 109 | 5/22/2026 |
| 1.0.2.1 | 105 | 5/22/2026 |
| 1.0.2 | 103 | 5/22/2026 |
| 1.0.1.2 | 112 | 3/6/2026 |
| 1.0.1.1 | 102 | 3/6/2026 |
| 1.0.1 | 110 | 3/3/2026 |
| 1.0.0.7-rc | 113 | 3/2/2026 |
| 1.0.0.6-rc | 122 | 2/25/2026 |
| 1.0.0.5-rc | 108 | 2/25/2026 |
| 1.0.0.4-rc | 111 | 2/17/2026 |
| 1.0.0.3-rc | 114 | 2/17/2026 |
| 1.0.0.2-rc | 120 | 12/27/2025 |
| 1.0.0.1-rc | 191 | 12/25/2025 |
| 1.0.0-rc | 195 | 11/27/2025 |