-
Notifications
You must be signed in to change notification settings - Fork 802
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing language service features for some projects in a solution if the project is up-to-date #3222
Comments
@0x53A I know you've said you can't make a public repro for this, but we'll really need one to make progress on it, unless we get lucky and find the bug by some other means (which is likely sooner or later) (Also is this using latest nightly? thx) |
Edit: This was a red-herring.
|
@0x53A Interesting, thanks. Can you share that repro? |
No, because when I remove all other projects, the error stops happening. The error still only happens in the large, 60 project solution. The solution contains WinForms projects, WPF projects, WIX projects, C++/CLI projects, it must be one of these. |
@0x53A Thanks. Nasty bug, we should protect the Visual F# IDE tools (and Roslyn) from whatever is happening |
Only F# is affected, C# does not have any issues. |
@cartermp We really need a standalone repro to make progress on this - if the bug is as described it could come from any of those project flavours |
Agreed. However, in the essence of narrowing the problem down... @0x53A Is this using VS 2017 Update 2, or Update 3? About when would you say this issue started happening? |
@cartermp VS 2017 Update 2. I have the latest nightly, but have also seen this issue with a colleague, who does not have the nightly. I'm not sure when it started, at first it was only an unimportant project, so I didn't bother. I can try to check old versions from source control, but there are many external references, and some of them are not checked-in, so it may not be trivial to build a version from half a year ago. |
Argh. Sorry to hear that. Maybe there's a way for someone at MS to look at your solution under an NDA or something? I honestly don't know how that process works if it exists. @Pilchie probably would know, though. |
The easiest way (for me :D) would be if you could look at it on my computer through TeamViewer or something like that. Sending it out may also be possible, but I would probably need to ask my bosses' boss. It's interesting that we seem to be the only ones hitting this issue, either no-one uses VS2017, or this is really one specific corner case. |
It feels quite specific. But I do think people often have an option to go back to VS2015 or switch to another editor these days. Which is good... |
Not if you want intellisense for C# / F# vLatest, and C#7 >>> C#6 :\
Rider works well. =) I will see how hard it is to get rid of the embedded resource, maybe that will "fix" the issue. |
We could either set up a OneDrive for Business link for you to upload to, or sure, we can try to get someone to remote into the machine. |
Maybe I can find out more tomorrow ... Edit: Or it is not related to that project, the same happens if I remove any other reference. I just need to cause a reload, then it works. |
So it doesn't seem to be related to anything specific:
So modifying the dll with dnSpy just updated the timestamp, which caused to project to NOT be up-to-date, and "fixed" the issue, but it is not related to the embedded resource. |
What this says to me is that the underlying problem is something like
or something like that. We can definitely fix this if we have a repro (a private ZIP would be enough) |
@dsyme Currently I don't have any spare time to continue with this. Rider works mostly, so I'm using that, and we only have a few F# projects anyway, atm most of my time is in C#. In a few days I will try again to a) reduce it, and b) send either the original, or the reduced solution to you. Just to clarify for your title edit, really nothing works, it's not just colorization that's missing. And it's also not time based, if a file got into this state when it was initially loaded, then you can keep it open for hours and colorization (and other features) never appears. The only fix is to force a reload, e.g. by adding/removing a reference. |
@davkean 15.5.3 has still the same issue. |
ping. most annoying issue ever! Complete deal breaker for me to use VS |
@cartermp @KevinRansom @davkean What's the story with this please? |
@KevinRansom Didn't you add a workaround for this for F#? |
Next thing on my list to look at, but yes I did. |
Okay running through these repros:
So ... Kevin |
Okay .... the project file is at fault. The F# targets are imported twice. To get it working I: deleted from the top of the project file.
Midway through the project file I then replaced this:
with
Project load looks like: Probably, the guidance to how to modify project files in order to successfully use the FSharp.Compiler.Tools nuget package should be updated. Kevin |
I propose that we start maintaining this package in this repo, similarly to how we maintain the FSharp.Core nuget package. And perhaps update the template, or add a template that creates a correctly specified project file. Kevin |
@KevinRansom I can reproduce the same bug with https://github.com/fsprojects/Paket/blob/master/src/Paket.Core/Paket.Core.fsproj - but that project file looks ok, right? |
And as described in #3222 (comment) only deletion of obj folder solves it (temporarily) |
@KevinRansom can you please check (with your modified project file):
Also, the choose block you quoted doesn't import anything, if I follow your instructions, I end up with <PropertyGroup>
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="..\..\packages\FSharp.Compiler.Tools\build\FSharp.Compiler.Tools.props" Condition="Exists('..\..\packages\FSharp.Compiler.Tools\build\FSharp.Compiler.Tools.props')" Label="Paket" />
<Import Project="$(FSharpTargetsPath)" />
<ItemGroup>
<Compile Include="AssemblyInfo.fs" />
<None Include="Script.fsx" />
<Content Include="paket.references" />
</ItemGroup> Is that correct? |
Hmm Bugger!!! the reload still seems to be an issue For the repro supplied the project file becomes: This allows msbuild to set the FSharp build targets to load to :
|
@0x53A This repro uses Tools 4.1.7. That doesn't have the fix. When I copied the latest fsharp compiler and targets to the package directory for the compiler it worked. I note that someone has published 10.0.1 as a nugget package. That set of tools should have the correct fix. Would you like to try with a more recent compiler? |
@0x53A what I mean is, try the project when using the 10.0.1 nuget package for F#. https://www.nuget.org/packages/FSharp.Compiler.Tools/ It has a targets file with the fix: |
Just to say that I remember seeing this bug with bin/obj folders. I'm pretty certain it was anything to do with FCT though since I recall it in much smaller projects that didn't use FCT. @forki also said in private DM that he thought it was nothing to do with FCT - it was happening all the time for him - and he stopped using VS on those projects as a result. But that's just all anecdotal. We need a repro. I haven't been doing these kind of projects in VS for a while though either. |
The reliable repro on this issue involves FCT, so it sounds like the issue is resolved as far as that is concerned. @forki's issues and what you have seen are likely orthagonal issues with |
I can still reproduce it with FCT 10.0.1. But there was one change, now VS crashes hard ;D Edit:
For completeness sake, I have uploaded the project (https://github.com/0x53A/FCT_Test), but I hope you can reproduce it with these few steps as well. Manually modifying the project file didn't change anything, @KevinRansom, did I do it correctly? Please see commit 0x53A/FCT_Test@7823e86 (the hard crash wasn't reproducible) |
I still see the isue in 15.6.3 - sigh |
@forki, quoting @KevinRansom :
|
Just saw it again with 15.7.4 on paket solution |
Steffen, you know better than to comment on old bugs. File a new bug with either clear repro steps or at least a snapshot of the project folder in the broken state. |
It's same repro as always. But sure I can open yet another issue later this
week.
David Kean <[email protected]> schrieb am Do., 21. Juni 2018, 11:09:
… Steffen, you know better than to comment on old bugs. File a new bug with
either clear repro steps or at least a snapshot of the project folder in
the broken state.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3222 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNCD9l5BZPLw_De29xFTCPsqBDiP5ks5t-2K9gaJpZM4N-pdy>
.
|
ref #3054 (comment)
In some projects nothing works at all (colors, completion, ...):

This occurs reliably in a large solution with ~60 projects, but is not reproducible when reduced.
The issue happens in multiple projects, the lowest project is one with 5 dependencies.
If I remove everything except these six projects from the solution, the error stops occurring, even though there should be no change from the view of these projects, so it is impossible for me to provide a reduced reproduction.
For me it looks like something completely unrelated in the solution fucks VS up.
This seems to be related to the up-to-date check:
maybe related: #3221
Note: Build always works fine, this is just tooling
The text was updated successfully, but these errors were encountered: