microsoft/RTVS

Opening project/solution breaks RTVS menus/keyboard shortcuts

hongooi73 opened this issue · 11 comments

After upgrading to VS 15.7.4 (released last week), opening an R project or solution will break all the RTVS menu items. Keyboard shortcuts for switching to R windows (REPL, packages, workspaces, help, etc) will also fail.

Using any of this brings up the following error dialog:

image

Installed internal build of 15.7.4, appears to work OK. Can you check if assembly is present in
C:\Program Files (x86)\Microsoft Visual Studio[NAME]\Enterprise\Common7\IDE\Extensions\Microsoft\R Tools for Visual Studio ? RTVS installs .ver 1:1:0:0. Perhaps uninstall/reinstall RTVS?

Found it, but it's a later version (!):

image

This is 1.1. My suspicion is that some old assembly that referenced 1.0 got stuck.

I tried uninstalling and reinstalling just RTVS and it didn't work.

Wiping all my VS installs and reinstalling didn't work either. Now I have to redo my window layouts....

I went back to the stable version of VS (15.6), which didn't have this bug. Today it was updated to 15.7, and the problem is still there. Any chance that this can get fixed soon? It's very annoying.

I downloaded the 1.0.1 version via nuget, compiled it, and added it to the global assembly cache with gacutil. Now I get the following error:

image

Can you remove 1.0.1 from GAC, enable fusion log and start VS so we can figure out what calls for 1.0.1?
https://stackoverflow.com/questions/255669/how-to-enable-assembly-bind-failure-logging-fusion-in-net

Logs sent, along with the dll itself. While I don't know anything about Fusion, I did see the following in /NativeImage/Microsoft.R.Host.Broker.Windows.exe/Microsoft.Extensions.FileSystemGlobbing:

*** Assembly Binder Log Entry  (08-May-18 @ 8:49:15 AM) ***

The operation was successful.
Bind result: hr = 0x1. Incorrect function.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable  C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\Extensions\Microsoft\R Tools for Visual Studio\Microsoft.R.Host.Broker.Windows.exe
--- A detailed error log follows. 

BEGIN : Native image bind.
END   : Incorrect function. (Exception from HRESULT: 0x00000001 (S_FALSE))

*** Assembly Binder Log Entry  (08-May-18 @ 8:49:15 AM) ***

The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable  C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\Extensions\Microsoft\R Tools for Visual Studio\Microsoft.R.Host.Broker.Windows.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: DisplayName = Microsoft.Extensions.FileSystemGlobbing, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/Microsoft Visual Studio/Preview/Enterprise/Common7/IDE/Extensions/Microsoft/R Tools for Visual Studio/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = Microsoft.R.Host.Broker.Windows.exe
Calling assembly : Microsoft.Extensions.FileProviders.Physical, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60.
===
WRN: No matching native image found.
LOG: IL assembly loaded from C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\Extensions\Microsoft\R Tools for Visual Studio\Microsoft.Extensions.FileSystemGlobbing.dll.

*** Assembly Binder Log Entry  (08-May-18 @ 8:49:15 AM) ***

The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable  C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\Extensions\Microsoft\R Tools for Visual Studio\Microsoft.R.Host.Broker.Windows.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: DisplayName = Microsoft.Extensions.FileSystemGlobbing, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/Microsoft Visual Studio/Preview/Enterprise/Common7/IDE/Extensions/Microsoft/R Tools for Visual Studio/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = Microsoft.R.Host.Broker.Windows.exe
Calling assembly : Microsoft.Extensions.FileProviders.Physical, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60.
===
WRN: No matching native image found.
LOG: IL assembly loaded from C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\Extensions\Microsoft\R Tools for Visual Studio\Microsoft.Extensions.FileSystemGlobbing.dll.

So it seems to be looking for version 1.1 and complaining that it's not there. But the dll is definitely version 1.1, and there's no traces of this assembly in GAC.

Just letting all know we found the problem and we will try and get the fix into the nearest VS update.

Closing, expected in 15.7.3 and 15.8.3

15.7.3 is live