-
Notifications
You must be signed in to change notification settings - Fork 391
/
Copy pathBuildPropertyPage.xaml
317 lines (289 loc) · 14.5 KB
/
BuildPropertyPage.xaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
<?xml version="1.0" encoding="utf-8"?>
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE.md file in the project root for more information. -->
<Rule Name="Build"
Description="Specifies properties that control how the project builds."
DisplayName="Build"
PageTemplate="generic"
Order="200"
xmlns="http://schemas.microsoft.com/build/2009/properties" >
<Rule.Categories>
<Category Name="General"
DisplayName="General" />
<Category Name="ErrorsAndWarnings"
Description="Configures the error and warning options for the build process."
DisplayName="Errors and warnings" />
<Category Name="Output"
Description="Configures the output options for the build process."
DisplayName="Output" />
<Category Name="StrongNaming"
Description="Configures strong name signing of build outputs."
DisplayName="Strong naming" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile"
SourceOfDefaultValue="AfterContext"
HasConfigurationCondition="True" />
</Rule.DataSource>
<StringProperty Name="DefineConstants"
DisplayName="Conditional compilation symbols"
Description="Specifies symbols on which to perform conditional compilation. Separate symbols with a semi-colon (';')."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147079"
Category="General" />
<EnumProperty Name="PlatformTarget"
DisplayName="Platform target"
Description="Specifies the processor to be targeted by the output file. Choose 'x86' for any 32-bit Intel-compatible processor, choose 'x64' for any 64-bit Intel-compatible processor, or choose 'Any CPU' to specify that any processor is acceptable. 'Any CPU' is the default value for projects, because it allows the application to run on the broadest range of hardware."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147129"
Category="General">
<EnumValue Name="AnyCPU"
DisplayName="Any CPU" />
<EnumValue Name="x64"
DisplayName="x64" />
<EnumValue Name="x86"
DisplayName="x86" />
</EnumProperty>
<EnumProperty Name="Nullable"
DisplayName="Nullable"
Description="Specifies the project-wide C# nullable context. Only available for projects that use C# 8.0 or later."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146796"
Category="General">
<EnumProperty.DataSource>
<DataSource HasConfigurationCondition="False" />
</EnumProperty.DataSource>
<EnumValue Name="disable"
DisplayName="Disable" />
<EnumValue Name="enable"
DisplayName="Enable" />
<EnumValue Name="warnings"
DisplayName="Warnings" />
<EnumValue Name="annotations"
DisplayName="Annotations" />
</EnumProperty>
<BoolProperty Name="AllowUnsafeBlocks"
DisplayName="Allow unsafe code"
Description="Allows code that uses the 'unsafe' keyword to compile."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146797"
Category="General">
<BoolProperty.Metadata>
<NameValuePair Name="SearchTerms" Value="pointers" />
</BoolProperty.Metadata>
</BoolProperty>
<BoolProperty Name="Optimize"
DisplayName="Optimize code"
Description="Enables or disables optimizations performed by the compiler to make your output file smaller, faster, and more efficient."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147080"
Category="General">
<BoolProperty.Metadata>
<NameValuePair Name="SearchTerms" Value="optimise;optimisation" />
</BoolProperty.Metadata>
</BoolProperty>
<StringProperty Name="LangVersion"
DisplayName="Language version"
Description="Why can't I select the C# language version?">
<StringProperty.DataSource>
<DataSource PersistedName="LangVersion"
Persistence="ProjectFileWithInterception"
HasConfigurationCondition="False" />
</StringProperty.DataSource>
<StringProperty.ValueEditors>
<ValueEditor EditorType="LinkAction">
<ValueEditor.Metadata>
<NameValuePair Name="Action" Value="URL" />
<NameValuePair Name="URL" Value="https://aka.ms/csharp-versions" />
</ValueEditor.Metadata>
</ValueEditor>
</StringProperty.ValueEditors>
</StringProperty>
<!-- TODO create fwlink for this HelpUrl -->
<BoolProperty Name="CheckForOverflowUnderflow"
DisplayName="Check for arithmetic overflow"
Description="Specifies whether integer arithmetic that results in a value outside the range of the data type, and that is not in the scope of a checked or unchecked keyword, causes a run-time exception."
HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/checked-compiler-option"
Category="General">
<BoolProperty.Metadata>
<NameValuePair Name="SearchTerms" Value="checked;unchecked" />
</BoolProperty.Metadata>
</BoolProperty>
<!-- TODO create fwlink for this HelpUrl -->
<BoolProperty Name="Deterministic"
DisplayName="Deterministic"
Description="Indicates whether the compiler should produce identical assemblies for identical inputs."
HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/deterministic-compiler-option"
Category="General" />
<!-- TODO create fwlink for this HelpUrl -->
<EnumProperty Name="ErrorReport"
DisplayName="Internal compiler error reporting"
Description="Controls when internal compiler error (ICE) reports are sent to Microsoft."
HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/errorreport-compiler-option"
Category="General">
<EnumProperty.DataSource>
<DataSource HasConfigurationCondition="False" />
</EnumProperty.DataSource>
<EnumValue Name="none"
DisplayName="Never send" />
<EnumValue Name="prompt"
DisplayName="Prompt before sending" />
<EnumValue Name="queue"
DisplayName="Queue" />
<EnumValue Name="send"
DisplayName="Send" />
</EnumProperty>
<!-- TODO create fwlink for this HelpUrl -->
<EnumProperty Name="FileAlignment"
DisplayName="File alignment"
Description="Specifies, in bytes, where to align the sections of the output file."
HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/filealign-compiler-option"
Category="General">
<EnumValue Name="512"
DisplayName="512" />
<EnumValue Name="1024"
DisplayName="1024" />
<EnumValue Name="2048"
DisplayName="2048" />
<EnumValue Name="4096"
DisplayName="4096" />
<EnumValue Name="8192"
DisplayName="8192" />
</EnumProperty>
<EnumProperty Name="WarningLevel"
DisplayName="Warning level"
Description="Specifies the level to display for compiler warnings."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146798"
Category="ErrorsAndWarnings">
<EnumValue Name="0"
DisplayName="0" />
<EnumValue Name="1"
DisplayName="1" />
<EnumValue Name="2"
DisplayName="2" />
<EnumValue Name="3"
DisplayName="3" />
<EnumValue Name="4"
DisplayName="4" />
<EnumValue Name="5"
DisplayName="5" />
</EnumProperty>
<StringProperty Name="NoWarn"
DisplayName="Suppress specific warnings"
Description="Blocks the compiler from generating the specified warnings. Separate multiple warning numbers with a comma (',') or semicolon (';')."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147300"
Category="ErrorsAndWarnings" />
<BoolProperty Name="TreatWarningsAsErrors"
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147301"
DisplayName="Treat warnings as errors"
Description="Instruct the compiler to treat warnings as errors."
Category="ErrorsAndWarnings" >
<BoolProperty.DataSource>
<DataSource Persistence="ProjectFileWithInterception" />
</BoolProperty.DataSource>
</BoolProperty>
<StringProperty Name="WarningsAsErrors"
DisplayName="Treat specific warnings as errors"
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147301"
Description="Specifies which warnings are treated as errors. Separate multiple warning numbers with a comma (',') or semicolon (';')."
Category="ErrorsAndWarnings">
<StringProperty.Metadata>
<NameValuePair Name="DependsOn" Value="Build::TreatWarningsAsErrors" />
<NameValuePair Name="VisibilityCondition">
<NameValuePair.Value>(has-evaluated-value "Build" "TreatWarningsAsErrors" false)</NameValuePair.Value>
</NameValuePair>
</StringProperty.Metadata>
</StringProperty>
<StringProperty Name="WarningsNotAsErrors"
DisplayName="Exclude specific warnings as errors"
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147301"
Description="Specifies which warnings are excluded from being treated as errors. Separate multiple warning numbers with a comma (',') or semicolon (';')."
Category="ErrorsAndWarnings">
<StringProperty.Metadata>
<NameValuePair Name="DependsOn" Value="Build::TreatWarningsAsErrors" />
<NameValuePair Name="VisibilityCondition">
<NameValuePair.Value>(has-evaluated-value "Build" "TreatWarningsAsErrors" true)</NameValuePair.Value>
</NameValuePair>
</StringProperty.Metadata>
</StringProperty>
<StringProperty Name="BaseOutputPath"
DisplayName="Base output path"
Description="Specifies the base location for the project's output during build. Subfolders will be appended to this path to differentiate project configuration."
Category="Output"
Subtype="directory">
<StringProperty.DataSource>
<DataSource HasConfigurationCondition="False" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty Name="BaseIntermediateOutputPath"
DisplayName="Base intermediate output path"
Description="Specifies the base location for the project's intermediate output during build. Subfolders will be appended to this path to differentiate project configuration."
Category="Output"
Subtype="directory">
<StringProperty.DataSource>
<DataSource HasConfigurationCondition="False" />
</StringProperty.DataSource>
</StringProperty>
<!-- TODO create fwlink for this HelpUrl -->
<BoolProperty Name="GenerateDocumentationFile"
DisplayName="Documentation file"
Description="Generate a file containing API documentation."
HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/codedoc"
Category="Output">
<BoolProperty.DataSource>
<DataSource HasConfigurationCondition="False" />
</BoolProperty.DataSource>
</BoolProperty>
<!-- TODO consider removing this property from the UI altogether -->
<StringProperty Name="DocumentationFile"
DisplayName="XML documentation file path"
Description="Optional path for the API documentation file. Leave blank to use the default location."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147081"
Category="Output"
Subtype="file">
<StringProperty.DataSource>
<DataSource HasConfigurationCondition="False" />
</StringProperty.DataSource>
<StringProperty.Metadata>
<NameValuePair Name="VisibilityCondition">
<NameValuePair.Value>(evaluated "Build" "GenerateDocumentationFile")</NameValuePair.Value>
</NameValuePair>
</StringProperty.Metadata>
</StringProperty>
<BoolProperty Name="SignAssembly"
Description="Sign the output assembly to give it a strong name."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147136"
DisplayName="Sign the assembly"
Category="StrongNaming">
<BoolProperty.DataSource>
<DataSource Persistence="ProjectFileWithInterception"
SourceOfDefaultValue="BeforeContext"
HasConfigurationCondition="False" />
</BoolProperty.DataSource>
</BoolProperty>
<StringProperty Name="AssemblyOriginatorKeyFile"
DisplayName="Strong name key file"
Category="StrongNaming"
Subtype="file">
<StringProperty.Metadata>
<NameValuePair Name="VisibilityCondition">
<NameValuePair.Value>(evaluated "Build" "SignAssembly")</NameValuePair.Value>
</NameValuePair>
</StringProperty.Metadata>
<StringProperty.DataSource>
<DataSource Persistence="ProjectFileWithInterception"
SourceOfDefaultValue="BeforeContext"
HasConfigurationCondition="False" />
</StringProperty.DataSource>
</StringProperty>
<BoolProperty Name="DelaySign"
Description="Use delayed signing when access to the private key is restricted. The public key will be used during the build, and addition of the private key information deferred until the assembly is handed off."
HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147243"
DisplayName="Delay sign only"
Category="StrongNaming">
<BoolProperty.Metadata>
<NameValuePair Name="VisibilityCondition">
<NameValuePair.Value>(evaluated "Build" "SignAssembly")</NameValuePair.Value>
</NameValuePair>
</BoolProperty.Metadata>
<BoolProperty.DataSource>
<DataSource Persistence="ProjectFileWithInterception"
SourceOfDefaultValue="BeforeContext"
HasConfigurationCondition="False" />
</BoolProperty.DataSource>
</BoolProperty>
</Rule>