diff --git a/NuGetPackageVerifier.json b/NuGetPackageVerifier.json
index b153ab1515..9835bcd0c8 100644
--- a/NuGetPackageVerifier.json
+++ b/NuGetPackageVerifier.json
@@ -1,4 +1,18 @@
{
+ "adx": {
+ "rules": [
+ "DefaultCompositeRule"
+ ],
+ "packages": {
+ "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation": {
+ "exclusions": {
+ "DOC_MISSING": {
+ "lib/netcoreapp1.1/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.dll": "Not a class library. Docs not required for CLI tools"
+ }
+ }
+ }
+ }
+ },
"Default": {
"rules": [
"DefaultCompositeRule"
diff --git a/makefile.shade b/makefile.shade
new file mode 100644
index 0000000000..41bc61d4f3
--- /dev/null
+++ b/makefile.shade
@@ -0,0 +1,49 @@
+use assembly="System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
+use assembly="System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
+
+use namespace="System.IO"
+use namespace="System.IO.Compression"
+use namespace="System.Linq"
+
+use-standard-lifecycle
+k-standard-goals
+
+#repack-x86 target='compile' if='Directory.Exists("src") && !IsLinux'
+ @{
+ var buildDir= Path.Combine(Directory.GetCurrentDirectory(), "artifacts", "build");
+ var projectName = "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation";
+ var projectNupkg = Files
+ .Include(Path.Combine(buildDir, projectName + "*.nupkg"))
+ .Where(path => !path.EndsWith(".symbols.nupkg", StringComparison.OrdinalIgnoreCase))
+ .OrderByDescending(f => f) // On local builds multiple nupkgs are generated.
+ .First();
+
+ Log.Info("Repacking Nupkg: " + projectNupkg);
+
+ using (var zipArchive = ZipFile.Open(projectNupkg, ZipArchiveMode.Update))
+ {
+ MoveEntry(zipArchive, "lib/net451/" + projectName + ".exe", "runtimes/win7-x64/lib/net451/" + projectName + ".exe");
+ MoveEntry(zipArchive, "lib/net451/" + projectName + "-x86.exe", "runtimes/win7-x86/lib/net451/" + projectName + "-x86.exe");
+ zipArchive.CreateEntry("lib/net451/_._");
+ }
+ }
+
+functions @{
+ private static void MoveEntry(ZipArchive archive, string oldPath, string newPath)
+ {
+ var oldEntry = archive.GetEntry(oldPath);
+ if (oldEntry == null)
+ {
+ throw new Exception(oldPath + " was not found in package.");
+ }
+
+ var newEntry = archive.CreateEntry(newPath);
+ using (var newStream = newEntry.Open())
+ using (var oldStream = oldEntry.Open())
+ {
+ oldStream.CopyTo(newStream);
+ }
+
+ oldEntry.Delete();
+ }
+}
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/CompilationOptions.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/CompilationOptions.cs
index 5e7fc24f43..4adc9b3db7 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/CompilationOptions.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/CompilationOptions.cs
@@ -6,7 +6,7 @@ using Microsoft.Extensions.CommandLineUtils;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
{
- public class CompilationOptions
+ internal class CompilationOptions
{
public static readonly string ConfigureCompilationTypeTemplate = "--configure-compilation-type";
public static readonly string ContentRootTemplate = "--content-root";
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/DebugHelper.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/DebugHelper.cs
index 1999e85041..518b4318e6 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/DebugHelper.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/DebugHelper.cs
@@ -8,7 +8,7 @@ using System.Linq;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
{
- public static class DebugHelper
+ internal static class DebugHelper
{
public static void HandleDebugSwitch(ref string[] args)
{
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/MvcServiceProvider.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/MvcServiceProvider.cs
index df2c0dbcb9..740fba6f9a 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/MvcServiceProvider.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/MvcServiceProvider.cs
@@ -18,7 +18,7 @@ using Microsoft.AspNetCore.Mvc.Razor.Compilation;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
{
- public class MvcServiceProvider
+ internal class MvcServiceProvider
{
private readonly string _projectPath;
private readonly string _contentRoot;
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/PrecompilationApplication.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/PrecompilationApplication.cs
index bd1ac8a803..4ba381b7f2 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/PrecompilationApplication.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/PrecompilationApplication.cs
@@ -9,7 +9,7 @@ using Microsoft.Extensions.CommandLineUtils;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
{
- public class PrecompilationApplication : CommandLineApplication
+ internal class PrecompilationApplication : CommandLineApplication
{
private readonly Type _callingType;
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/PrecompileRunCommand.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/PrecompileRunCommand.cs
index 09cde85852..617fb5a9a2 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/PrecompileRunCommand.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/PrecompileRunCommand.cs
@@ -19,7 +19,7 @@ using Microsoft.Extensions.CommandLineUtils;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
{
- public class PrecompileRunCommand
+ internal class PrecompileRunCommand
{
private static readonly ParallelOptions ParalellOptions = new ParallelOptions
{
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/SnkUtils.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/SnkUtils.cs
index dfe3edb258..6e06878277 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/SnkUtils.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/SnkUtils.cs
@@ -8,7 +8,7 @@ using System.IO;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
{
// Copied from https://github.com/dotnet/cli/blob/rel/1.0.0/src/Microsoft.DotNet.ProjectModel.Workspaces/SnkUtils.cs
- public static class SnkUtils
+ internal static class SnkUtils
{
const byte PUBLICKEYBLOB = 0x06;
const byte PRIVATEKEYBLOB = 0x07;
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewCompilationInfo.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewCompilationInfo.cs
index 302f461b69..ba41993959 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewCompilationInfo.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewCompilationInfo.cs
@@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Razor.Evolution;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
{
- public class ViewCompilationInfo
+ internal class ViewCompilationInfo
{
public ViewCompilationInfo(
ViewFileInfo viewFileInfo,
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewFileInfo.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewFileInfo.cs
index fe8f1196fc..56e0586525 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewFileInfo.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewFileInfo.cs
@@ -5,7 +5,7 @@ using System.IO;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
{
- public struct ViewFileInfo
+ internal struct ViewFileInfo
{
public ViewFileInfo(string fullPath, string viewEnginePath)
{
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewInfoContainerCodeGenerator.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewInfoContainerCodeGenerator.cs
index c00ded2d08..52eee2242f 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewInfoContainerCodeGenerator.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Internal/ViewInfoContainerCodeGenerator.cs
@@ -15,7 +15,7 @@ using Microsoft.CodeAnalysis.Text;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal
{
- public class ViewInfoContainerCodeGenerator
+ internal class ViewInfoContainerCodeGenerator
{
public ViewInfoContainerCodeGenerator(
CSharpCompiler compiler,
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.csproj b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.csproj
index 43c611b961..ef524d6a14 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.csproj
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.csproj
@@ -1,26 +1,23 @@
-
-
-
- Build-time references required to enable Razor view compilation as part of building the application.
- netcoreapp1.1;net451
- win7-x64
- cshtml;razor;compilation;precompilation;aspnetcore
- true
- exe
- false
- ..\..\tools\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86\
-
- build
- build
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ Build-time references required to enable Razor view compilation as part of building the application.
+ netcoreapp1.1;net451
+ win7-x64
+ cshtml;razor;compilation;precompilation;aspnetcore
+ true
+ exe
+ ..\..\tools\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86\
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Program.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Program.cs
index 623f661e3f..0b4b532c93 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Program.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Program.cs
@@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Internal;
namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
{
- public class Program
+ internal class Program
{
private readonly static Type ProgramType = typeof(Program);
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Properties/AssemblyInfo.cs b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..44f26e88db
--- /dev/null
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Properties/AssemblyInfo.cs
@@ -0,0 +1,7 @@
+// 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.AspNetCore.Mvc.Razor.ViewCompilation.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/common.targets b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/common.targets
index 7df1e2a00a..55d6dbace1 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/common.targets
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/common.targets
@@ -8,6 +8,7 @@
$(MSBuildProjectDirectory)
true
+ true
@@ -53,7 +54,7 @@
Condition="'$(MvcRazorCompileOnPublish)'=='true'" />
@@ -65,6 +66,12 @@
$([System.IO.Path]::GetFileName('$(_MvcRazorOutputFullPath)'))
+
+
+
+
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/net451/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/net451/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets
index 032406f597..66a5c2b663 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/net451/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/net451/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets
@@ -17,18 +17,12 @@
$(OutputPath)$(MSBuildThisFileName)-x86.exe.config
-
- $(OutputPath)$(MSBuildThisFileName)-x86.exe
-
$(OutputPath)$(MSBuildThisFileName).exe.config
-
- $(OutputPath)$(MSBuildThisFileName).exe
-
--runtimeconfig "$(ProjectRuntimeConfigFilePath)"
$(ExecArgs) --depsfile "$(ProjectDepsFilePath)"
- $(ExecArgs) "$(MSBuildThisFileDirectory)$(MSBuildThisFileName).dll"
+ $(ExecArgs) "$(MSBuildThisFileDirectory)../../lib/netcoreapp1.1/$(MSBuildThisFileName).dll"
$(ExecArgs) @"$(_MvcRazorResponseFilePath)"
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationConsumingPrecompiledViews.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationConsumingPrecompiledViews.cs
index 3f3506a5a1..ec882b50f8 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationConsumingPrecompiledViews.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationConsumingPrecompiledViews.cs
@@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData;
- [ConditionalTheory(Skip = "MVC #5736")]
+ [ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux,
SkipReason = "https://github.com/NuGet/Home/issues/4243, https://github.com/NuGet/Home/issues/4240")]
[OSSkipCondition(OperatingSystems.MacOSX,
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationUsingRelativePathsTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationUsingRelativePathsTest.cs
index aa6acc501c..0f09ecb982 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationUsingRelativePathsTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationUsingRelativePathsTest.cs
@@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData;
- [Theory(Skip = "MVC #5736")]
+ [Theory]
[MemberData(nameof(SupportedFlavorsTheoryData))]
public async Task Precompilation_WorksForViewsUsingRelativePath(RuntimeFlavor flavor)
{
@@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
}
}
- [Theory(Skip = "MVC #5736")]
+ [Theory]
[MemberData(nameof(SupportedFlavorsTheoryData))]
public async Task Precompilation_WorksForViewsUsingDirectoryTraversal(RuntimeFlavor flavor)
{
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithConfigureMvcTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithConfigureMvcTest.cs
index fab3bdc221..d4e80d6b8b 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithConfigureMvcTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithConfigureMvcTest.cs
@@ -21,7 +21,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData;
- [Theory(Skip = "MVC #5736")]
+ [Theory]
[MemberData(nameof(SupportedFlavorsTheoryData))]
public async Task Precompilation_RunsConfiguredCompilationCallbacks(RuntimeFlavor flavor)
{
@@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
}
}
- [Theory(Skip = "MVC #5736")]
+ [Theory]
[MemberData(nameof(SupportedFlavorsTheoryData))]
public async Task Precompilation_UsesConfiguredParseOptions(RuntimeFlavor flavor)
{
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithTagHelpersTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithTagHelpersTest.cs
index fdbff3dd40..8b79ace4ed 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithTagHelpersTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithTagHelpersTest.cs
@@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
}
}
- [Theory(Skip = "MVC #5736")]
+ [Theory]
[MemberData(nameof(ApplicationWithTagHelpersData))]
public async Task Precompilation_WorksForViewsThatUseTagHelpers(string url, RuntimeFlavor flavor)
{
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Infrastructure/ApplicationTestFixture.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Infrastructure/ApplicationTestFixture.cs
index 7638c78038..df08d0e20c 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Infrastructure/ApplicationTestFixture.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Infrastructure/ApplicationTestFixture.cs
@@ -38,6 +38,13 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
public ILogger Logger { get; private set; }
public IApplicationDeployer CreateDeployment(RuntimeFlavor flavor)
+ {
+ PrepareForDeployment(flavor);
+ var deploymentParameters = GetDeploymentParameters(flavor);
+ return ApplicationDeployerFactory.Create(deploymentParameters, Logger);
+ }
+
+ public virtual void PrepareForDeployment(RuntimeFlavor flavor)
{
Logger = CreateLogger(flavor);
@@ -46,7 +53,10 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
Restore();
_isRestored = true;
}
+ }
+ public virtual DeploymentParameters GetDeploymentParameters(RuntimeFlavor flavor)
+ {
var tempRestoreDirectoryEnvironment = new KeyValuePair(
NuGetPackagesEnvironmentKey,
TempRestoreDirectory);
@@ -82,7 +92,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
},
};
- return ApplicationDeployerFactory.Create(deploymentParameters, Logger);
+ return deploymentParameters;
}
protected virtual ILogger CreateLogger(RuntimeFlavor flavor)
@@ -132,14 +142,23 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
}
}
- Command
+ var command = Command
.CreateDotNet("restore", args)
.EnvironmentVariable(DotnetSkipFirstTimeExperience, "true")
- .ForwardStdErr(Console.Error)
- .ForwardStdOut(Console.Out)
+ .CaptureStdErr()
+ .CaptureStdOut()
.WorkingDirectory(applicationDirectory)
- .Execute()
- .EnsureSuccessful();
+ .Execute();
+
+ if (command.ExitCode != 0)
+ {
+ throw new Exception(
+$@"dotnet {command.StartInfo.Arguments} failed.
+===StdOut===
+{command.StdOut}
+===StdErr===
+{command.StdErr}");
+ }
}
private static string CreateTempRestoreDirectory()
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests.csproj b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests.csproj
index 374c93019d..182cb42f2d 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests.csproj
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests.csproj
@@ -13,6 +13,7 @@
+
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/PublishWithEmbedViewSourcesTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/PublishWithEmbedViewSourcesTest.cs
index ae84606705..1ae6b77938 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/PublishWithEmbedViewSourcesTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/PublishWithEmbedViewSourcesTest.cs
@@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests
public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData;
- [Theory(Skip = "MVC #5736")]
+ [Theory]
[MemberData(nameof(SupportedFlavorsTheoryData))]
public async Task Precompilation_CanEmbedViewSourcesAsResources(RuntimeFlavor flavor)
{
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Resources/SimpleAppMvc11Test.Home.Index.txt b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Resources/SimpleAppMvc11Test.Home.Index.txt
new file mode 100644
index 0000000000..c963a4268b
--- /dev/null
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Resources/SimpleAppMvc11Test.Home.Index.txt
@@ -0,0 +1,3 @@
+Hello from Index: AspNetCore._Views_Home_Index_cshtml, SimpleAppMvc11.PrecompiledViews, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+
+AspNetCore._Views_Shared__Layout_cshtml, SimpleAppMvc11.PrecompiledViews, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppDesktopOnlyTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppDesktopOnlyTest.cs
index d7725794d8..191581d4d9 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppDesktopOnlyTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppDesktopOnlyTest.cs
@@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
public ApplicationTestFixture Fixture { get; }
- [ConditionalFact(Skip = "MVC #5736")]
+ [ConditionalFact]
[OSSkipConditionAttribute(OperatingSystems.Linux)]
[OSSkipConditionAttribute(OperatingSystems.MacOSX)]
public async Task Precompilation_WorksForSimpleApps()
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppTest.cs
index 02a1407124..3e9e48007d 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppTest.cs
@@ -20,7 +20,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData;
- [Theory(Skip = "MVC #5736")]
+ [Theory]
[MemberData(nameof(SupportedFlavorsTheoryData))]
public async Task Precompilation_WorksForSimpleApps(RuntimeFlavor flavor)
{
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppX86DesktopOnlyTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppX86DesktopOnlyTest.cs
index 96524703f2..014751bfd5 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppX86DesktopOnlyTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppX86DesktopOnlyTest.cs
@@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
public ApplicationTestFixture Fixture { get; }
- [ConditionalFact(Skip = "MVC #5736")]
+ [ConditionalFact]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
public async Task Precompilation_WorksForSimpleApps()
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/StrongNamedAppTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/StrongNamedAppTest.cs
index 956eb647bb..8b13cf027e 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/StrongNamedAppTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/StrongNamedAppTest.cs
@@ -20,7 +20,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData;
- [Theory(Skip = "MVC #5736")]
+ [Theory]
[MemberData(nameof(SupportedFlavorsTheoryData))]
public async Task PrecompiledAssembliesUseSameStrongNameAsApplication(RuntimeFlavor flavor)
{
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ViewCompilationOptionsTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ViewCompilationOptionsTest.cs
new file mode 100644
index 0000000000..adafc8785d
--- /dev/null
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ViewCompilationOptionsTest.cs
@@ -0,0 +1,65 @@
+// 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 Microsoft.AspNetCore.Server.IntegrationTesting;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
+{
+ public class ViewCompilationOptionsTest : IClassFixture
+ {
+ public ViewCompilationOptionsTest(TestFixture fixture)
+ {
+ Fixture = fixture;
+ }
+
+ public ApplicationTestFixture Fixture { get; }
+
+ public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData;
+
+ [Theory]
+ [MemberData(nameof(SupportedFlavorsTheoryData))]
+ public void Precompilation_PreventsRefAssembliesFromBeingPublished(RuntimeFlavor flavor)
+ {
+ // Arrange
+ using (var deployer = Fixture.CreateDeployment(flavor))
+ {
+ // Act
+ var deploymentResult = deployer.Deploy();
+
+ // Assert
+ Assert.False(Directory.Exists(Path.Combine(deploymentResult.ContentRoot, "refs")));
+ }
+ }
+
+ [Theory]
+ [MemberData(nameof(SupportedFlavorsTheoryData))]
+ public void PublishingWithOption_AllowsPublishingRefAssemblies(RuntimeFlavor flavor)
+ {
+ // Arrange
+ Fixture.PrepareForDeployment(flavor);
+ var deploymentParameters = Fixture.GetDeploymentParameters(flavor);
+ deploymentParameters.PublishEnvironmentVariables.Add(
+ new KeyValuePair("MvcRazorExcludeRefAssembliesFromPublish", "false"));
+
+ using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, Fixture.Logger))
+ {
+ // Act
+ var deploymentResult = deployer.Deploy();
+
+ // Assert
+ Assert.True(Directory.Exists(Path.Combine(deploymentResult.ContentRoot, "refs")));
+ }
+ }
+
+ public class TestFixture : ApplicationTestFixture
+ {
+ public TestFixture()
+ : base("SimpleApp")
+ {
+ }
+ }
+ }
+}
diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj
index 515821f5aa..d2a447c2ac 100644
--- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj
+++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj
@@ -13,4 +13,8 @@
+
+
+
+