Part of the Buildvana project.
Buildvana /bɪldˈvɑːnə/
-
a transcendent state of the .NET programmer's mind, in which there is neither suffering, confusion, nor waste of time.
-
a collection of open-source methods and processes to help .NET programmers achieve Buildvana.
-
a collection of open-source projects supporting programmers that aim to reach Buildvana.
Buildvana SDK is an opinionated, best-practices-based, CI-friendly, VS-friendly, MSBuild-powered build system for .NET projects.
It is part of the Buildvana project, which also comprises ready-to-use template repositories that implement automated build, testing, and deployment for .NET projects.
NOTE: Buildvana SDK, just as the whole Buildvana project, is still a work in progress. All standard disclaimers apply. However, the SDK has already been used successfully for internal projects at Tenacom, before it even became a project of its own.
- Single source of truth for assembly versions
- Single source of truth for package licenses and copyright notices
- Helps you keep your project files clean and concise - even better than "plain" MSBuild SDKs
- More auto-generated assembly information (
ClsCompliant
,COMVisible
) - Custom auto-generated assembly information
- Automatic configuration of commonly-used code analyzers
- ...
At the moment, Buildvana SDK is being used mainly by .NET Standard and .NET Core libraries written in C#.
It should work for .NET Core console applications.
It may work for ASP.NET Core websites.
It will not work for .NET Framework applications or libraries.
It will not work for non-SDK (legacy) projects.
It may work for WindowsDesktop projects. These will definitely be supported soon.
As for language support: Buildvana SDK will work with C# projects, should work with Visual Basic projects and may work with F# projects.
Buildvana SDK assumes that your project is in a Git repository. Furthermore, if your project is packable (i.e. it is meant to be distributed as a NuGet package), Buildvana SDK assumes that it is hosted on a GitHub public repository, for the purposes of generating a symbol package with SourceLink support.
Support for other Git servers will be implemented if / when asked for. It should be trivial enough, as long as there is a suitable SourceLink support package available.
Private repositories may or may not work. Testers welcome.
Building via the following tools is supported:
- MSBuild v16.8 or newer (
msbuild
) under .NET Framework 4.7.2 or newer, .NET SDK 5.0 or newer, or any recent version of Mono - Visual Studio 2019 v16.8 or newer (building from IDE)
- .NET SDK 5.0.100 or newer (
dotnet build
,dotnet msbuild
, etc.)
Latest versions of Visual Studio for Mac should work, but we need confirmation by someone with a Mac.
TODO
TODO
The peaceful octopus logo is a modified version of Peace by AomAm from the Noun Project.
The font used in the logo is Repo by Stefan Peev, from Font Library.