Allow UpToDateReloadFileTypes to be modified by packages (dotnet/aspnetcore-tooling#639)
* Allow UpToDateReloadFileTypes to be modified by packages
* Allow file watching with dotnet-watch
\n\nCommit migrated from fbcd0c2416
This commit is contained in:
commit
6be2d3dfcd
|
|
@ -17,7 +17,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
Defines the list of file extensions that VS will monitor to reload the application.
|
Defines the list of file extensions that VS will monitor to reload the application.
|
||||||
We'll only define these for C# projects targeting RazorLangVersion 3.0 or later, and let VS use defaults in other cases.
|
We'll only define these for C# projects targeting RazorLangVersion 3.0 or later, and let VS use defaults in other cases.
|
||||||
-->
|
-->
|
||||||
<UpToDateReloadFileTypes Condition="'$(Language)'=='C#' AND '$(_Targeting30OrNewerRazorLangVersion)' == 'true'">$(UpToDateReloadFileTypes);.cs;.razor;.resx;.cshtml</UpToDateReloadFileTypes>
|
<UpToDateReloadFileTypes Condition="'$(Language)'=='C#' AND '$(_Targeting30OrNewerRazorLangVersion)' == 'true' AND '$(RazorUpToDateReloadFileTypes)' == ''">$(UpToDateReloadFileTypes);$(RazorUpToDateReloadFileTypes)</UpToDateReloadFileTypes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,12 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
|
||||||
<!-- Determines if the refs folder is produced as part of build \ publish -->
|
<!-- Determines if the refs folder is produced as part of build \ publish -->
|
||||||
<PreserveCompilationReferences>false</PreserveCompilationReferences>
|
<PreserveCompilationReferences>false</PreserveCompilationReferences>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
List of file extensions that will cause VS to restart the application when RazorSDK is effective.
|
||||||
|
This property affects C# projects targeting 3.0 or later.
|
||||||
|
-->
|
||||||
|
<RazorUpToDateReloadFileTypes>.cs;.razor;.resx;.cshtml</RazorUpToDateReloadFileTypes>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(EnableDefaultItems)' == 'true' And '$(EnableDefaultContentItems)' == 'true'">
|
<ItemGroup Condition="'$(EnableDefaultItems)' == 'true' And '$(EnableDefaultContentItems)' == 'true'">
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
<EnableDefaultContentItems Condition=" '$(EnableDefaultContentItems)' == '' ">true</EnableDefaultContentItems>
|
<EnableDefaultContentItems Condition=" '$(EnableDefaultContentItems)' == '' ">true</EnableDefaultContentItems>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Targets supporting Razor MSBuild integration. Contain support for generating C# code using Razor
|
Targets supporting Razor MSBuild integration. Contain support for generating C# code using Razor
|
||||||
and including the generated code in the project lifecycle, including compiling, publishing and producing
|
and including the generated code in the project lifecycle, including compiling, publishing and producing
|
||||||
nuget packages.
|
nuget packages.
|
||||||
|
|
@ -165,7 +165,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Default values for properties that affect Razor targets to the standard build lifecycle.
|
Default values for properties that affect Razor targets to the standard build lifecycle.
|
||||||
-->
|
-->
|
||||||
<PropertyGroup Condition="'$(RazorCompileOnBuild)'=='' AND '$(Language)'=='C#'">
|
<PropertyGroup Condition="'$(RazorCompileOnBuild)'=='' AND '$(Language)'=='C#'">
|
||||||
|
|
@ -223,9 +223,9 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
<PreserveCompilationReferences Condition="'$(MvcRazorExcludeRefAssembliesFromPublish)'=='true'">false</PreserveCompilationReferences>
|
<PreserveCompilationReferences Condition="'$(MvcRazorExcludeRefAssembliesFromPublish)'=='true'">false</PreserveCompilationReferences>
|
||||||
<PreserveCompilationReferences Condition="'$(MvcRazorExcludeRefAssembliesFromPublish)'=='false'">true</PreserveCompilationReferences>
|
<PreserveCompilationReferences Condition="'$(MvcRazorExcludeRefAssembliesFromPublish)'=='false'">true</PreserveCompilationReferences>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
We can't set the actual default value here due to evaluation order (depends on $(OutDir)).
|
We can't set the actual default value here due to evaluation order (depends on $(OutDir)).
|
||||||
|
|
||||||
This handles a compatibility case with MVC Precompilation.
|
This handles a compatibility case with MVC Precompilation.
|
||||||
-->
|
-->
|
||||||
<RazorOutputPath Condition="'$(MvcRazorOutputPath)'!=''">$([MSBuild]::EnsureTrailingSlash('$(MvcRazorOutputPath)'))</RazorOutputPath>
|
<RazorOutputPath Condition="'$(MvcRazorOutputPath)'!=''">$([MSBuild]::EnsureTrailingSlash('$(MvcRazorOutputPath)'))</RazorOutputPath>
|
||||||
|
|
@ -233,7 +233,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
<!--
|
<!--
|
||||||
Configures whether all of the @(RazorGenerate) items will be added as embedded files to the produced assembly.
|
Configures whether all of the @(RazorGenerate) items will be added as embedded files to the produced assembly.
|
||||||
|
|
||||||
When true, everything in @(RazorGenerate) will be added to @(RazorEmbeddedFiles) and passed to CSC.
|
When true, everything in @(RazorGenerate) will be added to @(RazorEmbeddedFiles) and passed to CSC.
|
||||||
-->
|
-->
|
||||||
<EmbedRazorGenerateSources Condition="'$(MvcRazorEmbedViewSources)'!=''">$(MvcRazorEmbedViewSources)</EmbedRazorGenerateSources>
|
<EmbedRazorGenerateSources Condition="'$(MvcRazorEmbedViewSources)'!=''">$(MvcRazorEmbedViewSources)</EmbedRazorGenerateSources>
|
||||||
<EmbedRazorGenerateSources Condition="'$(EmbedRazorGenerateSources)'==''">false</EmbedRazorGenerateSources>
|
<EmbedRazorGenerateSources Condition="'$(EmbedRazorGenerateSources)'==''">false</EmbedRazorGenerateSources>
|
||||||
|
|
@ -321,6 +321,12 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
-->
|
-->
|
||||||
<UpToDateCheckBuilt Include="@(RazorIntermediateAssembly)"
|
<UpToDateCheckBuilt Include="@(RazorIntermediateAssembly)"
|
||||||
Condition="'$(RazorCompileOnBuild)'=='true' AND '@(Content->WithMetadataValue('Extension', '.cshtml'))' != ''" />
|
Condition="'$(RazorCompileOnBuild)'=='true' AND '@(Content->WithMetadataValue('Extension', '.cshtml'))' != ''" />
|
||||||
|
|
||||||
|
<!-- Set up watchers for dotnet-watch -->
|
||||||
|
<Watch Include="@(Content->WithMetadataValue('Extension', '.razor'))" />
|
||||||
|
|
||||||
|
<Watch Include="@(Content->WithMetadataValue('Extension', '.cshtml'))"
|
||||||
|
Condition="'$(_Targeting30OrNewerRazorLangVersion)' == 'true' AND '$(AddCshtmlFilesToDotNetWatchList)' != 'false'" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
@ -348,7 +354,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
|
||||||
<Import Project="Microsoft.NET.Sdk.Razor.MvcApplicationPartsDiscovery.targets" Condition="'$(_TargetingNETCoreApp30OrLater)' == 'true'" />
|
<Import Project="Microsoft.NET.Sdk.Razor.MvcApplicationPartsDiscovery.targets" Condition="'$(_TargetingNETCoreApp30OrLater)' == 'true'" />
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
These are the targets that actually do compilation using CSC, separated from the main file for ease of maintenance.
|
These are the targets that actually do compilation using CSC, separated from the main file for ease of maintenance.
|
||||||
|
|
||||||
RazorCoreCompile should be defined there.
|
RazorCoreCompile should be defined there.
|
||||||
|
|
@ -373,9 +379,9 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
<Target Name="RazorCompile" DependsOnTargets="$(RazorCompileDependsOn)">
|
<Target Name="RazorCompile" DependsOnTargets="$(RazorCompileDependsOn)">
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Computes the applicable @(ResolvedRazorConfiguration) and @(ResolvedRazorExtension) items that match the project's
|
Computes the applicable @(ResolvedRazorConfiguration) and @(ResolvedRazorExtension) items that match the project's
|
||||||
configuration.
|
configuration.
|
||||||
-->
|
-->
|
||||||
<Target Name="ResolveRazorConfiguration">
|
<Target Name="ResolveRazorConfiguration">
|
||||||
<ItemGroup Condition="'$(RazorDefaultConfiguration)'!=''">
|
<ItemGroup Condition="'$(RazorDefaultConfiguration)'!=''">
|
||||||
|
|
@ -411,8 +417,8 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
Gets assembly attributes in support for Razor runtime code generation. This is a set of standard
|
Gets assembly attributes in support for Razor runtime code generation. This is a set of standard
|
||||||
metadata attributes (defined in Microsoft.AspNetCore.Razor.Runtime) that capture the build-time
|
metadata attributes (defined in Microsoft.AspNetCore.Razor.Runtime) that capture the build-time
|
||||||
Razor configuration of an application to be used at runtime.
|
Razor configuration of an application to be used at runtime.
|
||||||
|
|
||||||
This allows the project file to act as the source of truth for the applicable Razor configuration regardless
|
This allows the project file to act as the source of truth for the applicable Razor configuration regardless
|
||||||
of how Razor is used.
|
of how Razor is used.
|
||||||
|
|
||||||
The SDK expects configurations that use runtime compilation to set $(GenerateRazorHostingAssemblyInfo) to true,
|
The SDK expects configurations that use runtime compilation to set $(GenerateRazorHostingAssemblyInfo) to true,
|
||||||
|
|
@ -469,13 +475,13 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Ideally we want to able to update all Content items that also appear in RazorGenerate to have
|
Ideally we want to able to update all Content items that also appear in RazorGenerate to have
|
||||||
CopyToPublishDirectory=Never. However, there isn't a simple way to do this (https://github.com/Microsoft/msbuild/issues/1618).
|
CopyToPublishDirectory=Never. However, there isn't a simple way to do this (https://github.com/Microsoft/msbuild/issues/1618).
|
||||||
Instead, we'll update all cshtml Content items when EnableDefaultRazorGenerateItems=true and Razor Sdk is used for publishing.
|
Instead, we'll update all cshtml Content items when EnableDefaultRazorGenerateItems=true and Razor Sdk is used for publishing.
|
||||||
-->
|
-->
|
||||||
<ItemGroup Condition="
|
<ItemGroup Condition="
|
||||||
'$(EnableDefaultRazorGenerateItems)'=='true' and
|
'$(EnableDefaultRazorGenerateItems)'=='true' and
|
||||||
'$(CopyRazorGenerateFilesToPublishDirectory)'=='false' and
|
'$(CopyRazorGenerateFilesToPublishDirectory)'=='false' and
|
||||||
'$(ResolvedRazorCompileToolset)'=='RazorSdk' and
|
'$(ResolvedRazorCompileToolset)'=='RazorSdk' and
|
||||||
'$(RazorCompileOnPublish)'=='true'">
|
'$(RazorCompileOnPublish)'=='true'">
|
||||||
|
|
||||||
<Content Condition="'%(Content.Extension)'=='.cshtml'" CopyToPublishDirectory="Never" />
|
<Content Condition="'%(Content.Extension)'=='.cshtml'" CopyToPublishDirectory="Never" />
|
||||||
|
|
@ -555,7 +561,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Gathers input assemblies for Tag Helper discovery and compilation. Add items to @(ReferencePath)
|
Gathers input assemblies for Tag Helper discovery and compilation. Add items to @(ReferencePath)
|
||||||
-->
|
-->
|
||||||
<Target
|
<Target
|
||||||
|
|
@ -616,7 +622,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
<!--
|
<!--
|
||||||
This target is called after PrepareForPublish when RazorCompileOnPublish=true so that we can hook into publish.
|
This target is called after PrepareForPublish when RazorCompileOnPublish=true so that we can hook into publish.
|
||||||
This target just hooks up other targets since Publish and PrepareForPublish don't have a DependsOnTargets
|
This target just hooks up other targets since Publish and PrepareForPublish don't have a DependsOnTargets
|
||||||
property we can use.
|
property we can use.
|
||||||
-->
|
-->
|
||||||
<Target
|
<Target
|
||||||
Name="_RazorPrepareForPublish"
|
Name="_RazorPrepareForPublish"
|
||||||
|
|
@ -668,7 +674,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
DependsOnTargets="ResolveRazorGenerateInputs"
|
DependsOnTargets="ResolveRazorGenerateInputs"
|
||||||
Condition="'$(ResolvedRazorCompileToolset)'=='RazorSdk' and '$(RazorCompileOnBuild)'=='true'">
|
Condition="'$(ResolvedRazorCompileToolset)'=='RazorSdk' and '$(RazorCompileOnBuild)'=='true'">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
This condition needs to be inside the target because it the itemgroup will be populated after the target's
|
This condition needs to be inside the target because it the itemgroup will be populated after the target's
|
||||||
condition is evaluated.
|
condition is evaluated.
|
||||||
-->
|
-->
|
||||||
|
|
@ -698,7 +704,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
DependsOnTargets="ResolveRazorGenerateInputs"
|
DependsOnTargets="ResolveRazorGenerateInputs"
|
||||||
Condition="'$(ResolvedRazorCompileToolset)'=='RazorSdk' and '$(RazorCompileOnPublish)'=='true'">
|
Condition="'$(ResolvedRazorCompileToolset)'=='RazorSdk' and '$(RazorCompileOnPublish)'=='true'">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
This condition needs to be inside the target because it the itemgroup will be populated after the target's
|
This condition needs to be inside the target because it the itemgroup will be populated after the target's
|
||||||
condition is evaluated.
|
condition is evaluated.
|
||||||
-->
|
-->
|
||||||
|
|
@ -773,7 +779,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Called after ComputeFilesToPublish and ComputeRefAssembliesToPublish but before CopyFilesToPublishDirectory - this target is called when
|
Called after ComputeFilesToPublish and ComputeRefAssembliesToPublish but before CopyFilesToPublishDirectory - this target is called when
|
||||||
publishing the project to get a list of files to the output directory.
|
publishing the project to get a list of files to the output directory.
|
||||||
-->
|
-->
|
||||||
<Target
|
<Target
|
||||||
|
|
@ -793,7 +799,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
RazorGenerate items are usually populated from the '.cshtml' files in @(Content). These are published by default
|
RazorGenerate items are usually populated from the '.cshtml' files in @(Content). These are published by default
|
||||||
so all we need to do is exclude them.
|
so all we need to do is exclude them.
|
||||||
-->
|
-->
|
||||||
<ItemGroup Condition="'$(CopyRazorGenerateFilesToPublishDirectory)'=='false'">
|
<ItemGroup Condition="'$(CopyRazorGenerateFilesToPublishDirectory)'=='false'">
|
||||||
<ResolvedFileToPublish Remove="%(RazorGenerate.FullPath)"/>
|
<ResolvedFileToPublish Remove="%(RazorGenerate.FullPath)"/>
|
||||||
|
|
@ -846,6 +852,16 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
|
||||||
<Import Project="$(RazorDesignTimeTargets)" />
|
<Import Project="$(RazorDesignTimeTargets)" />
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<!--
|
||||||
|
Defines the list of file extensions that VS will monitor to reload the application.
|
||||||
|
We'll only define these for C# projects targeting RazorLangVersion 3.0 or later, and let VS use defaults in other cases.
|
||||||
|
|
||||||
|
This property can be removed after the next insertion in to VS.
|
||||||
|
-->
|
||||||
|
<UpToDateReloadFileTypes Condition="'$(Language)'=='C#' AND '$(_Targeting30OrNewerRazorLangVersion)' == 'true' AND '$(RazorUpToDateReloadFileTypes)' == ''">$(RazorUpToDateReloadFileTypes)</UpToDateReloadFileTypes>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
This is a hook to import a set of targets after the Razor targets. By default this is unused.
|
This is a hook to import a set of targets after the Razor targets. By default this is unused.
|
||||||
-->
|
-->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue