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>
|
</PropertyPageSchema>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Target Name="RazorGenerateDesignTime" DependsOnTargets="ResolveRazorGenerateInputs;AssignRazorGenerateTargetPaths" Returns="@(RazorGenerateWithTargetPath)">
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
// 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 System.IO;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
|
|
@ -35,5 +36,33 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
Assert.DoesNotContain("RazorCoreGenerate", result.Output);
|
Assert.DoesNotContain("RazorCoreGenerate", result.Output);
|
||||||
Assert.DoesNotContain("RazorCoreCompile", 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