Remove manifest generation
This commit is contained in:
parent
911b8e0571
commit
60d47561b9
|
|
@ -13,7 +13,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{02F7AA35-91A
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0398AFFF-505E-4283-89DA-BBD9D28B53DB}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0398AFFF-505E-4283-89DA-BBD9D28B53DB}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests", "test\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests.csproj", "{46C9A4B2-8B1C-451B-B670-C194901D66AC}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunctionalTests", "test\FunctionalTests\FunctionalTests.csproj", "{46C9A4B2-8B1C-451B-B670-C194901D66AC}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test", "test\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj", "{E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test", "test\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj", "{E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}"
|
||||||
EndProject
|
EndProject
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
// 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.IO;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using Microsoft.AspNetCore.Mvc.Razor.Internal;
|
||||||
|
using Microsoft.CodeAnalysis;
|
||||||
|
using Microsoft.CodeAnalysis.CSharp;
|
||||||
|
using Microsoft.CodeAnalysis.Text;
|
||||||
|
|
||||||
|
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
|
||||||
|
{
|
||||||
|
internal static class AssemblyMetadataGenerator
|
||||||
|
{
|
||||||
|
public static CSharpCompilation AddAssemblyMetadata(
|
||||||
|
CSharpCompiler compiler,
|
||||||
|
CSharpCompilation compilation,
|
||||||
|
CompilationOptions compilationOptions)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(compilationOptions.KeyFile))
|
||||||
|
{
|
||||||
|
var updatedOptions = compilation.Options.WithStrongNameProvider(new DesktopStrongNameProvider());
|
||||||
|
var keyFilePath = Path.GetFullPath(compilationOptions.KeyFile);
|
||||||
|
|
||||||
|
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || compilationOptions.PublicSign)
|
||||||
|
{
|
||||||
|
updatedOptions = updatedOptions.WithCryptoPublicKey(
|
||||||
|
SnkUtils.ExtractPublicKey(File.ReadAllBytes(keyFilePath)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
updatedOptions = updatedOptions.WithCryptoKeyFile(keyFilePath)
|
||||||
|
.WithDelaySign(compilationOptions.DelaySign);
|
||||||
|
}
|
||||||
|
|
||||||
|
compilation = compilation.WithOptions(updatedOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
var applicationAssemblyName = Assembly.Load(new AssemblyName(compilationOptions.ApplicationName)).GetName();
|
||||||
|
var assemblyVersionContent = $"[assembly:{typeof(AssemblyVersionAttribute).FullName}(\"{applicationAssemblyName.Version}\")]";
|
||||||
|
var syntaxTree = compiler.CreateSyntaxTree(SourceText.From(assemblyVersionContent));
|
||||||
|
return compilation.AddSyntaxTrees(syntaxTree);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,149 +0,0 @@
|
||||||
// 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.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Reflection;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using System.Text;
|
|
||||||
using Microsoft.AspNetCore.Mvc.ApplicationParts;
|
|
||||||
using Microsoft.AspNetCore.Mvc.Razor.Compilation;
|
|
||||||
using Microsoft.AspNetCore.Mvc.Razor.Internal;
|
|
||||||
using Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure;
|
|
||||||
using Microsoft.CodeAnalysis;
|
|
||||||
using Microsoft.CodeAnalysis.CSharp;
|
|
||||||
using Microsoft.CodeAnalysis.Text;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
|
|
||||||
{
|
|
||||||
internal class ManifestGenerator
|
|
||||||
{
|
|
||||||
public ManifestGenerator(
|
|
||||||
CSharpCompiler compiler,
|
|
||||||
CSharpCompilation compilation)
|
|
||||||
{
|
|
||||||
Compiler = compiler;
|
|
||||||
Compilation = compilation;
|
|
||||||
}
|
|
||||||
|
|
||||||
public CSharpCompiler Compiler { get; }
|
|
||||||
|
|
||||||
public CSharpCompilation Compilation { get; private set; }
|
|
||||||
|
|
||||||
public void GenerateManifest(IList<ViewCompilationInfo> results)
|
|
||||||
{
|
|
||||||
var views = new List<ViewCompilationInfo>();
|
|
||||||
var pages = new List<ViewCompilationInfo>();
|
|
||||||
|
|
||||||
for (var i = 0; i < results.Count; i++)
|
|
||||||
{
|
|
||||||
var result = results[i];
|
|
||||||
if (result.RouteTemplate != null)
|
|
||||||
{
|
|
||||||
pages.Add(result);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
views.Add(result);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GeneratePageManifest(pages);
|
|
||||||
GenerateViewManifest(views);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void GenerateViewManifest(IList<ViewCompilationInfo> result)
|
|
||||||
{
|
|
||||||
if (result.Count == 0)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var precompiledViewsArray = new StringBuilder();
|
|
||||||
foreach (var item in result)
|
|
||||||
{
|
|
||||||
var path = item.ViewFileInfo.ViewEnginePath;
|
|
||||||
precompiledViewsArray.AppendLine(
|
|
||||||
$"new global::{typeof(ViewInfo).FullName}(@\"{path}\", typeof({item.TypeName})),");
|
|
||||||
}
|
|
||||||
|
|
||||||
var factoryContent = $@"
|
|
||||||
namespace {ViewsFeatureProvider.ViewInfoContainerNamespace}
|
|
||||||
{{
|
|
||||||
public class {ViewsFeatureProvider.ViewInfoContainerTypeName} : global::{typeof(ViewInfoContainer).FullName}
|
|
||||||
{{
|
|
||||||
public {ViewsFeatureProvider.ViewInfoContainerTypeName}() : base(new[]
|
|
||||||
{{
|
|
||||||
{precompiledViewsArray}
|
|
||||||
}})
|
|
||||||
{{
|
|
||||||
}}
|
|
||||||
}}
|
|
||||||
}}";
|
|
||||||
var syntaxTree = Compiler.CreateSyntaxTree(SourceText.From(factoryContent));
|
|
||||||
Compilation = Compilation.AddSyntaxTrees(syntaxTree);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void GeneratePageManifest(IList<ViewCompilationInfo> pages)
|
|
||||||
{
|
|
||||||
if (pages.Count == 0)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var precompiledViewsArray = new StringBuilder();
|
|
||||||
foreach (var item in pages)
|
|
||||||
{
|
|
||||||
var path = item.ViewFileInfo.ViewEnginePath;
|
|
||||||
var routeTemplate = item.RouteTemplate;
|
|
||||||
var escapedRouteTemplate = routeTemplate.Replace("\"", "\\\"");
|
|
||||||
precompiledViewsArray.AppendLine(
|
|
||||||
$"new global::{typeof(CompiledPageInfo).FullName}(@\"{path}\", typeof({item.TypeName}), \"{escapedRouteTemplate}\"),");
|
|
||||||
}
|
|
||||||
|
|
||||||
var factoryContent = $@"
|
|
||||||
namespace {CompiledPageFeatureProvider.CompiledPageManifestNamespace}
|
|
||||||
{{
|
|
||||||
public class {CompiledPageFeatureProvider.CompiledPageManifestTypeName} : global::{typeof(CompiledPageManifest).FullName}
|
|
||||||
{{
|
|
||||||
public {CompiledPageFeatureProvider.CompiledPageManifestTypeName}() : base(new[]
|
|
||||||
{{
|
|
||||||
{precompiledViewsArray}
|
|
||||||
}})
|
|
||||||
{{
|
|
||||||
}}
|
|
||||||
}}
|
|
||||||
}}";
|
|
||||||
var syntaxTree = Compiler.CreateSyntaxTree(SourceText.From(factoryContent));
|
|
||||||
Compilation = Compilation.AddSyntaxTrees(syntaxTree);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AddAssemblyMetadata(
|
|
||||||
AssemblyName applicationAssemblyName,
|
|
||||||
CompilationOptions compilationOptions)
|
|
||||||
{
|
|
||||||
if (!string.IsNullOrEmpty(compilationOptions.KeyFile))
|
|
||||||
{
|
|
||||||
var updatedOptions = Compilation.Options.WithStrongNameProvider(new DesktopStrongNameProvider());
|
|
||||||
var keyFilePath = Path.GetFullPath(compilationOptions.KeyFile);
|
|
||||||
|
|
||||||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || compilationOptions.PublicSign)
|
|
||||||
{
|
|
||||||
updatedOptions = updatedOptions.WithCryptoPublicKey(
|
|
||||||
SnkUtils.ExtractPublicKey(File.ReadAllBytes(keyFilePath)));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
updatedOptions = updatedOptions.WithCryptoKeyFile(keyFilePath)
|
|
||||||
.WithDelaySign(compilationOptions.DelaySign);
|
|
||||||
}
|
|
||||||
|
|
||||||
Compilation = Compilation.WithOptions(updatedOptions);
|
|
||||||
}
|
|
||||||
|
|
||||||
var assemblyVersionContent = $"[assembly:{typeof(AssemblyVersionAttribute).FullName}(\"{applicationAssemblyName.Version}\")]";
|
|
||||||
var syntaxTree = Compiler.CreateSyntaxTree(SourceText.From(assemblyVersionContent));
|
|
||||||
Compilation = Compilation.AddSyntaxTrees(syntaxTree);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -4,18 +4,13 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.AspNetCore.Mvc.Razor.Compilation;
|
using Microsoft.AspNetCore.Mvc.Razor.Compilation;
|
||||||
using Microsoft.AspNetCore.Mvc.Razor.Extensions;
|
|
||||||
using Microsoft.AspNetCore.Mvc.Razor.Internal;
|
using Microsoft.AspNetCore.Mvc.Razor.Internal;
|
||||||
using Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure;
|
|
||||||
using Microsoft.AspNetCore.Razor.Language;
|
|
||||||
using Microsoft.CodeAnalysis;
|
using Microsoft.CodeAnalysis;
|
||||||
using Microsoft.CodeAnalysis.CSharp;
|
using Microsoft.CodeAnalysis.CSharp;
|
||||||
using Microsoft.CodeAnalysis.CSharp.Syntax;
|
|
||||||
using Microsoft.CodeAnalysis.Emit;
|
using Microsoft.CodeAnalysis.Emit;
|
||||||
using Microsoft.CodeAnalysis.Text;
|
using Microsoft.CodeAnalysis.Text;
|
||||||
using Microsoft.Extensions.CommandLineUtils;
|
using Microsoft.Extensions.CommandLineUtils;
|
||||||
|
|
@ -181,25 +176,17 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
|
||||||
});
|
});
|
||||||
|
|
||||||
compilation = compilation.AddSyntaxTrees(syntaxTrees);
|
compilation = compilation.AddSyntaxTrees(syntaxTrees);
|
||||||
Parallel.For(0, results.Length, ParalellOptions, i =>
|
|
||||||
{
|
|
||||||
results[i].TypeName = ReadTypeInfo(compilation, syntaxTrees[i]);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Post process the compilation - run ExpressionRewritter and any user specified callbacks.
|
// Post process the compilation - run ExpressionRewritter and any user specified callbacks.
|
||||||
compilation = ExpressionRewriter.Rewrite(compilation);
|
compilation = ExpressionRewriter.Rewrite(compilation);
|
||||||
var compilationContext = new RoslynCompilationContext(compilation);
|
var compilationContext = new RoslynCompilationContext(compilation);
|
||||||
MvcServiceProvider.ViewEngineOptions.CompilationCallback(compilationContext);
|
MvcServiceProvider.ViewEngineOptions.CompilationCallback(compilationContext);
|
||||||
compilation = compilationContext.Compilation;
|
compilation = AssemblyMetadataGenerator.AddAssemblyMetadata(
|
||||||
|
compiler,
|
||||||
var codeGenerator = new ManifestGenerator(compiler, compilation);
|
compilationContext.Compilation,
|
||||||
codeGenerator.GenerateManifest(results);
|
Options);
|
||||||
|
|
||||||
var assemblyName = new AssemblyName(Options.ApplicationName);
|
return compilation;
|
||||||
assemblyName = Assembly.Load(assemblyName).GetName();
|
|
||||||
codeGenerator.AddAssemblyMetadata(assemblyName, Options);
|
|
||||||
|
|
||||||
return codeGenerator.Compilation;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool ParseArguments()
|
private bool ParseArguments()
|
||||||
|
|
@ -247,11 +234,6 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
|
||||||
compilationInfo = new ViewCompilationInfo(fileInfo, csharpDocument);
|
compilationInfo = new ViewCompilationInfo(fileInfo, csharpDocument);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PageDirectiveFeature.TryGetPageDirective(fileInfo.CreateReadStream, out var template))
|
|
||||||
{
|
|
||||||
compilationInfo.RouteTemplate = template ?? string.Empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
results[i] = compilationInfo;
|
results[i] = compilationInfo;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -277,21 +259,5 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
|
||||||
|
|
||||||
return viewFileInfo;
|
return viewFileInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string ReadTypeInfo(CSharpCompilation compilation, SyntaxTree syntaxTree)
|
|
||||||
{
|
|
||||||
var semanticModel = compilation.GetSemanticModel(syntaxTree, ignoreAccessibility: true);
|
|
||||||
var classDeclarations = syntaxTree.GetRoot().DescendantNodes().OfType<ClassDeclarationSyntax>();
|
|
||||||
foreach (var declaration in classDeclarations)
|
|
||||||
{
|
|
||||||
var typeSymbol = semanticModel.GetDeclaredSymbol(declaration);
|
|
||||||
if (typeSymbol.ContainingType == null && typeSymbol.DeclaredAccessibility == Accessibility.Public)
|
|
||||||
{
|
|
||||||
return typeSymbol.ToDisplayString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// 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.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Mvc.Razor.Extensions;
|
|
||||||
using Microsoft.AspNetCore.Razor.Language;
|
using Microsoft.AspNetCore.Razor.Language;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
|
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
|
||||||
{
|
{
|
||||||
internal class ViewCompilationInfo
|
internal struct ViewCompilationInfo
|
||||||
{
|
{
|
||||||
public ViewCompilationInfo(
|
public ViewCompilationInfo(
|
||||||
ViewFileInfo viewFileInfo,
|
ViewFileInfo viewFileInfo,
|
||||||
|
|
@ -19,9 +18,5 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
|
||||||
public ViewFileInfo ViewFileInfo { get; }
|
public ViewFileInfo ViewFileInfo { get; }
|
||||||
|
|
||||||
public RazorCSharpDocument CSharpDocument { get; }
|
public RazorCSharpDocument CSharpDocument { get; }
|
||||||
|
|
||||||
public string TypeName { get; set; }
|
|
||||||
|
|
||||||
public string RouteTemplate { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class ApplicationConsumingPrecompiledViews
|
public class ApplicationConsumingPrecompiledViews
|
||||||
: IClassFixture<ApplicationConsumingPrecompiledViews.ApplicationConsumingPrecompiledViewsFixture>
|
: IClassFixture<ApplicationConsumingPrecompiledViews.ApplicationConsumingPrecompiledViewsFixture>
|
||||||
|
|
@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class ApplicationUsingRelativePathsTest :
|
public class ApplicationUsingRelativePathsTest :
|
||||||
IClassFixture<ApplicationUsingRelativePathsTest.ApplicationUsingRelativePathsTestFixture>
|
IClassFixture<ApplicationUsingRelativePathsTest.ApplicationUsingRelativePathsTestFixture>
|
||||||
|
|
@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class ApplicationWithConfigureMvcTest
|
public class ApplicationWithConfigureMvcTest
|
||||||
: IClassFixture<ApplicationWithConfigureMvcTest.ApplicationWithConfigureMvcFixture>
|
: IClassFixture<ApplicationWithConfigureMvcTest.ApplicationWithConfigureMvcFixture>
|
||||||
|
|
@ -9,7 +9,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class ApplicationWithCustomInputFilesTest
|
public class ApplicationWithCustomInputFilesTest
|
||||||
: IClassFixture<ApplicationWithCustomInputFilesTest.ApplicationWithCustomInputFilesTestFixture>
|
: IClassFixture<ApplicationWithCustomInputFilesTest.ApplicationWithCustomInputFilesTestFixture>
|
||||||
|
|
@ -10,7 +10,7 @@ using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Microsoft.Extensions.Logging.Testing;
|
using Microsoft.Extensions.Logging.Testing;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class ApplicationWithParseErrorsTest
|
public class ApplicationWithParseErrorsTest
|
||||||
{
|
{
|
||||||
|
|
@ -7,7 +7,7 @@ using System.Threading.Tasks;
|
||||||
using Microsoft.AspNetCore.Server.IntegrationTesting;
|
using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class TagHelperTest : IClassFixture<TagHelperTest.ApplicationWithTagHelpersFixture>
|
public class TagHelperTest : IClassFixture<TagHelperTest.ApplicationWithTagHelpersFixture>
|
||||||
{
|
{
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public static class ApplicationPaths
|
public static class ApplicationPaths
|
||||||
{
|
{
|
||||||
|
|
@ -9,7 +9,7 @@ using System.Threading.Tasks;
|
||||||
using Microsoft.AspNetCore.Server.IntegrationTesting;
|
using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public abstract class ApplicationTestFixture : IDisposable
|
public abstract class ApplicationTestFixture : IDisposable
|
||||||
{
|
{
|
||||||
|
|
@ -8,7 +8,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public static class HttpClientExtensions
|
public static class HttpClientExtensions
|
||||||
{
|
{
|
||||||
|
|
@ -5,7 +5,7 @@ using System.IO;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public static class TestEmbeddedResource
|
public static class TestEmbeddedResource
|
||||||
{
|
{
|
||||||
|
|
@ -9,7 +9,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class PublishWithEmbedViewSourcesTest
|
public class PublishWithEmbedViewSourcesTest
|
||||||
: IClassFixture<PublishWithEmbedViewSourcesTest.PublishWithEmbedViewSourcesTestFixture>
|
: IClassFixture<PublishWithEmbedViewSourcesTest.PublishWithEmbedViewSourcesTestFixture>
|
||||||
|
|
@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class RazorPagesAppTest : IClassFixture<RazorPagesAppTest.TestFixture>
|
public class RazorPagesAppTest : IClassFixture<RazorPagesAppTest.TestFixture>
|
||||||
{
|
{
|
||||||
|
|
@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
|
||||||
using Microsoft.AspNetCore.Server.IntegrationTesting;
|
using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public static class RuntimeFlavors
|
public static class RuntimeFlavors
|
||||||
{
|
{
|
||||||
|
|
@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class SimpleAppTest : IClassFixture<SimpleAppTest.SimpleAppTestFixture>
|
public class SimpleAppTest : IClassFixture<SimpleAppTest.SimpleAppTestFixture>
|
||||||
{
|
{
|
||||||
|
|
@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class SimpleAppWithAssemblyRenameTest : IClassFixture<SimpleAppWithAssemblyRenameTest.TestFixture>
|
public class SimpleAppWithAssemblyRenameTest : IClassFixture<SimpleAppWithAssemblyRenameTest.TestFixture>
|
||||||
{
|
{
|
||||||
|
|
@ -5,7 +5,7 @@ using System.Threading.Tasks;
|
||||||
using Microsoft.AspNetCore.Server.IntegrationTesting;
|
using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class SimpleAppX86DesktopOnlyTest : IClassFixture<SimpleAppX86DesktopOnlyTest.SimpleAppX86DesktopOnlyFixture>
|
public class SimpleAppX86DesktopOnlyTest : IClassFixture<SimpleAppX86DesktopOnlyTest.SimpleAppX86DesktopOnlyFixture>
|
||||||
{
|
{
|
||||||
|
|
@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class StrongNamedAppTest : IClassFixture<StrongNamedAppTest.StrongNamedAppFixture>
|
public class StrongNamedAppTest : IClassFixture<StrongNamedAppTest.StrongNamedAppFixture>
|
||||||
{
|
{
|
||||||
|
|
@ -8,7 +8,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting;
|
||||||
using Microsoft.AspNetCore.Testing.xunit;
|
using Microsoft.AspNetCore.Testing.xunit;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
|
namespace FunctionalTests
|
||||||
{
|
{
|
||||||
public class ViewCompilationOptionsTest : IClassFixture<ViewCompilationOptionsTest.TestFixture>
|
public class ViewCompilationOptionsTest : IClassFixture<ViewCompilationOptionsTest.TestFixture>
|
||||||
{
|
{
|
||||||
Loading…
Reference in New Issue