v6.0: .NET Standard & Authentication

  Subscribe
10/31/2018 - Marco von Ballmoos (updated on 11/7/2018)

The summary below describes major new features, items of note and breaking changes.

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 (deprecating ICredentials and IUserCredentials).

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 and RunMode from Encodo.Application to Encodo.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.

Sign up for our Newsletter