Releases: ionide/proj-info
v0.33.0
v0.33.0
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.Workspace
to gather info about projectsDotnet.ProjInfo.Workspace.FCS
to 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-args
to 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.TargetFramework
is 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
CoreCompile
target, 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.
Fsc
msbuild task from microsoft/visualfsharp repo- msbuild classes from mono/mono repo
The strategy for msbuild properties -> fsc args
can be customized
Additional:
dotnet-proj-info
supportnetcoreapp2.0
frameworkDotnet.ProjInfo
supportnetstandard2.0
framework- the
Fsc
task is not bundled withDotnet.ProjInfo
, so clients can pin another version if needed