diff --git a/src/Microsoft.VisualStudio.LanguageServices.Razor/DefaultTagHelperResolver.cs b/src/Microsoft.VisualStudio.LanguageServices.Razor/DefaultTagHelperResolver.cs index 5ae954eceb..a3ca64e064 100644 --- a/src/Microsoft.VisualStudio.LanguageServices.Razor/DefaultTagHelperResolver.cs +++ b/src/Microsoft.VisualStudio.LanguageServices.Razor/DefaultTagHelperResolver.cs @@ -10,6 +10,8 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Razor.Evolution; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Razor; +using Microsoft.VisualStudio.Shell; +using Microsoft.VisualStudio.Shell.Interop; namespace Microsoft.VisualStudio.LanguageServices.Razor { @@ -19,6 +21,9 @@ namespace Microsoft.VisualStudio.LanguageServices.Razor [Import] public VisualStudioWorkspace Workspace { get; set; } + [Import] + public SVsServiceProvider Services { get; set; } + public async Task GetTagHelpersAsync(Project project, IEnumerable assemblyNameFilters) { try @@ -46,6 +51,16 @@ namespace Microsoft.VisualStudio.LanguageServices.Razor } catch (Exception exception) { + var log = GetActivityLog(); + if (log != null) + { + var hr = log.LogEntry( + (uint)__ACTIVITYLOG_ENTRYTYPE.ALE_ERROR, + "Razor Language Services", + $"Error discovering TagHelpers:{Environment.NewLine}{exception}"); + ErrorHandler.ThrowOnFailure(hr); + } + throw new RazorLanguageServiceException( typeof(DefaultTagHelperResolver).FullName, nameof(GetTagHelpersAsync), @@ -90,5 +105,11 @@ namespace Microsoft.VisualStudio.LanguageServices.Razor } } } + + private IVsActivityLog GetActivityLog() + { + var services = (IServiceProvider)Services; + return services.GetService(typeof(SVsActivityLog)) as IVsActivityLog; + } } } diff --git a/src/Microsoft.VisualStudio.LanguageServices.Razor/Microsoft.VisualStudio.LanguageServices.Razor.csproj b/src/Microsoft.VisualStudio.LanguageServices.Razor/Microsoft.VisualStudio.LanguageServices.Razor.csproj index 4575d1bbda..c3114c43a3 100644 --- a/src/Microsoft.VisualStudio.LanguageServices.Razor/Microsoft.VisualStudio.LanguageServices.Razor.csproj +++ b/src/Microsoft.VisualStudio.LanguageServices.Razor/Microsoft.VisualStudio.LanguageServices.Razor.csproj @@ -22,6 +22,18 @@ + + + + + + + + + + + +