ReSharper.EnhancedTooltip
ReSharper.EnhancedTooltip copied to clipboard
Installation errors (VS 2017 RTM/R# 2017.1 EAP 4)
Error resolving type Microsoft.VisualStudio.Text.ITextBuffer from assembly “Microsoft.VisualStudio.Text.Data, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Error resolving type Microsoft.VisualStudio.Editor.IVsEditorAdaptersFactoryService from assembly “Microsoft.VisualStudio.Editor, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Error resolving type Microsoft.VisualStudio.Text.Classification.IClassificationFormatMapService from assembly “Microsoft.VisualStudio.Text.UI.Wpf, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Error resolving type Microsoft.VisualStudio.Text.Classification.IEditorFormatMapService from assembly “Microsoft.VisualStudio.Text.UI.Wpf, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Error resolving type Microsoft.VisualStudio.Text.Classification.IClassificationFormatMap from assembly “Microsoft.VisualStudio.Text.UI.Wpf, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Error resolving type Microsoft.VisualStudio.Text.Classification.IClassificationFormatMap from assembly “Microsoft.VisualStudio.Text.UI.Wpf, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Error resolving type Microsoft.VisualStudio.Text.Classification.IClassificationFormatMapService from assembly “Microsoft.VisualStudio.Text.UI.Wpf, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Error resolving type Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService from assembly “Microsoft.VisualStudio.Text.Logic, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Error resolving type Microsoft.VisualStudio.Text.Classification.IClassificationFormatMapService from assembly “Microsoft.VisualStudio.Text.UI.Wpf, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Error resolving type Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService from assembly “Microsoft.VisualStudio.Text.Logic, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
Is the plugin running correctly even after these errors? I (obviously) don't have any problems on my machine.
@MrJul yes, it runs and works correctly.
@citizenmatt @derigel23 Sorry to summon you, but I'm a little lost here, those exact VS assemblies were already referenced in older versions of Enhanced Tooltip. I'm aware that the v11 assemblies (VS2012) may not exist, but VS has binding redirects for all of these and this has never been a reported problem before VS2017. Also note that R# itself references the v10 ones without issues.
- Are there some flags to set somewhere to make the installer happy? It's only an installer problem since the plugin runs fine afterwards.
- Should I reference the v10 assemblies instead? I can't easily test that this solves the issue at the moment (this probably needs a clean machine with only VS2017 to reproduce, which I'll set up later if needed).
@MrJul it's logged in youtrack. Please, follow there.
I had the same installation error as in the screenshot (R# 2017.1 EAP4, VS 2017). After restarting VS after the installation, there is an error message box saying something similar:
---------------------------
ReSharper – Runtime Error – Technical Data
---------------------------
JetBrains ReSharper has encountered a runtime error.
Technical data follows.
Hint: Ctrl+C copies the text of system message boxes to Clipboard.
________________________________________________________________
Error resolving type Microsoft.VisualStudio.Text.ITextBuffer from assembly “Microsoft.VisualStudio.Text.Data, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.
--- EXCEPTION #1/2 [TypeLoadException]
Message = “Error resolving type Microsoft.VisualStudio.Text.ITextBuffer from assembly “Microsoft.VisualStudio.Text.Data, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.”
ExceptionPath = Root.InnerException
ClassName = System.TypeLoadException
HResult = COR_E_TYPELOAD=80131522
TypeLoadResourceID = 0
--- Outer ---
--- EXCEPTION #2/2 [LoggerException]
Message = “Error resolving type Microsoft.VisualStudio.Text.ITextBuffer from assembly “Microsoft.VisualStudio.Text.Data, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”, request originating from assembly “GammaJul.ReSharper.EnhancedTooltip, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null”. Could not find a referenced assembly by the TT_ASSEMBLYREF token.”
ExceptionPath = Root
ClassName = JetBrains.Util.LoggerException
Data.ManagedThreadName = <NULL>
InnerException = “Exception #1 at Root.InnerException”
HResult = COR_E_APPLICATION=80131600
StackTraceString = “
at JetBrains.Util.OnError.<>c__DisplayClass13.<LogForeignException>b__12(Exception ex)
at JetBrains.Util.OnError.Handle(Exception ex)
at JetBrains.Application.Bindings.AssemblyBinderExtensions.<>c__DisplayClass8.<CreateMetadataLoader>b__5(UnresolvedTypeArgs args)
at JetBrains.DataFlow.Signal`1.NotifySinks(TValue payload)
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie)
at JetBrains.DataFlow.Signal`1.Fire(TValue value)
at JetBrains.Metadata.Reader.Impl.MetadataAssembly.GetTypeInfoFromToken(MetadataToken token)
at JetBrains.Metadata.Reader.Impl.MetadataAssembly.GetTypeFromToken(MetadataToken token, TypeDecodeContext context)
at JetBrains.Metadata.Reader.Impl.MetadataAssembly.GetTypeFromToken(MetadataToken token)
at JetBrains.Metadata.Reader.Impl.MetadataTypeBuilder.BuildClassType(MetadataToken typeDefOrRefOrSpecToken)
at JetBrains.Metadata.Reader.Impl.TypeBlobDecoder.DecodeTypeDefOrRef[T,TMethodSig](IBinaryReader reader, ITypeBuilder`2 typeBuilder)
at JetBrains.Metadata.Reader.Impl.TypeBlobDecoder.DecodeType[TType,TMethodSig](IBinaryReader reader, ITypeBuilder`2 typeBuilder)
at JetBrains.Metadata.Reader.Impl.MetadataAssembly.DecodeType(IBinaryReader reader, TypeDecodeContext context)
at JetBrains.Metadata.Reader.Impl.MetadataProperty.ReadSignature(IBlob signatureBlob)
at JetBrains.Metadata.Reader.Impl.MetadataProperty..ctor(MetadataToken token, IMetadataAssembly assembly)
at JetBrains.Metadata.Reader.Impl.MetadataTypeInfo.GetProperties()
at JetBrains.Application.Table.Emit.EmitCatalogTables.Types.IsPart(IMetadataTypeInfo typedecl)
at JetBrains.Application.Table.Emit.EmitCatalogTables.Assemblies.PreCreateAssemblyForCataloging(AssemblyNameInfo assnameAsRequested, EmitTimeTables tables, IAssemblyMasterBinder masterbinder, MetadataLoader metaloader)
at JetBrains.Application.Table.Emit.EmitCatalogTables.<>c__DisplayClass3.<CreateCatalogTablesWithMetadataReader>b__0(Lifetime lifetime)
at JetBrains.DataFlow.Lifetimes.Using(Action`1 λ)
at JetBrains.Application.Table.Emit.EmitCatalogTables.CreateCatalogTablesWithMetadataReader(IEnumerable`1 assemblies, IAssemblyMasterBinder masterbinder, ICollection`1 traitcalc, Stream output)
at JetBrains.Application.BuildScript.Application.Catalogs.PartCatalogs.CreateWithMetadataReaderRaw(Lifetime lifetime, IEnumerable`1 assemblies, IAssemblyMasterBinder masterbinder)
at JetBrains.Application.Environment.DeployedPackagesLoader.CreateAdHocCatalogForUncatalogedAssemblies(Lifetime lifeCreationProcess, ICollection`1 assembliesForAdHocCataloging, DeployedPackagesMasterBinderData binderlist, ICollection`1 catables)
at JetBrains.Application.Environment.DeployedPackagesLoader.Load(Lifetime lifetime, DeployedPackagesIdentity identity, Diagnostyx diag)
at JetBrains.Application.Environment.DeployedPackagesCache.LoadWithCaching(Lifetime lifetime, DeployedPackagesIdentity identity)
at JetBrains.Application.Environment.DeployedPackages.LoadWithCaching(Lifetime lifetime, DeployedPackagesIdentity identity)
at JetBrains.Application.Environment.HostParameters.CollectProductPackagesInDirectoryFlatHostMixin.JetBrains.Application.Environment.HostParameters.IHaveFullPartCatalogSetHostMixin.GetFullPartCatalogSet(Lifetime lifetime)
at JetBrains.Application.Environment.HostParameters.JetHostParametersCaller.GetFullPartCatalogSet(Lifetime lifetime)
at JetBrains.Application.Environment.JetEnvironment..ctor(Lifetime lifetime, JetHostParametersCaller host)
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass11.<InternalCreate>b__e()
at JetBrains.Threading.ReentrancyGuard.Execute(String name, Action action)
at JetBrains.Application.Environment.JetEnvironment.InternalCreate(LifetimeDefinition lifetimeDefinition, JetHostParametersCaller host, JetEnvironment& environment)
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass9.<CreateDontRun>b__7()
at JetBrains.DataFlow.Lifetime.AddBracket(Action FOpening, Action FClosing)
at JetBrains.Application.Environment.JetEnvironment.CreateDontRun(Lifetime lifetime, JetHostParameters hostparams)
at JetBrains.VsIntegration.Shell.Package.VsPackage.Init_CreateHostAndEnvironment(Lifetime lifetime, IServiceProvider site)
at JetBrains.VsIntegration.Shell.Package.VsPackage.<.ctor>b__6(Lifetime lifeHaveSite, IServiceProvider site)
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass39`1.<ForEachValue>b__38(Lifetime lf, TValue value, Object cookie)
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass3d`1.<>c__DisplayClass3f.<ForEachValue>b__3c(Lifetime lifetimeValue)
at JetBrains.DataFlow.SequentialLifetimes.<>c__DisplayClass6.<Next>b__5(LifetimeDefinition definition, Lifetime lifetime)
at JetBrains.DataFlow.Lifetimes.Define(Lifetime lifetime, String id, Action`2 FAtomic, ILogger logger)
at JetBrains.DataFlow.SequentialLifetimes.DefineNext(Action`2 FNext)
at JetBrains.DataFlow.SequentialLifetimes.Next(Action`1 FNext)
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass3d`1.<ForEachValue>b__3b(PropertyChangedEventArgs`1 args)
at JetBrains.DataFlow.Signal`1.NotifySinks(TValue payload)
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie)
at JetBrains.DataFlow.Property`1.FireChange(TValue old, TValue new, Object cookie)
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
at JetBrains.VsIntegration.Shell.Package.VsPackageSdkStub.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)
”
Actually there are several message boxes which follow each other after clicking [No]:
Happens with R# EAP 5. Didn't happen before.
Same issue here with EAP 5.
Same with EAP 6.
@MrJul Same with RTM :(
clear the temp folder ,will crash run time error.
Any schedule on the horizon when this extension will be functional again?
There isn't much I can do at this point unfortunately, sorry :( Please track the related ReSharper issue linked above.
People with this problem mostly have installation issues but the plugin works fine afterwards. Except for @dmitrykm's report, and I assume, yours.
Works with Resharper 2017.1.1. Still displays an error while installer but works !
Trying EnhancedTooltips with ReSharper 2017.2 RTM / VisualStudio 2017.3.2. Got installation errors similar to the ones reported here: https://gist.github.com/fragmer/3635600bcfbe61b7a02821282c1106f4
The extension did install, and it works some of the time. No crashes in use, but lots of missing tooltips.
Hello Has there been any progress on this bug? I tried installing the plugin and I got the same error Resharper 2017.2.2 and VS2017 15.4.1
Thanks,
same installion error, no runtime error and tooltips not working R# 2017.3 & VS 2017 15.5.2 & tooltips 3.4.0
same here. I got "5 errors" related to the ITextBuffer problem. I thought that issue was fixed in 2017.3
R# 2017.3 & VS 2017 15.5.2 & tooltips 3.4.0
Tried installing again into ReSharper 2017.3.1 / VS 2017 15.5.2 — still getting some errors, and extension still does not work after install.
This plugin is pretty much broken on all versions of R# 2017. What's even weirder is the fact that it works for 30% of users. It runs on my laptop, but broken on my desktop. both running same OS, same VS version and same R# version. I am in touch with one of the R# engineers and he told me they are actively looking into this issue. Not sure how much the Author is involved , but I suggested to the R# team to integrate this into the baseline build of R# since this plugin is very popular.
Is this issue being looked into? Having the same problem as everyone else: ReSharper 2017.3.1 / VS 2017 15.5.3, errors after installation, extension not working .
Is there a workaround/fix for this problem?
It works on VS 2017 if I also have VS 2015 installed. If only VS 2017 is installed on the machine the extension doesn't work.
@lethalshadow exactly! and that's because VS2015 installs the ITextBuffer dll in the GAC. However, in 2017 Microsoft changed that. So unless you install 2015 or you had 2015 previously installed, this plugin won't work. Resharper knows about this issue but unfortunately it's not hot enough for them to push a fix.
@rob8861 can you install the ITextBuffer.dll without installing VS2015?
Following the lead from @rob8861, I fixed this by copying the Microsoft.VisualStudio.Text.Data.dll from a PC with an existing instance of visual studio 2015 and registered it in the GAC. The biggest obstacle for some may be obtaining an old version of this file. If you don't have a copy of the vs2015 install lying around, you may still be able to download it from Microsoft and install it temporarily to extract the dll.
per microsoft: Global Assembly Cache
Starting with the .NET Framework 4, the default location for the Global Assembly Cache is %windir%\Microsoft.NET\assembly
you should be able to find Microsoft.VisualStudio.Text.Data.dll under:
%windir%\Microsoft.NET\assemblyGAC_MSIL\Microsoft.VisualStudio.Text.Data\v4.0_14.0.0.0__b03f5f7f11d50a3a
After locating this file I copied it to my new pc and registered it in the GAC by:
- Closing Visual studio 2017.
- Running the Visual Studio 2017 Developer Prompt as administrator.
- Entering the command:
gacutil /i c:\temp\Microsoft.VisualStudio.Text.Data.dll
It appears that you don't have to uninstall Resharper or even the Enhanced tool tip extension. I followed the above steps, opened a project in visual studio and immediately I could see the extension was working.
For more information on the gacutil see: docs.microsoft.com - Gacutil
hope this helps.
@n0dal93 Thank you for sharing the workaround. I did some more research and I found out that since VS2017, Microsoft nugetized the library (they seem to be doing that a lot nowadays) and you can now get it via Nuget. However, this plugin somehow is looking for this Interface which defines some UTF-16 encoding and since the DLL itself is no longer in the GAC, the installation errors out.
@MrJul do you think you can somehow add this nuget package as a dependency to this plugin so when it is installed, the Microsoft.VisualStudio.Text.Data.dll is installed with it? (https://www.nuget.org/packages/Microsoft.VisualStudio.Text.Data/)
I honestly lost any faith in the Resharper team proving a suitable fix so I think your workaround might be the best option we have at the moment.
Good job buddy and thanks again for sharing.
@rob8861- Im glad I could help. Also, Excellent work tracking down the nuget package! Extracting the dll from a package will alleviate the hassle of pulling the dll off of another client. Ill give it a go tomorrow. Thanks again!
You don't really need to copy the Microsoft.VisualStudio.Text.Data
from an older VS version.
As described in RSRP-463582, ReSharper only looks into the PublicAssemblies
and PrivateAssemblies
folders (in the Visual Studio install directory) when searching for dependencies (edit: it also searches the GAC). However, Microsoft.VisualStudio.Text.Data
is located in CommonExtensions\Microsoft\Editor
so ReSharper doesn't find it. Note that Visual Studio itself has no problem loading it: it's only ReSharper checking in advance that all assemblies will be resolved, with a different algorithm from VS, that causes problems.
A simpler workaround might be to copy or symlink/hardlink CommonExtensions\Microsoft\Editor\Microsoft.VisualStudio.Text.Data.dll
to PrivateAssemblies\Microsoft.VisualStudio.Text.Data.dll
. No need for an older version of VS or extracting NuGet packages.
I can't add it at as a dependency since we want to really use the assembly from the current Visual Studio's version.
@MrJul, thank you for responding and providing further insight. Your suggestion to use a symlink is much simpler.
Great plugin by the way! Its the only extension I find essential. Thank you for supporting the community and especially this plugin for all these years. :)
Creating a symbolic link to the Microsoft.VisualStudio.Text.Data apparently was not enough. After doing so, I still got the errors. It turned out, this time resharper was trying to resolve Microsoft.VisualStudio.Text.Editor so I added a symbolic link to that as well. After that resharper wanted Microsoft.VisualStudio.Text.UI etc etc...
you get the idea. Basically Resharper will continue requesting more and more DLLs which have been moved from the GAC to CommonExtensions\Microsoft\Editor
Since the error is harmless, I am just going to ignore it until resharper decide to fix this issue.
@MrJul thanks for making this extension and thanks for the workaround, it works perfectly now!