ktsu.Sdk
1.64.0
Prefix Reserved
See the version list below for details.
<Sdk Name="ktsu.Sdk" Version="1.64.0" />
ktsu.Sdk
A comprehensive, robust MSBuild-based SDK for .NET projects that standardizes configuration, metadata management, and package workflows. Features intelligent project structure detection, hierarchical solution discovery, and path-based namespace generation. Supports multiple .NET versions (.NET 5.0+, .NET Standard 2.0/2.1) with optimizations for .NET 9.0.
Key Features
🏗️ Intelligent Project Structure
- Hierarchical Solution Discovery: Automatically finds solution files up to 5 directory levels above the project
- Path-Based Namespace Generation: Creates namespaces from directory structure between solution and project
- Smart Project Detection: Automatically detects primary, console, GUI, and test project types
- Nested Project Support: Works seamlessly with deeply nested project structures
🛡️ Robust Error Handling
- Safe Array Operations: Prevents index-out-of-bounds errors in MSBuild expressions
- Null-Safe String Operations: Comprehensive null/empty checks for all string manipulations
- Graceful Fallbacks: Provides sensible defaults when metadata files or properties are missing
- Comprehensive Validation: Built-in validation for all file operations and property access
📦 Advanced Package Management
- Multi-Target Support: .NET 9.0, 8.0, 7.0, 6.0, 5.0, .NET Standard 2.0/2.1
- MSBuildSdk Packaging: Properly configured for MSBuild SDK project packaging
- Automatic Metadata Integration: Seamlessly includes markdown files in package metadata
- Package Validation: Built-in API compatibility and package validation
- Source Link Integration: Automatic source linking for debugging
🔧 Development Workflow
- Automatic Project References: Smart cross-project referencing based on project types
- Internals Visibility: Automatic InternalsVisibleTo configuration for test projects
- GitHub Integration: Built-in support for GitHub workflows and CI/CD
- Cross-Platform Support: Compatible with Windows, macOS, and Linux
- Documentation Generation: Automated XML documentation file generation
Project Structure
- Sdk: Core SDK implementation with MSBuild props and targets (for all project types)
- Sdk.ConsoleApp: Console application SDK support with cross-platform console configurations
- Sdk.ImGuiApp: ImGui application SDK for modern GUI applications
- Sdk.WinApp: Windows application SDK for platform-specific GUI applications (WinForms, WPF, etc.)
- Sdk.Test: Testing infrastructure and configuration for unit tests
- Sdk.WinTest: Windows-specific testing infrastructure and configuration
Usage
To use this SDK in your project:
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="ktsu.Sdk" />
<PropertyGroup>
</PropertyGroup>
</Project>
Add sdk extensions to your project (for specific project types):
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="ktsu.Sdk" />
<Sdk Name="ktsu.Sdk.ConsoleApp" />
<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)
- Console Projects: Command-line interface projects (YourSolution.ConsoleApp, YourSolutionConsoleApp, YourSolution.CLI, YourSolutionCLI)
- GUI App Projects: Application projects (YourSolution.App, YourSolutionApp, YourSolution.WinApp, YourSolutionWinApp, YourSolution.ImGuiApp, YourSolutionImGuiApp)
- Test Projects: Test projects (YourSolution.Test, YourSolution.Tests, YourSolutionTest, YourSolutionTests, YourSolution.WinTest, YourSolutionWinTest)
Each project type receives appropriate default settings, references, and output configurations (console apps vs. GUI apps).
Intelligent Namespace Generation
The SDK creates intelligent namespaces based on your project's directory structure:
Examples:
MySolution/src/Core/Utils/MyProject.csproj
→ ProjectNamespace: src.Core.Utils.MyProject
MySolution/libs/MyLib/MyLib.csproj
→ ProjectNamespace: libs.MyLib (already ends with project name)
MySolution/MyApp/MyApp.csproj
→ ProjectNamespace: MyApp (directory equals project name)
Final Namespace Pattern:
{AuthorsNamespace}.{ProjectNamespace}
where AuthorsNamespace comes from AUTHORS.md
Hierarchical Solution Discovery
The SDK automatically searches for solution files up the directory hierarchy:
MyProject/ ← Level 3: Check here
├── MyProject.sln ← Found! Use this directory
└── apps/ ← Level 2: Check here
└── frontend/ ← Level 1: Check here
└── src/ ← Level 0: Start here (project directory)
└── MyApp.csproj
This enables the SDK to work with any nested project structure without configuration.
Metadata Files
This SDK supports the following metadata files at the solution root:
README.md
: Project documentation (this file)AUTHORS.md
: Project authors and contributorsLICENSE.md
: Project license informationCHANGELOG.md
: Version history and changesDESCRIPTION.md
: Detailed project descriptionVERSION.md
: Current version informationTAGS.md
: Project tags for NuGet packagesCOPYRIGHT.md
: Copyright informationAUTHORS.url
: URL to authors' informationPROJECT_URL.url
: URL to project information
These files are automatically included in the NuGet package and used to populate package metadata.
Advanced Configuration Features
Automatic Project References
Projects automatically reference the primary project and expose internals to test projects. Cross-references are intelligently configured based on project types and naming conventions.
Robust Error Handling
The SDK includes comprehensive error handling to prevent common MSBuild failures:
- Safe Array Access: Prevents "index out of bounds" errors when accessing file lists or string arrays
- Null Property Checks: All string operations include null/empty validation
- File Existence Validation: All file operations verify existence before processing
- Graceful Degradation: Missing metadata files don't cause build failures
Standardized Package Creation
Library projects are automatically configured for NuGet packaging with:
- Automatic Metadata Population: Uses markdown files for package description, changelog, etc.
- Source Link Integration: Enables source code debugging for published packages
- Package Validation: Built-in API compatibility and package structure validation
- Multi-Framework Support: Targets multiple .NET versions simultaneously
Cross-Platform Compatibility
Projects are configured with multiple runtime identifiers:
- Windows:
win-x64
,win-x86
,win-arm64
- macOS:
osx-x64
,osx-arm64
- Linux:
linux-x64
,linux-arm64
Advanced Testing Support
- Automatic InternalsVisibleTo: Test projects automatically access internal members
- Test Project Detection: Identifies and configures test projects with appropriate settings
- Multi-Platform Testing: Test configurations for both standard and Windows-specific tests
Requirements
- .NET SDK 5.0 or later (optimized for .NET SDK 9.0)
License
See the LICENSE.md file for license information.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
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.65.0 | 0 | 8/12/2025 |
1.64.0 | 0 | 8/12/2025 |
1.63.0 | 0 | 8/12/2025 |
1.62.0 | 0 | 8/12/2025 |
1.61.0 | 0 | 8/12/2025 |
1.60.0 | 0 | 8/12/2025 |
1.59.0 | 0 | 8/11/2025 |
1.58.0 | 9 | 8/11/2025 |
1.57.0 | 12 | 8/11/2025 |
1.56.0 | 164 | 8/6/2025 |
1.55.0 | 166 | 8/6/2025 |
1.54.0 | 163 | 8/6/2025 |
1.53.0 | 165 | 8/6/2025 |
1.52.0 | 165 | 8/6/2025 |
1.51.0 | 164 | 8/6/2025 |
1.50.0 | 165 | 8/6/2025 |
1.49.0 | 433 | 7/21/2025 |
1.48.0 | 102 | 7/18/2025 |
1.47.0 | 95 | 7/18/2025 |
1.46.0 | 667 | 6/15/2025 |
1.45.0 | 354 | 6/15/2025 |
1.44.0 | 361 | 6/15/2025 |
1.43.0 | 357 | 6/15/2025 |
1.42.0 | 355 | 6/15/2025 |
1.41.0 | 354 | 6/15/2025 |
1.40.0 | 361 | 6/15/2025 |
1.39.1-pre.1 | 115 | 6/15/2025 |
1.39.0 | 492 | 6/13/2025 |
1.38.0 | 570 | 5/31/2025 |
1.37.0 | 122 | 5/31/2025 |
1.36.0 | 129 | 5/31/2025 |
1.35.0 | 236 | 5/29/2025 |
1.34.0 | 220 | 5/28/2025 |
1.33.0 | 129 | 5/23/2025 |
1.32.0 | 138 | 5/22/2025 |
1.31.0 | 141 | 5/22/2025 |
1.30.0 | 161 | 5/22/2025 |
1.29.0 | 146 | 5/21/2025 |
1.28.0 | 138 | 5/21/2025 |
1.27.0 | 144 | 5/21/2025 |
1.26.0 | 142 | 5/21/2025 |
1.25.0 | 138 | 5/21/2025 |
1.24.0 | 139 | 5/21/2025 |
1.23.0 | 139 | 5/21/2025 |
1.22.0 | 137 | 5/21/2025 |
1.21.0 | 138 | 5/21/2025 |
1.20.1-pre.1 | 116 | 5/21/2025 |
1.20.0 | 137 | 5/21/2025 |
1.19.1-pre.1 | 118 | 5/21/2025 |
1.19.0 | 144 | 5/21/2025 |
1.18.0 | 145 | 5/21/2025 |
1.17.1 | 152 | 5/21/2025 |
1.17.1-pre.1 | 113 | 5/21/2025 |
1.17.0 | 138 | 5/21/2025 |
1.16.0 | 140 | 5/21/2025 |
1.15.0 | 139 | 5/21/2025 |
1.14.1 | 139 | 5/21/2025 |
1.14.0 | 140 | 5/21/2025 |
1.13.0 | 141 | 5/21/2025 |
1.12.1 | 139 | 5/21/2025 |
1.12.0 | 140 | 5/21/2025 |
1.11.1-pre.2 | 114 | 5/20/2025 |
1.11.1-pre.1 | 114 | 5/18/2025 |
1.11.0 | 135 | 5/18/2025 |
1.10.2-pre.1 | 94 | 5/17/2025 |
1.10.1 | 187 | 5/17/2025 |
1.10.0 | 127 | 5/17/2025 |
1.9.0 | 228 | 5/15/2025 |
1.8.1-pre.5 | 76 | 5/4/2025 |
1.8.1-pre.4 | 125 | 4/28/2025 |
1.8.1-pre.3 | 124 | 4/28/2025 |
1.8.1-pre.2 | 125 | 4/28/2025 |
1.8.1-pre.1 | 129 | 4/28/2025 |
1.8.0 | 2,849 | 4/28/2025 |
1.7.1-pre.2 | 130 | 4/28/2025 |
1.7.1-pre.1 | 128 | 4/28/2025 |
1.7.0 | 115 | 4/26/2025 |
1.6.0 | 74 | 4/26/2025 |
1.5.1 | 79 | 4/26/2025 |
1.5.0 | 90 | 4/26/2025 |
1.4.0 | 83 | 4/26/2025 |
1.3.0 | 84 | 4/26/2025 |
1.2.0 | 80 | 4/26/2025 |
1.1.0 | 83 | 4/26/2025 |
## v1.64.0 (minor)
Changes since v1.63.0:
- Refactor Sdk.props and Sdk.targets to remove unused RunSettingsFile references and streamline package data inclusion for non-test projects. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.63.0 (minor)
Changes since v1.62.0:
- Add test results configuration and enable code coverage collection in Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.62.0 (minor)
Changes since v1.61.0:
- Remove coverage-related properties and dependencies from Sdk.props to simplify test project configuration. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.61.0 (minor)
Changes since v1.60.0:
- Refine project inclusion logic in Sdk.targets to show solution scoped files only in non-test projects, enhancing clarity and organization. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.60.0 (minor)
Changes since v1.59.0:
- Refactor SDK structure by removing Sdk.Lib and updating project files to streamline SDK usage. Enhance README.md with clearer project type descriptions and usage instructions. Remove outdated version update script from workflows. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.59.0 (minor)
Changes since v1.58.0:
- Enhance SDK documentation and features in DESCRIPTION.md and README.md. Improve project structure detection, error handling, and package management capabilities. Update Sdk.props and Sdk.targets for better namespace generation and project inclusion logic. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.58.0 (minor)
Changes since v1.57.0:
- Refine conditions in Sdk.targets to improve project file inclusion logic for primary and test projects. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.57.0 (minor)
Changes since v1.56.0:
- Add publishing step for libraries to ktsu.dev in GitHub Actions workflow and refine conditions in Sdk.targets ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.56.0 (minor)
Changes since v1.55.0:
- Update TargetFrameworks in Sdk.props to include additional frameworks for improved compatibility ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.55.0 (minor)
Changes since v1.54.0:
- Refactor SDK import statements in Sdk.props files and remove redundant imports from Sdk.targets files across multiple projects to enhance modularity and maintainability. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.54.0 (minor)
Changes since v1.53.0:
- Enhance SDK import statements in Sdk.targets files for multiple projects to improve modularity and maintainability. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.53.0 (minor)
Changes since v1.52.0:
- Refactor SDK import statements in Sdk.props files for ConsoleApp and ImGuiApp to enhance modularity and maintainability. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.52.0 (minor)
Changes since v1.51.0:
- Remove redundant SDK import statements from Sdk.targets files across multiple projects to streamline project configuration. ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.51.0 (minor)
Changes since v1.50.0:
- Add SDK metadata and update project configurations ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.50.0 (minor)
Changes since v1.49.0:
- Remove deprecated files and update project configurations for multi-targeting support ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.49.0 (minor)
Changes since v1.48.0:
- Update project configuration and build scripts ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.48.0 (minor)
Changes since v1.47.0:
- Fix PackageReleaseNotes condition syntax in Sdk.props for NuGet compliance ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.47.0 (minor)
Changes since v1.46.0:
- Enhance PackageReleaseNotes handling in Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.46.0 (minor)
Changes since v1.45.0:
- Add coverage configuration to Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.45.0 (minor)
Changes since v1.44.0:
- Add Microsoft.Testing.Extensions.CodeCoverage package reference to Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.44.0 (minor)
Changes since v1.43.0:
- Add Microsoft.NET.Sdk to Sdk.props for enhanced project configuration ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.43.0 (minor)
Changes since v1.42.0:
- Enhance test project configuration in Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.42.0 (minor)
Changes since v1.41.0:
- Standardize library usage across projects in MSBuild SDK ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.41.0 (minor)
Changes since v1.40.0:
- Update SDK documentation and streamline scripts ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.40.0 (minor)
Changes since v1.39.0:
- [minor] New sdk version ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.39.1-pre.1 (prerelease)
Changes since v1.39.0:
## v1.39.0 (minor)
Changes since v1.38.0:
- Remove self-contained and single-file publish settings ([@matt-edmondson](https://github.com/matt-edmondson))
- Update configuration files and dependencies ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.38.0 (minor)
Changes since v1.37.0:
- Update SelfContained property in Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.37.0 (minor)
Changes since v1.36.0:
- Enable self-contained deployment in Sdk.props ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.36.0 (minor)
Changes since v1.35.0:
- Update runtime identifiers and publishing properties ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.35.0 (minor)
Changes since v1.34.0:
- Refactor project structure and update dependencies ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.34.0 (minor)
Changes since v1.33.0:
- Update SDK configurations and add centralized package management ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.33.0 (minor)
Changes since v1.32.0:
- Update project to .NET 9.0 and enhance configuration ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.32.0 (minor)
Changes since v1.31.0:
- Update PackageReferences in Sdk.targets ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.31.0 (minor)
Changes since v1.30.0:
- Update package references and manage versions centrally ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.30.0 (minor)
Changes since v1.29.0:
- Cleanup: Remove unused ktsu package references ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.29.0 (minor)
Changes since v1.28.0:
- Add WinApp adk ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.28.0 (minor)
Changes since v1.27.0:
- [minor] Remove duplicate CommandLineParser package reference ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.27.0 (minor)
Changes since v1.26.0:
- [minor] Fix typo in TestProjectNamespace ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.26.0 (minor)
Changes since v1.25.0:
- [minor] Fix InternalsVisibleTo for tests ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.25.0 (minor)
Changes since v1.24.0:
- [minor] Fix conditionals for internals ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.24.0 (minor)
Changes since v1.23.0:
- [minor] Fix test package namespace ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.23.0 (minor)
Changes since v1.22.0:
- [minor] Fix incorrect test package namespace ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.22.0 (minor)
Changes since v1.21.0:
- [minor] Upgrade DeepCLone ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.21.0 (minor)
Changes since v1.20.0:
- [minor] fix version ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.20.1-pre.1 (prerelease)
Changes since v1.20.0:
## v1.20.0 (minor)
Changes since v1.19.0:
- [minor] fix versions ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.19.1-pre.1 (prerelease)
Changes since v1.19.0:
## v1.19.0 (minor)
Changes since v1.18.0:
- [minor] Downgrade TestableIO package versions ([@matt-edmondson](https://github.com/matt-edmondson))
## 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))