Skip to content

Game.Modding.Toolchain.Dependencies.VsWhereEntry

Assembly:
Assembly-CSharp (likely; the project binary that contains modding/toolchain code)

Namespace:
Game.Modding.Toolchain.Dependencies

Type:
internal class

Base:
System.Object

Summary:
Represents a single entry returned or constructed from a vswhere query. Instances hold information about a discovered Visual Studio (or related) installation such as its display name, installation path, whether it is a prerelease, and a catalog/source classification. This type is internal to the toolchain and is used by the modding toolchain to locate Visual Studio/MSBuild installations required for building/modding workflows.


Fields

  • public string displayName
    Holds the human-readable display name of the Visual Studio installation (for example "Visual Studio 2022 Community").

  • public bool isPrerelease
    True if the discovered installation is a prerelease version; false for stable releases.

  • public string productPath
    Path to the installed product (typically the root folder of the Visual Studio instance or the path to devenv/msbuild location). Used by the toolchain to locate MSBuild, developer command prompt tools, or other binaries.

  • public VsWhereCatalog catalog
    A reference to a VsWhereCatalog value/type (declared elsewhere in the same namespace). It classifies the catalog/source/category of the found installation (e.g., Visual Studio, BuildTools, or other source labels used by the toolchain).

Properties

  • This type defines no properties; it exposes four public fields (see Fields).

Constructors

  • internal VsWhereEntry()
    The default parameterless constructor is used to create instances. The class is internal, so construction and usage are intended only within the same assembly.

Methods

  • This type declares no methods.

Usage Example

// Example usage inside the modding toolchain (same assembly):
var entry = new VsWhereEntry
{
    displayName = "Visual Studio 2022 Community",
    isPrerelease = false,
    productPath = @"C:\Program Files\Microsoft Visual Studio\2022\Community",
    catalog = VsWhereCatalog.VisualStudio // VsWhereCatalog is defined elsewhere in the same namespace
};

// Typical follow-up: use productPath to locate MSBuild or tools needed to build mods
string msbuildPath = Path.Combine(entry.productPath, "MSBuild", "Current", "Bin", "MSBuild.exe");
if (File.Exists(msbuildPath))
{
    // use msbuildPath to invoke the compiler or set up build tasks
}

Additional notes: - Instances of this class are typically created by parsing vswhere output (JSON) or by helper utilities in the toolchain that wrap the vswhere executable. - Because the type is internal, it is not intended as a public API for mods; it is an implementation detail of the modding toolchain used to find and classify installed developer tools.