diff --git a/tooling/Microsoft.VisualStudio.RazorExtension/Microsoft.VisualStudio.RazorExtension.csproj b/tooling/Microsoft.VisualStudio.RazorExtension/Microsoft.VisualStudio.RazorExtension.csproj
index 25b39ca0c7..817362ce9d 100644
--- a/tooling/Microsoft.VisualStudio.RazorExtension/Microsoft.VisualStudio.RazorExtension.csproj
+++ b/tooling/Microsoft.VisualStudio.RazorExtension/Microsoft.VisualStudio.RazorExtension.csproj
@@ -343,6 +343,14 @@
+
+ Microsoft.CodeAnalysis.Razor
+ False
+
+
+
+
+
{0f265874-c592-448b-bc4f-3430ab03e0dc}
Microsoft.CodeAnalysis.Razor.Workspaces
@@ -375,6 +383,7 @@
+
diff --git a/tooling/Microsoft.VisualStudio.RazorExtension/Properties/BindingRedirectAttributes.cs b/tooling/Microsoft.VisualStudio.RazorExtension/Properties/BindingRedirectAttributes.cs
index edafee39b8..17eabc574f 100644
--- a/tooling/Microsoft.VisualStudio.RazorExtension/Properties/BindingRedirectAttributes.cs
+++ b/tooling/Microsoft.VisualStudio.RazorExtension/Properties/BindingRedirectAttributes.cs
@@ -11,6 +11,14 @@ using Microsoft.VisualStudio.Shell;
OldVersionUpperBound = "1.2.0.0",
NewVersion = "1.2.0.0")]
+[assembly: ProvideBindingRedirection(
+ AssemblyName = "Microsoft.CodeAnalysis.Razor",
+ GenerateCodeBase = true,
+ PublicKeyToken = "adb9793829ddae60",
+ OldVersionLowerBound = "0.0.0.0",
+ OldVersionUpperBound = "1.2.0.0",
+ NewVersion = "1.2.0.0")]
+
[assembly: ProvideBindingRedirection(
AssemblyName = "Microsoft.CodeAnalysis.Razor.Workspaces",
GenerateCodeBase = true,
diff --git a/tooling/Microsoft.VisualStudio.RazorExtension/RazorInfo/RazorInfoToolWindow.cs b/tooling/Microsoft.VisualStudio.RazorExtension/RazorInfo/RazorInfoToolWindow.cs
index f8aa260d51..dfd80d016e 100644
--- a/tooling/Microsoft.VisualStudio.RazorExtension/RazorInfo/RazorInfoToolWindow.cs
+++ b/tooling/Microsoft.VisualStudio.RazorExtension/RazorInfo/RazorInfoToolWindow.cs
@@ -3,11 +3,12 @@
using System;
using System.Runtime.InteropServices;
-using Microsoft.VisualStudio.Shell;
+using Microsoft.CodeAnalysis;
using Microsoft.VisualStudio.ComponentModelHost;
using Microsoft.VisualStudio.LanguageServices;
using Microsoft.VisualStudio.LanguageServices.Razor;
-using Microsoft.CodeAnalysis;
+using Microsoft.VisualStudio.Shell;
+using Microsoft.VisualStudio.Shell.Interop;
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
{
@@ -39,6 +40,8 @@ namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
_workspace = componentModel.GetService();
_workspace.WorkspaceChanged += Workspace_WorkspaceChanged;
+
+ Reset(_workspace.CurrentSolution);
}
protected override void Dispose(bool disposing)
@@ -59,7 +62,7 @@ namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
return;
}
- var viewModel = new RazorInfoViewModel(this, _workspace, _assemblyResolver, _directiveResolver, _tagHelperResolver, _documentGenerator);
+ var viewModel = new RazorInfoViewModel(this, _workspace, _assemblyResolver, _directiveResolver, _tagHelperResolver, _documentGenerator, OnException);
foreach (var project in solution.Projects)
{
viewModel.Projects.Add(new ProjectViewModel(project));
@@ -68,6 +71,17 @@ namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
((RazorInfoToolWindowControl)this.Content).DataContext = viewModel;
}
+ private void OnException(Exception ex)
+ {
+ VsShellUtilities.ShowMessageBox(
+ this,
+ ex.ToString(),
+ "Razor Error",
+ OLEMSGICON.OLEMSGICON_CRITICAL,
+ OLEMSGBUTTON.OLEMSGBUTTON_OK,
+ OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
+ }
+
private void Workspace_WorkspaceChanged(object sender, WorkspaceChangeEventArgs e)
{
switch (e.Kind)
diff --git a/tooling/Microsoft.VisualStudio.RazorExtension/RazorInfo/RazorInfoViewModel.cs b/tooling/Microsoft.VisualStudio.RazorExtension/RazorInfo/RazorInfoViewModel.cs
index 93ea7c5b6c..f9052c6d75 100644
--- a/tooling/Microsoft.VisualStudio.RazorExtension/RazorInfo/RazorInfoViewModel.cs
+++ b/tooling/Microsoft.VisualStudio.RazorExtension/RazorInfo/RazorInfoViewModel.cs
@@ -25,6 +25,7 @@ namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
private readonly ITagHelperResolver _tagHelperResolver;
private readonly IServiceProvider _services;
private readonly Workspace _workspace;
+ private readonly Action _errorHandler;
private DocumentViewModel _currentDocument;
private DocumentInfoViewModel _currentDocumentInfo;
@@ -40,7 +41,8 @@ namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
IRazorEngineAssemblyResolver assemblyResolver,
IRazorEngineDirectiveResolver directiveResolver,
ITagHelperResolver tagHelperResolver,
- IRazorEngineDocumentGenerator documentGenerator)
+ IRazorEngineDocumentGenerator documentGenerator,
+ Action errorHandler)
{
_services = services;
_workspace = workspace;
@@ -48,6 +50,7 @@ namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
_directiveResolver = directiveResolver;
_tagHelperResolver = tagHelperResolver;
_documentGenerator = documentGenerator;
+ _errorHandler = errorHandler;
GenerateCommand = new RelayCommand