cloudscribe 8 for .NET 8 released
- Posted in:
- cloudscribe
- aspdotcore
We are pleased to announce a new release of cloudscribe that targets .NET 8. See https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8 for information about what's new in .NET 8.
We've released a new version of the cloudscribe Visual Studio template. Please do leave a review!
We recommend that the VSIX template should be installed into Visual Studio 2022 (targeting .NET 8.0 is officially supported in Visual Studio 17.8+ only - this is a version of Visual Studio 2022 that was released in November 2023).
Older versions of the VSIX template remain available here: https://github.com/cloudscribe/cloudscribe.templates/tree/master/Archive.
Upgrading an existing cloudscribe site
We recommend manually editing the .csproj file of your solution (or each of them, if you have multiple projects). to upgrade the target framework:
<TargetFramework>net8.0</TargetFramework>
All package references to cloudscribe libraries should be updated, e.g. (just a small selection for example):
<PackageReference Include="cloudscribe.Core.SimpleContent" Version="8.0.*" />
<PackageReference Include="cloudscribe.SimpleContent.Web" Version="8.0.*" />
<PackageReference Include="cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5" Version="8.0.*" />
If you have any direct references to Microsoft libraries then bring them up to the latest appropriate .net 8 versions too:
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.0" />
You can follow your own policies and strategies about whether you wish to use wild-carded version numbers such as 8.0.*, or fixed 8.0.0 versions as above.
However we do not recommend a random mixture of the two.
You may well also have to upgrade any other third-party libraries that you reference in your solution, and diagnose version incompatibilities among them.
Build and run your solution, and check for any runtime errors and breaking changes...
Important breaking changes
Because of recent changes in EF Core 8 we can no longer reliably support versions of MS SQL Server earlier than 2016 (13.x).
If you are using a more recent of MS SQL Server, you still need to check that your databases are not set to compatibility levels for older versions (< 130).
See the details and mitigations here:
https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/breaking-changes#sqlserver-contains-compatibility
Also with SQL Server, you may need to modify your connection strings to specify whether or not to trust the SQL Server's self-signed certificate:
https://stackoverflow.com/questions/3674160/using-encrypt-yes-in-a-sql-server-connection-string-provider-ssl-provider
Failure to do this typically produces a "white-screen" runtime error on start-up.
As always, feedback welcome in the forums or on GitHub.