Skip to content

Commit

Permalink
Deployment Item support in .NET Core (#565)
Browse files Browse the repository at this point in the history
Enabling DeploymentItem attr in NetCore
  • Loading branch information
ankit-arora-gh authored Apr 2, 2019
1 parent 5c80aaa commit c956ab3
Show file tree
Hide file tree
Showing 94 changed files with 2,739 additions and 1,034 deletions.
2 changes: 1 addition & 1 deletion Nuget.config
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="vstest" value="https://dotnet.myget.org/F/vstest/api/v3/index.json" />
<add key="mstestv2" value="https://dotnet.myget.org/F/mstestv2/auth/1e768268-8c95-4e7e-9fd2-0eb1b1b69b18/api/v3/index.json" />
<add key="pdb2pdb.myget" value="https://dotnet.myget.org/F/symreader-converter/api/v3/index.json" />
<add key="pdb2pdb.myget" value="https://dotnet.myget.org/F/symreader-converter/api/v3/index.json" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
Expand Down
28 changes: 27 additions & 1 deletion TestFx.sln
Original file line number Diff line number Diff line change
Expand Up @@ -182,10 +182,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataRowTestProject", "test\
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TimeoutTestProject", "test\E2ETests\TestAssets\TimeoutTestProject\TimeoutTestProject.csproj", "{4F0B2ACF-1341-42AF-918C-669A6D5CEA2B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DeploymentTestProjectNetCore", "test\E2ETests\TestAssets\DeploymentTestProjectNetCore\DeploymentTestProjectNetCore.csproj", "{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
src\TestFramework\Extension.Shared\Extension.Shared.projitems*{272ca5e1-8e81-4825-9e47-86cce02f700d}*SharedItemsImports = 13
src\TestFramework\Extension.Shared\Extension.Shared.projitems*{6c9fe494-8315-4667-b3f6-75dc62a62319}*SharedItemsImports = 4
src\TestFramework\Extension.Shared\Extension.Shared.projitems*{df131865-84ee-4540-8112-e88acebdea09}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -1091,6 +1092,30 @@ Global
{4F0B2ACF-1341-42AF-918C-669A6D5CEA2B}.Release|x64.Build.0 = Release|Any CPU
{4F0B2ACF-1341-42AF-918C-669A6D5CEA2B}.Release|x86.ActiveCfg = Release|Any CPU
{4F0B2ACF-1341-42AF-918C-669A6D5CEA2B}.Release|x86.Build.0 = Release|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Code Analysis Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Code Analysis Debug|Any CPU.Build.0 = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Code Analysis Debug|ARM.ActiveCfg = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Code Analysis Debug|ARM.Build.0 = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Code Analysis Debug|x64.ActiveCfg = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Code Analysis Debug|x64.Build.0 = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Code Analysis Debug|x86.ActiveCfg = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Code Analysis Debug|x86.Build.0 = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Debug|ARM.ActiveCfg = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Debug|ARM.Build.0 = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Debug|x64.ActiveCfg = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Debug|x64.Build.0 = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Debug|x86.ActiveCfg = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Debug|x86.Build.0 = Debug|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Release|Any CPU.Build.0 = Release|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Release|ARM.ActiveCfg = Release|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Release|ARM.Build.0 = Release|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Release|x64.ActiveCfg = Release|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Release|x64.Build.0 = Release|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Release|x86.ActiveCfg = Release|Any CPU
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -1152,6 +1177,7 @@ Global
{0B057B99-DCDD-417A-BC19-3E63DDD86F24} = {1899187D-8B9C-40C2-9F04-9E9A76C9A919}
{7FB80AAB-7123-4416-B6CD-8D3D69AA83F1} = {D53BD452-F69F-4FB3-8B98-386EDA28A4C8}
{4F0B2ACF-1341-42AF-918C-669A6D5CEA2B} = {D53BD452-F69F-4FB3-8B98-386EDA28A4C8}
{26F0B8EF-92D4-4A23-ACB4-D1B662F0EEBE} = {D53BD452-F69F-4FB3-8B98-386EDA28A4C8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {31E0F4D5-975A-41CC-933E-545B2201FAF9}
Expand Down
29 changes: 27 additions & 2 deletions scripts/build/TestFx.Loc.targets
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<!-- Default Localization folder. -->
<PropertyGroup>
<ResourceDirectory>$(ProjectDir)Resources</ResourceDirectory>
<SharedResourceDirectory>$(ProjectDir)..\PlatformServices.Shared\netstandard1.3\Resources</SharedResourceDirectory>
</PropertyGroup>

<Target Name="GatherResxResources">
Expand All @@ -20,11 +21,14 @@
</PropertyGroup>
</Target>

<!-- Localization for Libraries.-->
<!-- Localization for Libraries.
'UseSharedResources' flag is true for desktop and netcore as their resources are common and present at a shared location -->
<Target Name="TestFxLocalization" Condition="$(IsVsixProj) =='' and $(IsVsixProj) !='true'" BeforeTargets="BeforeBuild" DependsOnTargets="GatherResxResources">
<CallTarget Targets="CreateLocalizeXLF;CreateLocalizeResx" Condition="'$(HasResxResources)' == 'true'"/>
<CallTarget Targets="CreateLocalizeXLF;CreateLocalizeResx" Condition="'$(HasResxResources)' == 'true' and '$(UseSharedResources)' == ''"/>
<CallTarget Targets="CreateLocalizeXLFShared;CreateLocalizeResxShared" Condition="'$(HasResxResources)' == 'true' and '$(UseSharedResources)' == 'true'"/>
</Target>

<!-- Generate xlf files from Resources.resx by using command Build.cmd -uxlf -->
<Target Name="CreateLocalizeXLF" Condition="'$(UpdateXlf)' == 'true'">
<CreateItem Include="@(ResxResources)" AdditionalMetadata="Language=%(ResxLang.Identity)">
<Output ItemName="LocResourceFile" TaskParameter="Include"/>
Expand All @@ -33,6 +37,16 @@
<Exec Command="$(TestFxPackagesRoot)fmdev.xlftool.0.1.3\tools\xlftool.exe update -Resx %(ResxResources.Identity) -Xlf $(ResourceDirectory)\xlf\%(ResxResources.Filename).xlf" />
</Target>

<!-- Generate xlf files from Resources.resx for shared resources by using command Build.cmd -uxlf -->
<Target Name="CreateLocalizeXLFShared" Condition="'$(UpdateXlf)' == 'true'">
<CreateItem Include="@(ResxResources)" AdditionalMetadata="Language=%(ResxLang.Identity)">
<Output ItemName="LocResourceFile" TaskParameter="Include"/>
</CreateItem>
<Exec Command="$(TestFxPackagesRoot)fmdev.xlftool.0.1.3\tools\xlftool.exe update -Resx %(LocResourceFile.Identity) -Xlf $(SharedResourceDirectory)\xlf\%(LocResourceFile.Filename).%(LocResourceFile.Language).xlf" />
<Exec Command="$(TestFxPackagesRoot)fmdev.xlftool.0.1.3\tools\xlftool.exe update -Resx %(ResxResources.Identity) -Xlf $(SharedResourceDirectory)\xlf\%(ResxResources.Filename).xlf" />
</Target>

<!-- Generate language specific resx files from the xlf files -->
<Target Name="CreateLocalizeResx" Condition="'$(IsLocalizedBuild)' == 'true'">
<CreateItem Include="@(ResxResources)" AdditionalMetadata="Language=%(ResxLang.Identity)">
<Output ItemName="LocResourceFile" TaskParameter="Include"/>
Expand All @@ -42,6 +56,17 @@
<EmbeddedResource Include="$(ResourceDirectory)\%(LocResourceFile.Filename).%(LocResourceFile.Language).resx" />
</ItemGroup>
</Target>

<!-- Generate language specific resx files from the xlf files for shared resources -->
<Target Name="CreateLocalizeResxShared" Condition="'$(IsLocalizedBuild)' == 'true'">
<CreateItem Include="@(ResxResources)" AdditionalMetadata="Language=%(ResxLang.Identity)">
<Output ItemName="LocResourceFile" TaskParameter="Include"/>
</CreateItem>
<Exec Command="$(TestFxPackagesRoot)fmdev.xlftool.0.1.3\tools\xlftool.exe writeTarget -Xlf $(SharedResourceDirectory)\xlf\%(LocResourceFile.Filename).%(LocResourceFile.Language).xlf -Resx $(ResourceDirectory)\%(LocResourceFile.Filename).%(LocResourceFile.Language).resx -verbose" />
<ItemGroup>
<EmbeddedResource Include="$(ResourceDirectory)\%(LocResourceFile.Filename).%(LocResourceFile.Language).resx" />
</ItemGroup>
</Target>

<!-- Localization for documentation files. -->
<Target Name="CopyLocalizedXmls" BeforeTargets="BeforeBuild" Condition="$(LocDocumentationSubPath) != ''">
Expand Down
3 changes: 2 additions & 1 deletion scripts/build/stylecop.ruleset
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Rules for testFx source code" Description="Code analysis rules for src projects." ToolsVersion="14.0">
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<!-- Allow use of regions -->
<Rule Id="SA1124" Action="None" />

<!-- Do not require XML comment analysis -->
<Rule Id="SA1652" Action="None" />
<Rule Id="SA1649" Action="None" />
</Rules>
</RuleSet>

5 changes: 3 additions & 2 deletions scripts/build/stylecop.test.ruleset
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Rules for testfx tests" Description="Code analysis rules for testFx test projects." ToolsVersion="14.0">
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<!-- XML documentation checks are not required for test projects -->
Expand All @@ -12,5 +12,6 @@

<!-- Allow interfaces to be defined after types to accomodate dummy implementations in the same test file. -->
<Rule Id="SA1201" Action="None" />
<Rule Id="SA1649" Action="None" />
</Rules>
</RuleSet>
</RuleSet>
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ namespace Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Dep
/// The test run directories.
/// </summary>
[Serializable]
#pragma warning disable SA1649 // File name must match first type name
public class TestRunDirectories
#pragma warning restore SA1649 // File name must match first type name
{
/// <summary>
/// The default deployment root directory. We do not want to localize it.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<RootNamespace>Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices</RootNamespace>
<AssemblyName>Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<UseSharedResources>true</UseSharedResources>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
Expand Down Expand Up @@ -44,6 +45,45 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\PlatformServices.Shared\netstandard1.0\ns10RecursiveDirectoryPath.cs">
<Link>ns10RecursiveDirectoryPath.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.0\Services\ns10MSTestSettingsProvider.cs">
<Link>Services\ns10MSTestSettingsProvider.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.0\Services\ns10TestContextPropertyStrings.cs">
<Link>Services\ns10TestContextPropertyStrings.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.0\Utilities\ns10Validate.cs">
<Link>Utilities\ns10Validate.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.3\Extensions\ns13ExceptionExtensions.cs">
<Link>Extensions\ns13ExceptionExtensions.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.3\ns13DeploymentItem.cs">
<Link>Deployment\ns13DeploymentItem.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.3\Resources\Resource.Designer.cs">
<Link>Resources\Resource.Designer.cs</Link>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resource.resx</DependentUpon>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.3\Services\ns13MSTestAdapterSettings.cs">
<Link>Services\ns13MSTestAdapterSettings.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.3\Services\ns13TestDeployment.cs">
<Link>Services\ns13TestDeployment.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.3\Utilities\ns13DeploymentItemUtility.cs">
<Link>Utilities\ns13DeploymentItemUtility.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.3\Utilities\ns13DeploymentUtilityBase.cs">
<Link>Utilities\ns13DeploymentUtilityBase.cs</Link>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.3\Utilities\ns13FileUtility.cs">
<Link>Utilities\ns13FileUtility.cs</Link>
</Compile>
<Compile Include="AssemblyResolver.cs" />
<Compile Include="Constants.cs" />
<Compile Include="Data\CsvDataConnection.cs" />
Expand All @@ -55,19 +95,11 @@
<Compile Include="Data\TestDataConnectionSql.cs" />
<Compile Include="Data\XmlDataConnection.cs" />
<Compile Include="Deployment\AssemblyLoadWorker.cs" />
<Compile Include="Deployment\DeploymentItem.cs" />
<Compile Include="Deployment\TestRunDirectories.cs" />
<Compile Include="Extensions\ExceptionExtensions.cs" />
<Compile Include="Deployment\DesktopTestRunDirectories.cs" />
<Compile Include="Friends.cs" />
<Compile Include="Services\MSTestAdapterSettings.cs" />
<Compile Include="Utilities\AppDomainWrapper.cs" />
<Compile Include="Utilities\IAppDomain.cs" />
<Compile Include="Utilities\SequentialIntPermutation.cs" />
<Compile Include="Resources\Resource.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resource.resx</DependentUpon>
</Compile>
<Compile Include="..\PlatformServices.Shared\netstandard1.3\Services\ns13TraceListener.cs">
<Link>Services\ns13TraceListener.cs</Link>
</Compile>
Expand All @@ -78,23 +110,17 @@
<Compile Include="Services\DesktopReflectionOperations.cs" />
<Compile Include="Services\DesktopThreadOperations.cs" />
<Compile Include="Services\DesktopFileOperations.cs" />
<Compile Include="Services\MSTestSettingsProvider.cs" />
<Compile Include="Services\DesktopTestDataSource.cs" />
<Compile Include="Services\DesktopTestDeployment.cs" />
<Compile Include="Services\DesktopTestSource.cs" />
<Compile Include="Services\DesktopTestSourceHost.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RecursiveDirectoryPath.cs" />
<Compile Include="Services\DesktopTestContextImplementation.cs" />
<Compile Include="Utilities\AppDomainUtilities.cs" />
<Compile Include="Utilities\AssemblyUtility.cs" />
<Compile Include="Utilities\DeploymentItemUtility.cs" />
<Compile Include="Utilities\DeploymentUtility.cs" />
<Compile Include="Utilities\FileUtility.cs" />
<Compile Include="Utilities\DesktopAssemblyUtility.cs" />
<Compile Include="Utilities\DesktopDeploymentUtility.cs" />
<Compile Include="Utilities\IAssemblyUtility.cs" />
<Compile Include="Utilities\RandomIntPermutation.cs" />
<Compile Include="Utilities\ReflectionUtility.cs" />
<Compile Include="Utilities\Validate.cs" />
<Compile Include="Utilities\DesktopReflectionUtility.cs" />
<Compile Include="Utilities\VSInstallationUtilities.cs" />
<Compile Include="Utilities\XmlUtilities.cs" />
</ItemGroup>
Expand All @@ -119,12 +145,14 @@
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\Resource.resx">
<EmbeddedResource Include="..\PlatformServices.Shared\netstandard1.3\Resources\Resource.resx">
<Link>Resources\Resource.resx</Link>
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resource.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
<CustomToolNamespace>Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices</CustomToolNamespace>
</EmbeddedResource>
</ItemGroup>
<ItemGroup />
<Import Project="$(TestFxRoot)scripts\build\TestFx.targets" />
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ namespace Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices
using Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;

#pragma warning disable SA1649 // SA1649FileNameMustMatchTypeName

/// <summary>
/// This service is responsible for any file based operations.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ namespace Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices
using Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface;
using Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Utilities;

#pragma warning disable SA1649 // SA1649FileNameMustMatchTypeName

/// <summary>
/// This service is responsible for platform specific reflection operations.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ namespace Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices
using Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.ObjectModel;
using UTF = Microsoft.VisualStudio.TestTools.UnitTesting;

#pragma warning disable SA1649 // File name must match first type name

/// <summary>
/// Internal implementation of TestContext exposed to the user.
/// The virtual string properties of the TestContext are retreived from the property dictionary
Expand Down Expand Up @@ -464,26 +462,4 @@ private void InitializeProperties()
this.properties[TestContextPropertyStrings.TestName] = this.testMethod.Name;
}
}

#pragma warning restore SA1649 // SA1649FileNameMustMatchTypeName
#pragma warning disable SA1402 // File may only contain a single class

/// <summary>
/// Test Context Property Names.
/// </summary>
internal static class TestContextPropertyStrings
#pragma warning restore SA1402 // File may only contain a single class
{
public static readonly string TestRunDirectory = "TestRunDirectory";
public static readonly string DeploymentDirectory = "DeploymentDirectory";
public static readonly string ResultsDirectory = "ResultsDirectory";
public static readonly string TestRunResultsDirectory = "TestRunResultsDirectory";
public static readonly string TestResultsDirectory = "TestResultsDirectory";
public static readonly string TestDir = "TestDir";
public static readonly string TestDeploymentDir = "TestDeploymentDir";
public static readonly string TestLogsDir = "TestLogsDir";

public static readonly string FullyQualifiedTestClassName = "FullyQualifiedTestClassName";
public static readonly string TestName = "TestName";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ namespace Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities;

#pragma warning disable SA1649 // SA1649FileNameMustMatchTypeName

/// <summary>
/// A host that loads the test source.This can be in isolation for desktop using an AppDomain or just loading the source in the current context.
/// </summary>
Expand Down
Loading

0 comments on commit c956ab3

Please sign in to comment.