v6.0: .NET Standard & Authentication
Published by marco on
Note: this article was originally published at Encodo.com at the end of October, 2018.
The summary below describes major new features, items of note and breaking changes.
The links above require a login.
At long last, Quino enters the world of .NET Standard and .NET Core. Libraries target .NET Standard 2.0, which means they can all be used with any .NET runtime on any .NET platform (e.g. Mac and Linux). Sample applications and testing assemblies target .NET Core 2.0. Tools like
quinofix target .NET Core 2.1 to take advantage of the standardized external tool-support there.
Furthermore, the Windows, Winform and WPF projects have moved to a separate solution/repository called
Quino-Standard is the core on which both
- All core assemblies target .NET Standard 2.0.
- All assemblies in
Quino-Windowstarget .NET Framework 4.6.2 because that’s the first framework that can interact with .NET Standard (and under which Windows-specific code runs).
- All assemblies in
Quino-WebAPIcurrently target .NET Framework 4.6.2. We plan on targeting .NET Core in an upcoming version (tentatively planned for v7).
- Target .NET Standard and .NET Core from Quino-Standard
- Split Windows-specific code to Quino-Windows
- Improve authentication API to use
6.0 is a pretty major break from the 5.x release. Although almost all assembly names have stayed the same, we had to move some types around to accommodate targeting .NET Standard with 85% of Quino’s code.
We’ve tried to support existing code wherever possible, but some compile errors will be unavoidable (e.g. from namespace changes or missing references). In many cases, R#/VS should be able to help repair these errors.
These are the breaking changes that are currently known.
Any .NET Framework executable that uses assemblies targeting .NET Standard must reference .NET Standard itself. The compiler (
MSBuild) in Visual Studio will alert you to add a reference to .NET Standard using NuGet. This applies not just to Winform executables, but also to any unit-test assemblies.
One piece that has changed significantly is the tool support formerly provided with
Quino.Utils. As of version 6, Quino no longer uses
NAnt, instead providing
dotnet-compatible tools that you can install using common .NET commands. Currently, Quino supports:
Please see the tools documentation for more information on how to install and use the new tools.
The standalone Winforms-based tools are in the
Quino-Windows download, in the
Quino.Utils is no longer supported as a NuGet package.