Microsoft Visual Studio
This geneset contains fodder for installing Microsoft Visual Studio 2022 in Windows catlets.
Usage
To install Visual Studio 2022 in your Windows catlets, add a gene reference:
fodder:
- source: gene:dbosoft/msvs:vs2022
Configuration
The vs2022 gene supports the following variables to configure the installation:
Edition and Location
vs_edition
default value: CommunityThe Visual Studio edition to install. Valid values:
Community
,Professional
,Enterprise
.vs_install_path
default value: C:\Program Files\Microsoft Visual Studio\2022\CommunityInstallation directory. Automatically adjusts based on edition if using default path.
Installation Source
vs_iso_path
default value: emptyOptional path to a Visual Studio ISO file for offline installation. The gene will:
- Try the provided ISO path
- Auto-detect mounted ISOs on drives E: through H:
- Fall back to downloading from the internet
Workloads and Components
vs_workloads
default value: Microsoft.VisualStudio.Workload.ManagedDesktop;Microsoft.VisualStudio.Workload.NetWebSemicolon-separated list of workload IDs to install. Common workloads:
Microsoft.VisualStudio.Workload.ManagedDesktop
- .NET Desktop DevelopmentMicrosoft.VisualStudio.Workload.NetWeb
- ASP.NET and Web DevelopmentMicrosoft.VisualStudio.Workload.Azure
- Azure DevelopmentMicrosoft.VisualStudio.Workload.NativeDesktop
- Desktop Development with C++Microsoft.VisualStudio.Workload.Data
- Data Storage and Processing
vs_components
default value: emptySemicolon-separated list of individual component IDs for fine-tuned control.
include_recommended
default value: trueInclude recommended components for selected workloads.
include_optional
default value: falseInclude optional components for selected workloads.
Localization
vs_languages
default value: en-USSemicolon-separated list of language codes to install. Common codes:
en-US
- English (United States)de-DE
- Germanfr-FR
- Frenchja-JP
- Japanesezh-CN
- Chinese (Simplified)
Dev Drive Integration
dev_drive_letter
default value: emptyOptional drive letter for Dev Drive. When provided, Visual Studio will configure its project directories to use this drive. If not provided, the gene will auto-detect Dev Drive on Windows 11 or ReFS drives labeled as "Dev*".
Examples
Basic Installation
Install Community edition with default .NET workloads:
fodder:
- source: gene:dbosoft/msvs:vs2022
Professional Edition with Azure Development
fodder:
- source: gene:dbosoft/msvs:vs2022
variables:
- name: vs_edition
value: Professional
- name: vs_workloads
value: "Microsoft.VisualStudio.Workload.Azure;Microsoft.VisualStudio.Workload.Data"
Enterprise Edition with Multiple Languages
fodder:
- source: gene:dbosoft/msvs:vs2022
variables:
- name: vs_edition
value: Enterprise
- name: vs_languages
value: "en-US;de-DE;fr-FR"
- name: vs_workloads
value: "Microsoft.VisualStudio.Workload.ManagedDesktop;Microsoft.VisualStudio.Workload.NativeDesktop"
Offline Installation with ISO
Add the Visual Studio ISO as a disk to your catlet with recommended resource allocation:
cpu: 8
memory: 16384
drives:
- name: sda
size: 100
- name: sdb
source: \\server\share\vs_enterprise_2022.iso
type: dvd
fodder:
- source: gene:dbosoft/msvs:vs2022
The gene will automatically detect the mounted ISO on drives E: through H: and use it for offline installation.
Dev Drive Integration
Create a high-performance development environment with Dev Drive and Visual Studio:
name: vs-dev-environment
parent: dbosoft/win11-24h2-enterprise/starter
cpu: 8
memory: 16384
drives:
- name: sda
size: 60
- name: sdb
size: 100 # Dev Drive
fodder:
# Configure Dev Drive first
- source: gene:dbosoft/windevdrive:configure
variables:
- name: devdrive_name
value: sdb
- name: devdrive_letter
value: E
- name: devdrive_label
value: DevDrive
# Install Visual Studio with Dev Drive auto-detection
- source: gene:dbosoft/msvs:vs2022
variables:
- name: vs_edition
value: Community
# VS will auto-detect the Dev Drive at E:
When Visual Studio detects a Dev Drive, it automatically creates the following directory structure:
E:\
├── source\
│ ├── repos\ # VS project location
│ ├── projects\ # Additional projects
│ └── templates\ # User templates
│ ├── ProjectTemplates\
│ └── ItemTemplates\
├── SymbolCache\ # Debug symbols
├── .nuget\ # NuGet packages
├── npm-cache\ # NPM cache
├── pip-cache\ # Python packages
└── [other caches...] # Various development caches
Configuring Visual Studio for Dev Drive
When a Dev Drive is detected during Visual Studio installation, the gene automatically creates the appropriate directory structure on the Dev Drive. However, Visual Studio project settings are per-user and must be configured manually.
Manual Configuration in Visual Studio:
- Open Visual Studio
- Go to Tools → Options → Projects and Solutions → Locations
- Projects location:
E:\source\repos
- User project templates:
E:\source\templates\ProjectTemplates
- User item templates:
E:\source\templates\ItemTemplates
- Projects location:
- Go to Tools → Options → Debugging → Symbols
- Symbol cache directory:
E:\SymbolCache
- Symbol cache directory:
Performance Benefits
Dev Drive provides approximately 25% better performance for:
- Build operations
- File I/O operations
- Package restore
- Git operations
- IntelliSense indexing
Explicit Dev Drive Configuration
If you need to specify a particular drive letter (e.g., for Windows Server 2022 with ReFS):
fodder:
- source: gene:dbosoft/msvs:vs2022
variables:
- name: dev_drive_letter
value: D # Explicitly use D: drive
Requirements
- Base Image: Windows 10/11 or Windows Server 2019/2022
- CPU: Minimum 4 cores, 8 recommended
- Memory: Minimum 4 GB, 16 GB recommended
- Disk: 20-50 GB depending on workloads
Recommended Catlet Configuration
cpu: 8
memory: 16384
drives:
- name: sda
size: 100
Licensing
- Community: Free for individuals, open source, academic research, and small teams (up to 5 users)
- Professional/Enterprise: Requires valid license or subscription
After installation, you'll need to activate the license by signing in with your Microsoft account or entering a product key.
References
Versioning
This geneset contains only fodder genes and is versioned with a major-minor version scheme.
There is no patch version - when a bug is fixed, a new minor version will be released.
A new major version is released when a gene is removed from the geneset.
The tag latest is updated with each released version. If you want to have a stable reference, don't use the latest tag, use a specific version tag.
Contributing
This geneset is maintained by dbosoft and is open for contributions.
You can find the repository for this geneset on github.com/dbosoft/eryph-genes.
License
All public dbosoft genesets are licensed under the MIT License.