Skip to content
This repository was archived by the owner on Aug 30, 2023. It is now read-only.

Commit 0707d1f

Browse files
committed
Merge pull request #38 from asbjornu/unit-testing
Make the UnitTests project .NET 4.0
2 parents 2617550 + 90f3834 commit 0707d1f

15 files changed

+433
-289
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using NUnit.Framework;
2+
3+
using SharpRaven.Logging.Filters;
4+
5+
namespace SharpRaven.UnitTests.Logging
6+
{
7+
[TestFixture]
8+
public class CreditCardFilterTests : FilterTestsBase<CreditCardFilter>
9+
{
10+
[Test]
11+
public void InvalidCreditCardNumber_IsNotScrubbed()
12+
{
13+
InvalidValueIsNotScrubbed("1234-5678-9101-1121");
14+
}
15+
16+
17+
[Test]
18+
public void ValidCreditCardNumber_IsScrubbed()
19+
{
20+
ValidValueIsScrubbed("5271-1902-4264-3112");
21+
}
22+
}
23+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
using System;
2+
3+
using NUnit.Framework;
4+
5+
using SharpRaven.Logging;
6+
7+
namespace SharpRaven.UnitTests.Logging
8+
{
9+
public abstract class FilterTestsBase<TFilter>
10+
where TFilter : IFilter, new()
11+
{
12+
private readonly TFilter filter;
13+
14+
15+
protected FilterTestsBase()
16+
{
17+
this.filter = new TFilter();
18+
}
19+
20+
21+
protected void InvalidValueIsNotScrubbed(string invalidValue)
22+
{
23+
var input = String.Format(
24+
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. {0} Praesent est dui, ornare eget condimentum a, tincidunt sit amet lectus. Nulla pellentesque, tortor eget tempus malesuada.",
25+
invalidValue);
26+
27+
var output = this.filter.Filter(input);
28+
29+
Assert.That(output, Is.StringContaining(invalidValue));
30+
}
31+
32+
33+
protected void ValidValueIsScrubbed(string validValue)
34+
{
35+
var input = String.Format(
36+
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. {0} Praesent est dui, ornare eget condimentum a, tincidunt sit amet lectus. Nulla pellentesque, tortor eget tempus malesuada.",
37+
validValue);
38+
39+
var output = this.filter.Filter(input);
40+
41+
Assert.That(output, Is.Not.StringContaining(validValue));
42+
}
43+
}
44+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using NUnit.Framework;
2+
3+
using SharpRaven.Logging.Filters;
4+
5+
namespace SharpRaven.UnitTests.Logging
6+
{
7+
[TestFixture]
8+
public class PhoneNumberFilterTests : FilterTestsBase<PhoneNumberFilter>
9+
{
10+
[Test]
11+
public void InvalidPhoneNumber_IsNotScrubbed()
12+
{
13+
base.InvalidValueIsNotScrubbed("1531");
14+
}
15+
16+
17+
[Test]
18+
public void ValidPhoneNumber_IsScrubbed()
19+
{
20+
ValidValueIsScrubbed("55518231234");
21+
}
22+
}
23+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using NUnit.Framework;
2+
3+
using SharpRaven.Logging.Filters;
4+
5+
namespace SharpRaven.UnitTests.Logging
6+
{
7+
[TestFixture]
8+
[Ignore("Not implemented yet")]
9+
public class SocialSecurityFilterTests : FilterTestsBase<SocialSecurityFilter>
10+
{
11+
[Test]
12+
public void InvalidSocialSecurityNumber_IsNotScrubbed()
13+
{
14+
InvalidValueIsNotScrubbed("1531");
15+
}
16+
17+
18+
[Test]
19+
public void ValidSocialSecurityNumber_IsScrubbed()
20+
{
21+
ValidValueIsScrubbed("55518231234");
22+
}
23+
}
24+
}

SharpRaven.UnitTests/SchemaHelper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ private static PropertyInfo GetProperty(Type type, KeyValuePair<string, JsonSche
6363

6464
foreach (var p in type.GetProperties())
6565
{
66-
var jsonPropertyAttribute = p.GetCustomAttribute<JsonPropertyAttribute>();
66+
var jsonPropertyAttribute = p.GetCustomAttributes(false).OfType<JsonPropertyAttribute>().FirstOrDefault();
6767

6868
if ((jsonPropertyAttribute == null || jsonPropertyAttribute.PropertyName != jsProperty.Key) &&
6969
(p.Name != jsProperty.Key))
@@ -157,7 +157,7 @@ private static JsonSchema MapSchemaTypes(this JsonSchema schema, Type type)
157157

158158
private static IEnumerable<object> GetEnumValues(Type enumType, PropertyInfo property)
159159
{
160-
var converterAttribute = property.GetCustomAttribute<JsonConverterAttribute>();
160+
var converterAttribute = property.GetCustomAttributes(false).OfType<JsonConverterAttribute>().FirstOrDefault();
161161

162162
if (converterAttribute != null)
163163
{

SharpRaven.UnitTests/SharpRaven.UnitTests.csproj

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>SharpRaven.UnitTests</RootNamespace>
1111
<AssemblyName>SharpRaven.UnitTests</AssemblyName>
12-
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
12+
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
1313
<FileAlignment>512</FileAlignment>
1414
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
1515
<RestorePackages>true</RestorePackages>
16+
<TargetFrameworkProfile />
1617
</PropertyGroup>
1718
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1819
<DebugSymbols>true</DebugSymbols>
@@ -34,7 +35,7 @@
3435
<ItemGroup>
3536
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
3637
<SpecificVersion>False</SpecificVersion>
37-
<HintPath>..\packages\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
38+
<HintPath>..\packages\Newtonsoft.Json.5.0.8\lib\net40\Newtonsoft.Json.dll</HintPath>
3839
</Reference>
3940
<Reference Include="nunit.framework, Version=2.6.3.13283, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
4041
<SpecificVersion>False</SpecificVersion>
@@ -44,6 +45,10 @@
4445
</ItemGroup>
4546
<ItemGroup>
4647
<EmbeddedResource Include="schema.json" />
48+
<Compile Include="Logging\CreditCardFilterTests.cs" />
49+
<Compile Include="Logging\FilterTestsBase.cs" />
50+
<Compile Include="Logging\PhoneNumberFilterTests.cs" />
51+
<Compile Include="Logging\SocialSecurityFilterTests.cs" />
4752
<Compile Include="SchemaHelper.cs" />
4853
<Compile Include="SerializationTests.cs" />
4954
<Compile Include="SchemaTests.cs" />
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Newtonsoft.Json" version="5.0.8" targetFramework="net45" />
4-
<package id="NUnit" version="2.6.3" targetFramework="net45" />
3+
<package id="Newtonsoft.Json" version="5.0.8" targetFramework="net40" />
4+
<package id="NUnit" version="2.6.3" targetFramework="net40" />
55
</packages>

SharpRaven.sln

Lines changed: 72 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,72 @@
1-
2-
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 2012
4-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRaven", "SharpRaven\SharpRaven.csproj", "{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}"
5-
EndProject
6-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRaven.CaptureTest", "SharpRaven.CaptureTest\SharpRaven.CaptureTest.csproj", "{5183EE19-B1EE-4D57-B764-26259EB2B5BF}"
7-
EndProject
8-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRaven.UnitTests", "SharpRaven.UnitTests\SharpRaven.UnitTests.csproj", "{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}"
9-
EndProject
10-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRaven.WebTest", "SharpRaven.WebTest\SharpRaven.WebTest.csproj", "{156621FC-2C48-4CDF-A368-9347BABE9089}"
11-
EndProject
12-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{BB692EC7-9ABE-49D6-A0E5-051A34DD291B}"
13-
ProjectSection(SolutionItems) = preProject
14-
.nuget\NuGet.Config = .nuget\NuGet.Config
15-
.nuget\NuGet.exe = .nuget\NuGet.exe
16-
.nuget\NuGet.targets = .nuget\NuGet.targets
17-
EndProjectSection
18-
EndProject
19-
Global
20-
GlobalSection(SolutionConfigurationPlatforms) = preSolution
21-
Debug|Any CPU = Debug|Any CPU
22-
Debug|Mixed Platforms = Debug|Mixed Platforms
23-
Debug|x86 = Debug|x86
24-
Release|Any CPU = Release|Any CPU
25-
Release|Mixed Platforms = Release|Mixed Platforms
26-
Release|x86 = Release|x86
27-
EndGlobalSection
28-
GlobalSection(ProjectConfigurationPlatforms) = postSolution
29-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
30-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
31-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
32-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
33-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|x86.ActiveCfg = Debug|Any CPU
34-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
35-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|Any CPU.Build.0 = Release|Any CPU
36-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
37-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
38-
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|x86.ActiveCfg = Release|Any CPU
39-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|Any CPU.ActiveCfg = Debug|x86
40-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
41-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|Mixed Platforms.Build.0 = Debug|x86
42-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|x86.ActiveCfg = Debug|x86
43-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|x86.Build.0 = Debug|x86
44-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|Any CPU.ActiveCfg = Release|x86
45-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|Mixed Platforms.ActiveCfg = Release|x86
46-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|Mixed Platforms.Build.0 = Release|x86
47-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|x86.ActiveCfg = Release|x86
48-
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|x86.Build.0 = Release|x86
49-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
50-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|Any CPU.Build.0 = Debug|Any CPU
51-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
52-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
53-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|x86.ActiveCfg = Debug|Any CPU
54-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|Any CPU.ActiveCfg = Release|Any CPU
55-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|Any CPU.Build.0 = Release|Any CPU
56-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
57-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|Mixed Platforms.Build.0 = Release|Any CPU
58-
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|x86.ActiveCfg = Release|Any CPU
59-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
60-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|Any CPU.Build.0 = Debug|Any CPU
61-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
62-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
63-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|x86.ActiveCfg = Debug|Any CPU
64-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|Any CPU.ActiveCfg = Release|Any CPU
65-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|Any CPU.Build.0 = Release|Any CPU
66-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
67-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|Mixed Platforms.Build.0 = Release|Any CPU
68-
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|x86.ActiveCfg = Release|Any CPU
69-
EndGlobalSection
70-
GlobalSection(SolutionProperties) = preSolution
71-
HideSolutionNode = FALSE
72-
EndGlobalSection
73-
EndGlobal
1+
Microsoft Visual Studio Solution File, Format Version 12.00
2+
# Visual Studio 2012
3+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRaven", "SharpRaven\SharpRaven.csproj", "{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}"
4+
EndProject
5+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRaven.CaptureTest", "SharpRaven.CaptureTest\SharpRaven.CaptureTest.csproj", "{5183EE19-B1EE-4D57-B764-26259EB2B5BF}"
6+
EndProject
7+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRaven.UnitTests", "SharpRaven.UnitTests\SharpRaven.UnitTests.csproj", "{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}"
8+
EndProject
9+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRaven.WebTest", "SharpRaven.WebTest\SharpRaven.WebTest.csproj", "{156621FC-2C48-4CDF-A368-9347BABE9089}"
10+
EndProject
11+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{8A88BBCD-89AC-4593-9B91-A93B9F305ED3}"
12+
ProjectSection(SolutionItems) = preProject
13+
.nuget\NuGet.Config = .nuget\NuGet.Config
14+
.nuget\NuGet.exe = .nuget\NuGet.exe
15+
.nuget\NuGet.targets = .nuget\NuGet.targets
16+
EndProjectSection
17+
EndProject
18+
Global
19+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
20+
Debug|Any CPU = Debug|Any CPU
21+
Debug|Mixed Platforms = Debug|Mixed Platforms
22+
Debug|x86 = Debug|x86
23+
Release|Any CPU = Release|Any CPU
24+
Release|Mixed Platforms = Release|Mixed Platforms
25+
Release|x86 = Release|x86
26+
EndGlobalSection
27+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
28+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
29+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
30+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
31+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
32+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Debug|x86.ActiveCfg = Debug|Any CPU
33+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
34+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|Any CPU.Build.0 = Release|Any CPU
35+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
36+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
37+
{CC80A2E1-AE39-44DE-8DA3-4EEF42F90FB1}.Release|x86.ActiveCfg = Release|Any CPU
38+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|Any CPU.ActiveCfg = Debug|x86
39+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
40+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|Mixed Platforms.Build.0 = Debug|x86
41+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|x86.ActiveCfg = Debug|x86
42+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Debug|x86.Build.0 = Debug|x86
43+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|Any CPU.ActiveCfg = Release|x86
44+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|Mixed Platforms.ActiveCfg = Release|x86
45+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|Mixed Platforms.Build.0 = Release|x86
46+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|x86.ActiveCfg = Release|x86
47+
{5183EE19-B1EE-4D57-B764-26259EB2B5BF}.Release|x86.Build.0 = Release|x86
48+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
49+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|Any CPU.Build.0 = Debug|Any CPU
50+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
51+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
52+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Debug|x86.ActiveCfg = Debug|Any CPU
53+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|Any CPU.ActiveCfg = Release|Any CPU
54+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|Any CPU.Build.0 = Release|Any CPU
55+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
56+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|Mixed Platforms.Build.0 = Release|Any CPU
57+
{E1DBEBBF-9448-4D99-B378-2B8CF1629F31}.Release|x86.ActiveCfg = Release|Any CPU
58+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
59+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|Any CPU.Build.0 = Debug|Any CPU
60+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
61+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
62+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Debug|x86.ActiveCfg = Debug|Any CPU
63+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|Any CPU.ActiveCfg = Release|Any CPU
64+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|Any CPU.Build.0 = Release|Any CPU
65+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
66+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|Mixed Platforms.Build.0 = Release|Any CPU
67+
{156621FC-2C48-4CDF-A368-9347BABE9089}.Release|x86.ActiveCfg = Release|Any CPU
68+
EndGlobalSection
69+
GlobalSection(SolutionProperties) = preSolution
70+
HideSolutionNode = FALSE
71+
EndGlobalSection
72+
EndGlobal

0 commit comments

Comments
 (0)