Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest version incompatible with .NET 9 #718

Open
b-hodge opened this issue Dec 6, 2024 · 0 comments
Open

Latest version incompatible with .NET 9 #718

b-hodge opened this issue Dec 6, 2024 · 0 comments

Comments

@b-hodge
Copy link

b-hodge commented Dec 6, 2024

Description

We have been using FSharpLint with a .NET project targeting .NET version 8.0.401.

After upgrading our project to .NET version 9.0.101, FSharpLint no longer works.

Repro steps

Working correctly with .NET 8.0:

❯ movableink/scratch/fsharplint-8.0 dotnet --version
8.0.401

❯ movableink/scratch/fsharplint-8.0 dotnet new classlib -lang "F#" -o src/Library
The template "Class Library" was created successfully.

Processing post-creation actions...
Restoring /Users/bhodge/code/movableink/scratch/fsharplint-8.0/src/Library/Library.fsproj:
  Determining projects to restore...
  Restored /Users/bhodge/code/movableink/scratch/fsharplint-8.0/src/Library/Library.fsproj (in 361 ms).
Restore succeeded.



❯ movableink/scratch/fsharplint-8.0 dotnet fsharplint lint src/Library/Library.fsproj
========== Linting /Users/bhodge/code/movableink/scratch/fsharplint-8.0/src/Library/obj/Debug/net8.0/Library.AssemblyInfo.fs ==========
========== Finished: 0 warnings ==========
========== Linting /Users/bhodge/code/movableink/scratch/fsharplint-8.0/src/Library/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.fs ==========
========== Finished: 0 warnings ==========
========== Linting /Users/bhodge/code/movableink/scratch/fsharplint-8.0/src/Library/Library.fs ==========
========== Finished: 0 warnings ==========
========== Summary: 0 warnings ==========

Failing for a project targeting .NET 9.0:

❯ movableink/scratch/fsharplint-9.0 dotnet --version
9.0.101

❯ movableink/scratch/fsharplint-9.0 dotnet new classlib -lang "F#" -o src/Library
The template "Class Library" was created successfully.

Processing post-creation actions...
Restoring /Users/bhodge/code/movableink/scratch/fsharplint-9.0/src/Library/Library.fsproj:
Restore succeeded.



❯ movableink/scratch/fsharplint-9.0 dotnet fsharplint lint src/Library/Library.fsproj
Lint failed while analysing src/Library/Library.fsproj.
Failed with: Could not load file or assembly 'System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.

Stack trace:    at Ionide.ProjInfo.ProjectLoader.loadProject(String path, BinaryLogGeneration binaryLogs, FSharpList`1 globalProperties)
   at Ionide.ProjInfo.ProjectLoader.getProjectInfo(String path, FSharpList`1 globalProperties, BinaryLogGeneration binaryLogs, FSharpList`1 customProperties) in /_//src/Ionide.ProjInfo/Library.fs:line 842
   at <StartupCode$Ionide-ProjInfo>.$Library.loadProject@1176(WorkspaceLoader __, FSharpList`1 customProperties, BinaryLogGeneration binaryLogs, Dictionary`2 cache, String p) in /_//src/Ionide.ProjInfo/Library.fs:line 1177
   at <StartupCode$Ionide-ProjInfo>.$Library.loadProjectList@1213(WorkspaceLoader __, FSharpList`1 customProperties, BinaryLogGeneration binaryLogs, Dictionary`2 cache, FSharpList`1 projectList) in /_//src/Ionide.ProjInfo/Library.fs:line 1233
   at Ionide.ProjInfo.WorkspaceLoader.Ionide.ProjInfo.IWorkspaceLoader.LoadProjects(FSharpList`1 projects, FSharpList`1 customProperties, BinaryLogGeneration binaryLogs) in /_//src/Ionide.ProjInfo/Library.fs:line 1241
   at FSharpLint.Application.Lint.getProjectInfo(String projectFilePath, ToolsPath toolsPath) in /home/runner/work/FSharpLint/FSharpLint/src/FSharpLint.Core/Application/Lint.fs:line 302
   at FSharpLint.Application.Lint.lintProject$cont@397(OptionalLintParameters optionalParams, String projectFilePath, ToolsPath toolsPath, Unit unitVar) in /home/runner/work/FSharpLint/FSharpLint/src/FSharpLint.Core/Application/Lint.fs:line 441
   at FSharpLint.Application.Lint.lintProject(OptionalLintParameters optionalParams, String projectFilePath, ToolsPath toolsPath) in /home/runner/work/FSharpLint/FSharpLint/src/FSharpLint.Core/Application/Lint.fs:line 396
   at FSharpLint.Console.Program.start(ParseResults`1 arguments, ToolsPath toolsPath) in /home/runner/work/FSharpLint/FSharpLint/src/FSharpLint.Console/Program.fs:line 133

Expected behavior

Ability to successfully lint projects targeting latest .NET version.

Actual behavior

Not able to lint projects targeting latest .NET version.

Related information

❯ ~ dotnet --info
.NET SDK:
 Version:           9.0.101
 Commit:            eedb237549
 Workload version:  9.0.100-manifests.3068a692
 MSBuild version:   17.12.12+1cce77968

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  14.6
 OS Platform: Darwin
 RID:         osx-arm64
 Base Path:   /usr/local/share/dotnet/sdk/9.0.101/

.NET workloads installed:
There are no installed workloads to display.
Configured to use loose manifests when installing new manifests.

Host:
  Version:      9.0.0
  Architecture: arm64
  Commit:       9d5a6a9aa4

.NET SDKs installed:
  8.0.204 [/usr/local/share/dotnet/sdk]
  8.0.401 [/usr/local/share/dotnet/sdk]
  9.0.100 [/usr/local/share/dotnet/sdk]
  9.0.101 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 8.0.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.8 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 9.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 8.0.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.8 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 9.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant