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

update to net6 #133

Merged
merged 3 commits into from
Mar 19, 2022
Merged

update to net6 #133

merged 3 commits into from
Mar 19, 2022

Conversation

dsyme
Copy link
Contributor

@dsyme dsyme commented Mar 19, 2022

  • Updates to net6
  • Used fake-cli latest
  • Used Paket latest and ran dotnet paket update because of error "invalid parameter 'net60' after >= or < in '== net50'"
  • Updates to MSBuild 17.1
  • Updates to FSharp.Compiler.Service latest
  • Applied framework: net6.0 in Build section of paket.dependencies because of error "Error FS0039: The namespace or module 'Fake' is not defined" see Error FS0039: The namespace or module 'Fake' is not defined. fsprojects/FAKE#2619

@Krzysztof-Cieslak @baronfel What are your thoughts on continued use of FAKE for repos like this?

@dsyme
Copy link
Contributor Author

dsyme commented Mar 19, 2022

@baronfel Should we be updating the whole FsAutoComplete/Ionide stack to net6?

Separately I noticed the solution for this project can't be opened in Visual Studio. This is because the build tasks in https://github.com/ionide/KeepAChangelog depend on FSharp.Core and that doesn't get found by .NET Framework MSBuild, e.g. error log below

It's probably better just not to write the build tasks in F# tbh - or at least I think they need to be bundled with the exact version of FSharp.Core that they need. Strangely the load below is trying to load version 4.4.3.0 while the build task is bundled with 6.0.0.0

> msbuild ionide-proj-info.sln


"C:\GitHub\dsyme\proj-info\ionide-proj-info.sln" (default target) (1) ->
"C:\GitHub\dsyme\proj-info\src\Ionide.ProjInfo.Tool\Ionide.ProjInfo.Tool.fsproj" (default target) (7) ->
"C:\GitHub\dsyme\proj-info\src\Ionide.ProjInfo.Tool\Ionide.ProjInfo.Tool.fsproj" (Build target) (7:2) ->
  C:\Users\donsy\.nuget\packages\ionide.keepachangelog.tasks\0.1.2\build\Ionide.KeepAChangelog.Tasks.targets(14,9): err
or MSB4018: The "Ionide.KeepAChangelog.Tasks.ParseChangeLogs" task failed unexpectedly. [C:\GitHub\dsyme\proj-info\src\
Ionide.ProjInfo.Tool\Ionide.ProjInfo.Tool.fsproj]
C:\Users\donsy\.nuget\packages\ionide.keepachangelog.tasks\0.1.2\build\Ionide.KeepAChangelog.Tasks.targets(14,9): error
 MSB4018: System.IO.FileNotFoundException: Could not load file or assembly 'FSharp.Core, Version=4.4.3.0, Culture=neutr
al, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. [C:\GitHub\
dsyme\proj-info\src\Ionide.ProjInfo.Tool\Ionide.ProjInfo.Tool.fsproj]
C:\Users\donsy\.nuget\packages\ionide.keepachangelog.tasks\0.1.2\build\Ionide.KeepAChangelog.Tasks.targets(14,9): error
 MSB4018: File name: 'FSharp.Core, Version=4.4.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' [C:\GitHub\dsyme\
proj-info\src\Ionide.ProjInfo.Tool\Ionide.ProjInfo.Tool.fsproj]
C:\Users\donsy\.nuget\packages\ionide.keepachangelog.tasks\0.1.2\build\Ionide.KeepAChangelog.Tasks.targets(14,9): error

@baronfel
Copy link
Collaborator

The big thing we need FAKE for at this point is doing text-replacement on the FsLibLog dependency. There are two paths to removing this need:

  • implement contentFiles text-templating support in Paket to align with nuget specs here, then ship FsLibLog as a nuget package instead of a raw file reference in Paket (issue already exists, just needs implemented)
  • do the packaging described above anyway, and move off of Paket (we're not a big fan of this step)
  • create/find a msbuild task/target to do the replacement in a more regular way as part of the build pipeline

In other repos we've moved to using the FAKE libraries in a build.fsproj, so we'd likely do that here for ease of use/consistency.

Other than that, we're good to go to net.60 - net5.0 is EOL in May so we're only slightly ahead of the curve here.

@baronfel baronfel merged commit 5af82ac into ionide:main Mar 19, 2022
knocte added a commit to knocte/proj-info that referenced this pull request Mar 22, 2022
knocte added a commit to knocte/proj-info that referenced this pull request Mar 22, 2022
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

Successfully merging this pull request may close these issues.

2 participants