vm2.Abstractions 1.0.0-preview.3

This is a prerelease version of vm2.Abstractions.
dotnet add package vm2.Abstractions --version 1.0.0-preview.3
                    
NuGet\Install-Package vm2.Abstractions -Version 1.0.0-preview.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="vm2.Abstractions" Version="1.0.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="vm2.Abstractions" Version="1.0.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="vm2.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add vm2.Abstractions --version 1.0.0-preview.3
                    
#r "nuget: vm2.Abstractions, 1.0.0-preview.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package vm2.Abstractions@1.0.0-preview.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=vm2.Abstractions&version=1.0.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=vm2.Abstractions&version=1.0.0-preview.3&prerelease
                    
Install as a Cake Tool

vm2.Abstractions

A starter vm2 package scaffold. Customize the code, tests, benchmarks, docs, and workflows as needed.

Getting started

  • Build:

    dotnet restore
    dotnet build
    
  • Test:

    • from CLI, if it is not built yet (builds on MTP v2):

      dotnet run --project tests/Abstractions.Tests/Abstractions.Tests.csproj
      
    • from CLI, if it is already built in CLI or VSCode (MTP v2):

      • any OS or shell:

        dotnet test tests/Abstractions.Tests/bin/Debug/net10.0/Abstractions.Tests.dll
        
      • on Windows CLI (already built in CLI or VSCode - on MTP v2):

        tests/Abstractions.Tests/bin/Debug/net10.0/Abstractions.Tests.exe
        
      • on Linux or MacOS CLI (already built in CLI or VSCode - on MTP v2):

        tests/Abstractions.Tests/bin/Debug/net10.0/Abstractions.Tests
        
    • from Visual Studio:

      • use the Test Explorer to build and run tests (builds on MTP v1)

      • if it is already built in Visual Studio (MTP v1), from the CLI you can run:

        dotnet test
        
  • Benchmarks (if included):

    dotnet run --project benchmarks/Abstractions.Benchmarks/Abstractions.Benchmarks.csproj --configuration Release
    

    In a personal development environment, you can run benchmarks with defined SHORT_RUN preprocessor directive. The run will be faster, although less accurate, but still suitable for quick iterations.

Package metadata

Structure

  • .github/workflows: CI, prerelease, release, clear-cache.
  • src/Abstractions: the library source code
  • tests/Abstractions.Tests: xUnit + MTP tests, includes testconfig.json
  • benchmarks/Abstractions.Benchmarks: BenchmarkDotNet suite (optional)
  • examples/Abstractions.Example: minimal console sample (optional)
  • docs/: documentation starter (optional)
  • scripts/: bootstrap helpers
  • changelog/: git-cliff configs for prerelease/release changelog updates

Next steps

  • create GitHub repository using the generated bootstrap script: scripts/repo-setup.sh

  • Update README, CHANGELOG, and package metadata.

  • Set secrets and variables for workflows:

    • Set required secrets in the new GitHub repo:
      • CODECOV_TOKEN
      • BENCHER_API_TOKEN
      • NUGET_API_KEY must be issued by the selected NUGET_SERVER (below)
    • Set required variables:
      • DOTNET_VERSION: 10.0.x: the .NET SDK version to use
      • CONFIGURATION: Release: the build configuration to use (e.g., Release or Debug)
      • NUGET_SERVER: github: the NuGet server to publish to (supported values: 'github', 'nuget', or custom URI)
      • MINVERTAGPREFIX: v: Prefix for git tags to be recognized by MinVer
      • MINVERDEFAULTPRERELEASEIDENTIFIERS: preview.0: Prefix for the prerelease tag, e.g. 'preview.0', 'alpha', 'beta', 'rc', etc.
      • SAVE_PACKAGE_ARTIFACTS: false: Whether to save package artifacts after build/publish
      • MIN_COVERAGE_PCT: 80%: Minimum code coverage percentage required
      • MAX_REGRESSION_PCT: 20%: Maximum allowed regression percentage
      • RESET_BENCHMARK_THRESHOLDS: false: Whether to reset Bencher thresholds
    • Set debug flags (variables):
      • ACTIONS_RUNNER_DEBUG: false: Whether to enable GitHub Actions runner debug logging
      • ACTIONS_STEP_DEBUG: false: Whether to enable GitHub Actions step debug logging
  • Protect the main branch by enabling required checks and requiring pull requests. Suggested check names:

    • build (job id from CI workflow "CI: Build, Test, Benchmark")
    • test (job id from CI workflow "CI: Build, Test, Benchmark")
    • benchmark (job id from CI workflow "CI: Build, Test, Benchmark")
  • In GitHub repo settings, enable Actions PR automation:

    • SettingsActionsGeneralWorkflow permissions
    • enable Allow GitHub Actions to create and approve pull requests
    • required for prerelease changelog PR creation.
  • Changelog: prerelease workflow appends a prerelease section; release workflow adds a stable header with "See prereleases below." (prerelease sections stay intact).

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-preview.3 68 6/11/2026
1.0.0-preview.2 63 6/11/2026
1.0.0-preview.1 62 5/21/2026

Pre-release: PR approved, tagged with pre-release tag.