dotnet / fsharp

The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
https://dotnet.microsoft.com/languages/fsharp
MIT License
3.93k stars 786 forks source link

Broken build on VS 17.12.1 #18038

Open nbevans opened 1 hour ago

nbevans commented 1 hour ago

Please provide a succinct description of the issue.

net48 fsproj with websharper 4.x fails to build after VS 17.12.1 update

Provide the steps required to reproduce the problem:

We have a net48 project that is a <WebSharperProject>Library</WebSharperProject> near the top of the fsproj. This compiles to a WebSharper project which includes JS output.

If possible attach a zip file with the repro case. This often makes it easier for others to reproduce. The zip file should ideally represent the situation just before the call/step that is problematic.

Expected behavior

Build should succeed like previous VS version

Actual behavior

Build is failing with, mainly, FS0039 errors. It simply cannot see types in other referenced fsproj files which is very bizarre. Visual Studio's code editor itself is not indicating any problems (no red squiggles on the same code that MSBuild is taking issue with.)

Known workarounds

None known

Related information

Provide any related information (optional):

baronfel commented 1 hour ago

I know websharper does it's own odd secondary compilation - you'll need to get a binlog (-bl) before we can do any kind of real analysis here. Pretty much any issue with a project using websharper should probably go to them first for triage before being routed here.

nbevans commented 1 hour ago

I've attached a binlog (albeit with a .txt extension)

sg.binlog.txt

It appears that there have been some breaking changes in this latest VS release that have broken this 4.x version of WebSharper. I will check out their Issues board also.

nbevans commented 28 minutes ago

I can see the WsFsc.exe is being called correctly and all the arguments going into it (there are a lot) appear to be good. It certainly has all the -r to reference the expected projects in my solution.

A small utility WS project in the same solution builds fine (!) But this project doesn't reference any other projects in my solution. So the issue appears to be solely related to something with project references! How strange...