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.
- Download the artifacts
- See the full list of issues
The links above require a login.
Overview
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 quinogenerate
and 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-Windows
.
Quino-Standard
is the core on which both Quino-Windows
and Quino-WebAPI
build.
- All core assemblies target .NET Standard 2.0.
- All assemblies in
Quino-Windows
target .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-WebAPI
currently target .NET Framework 4.6.2. We plan on targeting .NET Core in an upcoming version (tentatively planned for v7).
Highlights
- Target .NET Standard and .NET Core from Quino-Standard
- Split Windows-specific code to Quino-Windows
- Improve authentication API to use
IIdentity
everywhere (deprecatingICredentials
andIUserCredentials
).
Breaking Changes
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.
APIs
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.
- Moved
IRunSettings
andRunMode
fromEncodo.Application
toEncodo.Core
.
References
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.
Tools
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:
dotnet quinofix
dotnet quinogenerate
dotnet quinopack
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 Tools.zip
archive.
Quino.Migrator
Quino.PasswordEncryptor
Quino.Utils
is no longer supported as a NuGet package.