Skip to content
This repository has been archived by the owner on Jan 8, 2019. It is now read-only.

dotnet location when fsproj is called from msbuild .net full #87

Closed
enricosada opened this issue Mar 1, 2017 · 1 comment
Closed

dotnet location when fsproj is called from msbuild .net full #87

enricosada opened this issue Mar 1, 2017 · 1 comment

Comments

@enricosada
Copy link
Contributor

fsproj need to call netcoreapp fsc, and is doing that with /path/to/dotnet.exe /path/to/fsc

Atm doesnt exists a property from msbuild/sdk who give dotnet path, ref #75 (comment)

When called from .NET Core sdk (dotnet msbuild) or mono (after #75) the path of dotnet location is relative to $(MSBuildSDKsPath) because works ok for mono/netcore.

But is not enough for msbuild (.net full) installed by VS, and sdk path is %PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\

Proposed solution is just dotnet, resolved from PATH (only for win/netfull atm based on $(MSBuildRuntimeType) ) so will use global.json if the installed dotnet is the one in PATH.

That's because i cannot find a relative path who can work.

Maybe make mandatory this solution for everyone (mono/netcoresdk) can be ok too. less corner cases.

But will make dotnet resolution fragile, so running my/binaries/but/not/in/PATH/dotnet.exe fsproj may use a wrong dotnet (ref bug #65). so tradeoff

Any ideas for VS? just use global.json and PATH? @eerhardt @rainersigwald @jeffkl @nguerrera @dsplaisted @piotrpMSFT

/cc @KevinRansom @cartermp @vasily-kirichenko

@enricosada
Copy link
Contributor Author

fixed by #100

Now when msbuild host is .NET Full, the fsc.exe (in tools) is run.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant