ktsu.Sdk.Test 1.18.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
<Sdk Name="ktsu.Sdk.Test" Version="1.18.0" />
                    
For projects that support Sdk, copy this XML node into the project file to reference the package.

ktsu.Sdk

A comprehensive .NET SDK that simplifies project configuration, metadata management, and package creation for .NET applications targeting .NET 9.0.

Features

  • Focused on .NET 9.0: Optimized for the latest .NET framework
  • MSBuildSdk Packaging Support: Properly configured for MSBuild SDK project packaging
  • Standardized Project Structure: Enforces consistent organization across solution components
  • Metadata Management: Automatically handles project metadata from markdown files
  • Package Publishing: Streamlined NuGet package creation with proper metadata inclusion
  • Documentation: Automated inclusion of documentation in packages
  • GitHub Integration: Built-in support for GitHub workflows and CI/CD
  • Cross-Platform Support: Compatible with Windows, macOS, and Linux
  • Smart Project Detection: Automatic detection of primary, CLI, App, and Test projects

Project Structure

  • Sdk: Core SDK implementation with MSBuild props and targets
  • Sdk.App: Application-specific SDK extensions
  • Sdk.Lib: Library-focused SDK components
  • Sdk.CLI: Command-line application SDK support
  • Sdk.Test: Testing infrastructure and configuration

Usage

To use this SDK in your project:

<Project Sdk="ktsu.Sdk">
  <PropertyGroup>
    
  </PropertyGroup>
</Project>

Project Type Detection

The SDK automatically detects different project types in your solution:

  • Primary Project: The main project of your solution (YourSolution, YourSolution.Core)
  • CLI Project: Command-line interface projects (YourSolution.CLI, YourSolutionCLI)
  • App Project: Application projects (YourSolution.App, YourSolutionApp)
  • Test Project: Test projects (YourSolution.Test, YourSolution.Tests)

Each project type receives appropriate default settings and references.

Metadata Files

This SDK supports the following metadata files at the solution root:

  • README.md: Project documentation (this file)
  • AUTHORS.md: Project authors and contributors
  • LICENSE.md: Project license information
  • CHANGELOG.md: Version history and changes
  • DESCRIPTION.md: Detailed project description
  • VERSION.md: Current version information
  • TAGS.md: Project tags for NuGet packages
  • COPYRIGHT.md: Copyright information
  • AUTHORS.url: URL to authors' information
  • PROJECT.url: URL to project information

These files are automatically included in the NuGet package and used to populate package metadata.

Key Features

Automatic Project References

Projects automatically reference the primary project and use appropriate namespaces.

Standardized Package Creation

Library projects are automatically configured for NuGet packaging with proper metadata.

Cross-Platform Compatibility

Projects are configured with multiple runtime identifiers for Windows, macOS, and Linux.

Testing Support

Internals are automatically exposed to test projects, and testing configurations are applied.

Requirements

  • .NET SDK 9.0 or later

License

See the LICENSE.md file for license information.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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.
  • net9.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.29.0 0 5/21/2025
