Skip to content

Conversation

@sharwell
Copy link
Contributor

The in-IDE restore operation does not produce bitwise identical results to the command line Restore.cmd script, which results in unavoidable performance degradations during daily developer scenarios such as branch switches and merges. This change disables the IDE restore operation, so all experiences rely on the Restore.cmd script for uniform behavior.

Unblocks #44034
See dotnet/arcade#5172

@jasonmalinowski
Copy link
Member

@sharwell The bug you're tagging in dotnet/arcade is already closed -- does that mean the underlying bug is fixed? If so, can we consume that fix? If not, do we have a bug on the appropriate team to investigate?

@sharwell
Copy link
Contributor Author

sharwell commented May 26, 2020

@jasonmalinowski We don't use that version of arcade. Even if we did, arcade continues to deviate further from what Visual Studio does so today it still would not fix all cases. It appears that dotnet/arcade is generally incompatible with NuGet restore inside Visual Studio.

@jasonmalinowski
Copy link
Member

We don't use that version of arcade.

Why not?

It appears that dotnet/arcade is generally incompatible with NuGet restore inside Visual Studio.

Let's get the bugs filed then; we shouldn't be having to disable this long term.

@sharwell
Copy link
Contributor Author

Why not?

@tmat?

Let's get the bugs filed then ...

Filed dotnet/arcade#5550

@tmat
Copy link
Member

tmat commented May 26, 2020

Why not?

Do you meant that Roslyn is on 1.x reversion vs 5.x which is Arcade master? If so, any fix i Arcade master can (should) be ported to Arcade release/3.x branch (1.x version).

@sharwell
Copy link
Contributor Author

sharwell commented Jun 9, 2020

Ping @tmat for review

Copy link
Member

@tmat tmat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to be clear this is a workaround and have a plan how to remove it.

The in-IDE restore operation does not produce bitwise identical results
to the command line Restore.cmd script, which results in unavoidable
performance degradations during daily developer scenarios such as branch
switches and merges. This change disables the IDE restore operation, so
all experiences rely on the Restore.cmd script for uniform behavior.
@sharwell sharwell requested a review from tmat June 9, 2020 15:36
@sharwell
Copy link
Contributor Author

@tmat I believe I can work around this issue by disabling NuGet as a local IDE setting. We only need to merge this if one of the following two things occurs:

  1. We want to merge always restore project in build #44034
  2. Other people are complaining about IDE stability when restore is enabled

@sharwell sharwell marked this pull request as draft June 10, 2020 15:31
@RikkiGibson
Copy link
Member

Could you please share where to find the IDE setting that disables implicit NuGet restore?

@sharwell sharwell closed this Aug 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants