Code dump of Razor extension
This commit is contained in:
parent
3351192dc5
commit
cbc8d12a0c
19
Razor.sln
19
Razor.sln
|
|
@ -26,14 +26,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Runtime.Test", "test\Microsoft.AspNetCore.Razor.Runtime.Test\Microsoft.AspNetCore.Razor.Runtime.Test.csproj", "{277AB67E-9C8D-4799-A18C-C628E70A8664}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Runtime.Test", "test\Microsoft.AspNetCore.Razor.Runtime.Test\Microsoft.AspNetCore.Razor.Runtime.Test.csproj", "{277AB67E-9C8D-4799-A18C-C628E70A8664}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CodeAnalysis.Razor.Workspaces", "src\Microsoft.CodeAnalysis.Razor.Workspaces\Microsoft.CodeAnalysis.Razor.Workspaces.csproj", "{0F265874-C592-448B-BC4F-3430AB03E0DC}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Razor.Workspaces", "src\Microsoft.CodeAnalysis.Razor.Workspaces\Microsoft.CodeAnalysis.Razor.Workspaces.csproj", "{0F265874-C592-448B-BC4F-3430AB03E0DC}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CodeAnalysis.Remote.Razor", "src\Microsoft.CodeAnalysis.Remote.Razor\Microsoft.CodeAnalysis.Remote.Razor.csproj", "{4EAD959D-73B2-4FB2-B46F-16CEB1EF49D4}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Remote.Razor", "src\Microsoft.CodeAnalysis.Remote.Razor\Microsoft.CodeAnalysis.Remote.Razor.csproj", "{4EAD959D-73B2-4FB2-B46F-16CEB1EF49D4}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tooling", "tooling", "{C0CC1E1F-1559-44DE-93A8-63259CEA2AAB}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tooling", "tooling", "{C0CC1E1F-1559-44DE-93A8-63259CEA2AAB}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.VisualStudio.LanguageServices.Razor", "tooling\Microsoft.VisualStudio.LanguageServices.Razor\Microsoft.VisualStudio.LanguageServices.Razor.csproj", "{53489966-7486-434F-AA76-6FBC488E3D29}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.VisualStudio.LanguageServices.Razor", "tooling\Microsoft.VisualStudio.LanguageServices.Razor\Microsoft.VisualStudio.LanguageServices.Razor.csproj", "{53489966-7486-434F-AA76-6FBC488E3D29}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.VisualStudio.RazorExtension", "tooling\Microsoft.VisualStudio.RazorExtension\Microsoft.VisualStudio.RazorExtension.csproj", "{D66B45B5-CBFD-4947-81F1-F30AB80EA992}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
|
@ -164,6 +166,18 @@ Global
|
||||||
{53489966-7486-434F-AA76-6FBC488E3D29}.Release|x64.Build.0 = Release|x64
|
{53489966-7486-434F-AA76-6FBC488E3D29}.Release|x64.Build.0 = Release|x64
|
||||||
{53489966-7486-434F-AA76-6FBC488E3D29}.Release|x86.ActiveCfg = Release|x86
|
{53489966-7486-434F-AA76-6FBC488E3D29}.Release|x86.ActiveCfg = Release|x86
|
||||||
{53489966-7486-434F-AA76-6FBC488E3D29}.Release|x86.Build.0 = Release|x86
|
{53489966-7486-434F-AA76-6FBC488E3D29}.Release|x86.Build.0 = Release|x86
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992}.Release|x86.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
@ -179,5 +193,6 @@ Global
|
||||||
{0F265874-C592-448B-BC4F-3430AB03E0DC} = {3C0D6505-79B3-49D0-B4C3-176F0F1836ED}
|
{0F265874-C592-448B-BC4F-3430AB03E0DC} = {3C0D6505-79B3-49D0-B4C3-176F0F1836ED}
|
||||||
{4EAD959D-73B2-4FB2-B46F-16CEB1EF49D4} = {3C0D6505-79B3-49D0-B4C3-176F0F1836ED}
|
{4EAD959D-73B2-4FB2-B46F-16CEB1EF49D4} = {3C0D6505-79B3-49D0-B4C3-176F0F1836ED}
|
||||||
{53489966-7486-434F-AA76-6FBC488E3D29} = {C0CC1E1F-1559-44DE-93A8-63259CEA2AAB}
|
{53489966-7486-434F-AA76-6FBC488E3D29} = {C0CC1E1F-1559-44DE-93A8-63259CEA2AAB}
|
||||||
|
{D66B45B5-CBFD-4947-81F1-F30AB80EA992} = {C0CC1E1F-1559-44DE-93A8-63259CEA2AAB}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|
|
||||||
|
|
@ -6,4 +6,5 @@ using System.Runtime.CompilerServices;
|
||||||
[assembly: InternalsVisibleTo("Microsoft.CodeAnalysis.Razor.Workspaces, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
[assembly: InternalsVisibleTo("Microsoft.CodeAnalysis.Razor.Workspaces, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
||||||
[assembly: InternalsVisibleTo("Microsoft.CodeAnalysis.Remote.Razor, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
[assembly: InternalsVisibleTo("Microsoft.CodeAnalysis.Remote.Razor, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
||||||
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.LanguageServices.Razor, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.LanguageServices.Razor, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
||||||
|
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.RazorExtension, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
||||||
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
|
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="2.0.0-rc3-*" />
|
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="2.0.0-rc3-*" />
|
||||||
|
<PackageReference Include="NetStandard.Library" Version="1.6.2-*" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Microsoft.AspNetCore.Razor.Evolution\Microsoft.AspNetCore.Razor.Evolution.csproj" />
|
<ProjectReference Include="..\Microsoft.AspNetCore.Razor.Evolution\Microsoft.AspNetCore.Razor.Evolution.csproj" />
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,6 @@
|
||||||
|
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.RazorExtension, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
||||||
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.LanguageServices.Razor.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.LanguageServices.Razor.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
||||||
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
|
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Controls.Primitives;
|
||||||
|
using System.Windows.Input;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.Behaviors
|
||||||
|
{
|
||||||
|
public static class ItemSelectedBehavior
|
||||||
|
{
|
||||||
|
public static DependencyProperty ItemSelectedProperty =
|
||||||
|
DependencyProperty.RegisterAttached(nameof(Selector.SelectedItem),
|
||||||
|
typeof(ICommand),
|
||||||
|
typeof(ItemSelectedBehavior),
|
||||||
|
new FrameworkPropertyMetadata(null, new PropertyChangedCallback(ItemSelectedChanged)));
|
||||||
|
|
||||||
|
public static ICommand GetItemSelected(DependencyObject target)
|
||||||
|
{
|
||||||
|
return (ICommand)target.GetValue(ItemSelectedProperty);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetItemSelected(DependencyObject target, ICommand value)
|
||||||
|
{
|
||||||
|
target.SetValue(ItemSelectedProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ItemSelectedChanged(DependencyObject target, DependencyPropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
var element = target as Selector;
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
if ((e.NewValue != null) && (e.OldValue == null))
|
||||||
|
{
|
||||||
|
element.SelectionChanged += Selector_SelectionChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if ((e.NewValue == null) && (e.OldValue != null))
|
||||||
|
{
|
||||||
|
element.SelectionChanged -= Selector_SelectionChanged;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void Selector_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||||
|
{
|
||||||
|
var element = sender as Selector;
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
ICommand command = (ICommand)GetItemSelected(element);
|
||||||
|
command.Execute(element.SelectedItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,398 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\..\packages\Microsoft.VSSDK.BuildTools.15.0.25901-RC\build\Microsoft.VSSDK.BuildTools.props" Condition="Exists('..\..\packages\Microsoft.VSSDK.BuildTools.15.0.25901-RC\build\Microsoft.VSSDK.BuildTools.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
|
||||||
|
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
|
<UseCodebase>true</UseCodebase>
|
||||||
|
<SignAssembly>true</SignAssembly>
|
||||||
|
<AssemblyOriginatorKeyFile>..\..\build\Key.snk</AssemblyOriginatorKeyFile>
|
||||||
|
<!-- Use the RoslynDev Experimental instance so we can mingle with local builds of Roslyn -->
|
||||||
|
<VSSDKTargetPlatformRegRootSuffix>RoslynDev</VSSDKTargetPlatformRegRootSuffix>
|
||||||
|
<!-- Make sure debug launches the RoslynDev instance as well. -->
|
||||||
|
<StartAction>Program</StartAction>
|
||||||
|
<StartProgram>$(DevEnvDir)devenv.exe</StartProgram>
|
||||||
|
<StartArguments>/rootsuffix RoslynDev /log</StartArguments>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
|
<ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
<ProjectGuid>{D66B45B5-CBFD-4947-81F1-F30AB80EA992}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>Microsoft.VisualStudio.RazorExtension</RootNamespace>
|
||||||
|
<AssemblyName>Microsoft.VisualStudio.RazorExtension</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
|
||||||
|
<GeneratePkgDefFile>true</GeneratePkgDefFile>
|
||||||
|
<IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
|
||||||
|
<IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer>
|
||||||
|
<IncludeDebugSymbolsInLocalVSIXDeployment>true</IncludeDebugSymbolsInLocalVSIXDeployment>
|
||||||
|
<CopyBuildOutputToOutputDirectory>true</CopyBuildOutputToOutputDirectory>
|
||||||
|
<CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="RazorInfo\AssemblyViewModel.cs" />
|
||||||
|
<Compile Include="Behaviors\ItemSelectedBehavior.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="Properties\BindingRedirectAttributes.cs" />
|
||||||
|
<Compile Include="RazorInfo\DirectiveViewModel.cs" />
|
||||||
|
<Compile Include="RazorInfo\DocumentInfoViewModel.cs" />
|
||||||
|
<Compile Include="RazorInfo\DocumentViewModel.cs" />
|
||||||
|
<Compile Include="NotifyPropertyChanged.cs" />
|
||||||
|
<Compile Include="RazorInfo\ProjectViewModel.cs" />
|
||||||
|
<Compile Include="RazorInfo\RazorInfoToolWindow.cs" />
|
||||||
|
<Compile Include="RazorInfo\RazorInfoToolWindowCommand.cs" />
|
||||||
|
<Compile Include="RazorInfo\RazorInfoToolWindowControl.xaml.cs">
|
||||||
|
<DependentUpon>RazorInfoToolWindowControl.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="RazorInfo\RazorInfoViewModel.cs" />
|
||||||
|
<Compile Include="RazorPackage.cs" />
|
||||||
|
<Compile Include="RazorInfo\ProjectInfoViewModel.cs" />
|
||||||
|
<Compile Include="RelayCommand.cs" />
|
||||||
|
<Compile Include="RazorInfo\TagHelperViewModel.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
|
<None Include="packages.config" />
|
||||||
|
<Content Include="razorLanguageService.servicehub.service.json">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
<IncludeInVSIX>true</IncludeInVSIX>
|
||||||
|
</Content>
|
||||||
|
<None Include="source.extension.vsixmanifest">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="EnvDTE100, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="EnvDTE90, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Esent.Interop, Version=1.9.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\ManagedEsent.1.9.4\lib\net40\Esent.Interop.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Common.2.0.0-rc3-61308-02\lib\netstandard1.3\Microsoft.CodeAnalysis.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis.CSharp, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.2.0.0-rc3-61308-02\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.2.0.0-rc3-61308-02\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis.Elfie, Version=0.10.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Elfie.0.10.6-rc2\lib\net46\Microsoft.CodeAnalysis.Elfie.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis.VisualBasic, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.CodeAnalysis.VisualBasic.2.0.0-rc3-61308-02\lib\netstandard1.3\Microsoft.CodeAnalysis.VisualBasic.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.CodeAnalysis.VisualBasic.Workspaces.2.0.0-rc3-61308-02\lib\netstandard1.3\Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Workspaces.Common.2.0.0-rc3-61308-02\lib\net46\Microsoft.CodeAnalysis.Workspaces.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Workspaces.Common.2.0.0-rc3-61308-02\lib\net46\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="Microsoft.VisualStudio.CommandBars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.ComponentModelHost.15.0.25824-RC\lib\net45\Microsoft.VisualStudio.ComponentModelHost.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.CoreUtility, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.CoreUtility.15.0.25901-RC\lib\net45\Microsoft.VisualStudio.CoreUtility.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Imaging, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Imaging.15.0.25901-RC\lib\net45\Microsoft.VisualStudio.Imaging.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.LanguageServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.LanguageServices.2.0.0-rc3-61308-02\lib\net46\Microsoft.VisualStudio.LanguageServices.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.OLE.Interop.7.10.6070\lib\Microsoft.VisualStudio.OLE.Interop.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Shell.15.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.15.0.15.0.25901-RC\lib\Microsoft.VisualStudio.Shell.15.0.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Framework.15.0.25901-RC\lib\net45\Microsoft.VisualStudio.Shell.Framework.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.7.10.6071\lib\Microsoft.VisualStudio.Shell.Interop.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.10.0.10.0.30319\lib\Microsoft.VisualStudio.Shell.Interop.10.0.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.11.0.11.0.61030\lib\Microsoft.VisualStudio.Shell.Interop.11.0.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Shell.Interop.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.12.0.12.0.30110\lib\Microsoft.VisualStudio.Shell.Interop.12.0.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.Shell.Interop.8.0.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.9.0.9.0.30729\lib\Microsoft.VisualStudio.Shell.Interop.9.0.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Text.Data, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Text.Data.15.0.25901-RC\lib\net45\Microsoft.VisualStudio.Text.Data.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.TextManager.Interop.7.10.6070\lib\Microsoft.VisualStudio.TextManager.Interop.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TextManager.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.TextManager.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.TextManager.Interop.8.0.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Threading, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Threading.15.0.20-pre\lib\net45\Microsoft.VisualStudio.Threading.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Utilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Utilities.15.0.25901-RC\lib\net45\Microsoft.VisualStudio.Utilities.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.Validation, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.VisualStudio.Validation.15.0.11-pre\lib\net45\Microsoft.VisualStudio.Validation.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="PresentationCore" />
|
||||||
|
<Reference Include="PresentationFramework" />
|
||||||
|
<Reference Include="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Collections.Immutable, Version=1.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ComponentModel.Composition" />
|
||||||
|
<Reference Include="System.Composition.AttributedModel, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.AttributedModel.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Composition.Convention, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Convention.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Composition.Hosting, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Hosting.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Composition.Runtime, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Runtime.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Composition.TypedParts, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Design" />
|
||||||
|
<Reference Include="System.Diagnostics.FileVersionInfo, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Diagnostics.FileVersionInfo.4.3.0\lib\net46\System.Diagnostics.FileVersionInfo.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Diagnostics.StackTrace, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Diagnostics.StackTrace.4.3.0\lib\net46\System.Diagnostics.StackTrace.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Reflection.Metadata, Version=1.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Reflection.Metadata.1.4.2\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net46\System.Security.Cryptography.Algorithms.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net46\System.Security.Cryptography.X509Certificates.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Text.Encoding.CodePages, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Text.Encoding.CodePages.4.3.0\lib\net46\System.Text.Encoding.CodePages.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Thread, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Threading.Thread.4.3.0\lib\net46\System.Threading.Thread.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xaml" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml.XmlDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Xml.XmlDocument.4.3.0\lib\net46\System.Xml.XmlDocument.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml.XPath, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Xml.XPath.4.3.0\lib\net46\System.Xml.XPath.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml.XPath.XDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\System.Xml.XPath.XDocument.4.3.0\lib\net46\System.Xml.XPath.XDocument.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="WindowsBase" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<VSCTCompile Include="RazorPackage.vsct">
|
||||||
|
<ResourceName>Menus.ctmenu</ResourceName>
|
||||||
|
</VSCTCompile>
|
||||||
|
<Content Include="Resources\RazorInfoToolWindowCommand.png" />
|
||||||
|
<Content Include="Resources\RazorPackage.ico" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="VSPackage.resx">
|
||||||
|
<MergeWithCTO>true</MergeWithCTO>
|
||||||
|
<ManifestResourceName>VSPackage</ManifestResourceName>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Page Include="RazorInfo\RazorInfoToolWindowControl.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
</Page>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\src\Microsoft.AspNetCore.Razor.Evolution\Microsoft.AspNetCore.Razor.Evolution.csproj">
|
||||||
|
<Project>{932f3c9c-a6c0-40d3-ba50-9309886242fc}</Project>
|
||||||
|
<Name>Microsoft.AspNetCore.Razor.Evolution</Name>
|
||||||
|
<Private>False</Private>
|
||||||
|
<IncludeOutputGroupsInVSIX>
|
||||||
|
</IncludeOutputGroupsInVSIX>
|
||||||
|
<IncludeOutputGroupsInVSIXLocalOnly>
|
||||||
|
</IncludeOutputGroupsInVSIXLocalOnly>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\..\src\Microsoft.CodeAnalysis.Razor.Workspaces\Microsoft.CodeAnalysis.Razor.Workspaces.csproj">
|
||||||
|
<Project>{0f265874-c592-448b-bc4f-3430ab03e0dc}</Project>
|
||||||
|
<Name>Microsoft.CodeAnalysis.Razor.Workspaces</Name>
|
||||||
|
<Private>False</Private>
|
||||||
|
<IncludeOutputGroupsInVSIX>
|
||||||
|
</IncludeOutputGroupsInVSIX>
|
||||||
|
<IncludeOutputGroupsInVSIXLocalOnly>
|
||||||
|
</IncludeOutputGroupsInVSIXLocalOnly>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\..\src\Microsoft.CodeAnalysis.Remote.Razor\Microsoft.CodeAnalysis.Remote.Razor.csproj">
|
||||||
|
<Project>{1840aad6-e26b-43ce-a2b1-7e74ad512888}</Project>
|
||||||
|
<Name>Microsoft.CodeAnalysis.Remote.Razor</Name>
|
||||||
|
<Private>False</Private>
|
||||||
|
<IncludeOutputGroupsInVSIX>
|
||||||
|
</IncludeOutputGroupsInVSIX>
|
||||||
|
<IncludeOutputGroupsInVSIXLocalOnly>
|
||||||
|
</IncludeOutputGroupsInVSIXLocalOnly>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\Microsoft.VisualStudio.LanguageServices.Razor\Microsoft.VisualStudio.LanguageServices.Razor.csproj">
|
||||||
|
<Project>{92114fe9-cb07-4712-9aa4-afab65ca28e1}</Project>
|
||||||
|
<Name>Microsoft.VisualStudio.LanguageServices.Razor</Name>
|
||||||
|
<Private>False</Private>
|
||||||
|
<IncludeOutputGroupsInVSIX>
|
||||||
|
</IncludeOutputGroupsInVSIX>
|
||||||
|
<IncludeOutputGroupsInVSIXLocalOnly>
|
||||||
|
</IncludeOutputGroupsInVSIXLocalOnly>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<!-- Workaround for https://github.com/dotnet/sdk/issues/433 -->
|
||||||
|
<ItemGroup>
|
||||||
|
<VSIXSourceItem Include="..\..\src\Microsoft.CodeAnalysis.Remote.Razor\bin\$(Configuration)\net46\Microsoft.CodeAnalysis.Remote.Razor.dll" />
|
||||||
|
<VSIXSourceItem Include="..\Microsoft.VisualStudio.LanguageServices.Razor\bin\$(Configuration)\net46\Microsoft.AspNetCore.Razor.Evolution.dll" />
|
||||||
|
<VSIXSourceItem Include="..\Microsoft.VisualStudio.LanguageServices.Razor\bin\$(Configuration)\net46\Microsoft.CodeAnalysis.Razor.Workspaces.dll" />
|
||||||
|
<VSIXSourceItem Include="..\Microsoft.VisualStudio.LanguageServices.Razor\bin\$(Configuration)\net46\Microsoft.VisualStudio.LanguageServices.Razor.dll" />
|
||||||
|
<Content Include="@(VSIXSourceItem)">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
|
||||||
|
<Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="Exists('$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\..\packages\Microsoft.VSSDK.BuildTools.15.0.25901-RC\build\Microsoft.VSSDK.BuildTools.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.VSSDK.BuildTools.15.0.25901-RC\build\Microsoft.VSSDK.BuildTools.props'))" />
|
||||||
|
<Error Condition="!Exists('..\..\packages\Microsoft.VSSDK.BuildTools.15.0.25901-RC\build\Microsoft.VSSDK.BuildTools.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.VSSDK.BuildTools.15.0.25901-RC\build\Microsoft.VSSDK.BuildTools.targets'))" />
|
||||||
|
</Target>
|
||||||
|
<Import Project="..\..\packages\Microsoft.VSSDK.BuildTools.15.0.25901-RC\build\Microsoft.VSSDK.BuildTools.targets" Condition="Exists('..\..\packages\Microsoft.VSSDK.BuildTools.15.0.25901-RC\build\Microsoft.VSSDK.BuildTools.targets')" />
|
||||||
|
</Project>
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension
|
||||||
|
{
|
||||||
|
public abstract class NotifyPropertyChanged : INotifyPropertyChanged
|
||||||
|
{
|
||||||
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
|
|
||||||
|
protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
|
||||||
|
{
|
||||||
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.RazorExtension.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
|
||||||
|
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using Microsoft.VisualStudio.Shell;
|
||||||
|
|
||||||
|
[assembly: ProvideBindingRedirection(
|
||||||
|
AssemblyName = "Microsoft.AspNetCore.Razor.Evolution",
|
||||||
|
GenerateCodeBase = true,
|
||||||
|
PublicKeyToken = "adb9793829ddae60",
|
||||||
|
OldVersionLowerBound = "0.0.0.0",
|
||||||
|
OldVersionUpperBound = "1.0.0.0",
|
||||||
|
NewVersion = "1.0.0.0")]
|
||||||
|
|
||||||
|
[assembly: ProvideBindingRedirection(
|
||||||
|
AssemblyName = "Microsoft.CodeAnalysis.Razor.Workspaces",
|
||||||
|
GenerateCodeBase = true,
|
||||||
|
PublicKeyToken = "adb9793829ddae60",
|
||||||
|
OldVersionLowerBound = "0.0.0.0",
|
||||||
|
OldVersionUpperBound = "1.2.0.0",
|
||||||
|
NewVersion = "1.2.0.0")]
|
||||||
|
|
||||||
|
[assembly: ProvideBindingRedirection(
|
||||||
|
AssemblyName = "Microsoft.CodeAnalysis.Remote.Razor",
|
||||||
|
GenerateCodeBase = true,
|
||||||
|
PublicKeyToken = "adb9793829ddae60",
|
||||||
|
OldVersionLowerBound = "0.0.0.0",
|
||||||
|
OldVersionUpperBound = "1.2.0.0",
|
||||||
|
NewVersion = "1.2.0.0")]
|
||||||
|
|
||||||
|
[assembly: ProvideBindingRedirection(
|
||||||
|
AssemblyName = "Microsoft.VisualStudio.LanguageServices.Razor",
|
||||||
|
GenerateCodeBase = true,
|
||||||
|
PublicKeyToken = "adb9793829ddae60",
|
||||||
|
OldVersionLowerBound = "0.0.0.0",
|
||||||
|
OldVersionUpperBound = "1.2.0.0",
|
||||||
|
NewVersion = "1.2.0.0")]
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using Microsoft.VisualStudio.LanguageServices.Razor;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
public class AssemblyViewModel : NotifyPropertyChanged
|
||||||
|
{
|
||||||
|
private readonly RazorEngineAssembly _assembly;
|
||||||
|
|
||||||
|
internal AssemblyViewModel(RazorEngineAssembly assembly)
|
||||||
|
{
|
||||||
|
_assembly = assembly;
|
||||||
|
|
||||||
|
Name = _assembly.Identity.GetDisplayName();
|
||||||
|
FilePath = assembly.FilePath;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Name { get; }
|
||||||
|
|
||||||
|
public string FilePath { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System.Text;
|
||||||
|
using Microsoft.AspNetCore.Razor.Evolution;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
public class DirectiveViewModel : NotifyPropertyChanged
|
||||||
|
{
|
||||||
|
private readonly DirectiveDescriptor _directive;
|
||||||
|
|
||||||
|
internal DirectiveViewModel(DirectiveDescriptor directive)
|
||||||
|
{
|
||||||
|
_directive = directive;
|
||||||
|
|
||||||
|
var builder = new StringBuilder();
|
||||||
|
builder.Append("@");
|
||||||
|
builder.Append(_directive.Name);
|
||||||
|
|
||||||
|
foreach (var token in _directive.Tokens)
|
||||||
|
{
|
||||||
|
builder.Append(token.Value);
|
||||||
|
builder.Append("(");
|
||||||
|
builder.Append(token.Kind.ToString());
|
||||||
|
builder.Append(")");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (directive.Kind == DirectiveDescriptorKind.CodeBlock || directive.Kind == DirectiveDescriptorKind.RazorBlock)
|
||||||
|
{
|
||||||
|
builder.Append("{ ... }");
|
||||||
|
}
|
||||||
|
|
||||||
|
DisplayText = builder.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public string DisplayText { get; }
|
||||||
|
|
||||||
|
public string Name => _directive.Name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using Microsoft.VisualStudio.LanguageServices.Razor;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
public class DocumentInfoViewModel : NotifyPropertyChanged
|
||||||
|
{
|
||||||
|
private RazorEngineDocument _document;
|
||||||
|
|
||||||
|
internal DocumentInfoViewModel(RazorEngineDocument document)
|
||||||
|
{
|
||||||
|
_document = document;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Text => _document.Text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using Microsoft.CodeAnalysis;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
public class DocumentViewModel : NotifyPropertyChanged
|
||||||
|
{
|
||||||
|
public DocumentViewModel(string filePath)
|
||||||
|
{
|
||||||
|
FilePath = filePath;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string FilePath { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
public class ProjectInfoViewModel : NotifyPropertyChanged
|
||||||
|
{
|
||||||
|
private ObservableCollection<AssemblyViewModel> _assemblies;
|
||||||
|
private ObservableCollection<DirectiveViewModel> _directives;
|
||||||
|
private ObservableCollection<DocumentViewModel> _documents;
|
||||||
|
private ObservableCollection<TagHelperViewModel> _tagHelpers;
|
||||||
|
|
||||||
|
public ObservableCollection<AssemblyViewModel> Assemblies
|
||||||
|
{
|
||||||
|
get { return _assemblies; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_assemblies = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObservableCollection<DirectiveViewModel> Directives
|
||||||
|
{
|
||||||
|
get { return _directives; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_directives = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObservableCollection<DocumentViewModel> Documents
|
||||||
|
{
|
||||||
|
get { return _documents; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_documents = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObservableCollection<TagHelperViewModel> TagHelpers
|
||||||
|
{
|
||||||
|
get { return _tagHelpers; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_tagHelpers = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using Microsoft.CodeAnalysis;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
public class ProjectViewModel : NotifyPropertyChanged
|
||||||
|
{
|
||||||
|
public ProjectViewModel(Project project)
|
||||||
|
{
|
||||||
|
Id = project.Id;
|
||||||
|
Name = project.Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Name { get; }
|
||||||
|
|
||||||
|
public ProjectId Id { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using Microsoft.VisualStudio.Shell;
|
||||||
|
using Microsoft.VisualStudio.ComponentModelHost;
|
||||||
|
using Microsoft.VisualStudio.LanguageServices;
|
||||||
|
using Microsoft.VisualStudio.LanguageServices.Razor;
|
||||||
|
using Microsoft.CodeAnalysis;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
[Guid("079e9499-d150-40af-8876-3047f7942c2a")]
|
||||||
|
public class RazorInfoToolWindow : ToolWindowPane
|
||||||
|
{
|
||||||
|
private IRazorEngineAssemblyResolver _assemblyResolver;
|
||||||
|
private IRazorEngineDocumentGenerator _documentGenerator;
|
||||||
|
private IRazorEngineDirectiveResolver _directiveResolver;
|
||||||
|
private IRazorEngineTagHelperResolver _tagHelperResolver;
|
||||||
|
private VisualStudioWorkspace _workspace;
|
||||||
|
|
||||||
|
public RazorInfoToolWindow() : base(null)
|
||||||
|
{
|
||||||
|
this.Caption = "Razor Info";
|
||||||
|
this.Content = new RazorInfoToolWindowControl();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Initialize()
|
||||||
|
{
|
||||||
|
base.Initialize();
|
||||||
|
|
||||||
|
var componentModel = (IComponentModel)GetService(typeof(SComponentModel));
|
||||||
|
|
||||||
|
_assemblyResolver = componentModel.GetService<IRazorEngineAssemblyResolver>();
|
||||||
|
_documentGenerator = componentModel.GetService<IRazorEngineDocumentGenerator>();
|
||||||
|
_directiveResolver = componentModel.GetService<IRazorEngineDirectiveResolver>();
|
||||||
|
_tagHelperResolver = componentModel.GetService<IRazorEngineTagHelperResolver>();
|
||||||
|
|
||||||
|
_workspace = componentModel.GetService<VisualStudioWorkspace>();
|
||||||
|
_workspace.WorkspaceChanged += Workspace_WorkspaceChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
base.Dispose(disposing);
|
||||||
|
|
||||||
|
if (disposing)
|
||||||
|
{
|
||||||
|
_workspace.WorkspaceChanged -= Workspace_WorkspaceChanged;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Reset(Solution solution)
|
||||||
|
{
|
||||||
|
if (solution == null)
|
||||||
|
{
|
||||||
|
((RazorInfoToolWindowControl)this.Content).DataContext = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var viewModel = new RazorInfoViewModel(this, _workspace, _assemblyResolver, _directiveResolver, _tagHelperResolver, _documentGenerator);
|
||||||
|
foreach (var project in solution.Projects)
|
||||||
|
{
|
||||||
|
viewModel.Projects.Add(new ProjectViewModel(project));
|
||||||
|
}
|
||||||
|
|
||||||
|
((RazorInfoToolWindowControl)this.Content).DataContext = viewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Workspace_WorkspaceChanged(object sender, WorkspaceChangeEventArgs e)
|
||||||
|
{
|
||||||
|
switch (e.Kind)
|
||||||
|
{
|
||||||
|
case WorkspaceChangeKind.ProjectAdded:
|
||||||
|
case WorkspaceChangeKind.ProjectChanged:
|
||||||
|
case WorkspaceChangeKind.ProjectReloaded:
|
||||||
|
case WorkspaceChangeKind.ProjectRemoved:
|
||||||
|
case WorkspaceChangeKind.SolutionAdded:
|
||||||
|
case WorkspaceChangeKind.SolutionChanged:
|
||||||
|
case WorkspaceChangeKind.SolutionCleared:
|
||||||
|
case WorkspaceChangeKind.SolutionReloaded:
|
||||||
|
case WorkspaceChangeKind.SolutionRemoved:
|
||||||
|
Reset(e.NewSolution);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,103 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel.Design;
|
||||||
|
using Microsoft.VisualStudio.Shell;
|
||||||
|
using Microsoft.VisualStudio.Shell.Interop;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Command handler
|
||||||
|
/// </summary>
|
||||||
|
internal sealed class RazorInfoToolWindowCommand
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Command ID.
|
||||||
|
/// </summary>
|
||||||
|
public const int CommandId = 0x0100;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Command menu group (command set GUID).
|
||||||
|
/// </summary>
|
||||||
|
public static readonly Guid CommandSet = new Guid("eaaf8ee4-d120-4a4d-8b58-b138b7f00b96");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// VS Package that provides this command, not null.
|
||||||
|
/// </summary>
|
||||||
|
private readonly Package package;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="RazorInfoToolWindowCommand"/> class.
|
||||||
|
/// Adds our command handlers for menu (commands must exist in the command table file)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="package">Owner package, not null.</param>
|
||||||
|
private RazorInfoToolWindowCommand(Package package)
|
||||||
|
{
|
||||||
|
if (package == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException("package");
|
||||||
|
}
|
||||||
|
|
||||||
|
this.package = package;
|
||||||
|
|
||||||
|
OleMenuCommandService commandService = this.ServiceProvider.GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
|
||||||
|
if (commandService != null)
|
||||||
|
{
|
||||||
|
var menuCommandID = new CommandID(CommandSet, CommandId);
|
||||||
|
var menuItem = new MenuCommand(this.ShowToolWindow, menuCommandID);
|
||||||
|
commandService.AddCommand(menuItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the instance of the command.
|
||||||
|
/// </summary>
|
||||||
|
public static RazorInfoToolWindowCommand Instance
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
private set;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the service provider from the owner package.
|
||||||
|
/// </summary>
|
||||||
|
private IServiceProvider ServiceProvider
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.package;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes the singleton instance of the command.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="package">Owner package, not null.</param>
|
||||||
|
public static void Initialize(Package package)
|
||||||
|
{
|
||||||
|
Instance = new RazorInfoToolWindowCommand(package);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shows the tool window when the menu item is clicked.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender">The event sender.</param>
|
||||||
|
/// <param name="e">The event args.</param>
|
||||||
|
private void ShowToolWindow(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
// Get the instance number 0 of this tool window. This window is single instance so this instance
|
||||||
|
// is actually the only one.
|
||||||
|
// The last flag is set to true so that if the tool window does not exists it will be created.
|
||||||
|
ToolWindowPane window = this.package.FindToolWindow(typeof(RazorInfoToolWindow), 0, true);
|
||||||
|
if ((null == window) || (null == window.Frame))
|
||||||
|
{
|
||||||
|
throw new NotSupportedException("Cannot create tool window");
|
||||||
|
}
|
||||||
|
|
||||||
|
IVsWindowFrame windowFrame = (IVsWindowFrame)window.Frame;
|
||||||
|
Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(windowFrame.Show());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,162 @@
|
||||||
|
<UserControl x:Class="Microsoft.VisualStudio.RazorExtension.RazorInfo.RazorInfoToolWindowControl"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:behaviors="clr-namespace:Microsoft.VisualStudio.RazorExtension.Behaviors"
|
||||||
|
Background="{DynamicResource VsBrush.Window}"
|
||||||
|
Foreground="{DynamicResource VsBrush.WindowText}"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
d:DesignHeight="300"
|
||||||
|
d:DesignWidth="300"
|
||||||
|
Name="RazorInfoToolWindow">
|
||||||
|
<UserControl.Resources>
|
||||||
|
<Style x:Key="{x:Type Button}">
|
||||||
|
<Setter Property="FrameworkElement.Margin"
|
||||||
|
Value="5" />
|
||||||
|
</Style>
|
||||||
|
<Style x:Key="{x:Type GridSplitter}">
|
||||||
|
<Setter Property="FrameworkElement.Height"
|
||||||
|
Value="5" />
|
||||||
|
<Setter Property="FrameworkElement.HorizontalAlignment"
|
||||||
|
Value="Stretch" />
|
||||||
|
<Setter Property="FrameworkElement.VerticalAlignment"
|
||||||
|
Value="Bottom" />
|
||||||
|
<Setter Property="GridSplitter.ShowsPreview"
|
||||||
|
Value="True" />
|
||||||
|
</Style>
|
||||||
|
<Style x:Key="{x:Type ListBox}">
|
||||||
|
<Setter Property="FrameworkElement.Margin"
|
||||||
|
Value="5" />
|
||||||
|
</Style>
|
||||||
|
<Style x:Key="{x:Type ListView}">
|
||||||
|
<Setter Property="FrameworkElement.Margin"
|
||||||
|
Value="5" />
|
||||||
|
</Style>
|
||||||
|
</UserControl.Resources>
|
||||||
|
<ScrollViewer VerticalScrollBarVisibility="Visible">
|
||||||
|
<Grid>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Expander Grid.Row="0"
|
||||||
|
IsExpanded="True">
|
||||||
|
<Expander.Header>
|
||||||
|
<Label Content="Select Project" />
|
||||||
|
</Expander.Header>
|
||||||
|
<StackPanel>
|
||||||
|
<ListBox ItemsSource="{Binding Projects}"
|
||||||
|
SelectedValue="{Binding CurrentProject}"
|
||||||
|
IsEnabled="{Binding IsSelectionEnabled}">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<Label Content="{Binding Name}" />
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ListBox>
|
||||||
|
<Button Content="Load"
|
||||||
|
Command="{Binding LoadCommand}" />
|
||||||
|
</StackPanel>
|
||||||
|
</Expander>
|
||||||
|
<GridSplitter Grid.Row="1" />
|
||||||
|
<Expander Grid.Row="2"
|
||||||
|
IsEnabled="{Binding CurrentProjectInfo, TargetNullValue=False}">
|
||||||
|
<Expander.Header>
|
||||||
|
<Label Content="Assemblies" />
|
||||||
|
</Expander.Header>
|
||||||
|
<ListView ItemsSource="{Binding CurrentProjectInfo.Assemblies}">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<Label Content="{Binding Name}">
|
||||||
|
<Label.ToolTip>
|
||||||
|
<ToolTip Content="{Binding FilePath}" />
|
||||||
|
</Label.ToolTip>
|
||||||
|
</Label>
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ListView>
|
||||||
|
</Expander>
|
||||||
|
<GridSplitter Grid.Row="3" />
|
||||||
|
<Expander Grid.Row="4"
|
||||||
|
IsEnabled="{Binding CurrentProjectInfo, TargetNullValue=False}" >
|
||||||
|
<Expander.Header>
|
||||||
|
<Label Content="Tag Helpers" />
|
||||||
|
</Expander.Header>
|
||||||
|
<ListView ItemsSource="{Binding CurrentProjectInfo.TagHelpers}">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<Label Content="{Binding TargetElement}" />
|
||||||
|
<Label Content="{Binding TypeName}" />
|
||||||
|
<Label Content="{Binding AssemblyName}" />
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ListView>
|
||||||
|
</Expander>
|
||||||
|
<GridSplitter Grid.Row="5" />
|
||||||
|
<Expander Grid.Row="6"
|
||||||
|
IsEnabled="{Binding CurrentProjectInfo, TargetNullValue=False}">
|
||||||
|
<Expander.Header>
|
||||||
|
<Label Content="Directives" />
|
||||||
|
</Expander.Header>
|
||||||
|
<ListView ItemsSource="{Binding CurrentProjectInfo.Directives}">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<Label Content="{Binding Name}" />
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ListView>
|
||||||
|
</Expander>
|
||||||
|
<GridSplitter Grid.Row="7" />
|
||||||
|
<Expander Grid.Row="8"
|
||||||
|
IsEnabled="{Binding CurrentProjectInfo, TargetNullValue=False}">
|
||||||
|
<Expander.Header>
|
||||||
|
<Label Content="Select Document" />
|
||||||
|
</Expander.Header>
|
||||||
|
<StackPanel>
|
||||||
|
<ListBox ItemsSource="{Binding CurrentProjectInfo.Documents}"
|
||||||
|
SelectedValue="{Binding CurrentDocument}"
|
||||||
|
IsEnabled="{Binding IsSelectionEnabled}">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<Label Content="{Binding FilePath}" />
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ListBox>
|
||||||
|
<Button Content="Generate"
|
||||||
|
Command="{Binding GenerateCommand}" />
|
||||||
|
</StackPanel>
|
||||||
|
</Expander>
|
||||||
|
<GridSplitter Grid.Row="9" />
|
||||||
|
<Expander Grid.Row="10"
|
||||||
|
IsEnabled="{Binding CurrentDocumentInfo, TargetNullValue=False}">
|
||||||
|
<Expander.Header>
|
||||||
|
<Label Content="Generated Code" />
|
||||||
|
</Expander.Header>
|
||||||
|
<TextBlock Text="{Binding CurrentDocumentInfo.Text}"
|
||||||
|
TextWrapping="Wrap" />
|
||||||
|
</Expander>
|
||||||
|
<GridSplitter Grid.Row="11" />
|
||||||
|
</Grid>
|
||||||
|
</ScrollViewer>
|
||||||
|
</UserControl>
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
public partial class RazorInfoToolWindowControl : UserControl
|
||||||
|
{
|
||||||
|
public RazorInfoToolWindowControl()
|
||||||
|
{
|
||||||
|
this.InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,311 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using Microsoft.CodeAnalysis;
|
||||||
|
using Microsoft.VisualStudio.LanguageServices;
|
||||||
|
using Microsoft.VisualStudio.LanguageServices.Razor;
|
||||||
|
using Microsoft.VisualStudio.Shell;
|
||||||
|
using Microsoft.VisualStudio.Shell.Interop;
|
||||||
|
using Microsoft.VisualStudio.TextManager.Interop;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
internal class RazorInfoViewModel : NotifyPropertyChanged
|
||||||
|
{
|
||||||
|
private readonly IRazorEngineAssemblyResolver _assemblyResolver;
|
||||||
|
private readonly IRazorEngineDirectiveResolver _directiveResolver;
|
||||||
|
private readonly IRazorEngineDocumentGenerator _documentGenerator;
|
||||||
|
private readonly IRazorEngineTagHelperResolver _tagHelperResolver;
|
||||||
|
private readonly IServiceProvider _services;
|
||||||
|
private readonly Workspace _workspace;
|
||||||
|
|
||||||
|
private DocumentViewModel _currentDocument;
|
||||||
|
private DocumentInfoViewModel _currentDocumentInfo;
|
||||||
|
private ProjectViewModel _currentProject;
|
||||||
|
private ProjectInfoViewModel _currentProjectInfo;
|
||||||
|
private ICommand _generateCommand;
|
||||||
|
private bool _isLoading;
|
||||||
|
private ICommand _loadCommand;
|
||||||
|
|
||||||
|
public RazorInfoViewModel(
|
||||||
|
IServiceProvider services,
|
||||||
|
Workspace workspace,
|
||||||
|
IRazorEngineAssemblyResolver assemblyResolver,
|
||||||
|
IRazorEngineDirectiveResolver directiveResolver,
|
||||||
|
IRazorEngineTagHelperResolver tagHelperResolver,
|
||||||
|
IRazorEngineDocumentGenerator documentGenerator)
|
||||||
|
{
|
||||||
|
_services = services;
|
||||||
|
_workspace = workspace;
|
||||||
|
_assemblyResolver = assemblyResolver;
|
||||||
|
_directiveResolver = directiveResolver;
|
||||||
|
_tagHelperResolver = tagHelperResolver;
|
||||||
|
_documentGenerator = documentGenerator;
|
||||||
|
|
||||||
|
GenerateCommand = new RelayCommand<object>(ExecuteGenerate, CanExecuteGenerate);
|
||||||
|
LoadCommand = new RelayCommand<object>(ExecuteLoad, CanExecuteLoad);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DocumentViewModel CurrentDocument
|
||||||
|
{
|
||||||
|
get { return _currentDocument; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_currentDocument = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
|
||||||
|
CurrentDocumentInfo = null; // Clear cached value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public DocumentInfoViewModel CurrentDocumentInfo
|
||||||
|
{
|
||||||
|
get { return _currentDocumentInfo; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_currentDocumentInfo = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProjectViewModel CurrentProject
|
||||||
|
{
|
||||||
|
get { return _currentProject; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_currentProject = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
|
||||||
|
CurrentProjectInfo = null; // Clear cached value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProjectInfoViewModel CurrentProjectInfo
|
||||||
|
{
|
||||||
|
get { return _currentProjectInfo; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_currentProjectInfo = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ICommand GenerateCommand
|
||||||
|
{
|
||||||
|
get { return _generateCommand; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_generateCommand = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsLoading
|
||||||
|
{
|
||||||
|
get { return _isLoading; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_isLoading = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
OnPropertyChanged(nameof(IsSelectionEnabled));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsSelectionEnabled => !IsLoading;
|
||||||
|
|
||||||
|
public ICommand LoadCommand
|
||||||
|
{
|
||||||
|
get { return _loadCommand; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_loadCommand = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObservableCollection<ProjectViewModel> Projects { get; } = new ObservableCollection<ProjectViewModel>();
|
||||||
|
|
||||||
|
private bool CanExecuteLoad(object state)
|
||||||
|
{
|
||||||
|
return !IsLoading && CurrentProject != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ExecuteLoad(object state)
|
||||||
|
{
|
||||||
|
LoadProjectInfoAsync(CurrentProject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool CanExecuteGenerate(object state)
|
||||||
|
{
|
||||||
|
return !IsLoading && CurrentDocument != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ExecuteGenerate(object state)
|
||||||
|
{
|
||||||
|
GenerateDocumentAsync(CurrentDocument);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void LoadProjectInfoAsync(ProjectViewModel projectViewModel)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
CurrentProjectInfo = null;
|
||||||
|
IsLoading = true;
|
||||||
|
|
||||||
|
var solution = _workspace.CurrentSolution;
|
||||||
|
var project = solution.GetProject(projectViewModel.Id);
|
||||||
|
|
||||||
|
var documents = GetCshtmlDocuments(project);
|
||||||
|
var assemblies = await _assemblyResolver.GetRazorEngineAssembliesAsync(project);
|
||||||
|
|
||||||
|
var directives = await _directiveResolver.GetRazorEngineDirectivesAsync(_workspace, project);
|
||||||
|
var tagHelpers = await _tagHelperResolver.GetRazorEngineTagHelpersAsync(_workspace, project);
|
||||||
|
|
||||||
|
var files = GetCshtmlDocuments(project);
|
||||||
|
|
||||||
|
CurrentProjectInfo = new ProjectInfoViewModel()
|
||||||
|
{
|
||||||
|
Assemblies = new ObservableCollection<AssemblyViewModel>(assemblies.Select(a => new AssemblyViewModel(a))),
|
||||||
|
Directives = new ObservableCollection<DirectiveViewModel>(directives.Select(d => new DirectiveViewModel(d))),
|
||||||
|
Documents = new ObservableCollection<DocumentViewModel>(documents.Select(d => new DocumentViewModel(d))),
|
||||||
|
TagHelpers = new ObservableCollection<TagHelperViewModel>(tagHelpers.Select(t => new TagHelperViewModel(t))),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
IsLoading = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void GenerateDocumentAsync(DocumentViewModel documentViewModel)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
CurrentDocumentInfo = null;
|
||||||
|
IsLoading = true;
|
||||||
|
|
||||||
|
string text = null;
|
||||||
|
|
||||||
|
var rdt = new RunningDocumentTable(_services);
|
||||||
|
var document = rdt.FindDocument(documentViewModel.FilePath);
|
||||||
|
if (document != null)
|
||||||
|
{
|
||||||
|
text = GetTextFromRDT(document);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (text == null)
|
||||||
|
{
|
||||||
|
var invisibleEditorMangager = (IVsInvisibleEditorManager)_services.GetService(typeof(SVsInvisibleEditorManager));
|
||||||
|
|
||||||
|
IVsInvisibleEditor editor;
|
||||||
|
int hr = invisibleEditorMangager.RegisterInvisibleEditor(
|
||||||
|
documentViewModel.FilePath,
|
||||||
|
null,
|
||||||
|
0,
|
||||||
|
null,
|
||||||
|
out editor);
|
||||||
|
Marshal.ThrowExceptionForHR(hr);
|
||||||
|
|
||||||
|
text = GetTextFromInvisibleEditor(editor);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (text != null)
|
||||||
|
{
|
||||||
|
var project = _workspace.CurrentSolution.GetProject(CurrentProject.Id);
|
||||||
|
var generated = await _documentGenerator.GenerateDocumentAsync(_workspace, project, documentViewModel.FilePath, text);
|
||||||
|
|
||||||
|
CurrentDocumentInfo = new DocumentInfoViewModel(generated);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
IsLoading = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetTextFromInvisibleEditor(IVsInvisibleEditor editor)
|
||||||
|
{
|
||||||
|
int hr = editor.GetDocData(0, typeof(IVsFullTextScanner).GUID, out IntPtr ptr);
|
||||||
|
Marshal.ThrowExceptionForHR(hr);
|
||||||
|
|
||||||
|
var fullText = (IVsFullTextScanner)Marshal.GetObjectForIUnknown(ptr);
|
||||||
|
Marshal.Release(ptr);
|
||||||
|
|
||||||
|
Marshal.ThrowExceptionForHR(fullText.OpenFullTextScan());
|
||||||
|
Marshal.ThrowExceptionForHR(fullText.FullTextRead(out string text, out int length));
|
||||||
|
Marshal.ThrowExceptionForHR(fullText.CloseFullTextScan());
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetTextFromRDT(object document)
|
||||||
|
{
|
||||||
|
var fullText = document as IVsFullTextScanner;
|
||||||
|
Debug.Assert(fullText != null);
|
||||||
|
|
||||||
|
Marshal.ThrowExceptionForHR(fullText.OpenFullTextScan());
|
||||||
|
Marshal.ThrowExceptionForHR(fullText.FullTextRead(out string text, out int length));
|
||||||
|
Marshal.ThrowExceptionForHR(fullText.CloseFullTextScan());
|
||||||
|
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<string> GetCshtmlDocuments(Project project)
|
||||||
|
{
|
||||||
|
var workspace = _workspace as VisualStudioWorkspace;
|
||||||
|
var hierarchy = workspace.GetHierarchy(project.Id);
|
||||||
|
|
||||||
|
var items = new List<string>();
|
||||||
|
Traverse(items, hierarchy, (uint)VSConstants.VSITEMID.Root);
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Traverse(List<string> items, IVsHierarchy node, uint itemId)
|
||||||
|
{
|
||||||
|
int hr;
|
||||||
|
object obj;
|
||||||
|
|
||||||
|
hr = node.GetProperty(itemId, (int)__VSHPROPID.VSHPROPID_Name, out obj);
|
||||||
|
if (hr == VSConstants.S_OK && obj != null)
|
||||||
|
{
|
||||||
|
var name = (string)obj;
|
||||||
|
if (name.EndsWith(".cshtml"))
|
||||||
|
{
|
||||||
|
hr = node.GetCanonicalName(itemId, out name);
|
||||||
|
if (hr == VSConstants.S_OK)
|
||||||
|
{
|
||||||
|
items.Add(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hr = node.GetProperty(itemId, (int)__VSHPROPID.VSHPROPID_FirstChild, out obj);
|
||||||
|
if (hr != VSConstants.S_OK || obj == null || (int)obj == unchecked((int)VSConstants.VSITEMID.Nil))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
itemId = (uint)((int)obj);
|
||||||
|
Traverse(items, node, itemId);
|
||||||
|
|
||||||
|
hr = node.GetProperty(itemId, (int)__VSHPROPID.VSHPROPID_NextSibling, out obj);
|
||||||
|
while (hr == VSConstants.S_OK && obj != null && (int)obj != unchecked((int)VSConstants.VSITEMID.Nil))
|
||||||
|
{
|
||||||
|
itemId = (uint)((int)obj);
|
||||||
|
Traverse(items, node, itemId);
|
||||||
|
|
||||||
|
hr = node.GetProperty(itemId, (int)__VSHPROPID.VSHPROPID_NextSibling, out obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using Microsoft.AspNetCore.Razor.Evolution.Legacy;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension.RazorInfo
|
||||||
|
{
|
||||||
|
public class TagHelperViewModel : NotifyPropertyChanged
|
||||||
|
{
|
||||||
|
private readonly TagHelperDescriptor _descriptor;
|
||||||
|
|
||||||
|
internal TagHelperViewModel(TagHelperDescriptor descriptor)
|
||||||
|
{
|
||||||
|
_descriptor = descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string AssemblyName => _descriptor.AssemblyName;
|
||||||
|
|
||||||
|
public string TargetElement => _descriptor.TagName;
|
||||||
|
|
||||||
|
public string TypeName => _descriptor.TypeName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using Microsoft.VisualStudio.Shell;
|
||||||
|
using Microsoft.VisualStudio.Shell.Interop;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension
|
||||||
|
{
|
||||||
|
[PackageRegistration(UseManagedResourcesOnly = true)]
|
||||||
|
[InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)]
|
||||||
|
[Guid(RazorPackage.PackageGuidString)]
|
||||||
|
[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "pkgdef, VS and vsixmanifest are valid VS terms")]
|
||||||
|
[ProvideMenuResource("Menus.ctmenu", 1)]
|
||||||
|
[ProvideToolWindow(typeof(Microsoft.VisualStudio.RazorExtension.RazorInfo.RazorInfoToolWindow))]
|
||||||
|
public sealed class RazorPackage : Package
|
||||||
|
{
|
||||||
|
public const string PackageGuidString = "13b72f58-279e-49e0-a56d-296be02f0805";
|
||||||
|
|
||||||
|
private const string CSharpPackageIdString = "13c3bbb4-f18f-4111-9f54-a0fb010d9194";
|
||||||
|
|
||||||
|
protected override void Initialize()
|
||||||
|
{
|
||||||
|
base.Initialize();
|
||||||
|
|
||||||
|
// We need to force the CSharp package to load. That's responsible for the initialization
|
||||||
|
// of the remote host client.
|
||||||
|
var shell = GetService(typeof(SVsShell)) as IVsShell;
|
||||||
|
if (shell == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
IVsPackage package = null;
|
||||||
|
var packageGuid = new Guid(CSharpPackageIdString);
|
||||||
|
shell.LoadPackage(ref packageGuid, out package);
|
||||||
|
|
||||||
|
Microsoft.VisualStudio.RazorExtension.RazorInfo.RazorInfoToolWindowCommand.Initialize(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
|
||||||
|
<!--This is the file that defines the IDs for all the commands exposed by VisualStudio. -->
|
||||||
|
<Extern href="stdidcmd.h"/>
|
||||||
|
|
||||||
|
<!--This header contains the command ids for the menus provided by the shell. -->
|
||||||
|
<Extern href="vsshlids.h"/>
|
||||||
|
|
||||||
|
<Commands package="guidRazorPackage">
|
||||||
|
<Buttons>
|
||||||
|
<Button guid="guidRazorPackageCmdSet" id="RazorInfoToolWindowCommandId" priority="0x0100" type="Button">
|
||||||
|
<Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1"/>
|
||||||
|
<Icon guid="guidImages" id="bmpPic1" />
|
||||||
|
<Strings>
|
||||||
|
<ButtonText>RazorInfoToolWindow</ButtonText>
|
||||||
|
</Strings>
|
||||||
|
</Button>
|
||||||
|
</Buttons>
|
||||||
|
|
||||||
|
<Bitmaps>
|
||||||
|
<Bitmap guid="guidImages" href="Resources\RazorInfoToolWindowCommand.png" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows, bmpPicStrikethrough"/>
|
||||||
|
</Bitmaps>
|
||||||
|
</Commands>
|
||||||
|
|
||||||
|
<Symbols>
|
||||||
|
<GuidSymbol name="guidRazorPackage" value="{13b72f58-279e-49e0-a56d-296be02f0805}" />
|
||||||
|
|
||||||
|
<GuidSymbol name="guidRazorPackageCmdSet" value="{eaaf8ee4-d120-4a4d-8b58-b138b7f00b96}">
|
||||||
|
<IDSymbol name="RazorInfoToolWindowCommandId" value="0x0100" />
|
||||||
|
</GuidSymbol>
|
||||||
|
|
||||||
|
<GuidSymbol name="guidImages" value="{9dfcb7a0-bfd4-4081-845e-a67a274f7cba}" >
|
||||||
|
<IDSymbol name="bmpPic1" value="1" />
|
||||||
|
<IDSymbol name="bmpPic2" value="2" />
|
||||||
|
<IDSymbol name="bmpPicSearch" value="3" />
|
||||||
|
<IDSymbol name="bmpPicX" value="4" />
|
||||||
|
<IDSymbol name="bmpPicArrows" value="5" />
|
||||||
|
<IDSymbol name="bmpPicStrikethrough" value="6" />
|
||||||
|
</GuidSymbol>
|
||||||
|
</Symbols>
|
||||||
|
</CommandTable>
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Windows.Input;
|
||||||
|
|
||||||
|
namespace Microsoft.VisualStudio.RazorExtension
|
||||||
|
{
|
||||||
|
public class RelayCommand<T> : ICommand
|
||||||
|
{
|
||||||
|
readonly Action<T> _execute = null;
|
||||||
|
readonly Predicate<T> _canExecute = null;
|
||||||
|
|
||||||
|
public RelayCommand(Action<T> execute)
|
||||||
|
: this(execute, null)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public RelayCommand(Action<T> execute, Predicate<T> canExecute)
|
||||||
|
{
|
||||||
|
if (execute == null)
|
||||||
|
throw new ArgumentNullException("execute");
|
||||||
|
|
||||||
|
_execute = execute;
|
||||||
|
_canExecute = canExecute;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool CanExecute(object parameter)
|
||||||
|
{
|
||||||
|
return _canExecute == null ? true : _canExecute((T)parameter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public event EventHandler CanExecuteChanged
|
||||||
|
{
|
||||||
|
add { CommandManager.RequerySuggested += value; }
|
||||||
|
remove { CommandManager.RequerySuggested -= value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Execute(object parameter)
|
||||||
|
{
|
||||||
|
_execute((T)parameter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 418 KiB |
|
|
@ -0,0 +1,140 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
VS SDK Notes: This resx file contains the resources that will be consumed from your package by Visual Studio.
|
||||||
|
For example, Visual Studio will attempt to load resource '400' from this resource stream when it needs to
|
||||||
|
load your package's icon. Because Visual Studio will always look in the VSPackage.resources stream first for
|
||||||
|
resources it needs, you should put additional resources that Visual Studio will load directly into this resx
|
||||||
|
file.
|
||||||
|
|
||||||
|
Resources that you would like to access directly from your package in a strong-typed fashion should be stored
|
||||||
|
in Resources.resx or another resx file.
|
||||||
|
-->
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="110" xml:space="preserve">
|
||||||
|
<value>RazorPackage Extension</value>
|
||||||
|
</data>
|
||||||
|
<data name="112" xml:space="preserve">
|
||||||
|
<value>RazorPackage Visual Studio Extension Detailed Info</value>
|
||||||
|
</data>
|
||||||
|
<data name="400" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>Resources\RazorPackage.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-1.2.1.0" newVersion="1.2.1.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Threading.Thread" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Microsoft.VisualStudio.Text.Data" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Microsoft.VisualStudio.CoreUtility" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Microsoft.VisualStudio.ComponentModelHost" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Microsoft.VisualStudio.Imaging" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Microsoft.VisualStudio.Utilities" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Microsoft.VisualStudio.Threading" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="ManagedEsent" version="1.9.4" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.CodeAnalysis" version="2.0.0-rc3-61308-02" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.Common" version="2.0.0-rc3-61308-02" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.CSharp" version="2.0.0-rc3-61308-02" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="2.0.0-rc3-61308-02" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.Elfie" version="0.10.6-rc2" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.VisualBasic" version="2.0.0-rc3-61308-02" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.VisualBasic.Workspaces" version="2.0.0-rc3-61308-02" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.Workspaces.Common" version="2.0.0-rc3-61308-02" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.Composition" version="1.0.27" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.ComponentModelHost" version="15.0.25824-RC" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.CoreUtility" version="15.0.25901-RC" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Imaging" version="15.0.25901-RC" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.LanguageServices" version="2.0.0-rc3-61308-02" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.OLE.Interop" version="7.10.6070" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Shell.15.0" version="15.0.25901-RC" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Shell.Framework" version="15.0.25901-RC" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Shell.Interop" version="7.10.6071" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Shell.Interop.10.0" version="10.0.30319" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Shell.Interop.11.0" version="11.0.61030" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Shell.Interop.12.0" version="12.0.30110" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Shell.Interop.8.0" version="8.0.50727" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Shell.Interop.9.0" version="9.0.30729" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Text.Data" version="15.0.25901-RC" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.TextManager.Interop" version="7.10.6070" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.TextManager.Interop.8.0" version="8.0.50727" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Threading" version="15.0.20-pre" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Utilities" version="15.0.25901-RC" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VisualStudio.Validation" version="15.0.11-pre" targetFramework="net46" />
|
||||||
|
<package id="Microsoft.VSSDK.BuildTools" version="15.0.25901-RC" targetFramework="net46" developmentDependency="true" />
|
||||||
|
<package id="System.AppContext" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Collections" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Collections.Immutable" version="1.3.1" targetFramework="net46" />
|
||||||
|
<package id="System.Console" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Diagnostics.Contracts" version="4.0.1" targetFramework="net46" />
|
||||||
|
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Diagnostics.FileVersionInfo" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Diagnostics.StackTrace" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Dynamic.Runtime" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Globalization" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.IO.Compression" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Linq" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Linq.Parallel" version="4.0.1" targetFramework="net46" />
|
||||||
|
<package id="System.ObjectModel" version="4.0.10" targetFramework="net46" />
|
||||||
|
<package id="System.Reflection" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Reflection.Metadata" version="1.4.2" targetFramework="net46" />
|
||||||
|
<package id="System.Reflection.Primitives" version="4.0.1" targetFramework="net46" />
|
||||||
|
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Runtime" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Runtime.Handles" version="4.0.1" targetFramework="net46" />
|
||||||
|
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Text.Encoding.CodePages" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Text.RegularExpressions" version="4.1.0" targetFramework="net46" />
|
||||||
|
<package id="System.Threading" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Threading.Tasks.Parallel" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Threading.Thread" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.ValueTuple" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Xml.XPath" version="4.3.0" targetFramework="net46" />
|
||||||
|
<package id="System.Xml.XPath.XDocument" version="4.3.0" targetFramework="net46" />
|
||||||
|
</packages>
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"host": "desktopClr.x86",
|
||||||
|
"hostId": "RoslynCodeAnalysisService32",
|
||||||
|
"hostGroupAllowed": true,
|
||||||
|
"entryPoint": {
|
||||||
|
"assemblyPath": "Microsoft.CodeAnalysis.Remote.Razor.dll",
|
||||||
|
"fullClassName": "Microsoft.CodeAnalysis.Remote.Razor.RazorLanguageService",
|
||||||
|
"appBasePath": "%VSAPPIDDIR%",
|
||||||
|
"configPath": "%PkgDefApplicationConfigFile%"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
|
||||||
|
<Metadata>
|
||||||
|
<Identity Id="Microsoft.VisualStudio.RazorExtension" Version="1.0" Language="en-US" Publisher="Ryan Nowak" />
|
||||||
|
<DisplayName>Microsoft.VisualStudio.RazorExtension</DisplayName>
|
||||||
|
<Description xml:space="preserve"></Description>
|
||||||
|
</Metadata>
|
||||||
|
<Installation>
|
||||||
|
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[15.0]" />
|
||||||
|
</Installation>
|
||||||
|
<Dependencies>
|
||||||
|
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.6,)" />
|
||||||
|
<Dependency Id="Microsoft.VisualStudio.MPF.15.0" DisplayName="Visual Studio MPF 15.0" d:Source="Installed" Version="[15.0]" />
|
||||||
|
<Dependency d:Source="Installed" Id="58293943-56F1-4734-82FC-0411DCF49DE1" DisplayName="Roslyn Language Services for Visual Studio 15" Version="[2.0.0.6121305,3.0)" />
|
||||||
|
</Dependencies>
|
||||||
|
<Prerequisites>
|
||||||
|
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,16.0)" DisplayName="Visual Studio core editor" />
|
||||||
|
</Prerequisites>
|
||||||
|
<Assets>
|
||||||
|
<Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%;PkgdefProjectOutputGroup|" />
|
||||||
|
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%|" />
|
||||||
|
<Asset Type="Microsoft.ServiceHub.Service" d:Source="File" Path="razorLanguageService.servicehub.service.json" />
|
||||||
|
<Asset Type="Microsoft.VisualStudio.Assembly" Path="Microsoft.AspNetCore.Razor.Evolution.dll" />
|
||||||
|
<Asset Type="Microsoft.VisualStudio.MefComponent" Path="Microsoft.AspNetCore.Razor.Evolution.dll" />
|
||||||
|
<Asset Type="Microsoft.VisualStudio.Assembly" Path="Microsoft.CodeAnalysis.Razor.Workspaces.dll" />
|
||||||
|
<Asset Type="Microsoft.VisualStudio.MefComponent" Path="Microsoft.CodeAnalysis.Razor.Workspaces.dll" />
|
||||||
|
<Asset Type="Microsoft.VisualStudio.Assembly" Path="Microsoft.CodeAnalysis.Remote.Razor.dll" />
|
||||||
|
<Asset Type="Microsoft.VisualStudio.MefComponent" Path="Microsoft.CodeAnalysis.Remote.Razor.dll" />
|
||||||
|
<Asset Type="Microsoft.VisualStudio.Assembly" Path="Microsoft.VisualStudio.LanguageServices.Razor.dll" />
|
||||||
|
<Asset Type="Microsoft.VisualStudio.MefComponent" Path="Microsoft.VisualStudio.LanguageServices.Razor.dll" />
|
||||||
|
</Assets>
|
||||||
|
</PackageManifest>
|
||||||
Loading…
Reference in New Issue