1.28.0 0 5/21/2025
1.27.0 0 5/21/2025
1.26.0 0 5/21/2025
1.25.0 0 5/21/2025
1.24.0 0 5/21/2025
1.23.0 0 5/21/2025
1.22.0 0 5/21/2025
1.21.0 0 5/21/2025
1.20.1-pre.1 0 5/21/2025
1.20.0 0 5/21/2025
1.19.1-pre.1 0 5/21/2025
1.19.0 0 5/21/2025
1.18.0 0 5/21/2025
1.17.1 0 5/21/2025
1.17.1-pre.1 0 5/21/2025
1.17.0 0 5/21/2025
1.16.0 0 5/21/2025
1.15.0 0 5/21/2025
1.14.1 0 5/21/2025
1.14.0 0 5/21/2025
1.13.0 0 5/21/2025
1.12.1 0 5/21/2025
1.12.0 0 5/21/2025
1.11.1-pre.2 25 5/20/2025
1.11.1-pre.1 30 5/18/2025
1.11.0 54 5/18/2025
1.10.2-pre.1 73 5/17/2025
1.10.1 110 5/17/2025
1.10.0 104 5/17/2025
1.9.0 208 5/15/2025
1.8.1-pre.5 70 5/4/2025
1.8.1-pre.4 114 4/28/2025
1.8.1-pre.3 116 4/28/2025
1.8.1-pre.2 114 4/28/2025
1.8.1-pre.1 117 4/28/2025
1.8.0 476 4/28/2025
1.7.1-pre.2 117 4/28/2025
1.7.1-pre.1 122 4/28/2025
1.7.0 107 4/26/2025
1.6.0 66 4/26/2025
1.5.1 66 4/26/2025
1.5.0 76 4/26/2025
1.4.0 69 4/26/2025
1.3.0 72 4/26/2025
1.2.0 79 4/26/2025

## v1.18.0 (minor)

Changes since v1.17.0:

