Ionide.ProjInfo
0.68.0
dotnet add package Ionide.ProjInfo --version 0.68.0
NuGet\Install-Package Ionide.ProjInfo -Version 0.68.0
<PackageReference Include="Ionide.ProjInfo" Version="0.68.0" />
paket add Ionide.ProjInfo --version 0.68.0
#r "nuget: Ionide.ProjInfo, 0.68.0"
// Install Ionide.ProjInfo as a Cake Addin #addin nuget:?package=Ionide.ProjInfo&version=0.68.0 // Install Ionide.ProjInfo as a Cake Tool #tool nuget:?package=Ionide.ProjInfo&version=0.68.0
Ionide.Proj-Info
This project loads some MSBuild specific assemblies at runtime so that you can use an existing MSBuild installation instead of (incorrectly) bundling it yourself. Somewhat similar to how MSBuildLocator loads the correct assemblies.
Because of this you need to add a direct dependency on Microsoft.Build.Framework
and NuGet.Frameworks
but keep excluded them at runtime.
<PackageReference Include="Microsoft.Build.Framework" Version="17.2.0" ExcludeAssets="runtime" PrivateAssets="all" />
<PackageReference Include="NuGet.Frameworks" Version="6.2.1" ExcludeAssets="runtime" PrivateAssets="all" />
<PackageReference Include="Ionide.ProjInfo" Version="some_version" />
Next, you first need to initialize the MsBuild integration.
open Ionide.ProjInfo
let projectDirectory: DirectoryInfo = yourProjectOrSolutionFolder
let toolsPath = Init.init projectDirectory None
With the toolsPath
you can create a loader
let defaultLoader: IWorkspaceLoader = WorkspaceLoader.Create(toolsPath, [])
// or
let graphLoader: IWorkspaceLoader = WorkspaceLoaderViaProjectGraph.Create(toolsPath, [])
Using the IWorkspaceLoader
you can load projects or solutions.
Events are being emitted while projects/solutions are loaded.
You typically want to subscribe to this before you load anything.
let subscription: System.IDisposable = defaultLoader.Notifications.Subscribe(fun msg -> printfn "%A" msg)
let projectOptions = loader.LoadProjects([ yourFsProjPath ]) |> Seq.toArray
From here consider using Ionide.ProjInfo.FCS to map the projectOptions
to F# Compiler ProjectOptions
, or use the projectOptions
directly to get information about the project.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
-
net8.0
- FSharp.Core (>= 6.0.0)
- Ionide.ProjInfo.Sln (>= 0.68.0)
- SemanticVersioning (>= 2.0.2)
-
net9.0
- FSharp.Core (>= 6.0.0)
- Ionide.ProjInfo.Sln (>= 0.68.0)
- SemanticVersioning (>= 2.0.2)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Ionide.ProjInfo:
Package | Downloads |
---|---|
FSharpLint.Core
API to programmatically run FSharpLint. |
|
Ionide.ProjInfo.FCS
MSBuild evaluation, fsproj file loading, and project system for F# tooling |
|
mFSharpLint.Core
API to programmatically run FSharpLint. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.68.0 | 253 | 11/19/2024 |
0.67.0 | 696 | 10/2/2024 |
0.66.1 | 146 | 9/2/2024 |
0.66.0 | 1,303 | 8/17/2024 |
0.65.0 | 2,812 | 5/15/2024 |
0.64.0 | 2,192 | 4/21/2024 |
0.63.0 | 10,010 | 2/6/2024 |
0.62.0 | 7,079 | 8/21/2023 |
0.62.0-nightly001 | 289 | 6/27/2023 |
0.61.3 | 10,701 | 4/1/2023 |
0.61.2 | 2,571 | 2/20/2023 |
0.61.1 | 565 | 12/9/2022 |
0.61.0 | 16,282 | 11/7/2022 |
0.60.3 | 819 | 10/20/2022 |
0.60.2 | 1,120 | 10/3/2022 |
0.60.1 | 854 | 9/10/2022 |
0.60.0 | 1,722 | 8/21/2022 |
0.59.2 | 1,913 | 8/5/2022 |
0.59.1 | 3,053 | 4/17/2022 |
0.59.0 | 779 | 4/16/2022 |
0.58.2 | 1,021 | 4/4/2022 |
0.58.1 | 805 | 4/3/2022 |
0.58.0 | 3,815 | 4/3/2022 |
0.57.2 | 870 | 3/20/2022 |
0.57.1 | 427 | 3/20/2022 |
0.57.0 | 436 | 3/20/2022 |
0.55.4 | 4,142 | 11/19/2021 |
0.55.3 | 961 | 11/19/2021 |
0.55.1 | 572 | 11/16/2021 |
0.55.0 | 798 | 11/5/2021 |
0.54.2 | 760 | 11/2/2021 |
0.54.1 | 715 | 10/17/2021 |
0.54.0 | 602 | 8/12/2021 |
0.53.1 | 20,232 | 6/23/2021 |
0.53.0 | 846 | 6/22/2021 |
0.52.0 | 2,129 | 4/16/2021 |
0.51.0 | 2,056 | 3/16/2021 |
0.50.0 | 701 | 3/13/2021 |
0.49.0 | 833 | 3/3/2021 |
0.48.0 | 734 | 2/11/2021 |
0.46.0 | 1,143 | 1/11/2021 |
0.45.2 | 1,129 | 12/22/2020 |
0.45.1 | 668 | 12/22/2020 |
0.45.0 | 896 | 12/19/2020 |
### Added
* * [Support for F# 9 and .NET 9](https://github.com/ionide/proj-info/pull/219)
### Removed
* * [Support for .NET 6 and 7 targets](https://github.com/ionide/proj-info/pull/219)