Tyrrrz/CliFx

Drop support for targets below net5.0

Tyrrrz opened this issue · 11 comments

The plan is to drop support for targets below net5.0 in the next major bump.
Main reasoning is that targeting older frameworks is holding this library back from making use of some of newer features that cannot be reasonably pollyfilled. Additionally, it will simplify the code quite a bit.

This issue is open for discussion if you have any comments or questions.

Do you plan to document (or already have documented) a table of version compatibility for CliFx? For example, I have a project at work locked into .NET 4.8 for now. I'd like to know the newest compatible version of CliFx for this framework.

Do you plan to document (or already have documented) a table of version compatibility for CliFx? For example, I have a project at work locked into .NET 4.8 for now. I'd like to know the newest compatible version of CliFx for this framework.

There would be a link in the readme pointing to the last version that supports .NET Fx.
Do you have any plants to migrate to .NET Core?

I'd love more than anything to get off of .NET 4.8 but you know how slow things move sometimes in a corporate environment...

I see. In any case, there aren't any breaking changes in the backlog, so .NET Framework drop won't happen very soon. It will be most likely packaged in the next major version with other breaking changes, whenever that happens.

I was seeing build errors about the Microsoft CodeAnalyzers package missing when I used v2.2.1. Going back to v1.6 fixed it. So I simply assumed as of v2.0 you already started this.

Hm, no, that would be unrelated to that. What is the error exactly?

One of many:

CSC: Error CS8032 : An instance of analyzer CliFx.Analyzers.CommandMustBeAnnotatedAnalyzer cannot be created from C:\Users\robert.nuget\packages\clifx\2.2.1\analyzers\dotnet\cs\CliFx.Analyzers.dll : Could not load file or assembly 'Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified..

My CSPROJ:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net48</TargetFramework>
    <ImplicitUsings>disable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <LangVersion>latest</LangVersion>
    <SignAssembly>false</SignAssembly>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="CliFx" Version="2.2.1" />
    <PackageReference Include="Core.System.Configuration.Install" Version="1.1.0" />
    <PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />
  </ItemGroup>

</Project>

Thanks for letting me know, I'll try to fix it in next release. You might be able to work around this by adding a package reference to Microsoft.CodeAnalysis.CSharp manually.

@rcdailey try the latest release, see if it works for you

FYI, decided to postpone this indefinitely, but whenever 3.x comes, it will most likely include this breaking change.

Closing for now because there are no active plans for this