diff --git a/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/BuildIncrementalismTest.cs b/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/BuildIncrementalismTest.cs index fb0a5f0abe..31c67f5acc 100644 --- a/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/BuildIncrementalismTest.cs +++ b/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/BuildIncrementalismTest.cs @@ -28,7 +28,7 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests var thumbprintLookup = new Dictionary(); // Act 1 - var result = await DotnetMSBuild("Build"); + var result = await DotnetMSBuild("Build", runRestoreBeforeBuildOrPublish: false); var directoryPath = Path.Combine(result.Project.DirectoryPath, IntermediateOutputPath); var filesToIgnore = new[] @@ -54,7 +54,7 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests // We want to make sure nothing changed between multiple incremental builds. using (var razorGenDirectoryLock = LockDirectory(RazorIntermediateOutputPath)) { - result = await DotnetMSBuild("Build"); + result = await DotnetMSBuild("Build", runRestoreBeforeBuildOrPublish: false); } Assert.BuildPassed(result); diff --git a/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/MSBuildIntegrationTestBase.cs b/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/MSBuildIntegrationTestBase.cs index 4803f4d46d..dd6c6e71b2 100644 --- a/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/MSBuildIntegrationTestBase.cs +++ b/src/Razor/Microsoft.NET.Sdk.Razor/test/IntegrationTests/MSBuildIntegrationTestBase.cs @@ -60,7 +60,8 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests bool suppressTimeout = false, bool suppressBuildServer = false, string buildServerPipeName = null, - MSBuildProcessKind msBuildProcessKind = MSBuildProcessKind.Dotnet) + MSBuildProcessKind msBuildProcessKind = MSBuildProcessKind.Dotnet, + bool runRestoreBeforeBuildOrPublish = true) { var timeout = suppressTimeout ? (TimeSpan?)Timeout.InfiniteTimeSpan : null; var buildArgumentList = new List @@ -82,8 +83,25 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests if (!string.IsNullOrEmpty(target)) { + // Restore before build or publish + if (runRestoreBeforeBuildOrPublish && + (string.Equals("Build", target, StringComparison.OrdinalIgnoreCase) + || string.Equals("Publish", target, StringComparison.OrdinalIgnoreCase))) + { + buildArgumentList.Add($"/t:Restore"); + } + buildArgumentList.Add($"/t:{target}"); } + else + { + // By default, restore then build + if (runRestoreBeforeBuildOrPublish) + { + buildArgumentList.Add($"/t:Restore"); + } + buildArgumentList.Add($"/t:Build"); + } buildArgumentList.Add($"/p:Configuration={Configuration} {args}"); var buildArguments = string.Join(" ", buildArgumentList);