- [minor] Update TestableIO packages in Sdk.targets ([@matt-edmondson](https://github.com/matt-edmondson))
- [patch] fix package version ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.17.1 (patch)

Changes since v1.17.0:

- [patch] fix package version ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.17.1-pre.1 (prerelease)

Incremental prerelease update.
## v1.17.0 (minor)

Changes since v1.16.0:

- Refactor package references in Sdk.targets ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.16.0 (minor)

Changes since v1.15.0:

- Enhance project existence checks in Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.15.0 (minor)

Changes since v1.14.0:

- Enhance SDK documentation and features for .NET 9.0 ([@matt-edmondson](https://github.com/matt-edmondson))
- Update Sdk.targets to reference ktsu.Semantics instead of ktsu.SemanticString ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.14.1 (patch)

Changes since v1.14.0:

- Enhance SDK documentation and features for .NET 9.0 ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.14.0 (minor)

Changes since v1.13.0:

- Update project structure and dependencies ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.13.0 (minor)

Changes since v1.12.0:

- Add MSBuildSdk packaging support to project files ([@matt-edmondson](https://github.com/matt-edmondson))
- Remove multi-targeting for .NET frameworks ([@matt-edmondson](https://github.com/matt-edmondson))
- Update projects to target .NET 9.0 ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.12.1 (patch)

Changes since v1.12.0:

- Add MSBuildSdk packaging support to project files ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.12.0 (minor)

Changes since v1.11.0:

- Remove TargetFramework properties from Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.11.1-pre.2 (prerelease)

Changes since v1.11.1-pre.1:

- Sync .editorconfig ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .gitattributes ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .gitignore ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .mailmap ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .runsettings ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.11.1-pre.1 (prerelease)

Changes since v1.11.0:

- Sync .editorconfig ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .gitattributes ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .gitignore ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .mailmap ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .runsettings ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.11.0 (minor)

Changes since v1.10.0:

- [patch] Fix tags file not being shown in the solution explorer ([@matt-edmondson](https://github.com/matt-edmondson))
- Refactor primary project handling in Sdk.props and Sdk.targets ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.10.2-pre.1 (prerelease)

Changes since v1.10.1:

- Update dotnet-sdk.yml ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.10.1 (patch)

Changes since v1.10.0:

- [patch] Fix tags file not being shown in the solution explorer ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.10.0 (minor)

Changes since v1.9.0:

- [minor] Refactor project structure for centralized settings ([@matt-edmondson](https://github.com/matt-edmondson))
- Add TAGS.md support and enhance project metadata ([@matt-edmondson](https://github.com/matt-edmondson))
- Enhance SDK documentation and add Sdk.CLI project ([@matt-edmondson](https://github.com/matt-edmondson))
- Update Sdk.props for output type configuration ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.9.0 (minor)

Changes since v1.8.0:

- [minor] Support primary project suffixes: Core, App, CLI ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.8.1-pre.5 (prerelease)

Changes since v1.8.1-pre.4:

- Sync .github\workflows\dependabot-merge.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\workflows\project.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.8.1-pre.4 (prerelease)

Changes since v1.8.1-pre.3:

- Refactor changelog generation logic in PowerShell script to implement more flexible commit filtering. Added progressive fallback mechanisms to ensure commits are captured for both regular and prerelease versions, improving the accuracy of the changelog output. ([@github-actions[bot]](https://github.com/github-actions[bot]))
## v1.8.1-pre.3 (prerelease)

Changes since v1.8.1-pre.2:

- Refactor changelog generation logic in PowerShell script to improve commit range determination. Enhanced handling for the newest version and added fallback for relaxed filters when no commits are found. Updated output messages for better clarity. ([@github-actions[bot]](https://github.com/github-actions[bot]))
## v1.8.1-pre.2 (prerelease)

Changes since v1.8.1-pre.1:

- Refactor changelog generation and versioning logic in PowerShell scripts. Updated commit range handling to include the latest changes since the last tag, improved output formatting, and added fallback logic for versioning when no tags are found. ([@github-actions[bot]](https://github.com/github-actions[bot]))
- Remove security analysis step from GitHub Actions workflow and update permissions accordingly. ([@github-actions[bot]](https://github.com/github-actions[bot]))
## v1.8.1-pre.1 (prerelease)

Changes since v1.8.0:

- Enhance GitHub Actions workflow by adding security analysis and dependency detection steps. Updated permissions to include security-events and id-token for improved security scanning and dependency submission. ([@github-actions[bot]](https://github.com/github-actions[bot]))
## v1.8.0 (minor)

Changes since v1.7.0:

- [minor] 1.8.0 ([@github-actions[bot]](https://github.com/github-actions[bot]))
- [minor] Update workflow and add Demo project ([@github-actions[bot]](https://github.com/github-actions[bot]))
- Remove Demo project and associated files ([@github-actions[bot]](https://github.com/github-actions[bot]))
- Update project configuration and versioning scripts ([@github-actions[bot]](https://github.com/github-actions[bot]))
## v1.7.1-pre.2 (prerelease)

Changes since v1.7.1-pre.1:

- [minor] Update workflow and add Demo project ([@github-actions[bot]](https://github.com/github-actions[bot]))
- Remove Demo project and associated files ([@github-actions[bot]](https://github.com/github-actions[bot]))
## v1.7.1-pre.1 (prerelease)

Changes since v1.7.0:

- Update project configuration and versioning scripts ([@github-actions[bot]](https://github.com/github-actions[bot]))
## v1.7.0 (minor)

Changes since v1.6.0:

- Update testing platform command line arguments ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.6.0 (minor)

Changes since v1.5.0:

- Add Sdk.Lib project and update SDK configurations ([@matt-edmondson](https://github.com/matt-edmondson))
- Update AssemblyName to use dynamic MSBuildProjectName ([@matt-edmondson](https://github.com/matt-edmondson))
- Update testing platform configuration in Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.5.1 (patch)

Changes since v1.5.0:

- Add Sdk.Lib project and update SDK configurations ([@matt-edmondson](https://github.com/matt-edmondson))
- Update AssemblyName to use dynamic MSBuildProjectName ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.5.0 (minor)

Changes since v1.4.0:

- Update SDK references in Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.4.0 (minor)

Changes since v1.3.0:

- Update SDK references for versioning consistency ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.3.0 (minor)

Changes since v1.2.0:

- Update project files to use new SDK references ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.2.0 (minor)

Changes since v1.1.0:

- Add Sdk.App and Sdk.Test projects to solution ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.1.0 (major)

- Initial commit ([@matt-edmondson](https://github.com/matt-edmondson))