This page shows the source for this entry, with WebCore formatting language tags and attributes highlighted.


v6.0: .NET Standard & Authentication


<n>Note: this article was originally published at <a href=""></a> at the end of October, 2018.</n> <hr> The summary below describes major new features, items of note and breaking changes. <ul> <a href="">Download the artifacts</a> See the full list of issues<ul> <a href="">Quino-Standard 6.0.0</a> <a href="">Quino-WebAPI 6.0.0</a> <a href="">Quino-Windows 6.0.0</a></ul> </ul> <i>The links above require a login.</i> <h>Overview</h> 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 <c>quinogenerate</c> and <c>quinofix</c> 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 <c>Quino-Windows</c>. <c>Quino-Standard</c> is the core on which both <c>Quino-Windows</c> and <c>Quino-WebAPI</c> build. <ul> All core assemblies target .NET Standard 2.0. All assemblies in <c>Quino-Windows</c> 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 <c>Quino-WebAPI</c> currently target .NET Framework 4.6.2. We plan on targeting .NET Core in an upcoming version (tentatively planned for v7). </ul> <h>Highlights</h> <ul> Target .NET Standard and .NET Core from Quino-Standard Split Windows-specific code to Quino-Windows Improve authentication API to use <c>IIdentity</c> everywhere (deprecating <c>ICredentials</c> and <c>IUserCredentials</c>). </ul> <h>Breaking Changes</h> 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. <h level="3">APIs</h> 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. <ul> Moved <c>IRunSettings</c> and <c>RunMode</c> from <c>Encodo.Application</c> to <c>Encodo.Core</c>. </ul> <h level="3">References</h> Any .NET Framework executable that uses assemblies targeting .NET Standard must reference .NET Standard itself. The compiler (<c>MSBuild</c>) 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. <h level="3">Tools</h> One piece that has changed significantly is the tool support formerly provided with <c>Quino.Utils</c>. As of version 6, Quino no longer uses <c>NAnt</c>, instead providing <c>dotnet</c>-compatible tools that you can install using common .NET commands. Currently, Quino supports: <ul> <c>dotnet quinofix</c> <c>dotnet quinogenerate</c> <c>dotnet quinopack</c> </ul> Please see the <a href="">tools documentation</a> for more information on how to install and use the new tools. The standalone Winforms-based tools are in the <c>Quino-Windows</c> download, in the <c></c> archive. <ul> <c>Quino.Migrator</c> <c>Quino.PasswordEncryptor</c> </ul> <c>Quino.Utils</c> is no longer supported as a NuGet package.