Add a Razor design time build
This allows Razor to know what files belong to the project.
This commit is contained in:
parent
ccec11c19d
commit
a412299881
|
|
@ -45,4 +45,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
|||
</PropertyPageSchema>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="RazorGenerateDesignTime" DependsOnTargets="ResolveRazorGenerateInputs;AssignRazorGenerateTargetPaths" Returns="@(RazorGenerateWithTargetPath)">
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,6 +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.IO;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
|
|
@ -35,5 +36,33 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
|||
Assert.DoesNotContain("RazorCoreGenerate", result.Output);
|
||||
Assert.DoesNotContain("RazorCoreCompile", result.Output);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[InitializeTestProject("SimpleMvc")]
|
||||
public async Task RazorGenerateDesignTime_ReturnsRazorGenerateWithTargetPath()
|
||||
{
|
||||
var result = await DotnetMSBuild("RazorGenerateDesignTime;_IntrospectRazorGenerateWithTargetPath");
|
||||
|
||||
Assert.BuildPassed(result);
|
||||
|
||||
var filePaths = new string[]
|
||||
{
|
||||
Path.Combine("Views", "Home", "About.cshtml"),
|
||||
Path.Combine("Views", "Home", "Contact.cshtml"),
|
||||
Path.Combine("Views", "Home", "Index.cshtml"),
|
||||
Path.Combine("Views", "Shared", "Error.cshtml"),
|
||||
Path.Combine("Views", "Shared", "_Layout.cshtml"),
|
||||
Path.Combine("Views", "Shared", "_ValidationScriptsPartial.cshtml"),
|
||||
Path.Combine("Views", "_ViewImports.cshtml"),
|
||||
Path.Combine("Views", "_ViewStart.cshtml"),
|
||||
};
|
||||
|
||||
foreach (var filePath in filePaths)
|
||||
{
|
||||
Assert.BuildOutputContainsLine(
|
||||
result,
|
||||
$@"RazorGenerateWithTargetPath: {filePath} {filePath} {Path.Combine(RazorIntermediateOutputPath, Path.ChangeExtension(filePath, ".g.cshtml.cs"))}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue