@@ -12,53 +12,55 @@ Copyright (c) .NET Foundation. All rights reserved.
12
12
<Project ToolsVersion =" 14.0" >
13
13
<PropertyGroup >
14
14
<!-- Determines if the generated Razor assembly includes an auto-generated assembly info. -->
15
- <GenerateRazorTargetAssemblyInfo Condition =" '$(GenerateRazorTargetAssemblyInfo)'==''" >$(GenerateAssemblyInfo)</GenerateRazorTargetAssemblyInfo >
16
15
<GenerateRazorTargetAssemblyInfo Condition =" '$(GenerateRazorTargetAssemblyInfo)'==''" >true</GenerateRazorTargetAssemblyInfo >
17
16
18
17
<!-- Set to true, to automatically include some AssemblyAttributes inferred from the project metadata in the generated Razor assembly -->
19
18
<EnableDefaultRazorTargetAssemblyInfoAttributes Condition =" '$(EnableDefaultRazorTargetAssemblyInfoAttributes)'==''" >true</EnableDefaultRazorTargetAssemblyInfoAttributes >
20
19
21
- <GeneratedRazorTargetAssemblyInfo Condition =" '$(GeneratedRazorTargetAssemblyInfo)'==''" >$(IntermediateOutputPath)$(MSBuildProjectName).RazorAssemblyInfo.cs</GeneratedRazorTargetAssemblyInfo >
20
+ <!-- AssemblyInfo that gets added to the generated Razor dll -->
21
+ <RazorTargetAssemblyInfo Condition =" '$(RazorTargetAssemblyInfo)'==''" >$(IntermediateOutputPath)$(MSBuildProjectName).RazorTargetAssemblyInfo.cs</RazorTargetAssemblyInfo >
22
+ <_RazorTargetAssemblyInfoInputsCacheFile >$(IntermediateOutputPath)$(MSBuildProjectName).RazorTargetAssemblyInfo.cache</_RazorTargetAssemblyInfoInputsCacheFile >
22
23
23
- <_GeneratedRazorAssemblyInfoInputsCacheFile >$(IntermediateOutputPath)$(MSBuildProjectName).RazorAssemblyInfoInputs.cache</_GeneratedRazorAssemblyInfoInputsCacheFile >
24
+ <!-- AssemblyInfo that gets added to the project being compiled -->
25
+ <_RazorAssemblyInfo >$(IntermediateOutputPath)$(MSBuildProjectName).RazorAssemblyInfo.cs</_RazorAssemblyInfo >
26
+ <_RazorAssemblyInfoInputsCacheFile >$(IntermediateOutputPath)$(MSBuildProjectName).RazorAssemblyInfo.cache</_RazorAssemblyInfoInputsCacheFile >
24
27
</PropertyGroup >
25
28
26
29
<PropertyGroup >
27
- <GenerateRazorAssemblyInfoDependsOn >
28
- GetRazorAssemblyAttributes ;
29
- CreateRazorGeneratedAssemblyInfoInputsCacheFile ;
30
- CoreGenerateRazorAssemblyInfo
31
- </GenerateRazorAssemblyInfoDependsOn >
30
+ <GenerateRazorTargetAssemblyInfoDependsOn >
31
+ GetRazorTargetAssemblyAttributes ;
32
+ _CreateRazorTargetAssemblyInfoInputsCacheFile ;
33
+ CoreGenerateRazorTargetAssemblyInfo
34
+ </GenerateRazorTargetAssemblyInfoDependsOn >
32
35
</PropertyGroup >
33
36
34
37
<Target
35
- Name =" GenerateRazorAssemblyInfo"
36
- DependsOnTargets =" $(GenerateRazorAssemblyInfoDependsOn)"
37
- Condition =" '$(GenerateRazorTargetAssemblyInfo)'=='true'" >
38
+ Name =" GenerateRazorTargetAssemblyInfo"
39
+ DependsOnTargets =" $(GenerateRazorTargetAssemblyInfoDependsOn)" >
38
40
</Target >
39
41
40
42
<Target
41
- Name =" CoreGenerateRazorAssemblyInfo "
42
- Inputs =" $(_GeneratedRazorAssemblyInfoInputsCacheFile )"
43
- Outputs =" $(GeneratedRazorTargetAssemblyInfo )"
44
- Condition =" '@(RazorCompile)'!=''" >
43
+ Name =" CoreGenerateRazorTargetAssemblyInfo "
44
+ Inputs =" $(_RazorTargetAssemblyInfoInputsCacheFile )"
45
+ Outputs =" $(RazorTargetAssemblyInfo )"
46
+ Condition =" '$(GenerateRazorTargetAssemblyInfo)'=='true' AND ' @(RazorCompile)'!=''" >
45
47
46
48
<ItemGroup Condition =" '$(GenerateRazorTargetAssemblyInfo)'=='true'" >
47
49
<!-- Ensure the generated assemblyinfo file is not already part of RazorCompile sources -->
48
- <RazorCompile Remove =" $(GeneratedRazorTargetAssemblyInfo )" />
49
- <RazorCompile Include =" $(GeneratedRazorTargetAssemblyInfo )" />
50
+ <RazorCompile Remove =" $(RazorTargetAssemblyInfo )" />
51
+ <RazorCompile Include =" $(RazorTargetAssemblyInfo )" />
50
52
</ItemGroup >
51
53
52
- <WriteCodeFragment AssemblyAttributes =" @(RazorAssemblyAttribute )" Language =" C#" OutputFile =" $(GeneratedRazorTargetAssemblyInfo )" />
54
+ <WriteCodeFragment AssemblyAttributes =" @(RazorTargetAssemblyAttribute )" Language =" C#" OutputFile =" $(RazorTargetAssemblyInfo )" />
53
55
54
56
<ItemGroup >
55
- <FileWrites Include =" $(GeneratedRazorTargetAssemblyInfo )" />
57
+ <FileWrites Include =" $(RazorTargetAssemblyInfo )" />
56
58
</ItemGroup >
57
59
58
60
</Target >
59
61
60
62
<Target
61
- Name =" GetRazorAssemblyAttributes "
63
+ Name =" GetRazorTargetAssemblyAttributes "
62
64
DependsOnTargets =" GetAssemblyVersion"
63
65
Condition =" '$(EnableDefaultRazorTargetAssemblyInfoAttributes)'=='true'" >
64
66
@@ -71,37 +73,37 @@ Copyright (c) .NET Foundation. All rights reserved.
71
73
</PropertyGroup >
72
74
73
75
<ItemGroup >
74
- <RazorAssemblyAttribute Include =" System.Reflection.AssemblyCompanyAttribute" Condition =" '$(Company)' != '' and '$(GenerateAssemblyCompanyAttribute)' == 'true'" >
76
+ <RazorTargetAssemblyAttribute Include =" System.Reflection.AssemblyCompanyAttribute" Condition =" '$(Company)' != '' and '$(GenerateAssemblyCompanyAttribute)' == 'true'" >
75
77
<_Parameter1 >$(Company)</_Parameter1 >
76
- </RazorAssemblyAttribute >
77
- <RazorAssemblyAttribute Include =" System.Reflection.AssemblyConfigurationAttribute" Condition =" '$(Configuration)' != '' and '$(GenerateAssemblyConfigurationAttribute)' == 'true'" >
78
+ </RazorTargetAssemblyAttribute >
79
+ <RazorTargetAssemblyAttribute Include =" System.Reflection.AssemblyConfigurationAttribute" Condition =" '$(Configuration)' != '' and '$(GenerateAssemblyConfigurationAttribute)' == 'true'" >
78
80
<_Parameter1 >$(Configuration)</_Parameter1 >
79
- </RazorAssemblyAttribute >
80
- <RazorAssemblyAttribute Include =" System.Reflection.AssemblyCopyrightAttribute" Condition =" '$(Copyright)' != '' and '$(GenerateAssemblyCopyrightAttribute)' == 'true'" >
81
+ </RazorTargetAssemblyAttribute >
82
+ <RazorTargetAssemblyAttribute Include =" System.Reflection.AssemblyCopyrightAttribute" Condition =" '$(Copyright)' != '' and '$(GenerateAssemblyCopyrightAttribute)' == 'true'" >
81
83
<_Parameter1 >$(Copyright)</_Parameter1 >
82
- </RazorAssemblyAttribute >
83
- <RazorAssemblyAttribute Include =" System.Reflection.AssemblyProductAttribute" Condition =" '$(Product)' != '' and '$(GenerateAssemblyProductAttribute)' == 'true'" >
84
+ </RazorTargetAssemblyAttribute >
85
+ <RazorTargetAssemblyAttribute Include =" System.Reflection.AssemblyProductAttribute" Condition =" '$(Product)' != '' and '$(GenerateAssemblyProductAttribute)' == 'true'" >
84
86
<_Parameter1 >$(Product)</_Parameter1 >
85
- </RazorAssemblyAttribute >
86
- <RazorAssemblyAttribute Include =" System.Resources.NeutralResourcesLanguageAttribute" Condition =" '$(NeutralLanguage)' != '' and '$(GenerateNeutralResourcesLanguageAttribute)' == 'true'" >
87
+ </RazorTargetAssemblyAttribute >
88
+ <RazorTargetAssemblyAttribute Include =" System.Resources.NeutralResourcesLanguageAttribute" Condition =" '$(NeutralLanguage)' != '' and '$(GenerateNeutralResourcesLanguageAttribute)' == 'true'" >
87
89
<_Parameter1 >$(NeutralLanguage)</_Parameter1 >
88
- </RazorAssemblyAttribute >
90
+ </RazorTargetAssemblyAttribute >
89
91
90
- <RazorAssemblyAttribute Include =" System.Reflection.AssemblyDescriptionAttribute" Condition =" '$(RazorAssemblyDescription)' != '' and '$(GenerateAssemblyDescriptionAttribute)' == 'true'" >
92
+ <RazorTargetAssemblyAttribute Include =" System.Reflection.AssemblyDescriptionAttribute" Condition =" '$(RazorAssemblyDescription)' != '' and '$(GenerateAssemblyDescriptionAttribute)' == 'true'" >
91
93
<_Parameter1 >$(RazorAssemblyDescription)</_Parameter1 >
92
- </RazorAssemblyAttribute >
93
- <RazorAssemblyAttribute Include =" System.Reflection.AssemblyFileVersionAttribute" Condition =" '$(RazorAssemblyFileVersion)' != '' and '$(GenerateAssemblyFileVersionAttribute)' == 'true'" >
94
+ </RazorTargetAssemblyAttribute >
95
+ <RazorTargetAssemblyAttribute Include =" System.Reflection.AssemblyFileVersionAttribute" Condition =" '$(RazorAssemblyFileVersion)' != '' and '$(GenerateAssemblyFileVersionAttribute)' == 'true'" >
94
96
<_Parameter1 >$(RazorAssemblyFileVersion)</_Parameter1 >
95
- </RazorAssemblyAttribute >
96
- <RazorAssemblyAttribute Include =" System.Reflection.AssemblyInformationalVersionAttribute" Condition =" '$(RazorAssemblyInformationalVersion)' != '' and '$(GenerateAssemblyInformationalVersionAttribute)' == 'true'" >
97
+ </RazorTargetAssemblyAttribute >
98
+ <RazorTargetAssemblyAttribute Include =" System.Reflection.AssemblyInformationalVersionAttribute" Condition =" '$(RazorAssemblyInformationalVersion)' != '' and '$(GenerateAssemblyInformationalVersionAttribute)' == 'true'" >
97
99
<_Parameter1 >$(RazorAssemblyInformationalVersion)</_Parameter1 >
98
- </RazorAssemblyAttribute >
99
- <RazorAssemblyAttribute Include =" System.Reflection.AssemblyTitleAttribute" Condition =" '$(RazorAssemblyTitle)' != '' and '$(GenerateAssemblyTitleAttribute)' == 'true'" >
100
+ </RazorTargetAssemblyAttribute >
101
+ <RazorTargetAssemblyAttribute Include =" System.Reflection.AssemblyTitleAttribute" Condition =" '$(RazorAssemblyTitle)' != '' and '$(GenerateAssemblyTitleAttribute)' == 'true'" >
100
102
<_Parameter1 >$(RazorAssemblyTitle)</_Parameter1 >
101
- </RazorAssemblyAttribute >
102
- <RazorAssemblyAttribute Include =" System.Reflection.AssemblyVersionAttribute" Condition =" '$(RazorAssemblyVersion)' != '' and '$(GenerateAssemblyVersionAttribute)' == 'true'" >
103
+ </RazorTargetAssemblyAttribute >
104
+ <RazorTargetAssemblyAttribute Include =" System.Reflection.AssemblyVersionAttribute" Condition =" '$(RazorAssemblyVersion)' != '' and '$(GenerateAssemblyVersionAttribute)' == 'true'" >
103
105
<_Parameter1 >$(RazorAssemblyVersion)</_Parameter1 >
104
- </RazorAssemblyAttribute >
106
+ </RazorTargetAssemblyAttribute >
105
107
</ItemGroup >
106
108
107
109
</Target >
@@ -111,23 +113,73 @@ Copyright (c) .NET Foundation. All rights reserved.
111
113
create a hash of all assembly attributes so that the cache file will change with the calculated
112
114
assembly attribute values and msbuild will then execute CoreGenerateAssembly to generate a new file.
113
115
-->
114
- <Target Name =" CreateRazorGeneratedAssemblyInfoInputsCacheFile " Condition =" '@(RazorAssemblyAttribute )' != ''" >
116
+ <Target Name =" _CreateRazorTargetAssemblyInfoInputsCacheFile " Condition =" '@(RazorTargetAssemblyAttribute )' != ''" >
115
117
116
118
<!-- We only use up to _Parameter1 for most attributes, but other targets may add additional assembly attributes with multiple parameters. -->
117
- <Hash ItemsToHash =" @(RazorAssemblyAttribute->'%(Identity)%(_Parameter1)%(_Parameter2)%(_Parameter3)%(_Parameter4)%(_Parameter5)%(_Parameter6)%(_Parameter7)%(_Parameter8)')" >
119
+ <Hash ItemsToHash =" @(RazorTargetAssemblyAttribute->'%(Identity)%(_Parameter1)%(_Parameter2)%(_Parameter3)%(_Parameter4)%(_Parameter5)%(_Parameter6)%(_Parameter7)%(_Parameter8)')" >
120
+ <Output TaskParameter =" HashResult" PropertyName =" _RazorTargetAssemblyAttributesHash" />
121
+ </Hash >
122
+
123
+ <WriteLinesToFile
124
+ Lines =" $(_RazorTargetAssemblyAttributesHash)"
125
+ File =" $(_RazorTargetAssemblyInfoInputsCacheFile)"
126
+ Overwrite =" True"
127
+ WriteOnlyWhenDifferent =" True" />
128
+
129
+ <ItemGroup >
130
+ <FileWrites Include =" $(_RazorTargetAssemblyInfoInputsCacheFile)" />
131
+ </ItemGroup >
132
+
133
+ </Target >
134
+
135
+ <Target Name =" _CreateRazorAssemblyInfoInputsCacheFile" Condition =" '@(_RazorAssemblyAttribute)' != ''" >
136
+
137
+ <!-- We only use up to _Parameter1 for most attributes, but other targets may add additional assembly attributes with multiple parameters. -->
138
+ <Hash ItemsToHash =" @(_RazorAssemblyAttribute->'%(Identity)%(_Parameter1)%(_Parameter2)%(_Parameter3)%(_Parameter4)%(_Parameter5)%(_Parameter6)%(_Parameter7)%(_Parameter8)')" >
118
139
<Output TaskParameter =" HashResult" PropertyName =" _RazorAssemblyAttributesHash" />
119
140
</Hash >
120
141
121
142
<WriteLinesToFile
122
143
Lines =" $(_RazorAssemblyAttributesHash)"
123
- File =" $(_GeneratedRazorAssemblyInfoInputsCacheFile )"
144
+ File =" $(_RazorAssemblyInfoInputsCacheFile )"
124
145
Overwrite =" True"
125
146
WriteOnlyWhenDifferent =" True" />
126
147
127
148
<ItemGroup >
128
- <FileWrites Include =" $(_GeneratedRazorAssemblyInfoInputsCacheFile )" />
149
+ <FileWrites Include =" $(_RazorAssemblyInfoInputsCacheFile )" />
129
150
</ItemGroup >
130
151
131
152
</Target >
132
153
154
+ <Target
155
+ Name =" _CoreGenerateRazorAssemblyInfo"
156
+ DependsOnTargets =" _CreateRazorAssemblyInfoInputsCacheFile"
157
+ Inputs =" $(_RazorAssemblyInfoInputsCacheFile)"
158
+ Outputs =" $(_RazorAssemblyInfo)"
159
+ Condition =" '@(_RazorAssemblyAttribute)' != ''" >
160
+
161
+ <ItemGroup Condition =" '$(GenerateRazorAssemblyInfo)'=='true'" >
162
+ <Compile Remove =" $(_RazorAssemblyInfo)" />
163
+ <Compile Include =" $(_RazorAssemblyInfo)" />
164
+ </ItemGroup >
165
+
166
+ <WriteCodeFragment AssemblyAttributes =" @(_RazorAssemblyAttribute)" Language =" $(Language)" OutputFile =" $(_RazorAssemblyInfo)" />
167
+
168
+ <ItemGroup >
169
+ <FileWrites Include =" $(_RazorAssemblyInfo)" />
170
+ </ItemGroup >
171
+
172
+ </Target >
173
+
174
+ <PropertyGroup >
175
+ <!-- Generate attributes in the main assembly if we're targeting a C# project and using the Razor Sdk. -->
176
+ <CoreCompileDependsOn Condition =" '$(ResolvedRazorCompileToolset)'=='RazorSdk' and '$(Language)' == 'C#' and '$(GenerateRazorAssemblyInfo)' == 'true'" >
177
+ $(CoreCompileDependsOn);_GenerateRazorAssemblyInfo
178
+ </CoreCompileDependsOn >
179
+
180
+ <_GenerateRazorAssemblyInfoDependsOn >PrepareForBuild;_CoreGenerateRazorAssemblyInfo</_GenerateRazorAssemblyInfoDependsOn >
181
+ </PropertyGroup >
182
+
183
+ <Target Name =" _GenerateRazorAssemblyInfo" DependsOnTargets =" $(_GenerateRazorAssemblyInfoDependsOn)" />
184
+
133
185
</Project >
0 commit comments