Releases: ionide/proj-info
v0.32.1
v0.32.1
v0.32.0
Upgrade to FSharp.Compiler.Service v27
v0.31.0
Dotnet.ProjInfo
remove usage of Choice in net461 target framework, use Result instead.
Align with the same api targeting netstandard2.0
v0.30.0
add new libraries to manage the project:
Dotnet.ProjInfo.Workspaceto gather info about projectsDotnet.ProjInfo.Workspace.FCSto integrate withFSharp.Compiler.Service
v0.20.0 - `dotnet-proj` as .NET Tool
New dotnet-proj .NET Tool
Install globally and use it like
dotnet tool install dotnet-proj -g
dotnet proj --help
Same functionalities of dotnet-proj-info but all features can be invoked as different cli subcommands
To install it per repo, use -tool-path arg of dotnet tool install
ref https://github.com/enricosada/dotnet-proj-info/pull/28
Deprecated the dotnet-proj-info .NET Cli Tool
Use the dotnet-proj .NET tool instead.
Dotnet.ProjInfo
Changed the hook (ref https://github.com/enricosada/dotnet-proj-info/pull/29)
Before a temporary msbuild target file was created in obj dir, but that caused issues with incremental build check.
Now the msbuild property CustomAfterMicrosoftCommonTargets is used to import the msbuild target file used as hook
v0.12.2 - get C# compiler args
- #23 add
--csc-argsto get C# compiler args
v0.11.0
v0.9.0 - info about .net framework
get info about .net framework (reference path, installed versions)
find .net framework reference path
cli arg --net-fw-references-path, used as --net-fw-references-path System System.Data
This support also -f (--framework) argument, like -f v4.7.
Note that the value is the target framework version (TargetFrameworkVersion msbuild prop)
this command doesnt need a project to be used
find installed .net framework versions
cli arg --installed-net-frameworks
list of the installed .NET Frameworks versions
this command doesnt need a project to be used
Additional
- fix
--project-reference, now show the project refs paths - minor breaking change,
ResolvedP2PRefsInfo.TargetFrameworkis nowstring option(wasstring), because old sdk project doesnt use that
v0.8.0 - support old fsproj
add more cli options:
--msbuild => path to msbuild
--dotnetcli => path to dotnet, used for "dotnet msbuild"
--msbuild-host => what msbuild host to run, to force specific or auto (oldsdk/dotnetsdk). By default for oldsdk is msbuild and dotnetsdk is dotnet
Old fsproj parser
Use msbuild from command line to ask msbuild info about the project (not using msbuild as library)
How works:
- override the
CoreCompiletarget, to gather info about the project properties (OutputType, etc) - convert the msbuild properties to fsc args, using the Fsc task code
To override the CoreCompile target, the CustomAfterMicrosoftCommonTargets property is used as hook to import the generate .target file after F# targets are imported (msbuild override targets with same name, based on import sequence)
To convert msbuild properties to fsc compiler args, use the same Fsc msbuild task class code.
Fscmsbuild task from microsoft/visualfsharp repo- msbuild classes from mono/mono repo
The strategy for msbuild properties -> fsc args can be customized
Additional:
dotnet-proj-infosupportnetcoreapp2.0frameworkDotnet.ProjInfosupportnetstandard2.0framework- the
Fsctask is not bundled withDotnet.ProjInfo, so clients can pin another version if needed