Skip to content

Commit 56dfa91

Browse files
committed
Supporting VS2019 preview in visualizers installer, re: issue #30
1 parent 54ae39c commit 56dfa91

10 files changed

+158
-2
lines changed

ReadableExpressions.Visualizers.Installer.Custom/ReadableExpressions.Visualizers.Installer.Custom.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
<EmbeddedResource Include="..\AgileObjects.ReadableExpressions.Visualizers.Vs15.dll">
7272
<Link>AgileObjects.ReadableExpressions.Visualizers.Vs15.dll</Link>
7373
</EmbeddedResource>
74+
<EmbeddedResource Include="AgileObjects.ReadableExpressions.Visualizers.Vs16.dll" />
7475
<Content Include="CustomAction.config" />
7576
</ItemGroup>
7677
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

ReadableExpressions.Visualizers.Installer.Custom/VsPost2017Data.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ internal class VsPost2017Data : IDisposable
1010
{
1111
private static readonly Dictionary<int, string> _vsVersionsByYear = new Dictionary<int, string>
1212
{
13-
[2017] = "15.0"
13+
[2017] = "15.0",
14+
[2019] = "16.0"
1415
};
1516

1617
public VsPost2017Data(RegistryKey post2015Key)

ReadableExpressions.Visualizers.Vs15/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Reflection;
44
using AgileObjects.ReadableExpressions.Visualizers;
55

6-
[assembly: AssemblyDescription("A Debugger Visualizer providing a readable string representation of an Expression for Visual Studio 14")]
6+
[assembly: AssemblyDescription("A Debugger Visualizer providing a readable string representation of an Expression for Visual Studio 15")]
77

88
[assembly: DebuggerVisualizer(typeof(Vs15ExpressionVisualizer), typeof(Vs15ExpressionVisualizerObjectSource), Target = typeof(Expression), Description = "ReadableExpressions Visualizer")]
99
[assembly: DebuggerVisualizer(typeof(Vs15ExpressionVisualizer), typeof(Vs15ExpressionVisualizerObjectSource), Target = typeof(BinaryExpression), Description = "ReadableExpressions Visualizer")]
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using System.Diagnostics;
2+
using System.Linq.Expressions;
3+
using System.Reflection;
4+
using AgileObjects.ReadableExpressions.Visualizers;
5+
6+
[assembly: AssemblyDescription("A Debugger Visualizer providing a readable string representation of an Expression for Visual Studio 16")]
7+
8+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(Expression), Description = "ReadableExpressions Visualizer")]
9+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(BinaryExpression), Description = "ReadableExpressions Visualizer")]
10+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(BlockExpression), Description = "ReadableExpressions Visualizer")]
11+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(ConditionalExpression), Description = "ReadableExpressions Visualizer")]
12+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(ConstantExpression), Description = "ReadableExpressions Visualizer")]
13+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(DebugInfoExpression), Description = "ReadableExpressions Visualizer")]
14+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(DefaultExpression), Description = "ReadableExpressions Visualizer")]
15+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(DynamicExpression), Description = "ReadableExpressions Visualizer")]
16+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(GotoExpression), Description = "ReadableExpressions Visualizer")]
17+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(IndexExpression), Description = "ReadableExpressions Visualizer")]
18+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(InvocationExpression), Description = "ReadableExpressions Visualizer")]
19+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(LabelExpression), Description = "ReadableExpressions Visualizer")]
20+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(LambdaExpression), Description = "ReadableExpressions Visualizer")]
21+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(ListInitExpression), Description = "ReadableExpressions Visualizer")]
22+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(LoopExpression), Description = "ReadableExpressions Visualizer")]
23+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(MemberExpression), Description = "ReadableExpressions Visualizer")]
24+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(MemberInitExpression), Description = "ReadableExpressions Visualizer")]
25+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(MethodCallExpression), Description = "ReadableExpressions Visualizer")]
26+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(NewArrayExpression), Description = "ReadableExpressions Visualizer")]
27+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(NewExpression), Description = "ReadableExpressions Visualizer")]
28+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(ParameterExpression), Description = "ReadableExpressions Visualizer")]
29+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(RuntimeVariablesExpression), Description = "ReadableExpressions Visualizer")]
30+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(SwitchExpression), Description = "ReadableExpressions Visualizer")]
31+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(TryExpression), Description = "ReadableExpressions Visualizer")]
32+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(TypeBinaryExpression), Description = "ReadableExpressions Visualizer")]
33+
[assembly: DebuggerVisualizer(typeof(Vs16ExpressionVisualizer), typeof(Vs16ExpressionVisualizerObjectSource), Target = typeof(UnaryExpression), Description = "ReadableExpressions Visualizer")]
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4+
<PropertyGroup>
5+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+
<ProjectGuid>{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}</ProjectGuid>
8+
<OutputType>Library</OutputType>
9+
<AppDesignerFolder>Properties</AppDesignerFolder>
10+
<RootNamespace>AgileObjects.ReadableExpressions.Visualizers</RootNamespace>
11+
<AssemblyName>AgileObjects.ReadableExpressions.Visualizers.Vs16</AssemblyName>
12+
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
13+
<FileAlignment>512</FileAlignment>
14+
<TargetFrameworkProfile />
15+
</PropertyGroup>
16+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17+
<DebugSymbols>true</DebugSymbols>
18+
<DebugType>full</DebugType>
19+
<Optimize>false</Optimize>
20+
<OutputPath>bin\Debug\</OutputPath>
21+
<DefineConstants>DEBUG;TRACE</DefineConstants>
22+
<ErrorReport>prompt</ErrorReport>
23+
<WarningLevel>4</WarningLevel>
24+
</PropertyGroup>
25+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
26+
<DebugSymbols>true</DebugSymbols>
27+
<DebugType>full</DebugType>
28+
<Optimize>false</Optimize>
29+
<OutputPath>bin\Debug\</OutputPath>
30+
<DefineConstants>DEBUG;TRACE</DefineConstants>
31+
<ErrorReport>prompt</ErrorReport>
32+
<WarningLevel>4</WarningLevel>
33+
</PropertyGroup>
34+
<ItemGroup>
35+
<Reference Include="Microsoft.VisualStudio.DebuggerVisualizers, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
36+
<SpecificVersion>False</SpecificVersion>
37+
<HintPath>..\..\..\..\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.VisualStudio.DebuggerVisualizers.dll</HintPath>
38+
</Reference>
39+
<Reference Include="System" />
40+
<Reference Include="System.Core" />
41+
<Reference Include="System.Windows.Forms" />
42+
<Reference Include="System.Xml" />
43+
</ItemGroup>
44+
<ItemGroup>
45+
<Compile Include="..\ReadableExpressions.Visualizers.Core\CommonVisualizerAssemblyInfo.cs">
46+
<Link>CommonVisualizerAssemblyInfo.cs</Link>
47+
</Compile>
48+
<Compile Include="..\VersionInfo.cs">
49+
<Link>VersionInfo.cs</Link>
50+
</Compile>
51+
<Compile Include="Vs16ExpressionVisualizerObjectSource.cs" />
52+
<Compile Include="Vs16ExpressionVisualizer.cs" />
53+
<Compile Include="Properties\AssemblyInfo.cs" />
54+
</ItemGroup>
55+
<ItemGroup>
56+
<ProjectReference Include="..\ReadableExpressions.Visualizers.Core\ReadableExpressions.Visualizers.Core.csproj">
57+
<Project>{1df26474-08fc-45bb-a0c3-7634bd0b6c0f}</Project>
58+
<Name>ReadableExpressions.ExpressionVisualizer</Name>
59+
</ProjectReference>
60+
</ItemGroup>
61+
<ItemGroup>
62+
<None Include="packages.config" />
63+
</ItemGroup>
64+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
65+
<PropertyGroup>
66+
<PostBuildEvent>"$(SolutionDir)packages\ILMerge.2.14.1208\tools\ILMerge.exe" /ndebug /targetplatform:v4 /lib:"C:\Windows\Microsoft.NET\Framework\v4.0.30319" /out:"$(SolutionDir)$(TargetFileName)" $(TargetPath) $(TargetDir)AgileObjects.NetStandardPolyfills.dll $(TargetDir)AgileObjects.ReadableExpressions.Visualizers.Core.dll $(TargetDir)AgileObjects.ReadableExpressions.dll
67+
xcopy "$(SolutionDir)$(TargetFileName)" "$(DevEnvDir)..\Packages\Debugger\Visualizers\" /Y</PostBuildEvent>
68+
</PropertyGroup>
69+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
70+
Other similar extension points exist, see Microsoft.Common.targets.
71+
<Target Name="BeforeBuild">
72+
</Target>
73+
<Target Name="AfterBuild">
74+
</Target>
75+
-->
76+
</Project>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
namespace AgileObjects.ReadableExpressions.Visualizers
2+
{
3+
using Core;
4+
using Microsoft.VisualStudio.DebuggerVisualizers;
5+
6+
public class Vs16ExpressionVisualizer : DialogDebuggerVisualizer
7+
{
8+
protected override void Show(
9+
IDialogVisualizerService windowService,
10+
IVisualizerObjectProvider objectProvider)
11+
{
12+
windowService.ShowDialog(
13+
ExpressionDialog.Instance.WithText(
14+
objectProvider.GetObject().ToString()));
15+
}
16+
}
17+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace AgileObjects.ReadableExpressions.Visualizers
2+
{
3+
using System.IO;
4+
using Core;
5+
using Microsoft.VisualStudio.DebuggerVisualizers;
6+
7+
public class Vs16ExpressionVisualizerObjectSource : VisualizerObjectSource
8+
{
9+
public override void GetData(object target, Stream outgoingData)
10+
{
11+
ExpressionVisualizerObjectSource.GetData(target, outgoingData, Serialize);
12+
}
13+
}
14+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<packages>
3+
<package id="ILMerge" version="2.14.1208" targetFramework="net40" />
4+
</packages>

ReadableExpressions.sln

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "ReadableExpressions.Visuali
3333
EndProject
3434
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReadableExpressions.UnitTests.Net35", "ReadableExpressions.UnitTests.Net35\ReadableExpressions.UnitTests.Net35.csproj", "{9EB2525F-48E7-4057-98E5-7FE325ECCD32}"
3535
EndProject
36+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReadableExpressions.Visualizers.Vs16", "ReadableExpressions.Visualizers.Vs16\ReadableExpressions.Visualizers.Vs16.csproj", "{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}"
37+
EndProject
3638
Global
3739
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3840
Debug|Any CPU = Debug|Any CPU
@@ -115,6 +117,14 @@ Global
115117
{9EB2525F-48E7-4057-98E5-7FE325ECCD32}.Release|Any CPU.Build.0 = Release|Any CPU
116118
{9EB2525F-48E7-4057-98E5-7FE325ECCD32}.Release|x86.ActiveCfg = Release|Any CPU
117119
{9EB2525F-48E7-4057-98E5-7FE325ECCD32}.Release|x86.Build.0 = Release|Any CPU
120+
{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
121+
{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}.Debug|Any CPU.Build.0 = Debug|Any CPU
122+
{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}.Debug|x86.ActiveCfg = Debug|Any CPU
123+
{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}.Debug|x86.Build.0 = Debug|Any CPU
124+
{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}.Release|Any CPU.ActiveCfg = Release|Any CPU
125+
{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}.Release|Any CPU.Build.0 = Release|Any CPU
126+
{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}.Release|x86.ActiveCfg = Release|Any CPU
127+
{4D0C6CF1-F71F-4648-97C7-C8F38E7E464E}.Release|x86.Build.0 = Release|Any CPU
118128
EndGlobalSection
119129
GlobalSection(SolutionProperties) = preSolution
120130
HideSolutionNode = FALSE

0 commit comments

Comments
 (0)