Change Environment.Version to return product version (#22664)
[platform/upstream/coreclr.git] / src / System.Private.CoreLib / System.Private.CoreLib.csproj
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3   <!-- Include common build properties -->
4   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
5   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
6   <!-- Compilation options -->
7   <PropertyGroup>
8     <AvailablePlatforms>x64,x86,arm,armel,arm64</AvailablePlatforms>
9     <Configuration Condition=" '$(Configuration)' == '' ">$(BuildType)</Configuration>
10     <Platform Condition=" '$(Platform)' == '' ">$(BuildArch)</Platform>
11     <Platform Condition=" '$(Platform)' == 'armel' ">arm</Platform>
12     <ProjectGuid>{3DA06C3A-2E7B-4CB7-80ED-9B12916013F9}</ProjectGuid>
13     <OutputType>Library</OutputType>
14     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
15     <!-- This prevents the default MsBuild targets from referencing System.Core.dll -->
16     <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
17     <!-- These prevent the default MsBuild targets from referencing System.dll and mscorlib.dll -->
18     <ExcludeMscorlibFacade>true</ExcludeMscorlibFacade>
19     <NoStdLib>true</NoStdLib>
20     <NoCompilerStandardLib>true</NoCompilerStandardLib>
21     <SubsystemVersion>6.00</SubsystemVersion>
22     <UTF8OutPut>true</UTF8OutPut>
23     <HighEntropyVA>true</HighEntropyVA>
24     <ErrorReport>prompt</ErrorReport>
25     <CLSCompliant>true</CLSCompliant>
26     <WarningLevel>4</WarningLevel>
27     <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
28     <NoWarn>649,1573,1591,0419</NoWarn>
29     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
30     <SignAssembly>true</SignAssembly>
31     <DelaySign>true</DelaySign>
32     <DefineConstants>$(DefineConstants);CORECLR;netcoreapp</DefineConstants>
33     <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two properties to any folder that exists to skip
34          the GenerateReferenceAssemblyPaths task (not target) and to prevent it from outputting a warning (MSB3644). -->
35     <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)/Documentation</_TargetFrameworkDirectories>
36     <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)/Documentation</_FullFrameworkReferenceAssemblyPaths>
37     <SkipCommonResourcesIncludes>true</SkipCommonResourcesIncludes>
38     <DocumentationFile>$(OutputPath)$(MSBuildProjectName).xml</DocumentationFile>
39   </PropertyGroup>
40
41   <!-- Approximate Arcade version string https://github.com/dotnet/arcade/blob/master/Documentation/CorePackages/Versioning.md -->
42   <!-- This workaround should be removed once CoreCLR repo is updated to use Arcade -->
43   <PropertyGroup>
44     <InformationalVersion>$(VersionPrefix)</InformationalVersion>
45   </PropertyGroup>
46   <PropertyGroup Condition="'$(PreReleaseLabel)' != ''">
47     <InformationalVersion>$(InformationalVersion)-$(PreReleaseLabel).$(BuildNumberMajor).$(BuildNumberMinor)</InformationalVersion>
48   </PropertyGroup>
49   <PropertyGroup Condition="'$(LatestCommit)' != ''">
50     <InformationalVersion>$(InformationalVersion)+$(LatestCommit)</InformationalVersion>
51   </PropertyGroup>
52
53   <!-- Add Serviceable attribute to the project's metadata -->
54   <ItemGroup>
55     <AssemblyMetadata Include="Serviceable">
56       <Value>True</Value>
57       <Visible>false</Visible>
58     </AssemblyMetadata>
59   </ItemGroup>
60   <!-- Platform specific properties -->
61   <PropertyGroup Condition="'$(Platform)' == 'x64'">
62     <PlatformTarget>x64</PlatformTarget>
63     <Prefer32Bit>false</Prefer32Bit>
64     <DefineConstants>BIT64;AMD64;$(DefineConstants)</DefineConstants>
65   </PropertyGroup>
66   <PropertyGroup Condition="'$(Platform)' == 'x86'">
67     <PlatformTarget>x86</PlatformTarget>
68     <DefineConstants>BIT32;$(DefineConstants)</DefineConstants>
69   </PropertyGroup>
70   <PropertyGroup Condition="'$(Platform)' == 'arm'">
71     <PlatformTarget>arm</PlatformTarget>
72     <DefineConstants>BIT32;ARM;$(DefineConstants)</DefineConstants>
73   </PropertyGroup>
74   <PropertyGroup Condition="'$(Platform)' == 'arm64'">
75     <PlatformTarget>AnyCPU</PlatformTarget>
76     <DefineConstants>BIT64;ARM64;$(DefineConstants)</DefineConstants>
77   </PropertyGroup>
78   <!-- Configuration specific properties -->
79   <PropertyGroup Condition="'$(Configuration)' == 'Debug' or '$(Configuration)' == 'Checked'">
80     <DebugSymbols>true</DebugSymbols>
81     <Optimize Condition="'$(Optimize)' == '' and '$(Configuration)' == 'Debug'">false</Optimize>
82     <Optimize Condition="'$(Optimize)' == '' and '$(Configuration)' == 'Checked'">true</Optimize>
83     <DebugType Condition="'$(DebugType)' == ''">full</DebugType>
84     <DefineConstants>_LOGGING;DEBUG;$(DefineConstants)</DefineConstants>
85     <DefineConstants Condition="'$(Platform)' == 'x86' or '$(Platform)' == 'x64'">CODE_ANALYSIS;$(DefineConstants)</DefineConstants>
86   </PropertyGroup>
87   <PropertyGroup Condition="'$(Configuration)' == 'Release'">
88     <DebugSymbols>true</DebugSymbols>
89     <Optimize Condition="'$(Optimize)' == ''">true</Optimize>
90   </PropertyGroup>
91   <!-- Assembly attributes -->
92   <PropertyGroup>
93     <AssemblyName>System.Private.CoreLib</AssemblyName>
94     <AssemblyVersion>4.0.0.0</AssemblyVersion>
95     <MajorVersion>4</MajorVersion>
96     <MinorVersion>6</MinorVersion>
97     <ExcludeAssemblyInfoPartialFile>true</ExcludeAssemblyInfoPartialFile>
98   </PropertyGroup>
99   <!--
100     Helper Paths
101   -->
102   <PropertyGroup>
103     <CommonPath>$(MSBuildThisFileDirectory)Common</CommonPath>
104     <BclSourcesRoot>$(MSBuildThisFileDirectory)src</BclSourcesRoot>
105   </PropertyGroup>
106   <!-- Msbuild variables needed to get CoreCLR features to be set properly. -->
107   <PropertyGroup>
108     <!-- These are needed to make sure we have the right set of defines -->
109     <TargetArch Condition="'$(Platform)'=='x86'">i386</TargetArch>
110     <TargetArch Condition="'$(Platform)'!='x86'">$(Platform)</TargetArch>
111   </PropertyGroup>
112   <!-- CLR Features -->
113   <Import Project="$(MSBuildThisFileDirectory)..\..\clr.coreclr.props" />
114   <Import Project="$(MSBuildThisFileDirectory)..\..\clr.defines.targets" />
115   <!-- Sources -->
116   <ItemGroup>
117     <Compile Include="$(BclSourcesRoot)\Internal\Console.cs" />
118     <Compile Include="$(BclSourcesRoot)\Internal\Runtime\Augments\RuntimeThread.cs" />
119     <Compile Include="$(BclSourcesRoot)\Microsoft\Win32\UnsafeNativeMethods.cs" />
120     <Compile Include="$(BclSourcesRoot)\System\__Canon.cs" />
121     <Compile Include="$(BclSourcesRoot)\System\Activator.cs" />
122     <Compile Include="$(BclSourcesRoot)\System\AppContext.CoreCLR.cs" />
123     <Compile Include="$(BclSourcesRoot)\System\ArgIterator.cs" />
124     <Compile Include="$(BclSourcesRoot)\System\Array.CoreCLR.cs" />
125     <Compile Include="$(BclSourcesRoot)\System\Attribute.CoreCLR.cs" />
126     <Compile Include="$(BclSourcesRoot)\System\BadImageFormatException.CoreCLR.cs" />
127     <Compile Include="$(BclSourcesRoot)\System\Buffer.cs" />
128     <Compile Include="$(BclSourcesRoot)\System\CLRConfig.cs" />
129     <Compile Include="$(BclSourcesRoot)\System\Collections\EmptyReadOnlyDictionaryInternal.cs" />
130     <Compile Include="$(BclSourcesRoot)\System\Collections\Generic\ArraySortHelper.CoreCLR.cs" />
131     <Compile Include="$(BclSourcesRoot)\System\Collections\Generic\Comparer.CoreCLR.cs" />
132     <Compile Include="$(BclSourcesRoot)\System\Collections\Generic\ComparerHelpers.cs" />
133     <Compile Include="$(BclSourcesRoot)\System\Collections\Generic\EqualityComparer.CoreCLR.cs" />
134     <Compile Include="$(BclSourcesRoot)\System\Collections\ObjectModel\ReadOnlyDictionary.cs" />
135     <Compile Include="$(BclSourcesRoot)\System\Currency.cs" />
136     <Compile Include="$(BclSourcesRoot)\System\DefaultBinder.CanConvert.cs" />
137     <Compile Include="$(BclSourcesRoot)\System\Delegate.cs" />
138     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Debugger.cs" />
139     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\EditAndContinueHelper.cs" />
140     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\NativeRuntimeEventSource.cs" Condition="'$(FeaturePerfTracing)' == 'true'"/>
141     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\EventPipe.cs" />
142     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\EventPipeController.cs" />
143     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\EventPipeEventDispatcher.cs" />
144     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\EventPipeEventProvider.cs" />
145     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\EventPipeMetadataGenerator.cs" />
146     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\EventPipePayloadDecoder.cs" />
147     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\RuntimeEventSource.cs" Condition="'$(FeaturePerfTracing)' == 'true'"/>
148     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\EventSource_CoreCLR.cs" />
149     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\TraceLogging\TraceLoggingEventHandleTable.cs" />
150     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\ICustomDebuggerNotification.cs" />
151     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\StackFrame.CoreCLR.cs" />
152     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\StackFrameHelper.cs" />
153     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\StackTrace.CoreCLR.cs" />
154     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\SymbolStore\ISymWriter.cs" />
155     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\SymbolStore\SymAddressKind.cs" />
156     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\SymbolStore\Token.cs" />
157     <Compile Include="$(BclSourcesRoot)\System\Enum.cs" />
158     <Compile Include="$(BclSourcesRoot)\System\Environment.CoreCLR.cs" />
159     <Compile Include="$(BclSourcesRoot)\System\Exception.cs" />
160     <Compile Include="$(BclSourcesRoot)\System\GC.cs" />
161     <Compile Include="$(BclSourcesRoot)\System\Globalization\GlobalizationMode.cs" />
162     <Compile Include="$(BclSourcesRoot)\System\Internal.cs" />
163     <Compile Include="$(BclSourcesRoot)\System\IO\FileLoadException.CoreCLR.cs" />
164     <Compile Include="$(BclSourcesRoot)\System\IO\FileNotFoundException.CoreCLR.cs" />
165     <Compile Include="$(BclSourcesRoot)\System\IO\Stream.CoreCLR.cs" />
166     <Compile Include="$(BclSourcesRoot)\System\Math.CoreCLR.cs" />
167     <Compile Include="$(BclSourcesRoot)\System\MathF.CoreCLR.cs" />
168     <Compile Include="$(BclSourcesRoot)\System\MissingMemberException.CoreCLR.cs" />
169     <Compile Include="$(BclSourcesRoot)\System\MulticastDelegate.cs" />
170     <Compile Include="$(BclSourcesRoot)\System\Object.CoreCLR.cs" />
171     <Compile Include="$(BclSourcesRoot)\System\OleAutBinder.cs" Condition="'$(FeatureClassicCominterop)' == 'true'" />
172     <Compile Include="$(BclSourcesRoot)\System\Reflection\Assembly.CoreCLR.cs" />
173     <Compile Include="$(BclSourcesRoot)\System\Reflection\AssemblyName.cs" />
174     <Compile Include="$(BclSourcesRoot)\System\Reflection\Associates.cs" />
175     <Compile Include="$(BclSourcesRoot)\System\Reflection\ConstructorInfo.CoreCLR.cs" />
176     <Compile Include="$(BclSourcesRoot)\System\Reflection\CustomAttribute.cs" />
177     <Compile Include="$(BclSourcesRoot)\System\Reflection\CustomAttributeExtensions.cs" />
178     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\AQNBuilder.cs" />
179     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\AssemblyBuilder.cs" />
180     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\AssemblyBuilderData.cs" />
181     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\ConstructorBuilder.cs" />
182     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\CustomAttributeBuilder.cs" />
183     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\DynamicILGenerator.cs" />
184     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\DynamicMethod.cs" />
185     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\EnumBuilder.cs" />
186     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\EventBuilder.cs" />
187     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\FieldBuilder.cs" />
188     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\GenericTypeParameterBuilder.cs" />
189     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\ILGenerator.cs" />
190     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\ISymWrapperCore.cs" />
191     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\LocalBuilder.cs" />
192     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\MethodBuilder.cs" />
193     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\MethodBuilderInstantiation.cs" />
194     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\ModuleBuilder.cs" />
195     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\ModuleBuilderData.cs" />
196     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\ParameterBuilder.cs" />
197     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\PropertyBuilder.cs" />
198     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\SignatureHelper.cs" />
199     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\SymbolMethod.cs" />
200     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\SymbolType.cs" />
201     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\TypeBuilder.cs" />
202     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\TypeBuilderInstantiation.cs" />
203     <Compile Include="$(BclSourcesRoot)\System\Reflection\Emit\XXXOnTypeBuilderInstantiation.cs" />
204     <Compile Include="$(BclSourcesRoot)\System\Reflection\FieldInfo.CoreCLR.cs" />
205     <Compile Include="$(BclSourcesRoot)\System\Reflection\INVOCATION_FLAGS.cs" />
206     <Compile Include="$(BclSourcesRoot)\System\Reflection\LoaderAllocator.cs" />
207     <Compile Include="$(BclSourcesRoot)\System\Reflection\MdConstant.cs" />
208     <Compile Include="$(BclSourcesRoot)\System\Reflection\MdFieldInfo.cs" />
209     <Compile Include="$(BclSourcesRoot)\System\Reflection\MdImport.cs" />
210     <Compile Include="$(BclSourcesRoot)\System\Reflection\MemberInfo.Internal.cs" />
211     <Compile Include="$(BclSourcesRoot)\System\Reflection\Metadata\AssemblyExtensions.cs" />
212     <Compile Include="$(BclSourcesRoot)\System\Reflection\MethodBase.CoreCLR.cs" />
213     <Compile Include="$(BclSourcesRoot)\System\Reflection\RtFieldInfo.cs" />
214     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeAssembly.cs" />
215     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeConstructorInfo.cs" />
216     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeEventInfo.cs" />
217     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeExceptionHandlingClause.cs" />
218     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeFieldInfo.cs" />
219     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeLocalVariableInfo.cs" />
220     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeMethodBody.cs" />
221     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeMethodInfo.cs" />
222     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeModule.cs" />
223     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeParameterInfo.cs" />
224     <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimePropertyInfo.cs" />
225     <Compile Include="$(BclSourcesRoot)\System\Resources\ManifestBasedResourceGroveler.CoreCLR.cs" />
226     <Compile Include="$(BclSourcesRoot)\System\RtType.cs" />
227     <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\CrossLoaderAllocatorHashHelpers.cs" />
228     <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\DependentHandle.cs" />
229     <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\GCHeapHash.cs" />
230     <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\ICastableHelpers.cs" />
231     <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\jithelpers.cs" />
232     <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\RuntimeFeature.CoreCLR.cs" />
233     <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\RuntimeHelpers.cs" />
234     <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\TypeDependencyAttribute.cs" />
235     <Compile Include="$(BclSourcesRoot)\System\Runtime\GCSettings.CoreCLR.cs" />
236     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\ComTypes\IEnumerable.cs" />
237     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\CriticalHandle.CoreCLR.cs" />
238     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\Expando\IExpando.cs" />
239     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\GCHandle.CoreCLR.cs" />
240     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\Marshal.CoreCLR.cs" />
241     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\NativeLibrary.cs" />
242     <Compile Include="$(BclSourcesRoot)\System\Runtime\Loader\AssemblyLoadContext.cs" />
243     <Compile Include="$(BclSourcesRoot)\System\Runtime\Loader\AssemblyDependencyResolver.cs" />
244     <Compile Include="$(BclSourcesRoot)\System\Runtime\Serialization\FormatterServices.cs" />
245     <Compile Include="$(BclSourcesRoot)\System\Runtime\Versioning\CompatibilitySwitch.cs" />
246     <Compile Include="$(BclSourcesRoot)\System\RuntimeArgumentHandle.cs" />
247     <Compile Include="$(BclSourcesRoot)\System\RuntimeHandles.cs" />
248     <Compile Include="$(BclSourcesRoot)\System\Security\DynamicSecurityMethodAttribute.cs" />
249     <Compile Include="$(BclSourcesRoot)\System\StartupHookProvider.cs" />
250     <Compile Include="$(BclSourcesRoot)\System\String.CoreCLR.cs" />
251     <Compile Include="$(BclSourcesRoot)\System\StubHelpers.cs" />
252     <Compile Include="$(BclSourcesRoot)\System\Text\StringBuilder.CoreCLR.cs" />
253     <Compile Include="$(BclSourcesRoot)\System\Threading\ClrThreadPoolBoundHandle.cs" />
254     <Compile Include="$(BclSourcesRoot)\System\Threading\ClrThreadPoolBoundHandleOverlapped.cs" />
255     <Compile Include="$(BclSourcesRoot)\System\Threading\ClrThreadPoolPreAllocatedOverlapped.cs" />
256     <Compile Include="$(BclSourcesRoot)\System\Threading\Interlocked.cs" />
257     <Compile Include="$(BclSourcesRoot)\System\Threading\Monitor.cs" />
258     <Compile Include="$(BclSourcesRoot)\System\Threading\Overlapped.cs" />
259     <Compile Include="$(BclSourcesRoot)\System\Threading\SynchronizationContext.CoreCLR.cs" />
260     <Compile Include="$(BclSourcesRoot)\System\Threading\Thread.cs" />
261     <Compile Include="$(BclSourcesRoot)\System\Threading\ThreadPool.CoreCLR.cs" />
262     <Compile Include="$(BclSourcesRoot)\System\Threading\Timer.CoreCLR.cs" />
263     <Compile Include="$(BclSourcesRoot)\System\Threading\WaitHandle.cs" />
264     <Compile Include="$(BclSourcesRoot)\System\Type.CoreCLR.cs" />
265     <Compile Include="$(BclSourcesRoot)\System\TypedReference.cs" />
266     <Compile Include="$(BclSourcesRoot)\System\TypeLoadException.cs" />
267     <Compile Include="$(BclSourcesRoot)\System\TypeNameParser.cs" />
268     <Compile Include="$(BclSourcesRoot)\System\ValueType.cs" />
269     <Compile Include="$(BclSourcesRoot)\System\WeakReference.cs" />
270     <Compile Include="$(BclSourcesRoot)\System\WeakReferenceOfT.cs" />
271     <Compile Include="shared\Interop\Windows\Kernel32\Interop.GetCurrentProcessId.cs" />
272     <Compile Include="shared\Interop\Windows\Kernel32\Interop.GetCurrentThreadId.cs" />
273     <Compile Include="shared\Interop\Windows\Kernel32\Interop.GetStdHandle.cs" />
274     <Compile Include="shared\Interop\Windows\Kernel32\Interop.LocalAlloc.cs" />
275     <Compile Include="shared\Interop\Windows\Kernel32\Interop.QueryUnbiasedInterruptTime.cs" />
276     <Compile Include="shared\Interop\Windows\Kernel32\Interop.VerifyVersionExW.cs" />
277     <Compile Include="shared\Interop\Windows\Kernel32\Interop.VerSetConditionMask.cs" />
278     <Compile Include="shared\Interop\Windows\Ole32\Interop.CoTaskMemAlloc.cs" />
279     <Compile Include="shared\Interop\Windows\OleAut32\Interop.SysAllocStringByteLen.cs" />
280   </ItemGroup>
281   <ItemGroup>
282     <Compile Include="$(BclSourcesRoot)\System\Diagnostics\Eventing\XplatEventLogger.cs" Condition="'$(FeatureXplatEventSource)' == 'true'" />
283     <Compile Include="$(IntermediateOutputPath)..\Eventing\NativeRuntimeEventSource.cs" Condition="'$(FeaturePerfTracing)' == 'true'"/>
284   </ItemGroup>
285   <ItemGroup Condition="'$(FeatureCominterop)' == 'true'">
286     <Compile Include="$(BclSourcesRoot)\Internal\Runtime\InteropServices\WindowsRuntime\ExceptionSupport.cs" />
287     <Compile Include="$(BclSourcesRoot)\Internal\Runtime\InteropServices\ComActivator.cs" Condition="'$(FeatureCominteropUnmanagedActivation)' == 'true'" />
288     <Compile Include="$(BclSourcesRoot)\Microsoft\Win32\OAVariantLib.cs" Condition="'$(FeatureClassicCominterop)' == 'true'" />
289     <Compile Include="$(BclSourcesRoot)\System\__ComObject.cs" />
290     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\ComEventsHelper.cs" Condition="'$(FeatureClassicCominterop)' == 'true'" />
291     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\ComEventsInfo.cs" Condition="'$(FeatureClassicCominterop)' == 'true'" />
292     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\ComEventsMethod.cs" Condition="'$(FeatureClassicCominterop)' == 'true'" />
293     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\ComEventsSink.cs" Condition="'$(FeatureClassicCominterop)' == 'true'" />
294     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\Variant.cs" Condition="'$(FeatureClassicCominterop)' == 'true'" />
295     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\CustomMarshalers\ComDataHelpers.cs" />
296     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\CustomMarshalers\EnumVariantViewOfEnumerator.cs" />
297     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\CustomMarshalers\EnumerableToDispatchMarshaler.cs" />
298     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\CustomMarshalers\EnumerableViewOfDispatch.cs" />
299     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\CustomMarshalers\EnumeratorToEnumVariantMarshaler.cs" />
300     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\CustomMarshalers\EnumeratorViewOfEnumVariant.cs" />
301     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\CustomMarshalers\ExpandoToDispatchExMarshaler.cs" />
302     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\CustomMarshalers\TypeToTypeInfoMarshaler.cs" />
303     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\IDispatch.cs" />
304     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\Attributes.cs" />
305     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\BindableVectorToCollectionAdapter.cs" />
306     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\BindableVectorToListAdapter.cs" />
307     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\CLRIKeyValuePairImpl.cs" />
308     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\CLRIPropertyValueImpl.cs" />
309     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\CLRIReferenceImpl.cs" />
310     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\ConstantSplittableMap.cs" />
311     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\CustomPropertyImpl.cs" />
312     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\DictionaryKeyCollection.cs" />
313     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\DictionaryToMapAdapter.cs" />
314     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\DictionaryValueCollection.cs" />
315     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\EnumeratorToIteratorAdapter.cs" />
316     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\EventRegistrationTokenTable.cs" />
317     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IActivationFactory.cs" />
318     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IClosable.cs" />
319     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\ICustomProperty.cs" />
320     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\ICustomPropertyProvider.cs" />
321     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IIterable.cs" />
322     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IIterator.cs" />
323     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IMap.cs" />
324     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IMapViewToIReadOnlyDictionaryAdapter.cs" />
325     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IPropertyValue.cs" />
326     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IReadOnlyDictionaryToIMapViewAdapter.cs" />
327     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IReadOnlyListToIVectorViewAdapter.cs" />
328     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IReference.cs" />
329     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IRestrictedErrorInfo.cs" />
330     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IteratorToEnumeratorAdapter.cs" />
331     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IVector.cs" />
332     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\IVectorViewToIReadOnlyListAdapter.cs" />
333     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\ListToBindableVectorAdapter.cs" />
334     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\ListToBindableVectorViewAdapter.cs" />
335     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\ListToVectorAdapter.cs" />
336     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\ManagedActivationFactory.cs" />
337     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\MapToCollectionAdapter.cs" />
338     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\MapToDictionaryAdapter.cs" />
339     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\MapViewToReadOnlyCollectionAdapter.cs" />
340     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\NativeMethods.cs" />
341     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\PropertyValue.cs" />
342     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\RuntimeClass.cs" />
343     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\VectorToCollectionAdapter.cs" />
344     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\VectorToListAdapter.cs" />
345     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\VectorViewToReadOnlyCollectionAdapter.cs" />
346     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\WindowsFoundationEventHandler.cs" />
347     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\WindowsRuntimeMarshal.cs" />
348     <Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\WindowsRuntime\WindowsRuntimeMetadata.cs" />
349     <Compile Include="$(BclSourcesRoot)\System\Threading\Tasks\IAsyncCausalityTracerStatics.cs" />
350     <Compile Include="$(BclSourcesRoot)\System\Threading\Tasks\AsyncCausalityTracer.cs" />
351     <Compile Include="$(BclSourcesRoot)\System\Variant.cs" />
352   </ItemGroup>
353   <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
354     <Compile Include="$(BclSourcesRoot)\Interop\Unix\Interop.Libraries.cs" />
355     <Compile Include="$(BclSourcesRoot)\System\DateTime.Unix.CoreCLR.cs" />
356     <Compile Include="$(BclSourcesRoot)\System\Globalization\GlobalizationMode.Unix.cs" />
357     <Compile Include="$(BclSourcesRoot)\System\Threading\ClrThreadPoolBoundHandle.Unix.cs" />
358   </ItemGroup>
359   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
360     <Compile Include="$(BclSourcesRoot)\System\DateTime.Windows.cs" />
361     <Compile Include="$(BclSourcesRoot)\Interop\Windows\OleAut32\Interop.VariantClear.cs" />
362     <Compile Include="$(BclSourcesRoot)\System\ApplicationModel.Windows.cs" />
363     <Compile Include="$(BclSourcesRoot)\System\Globalization\GlobalizationMode.Windows.cs" />
364     <Compile Include="$(BclSourcesRoot)\System\Threading\ClrThreadPoolBoundHandle.Windows.cs" />
365   </ItemGroup>
366   <ItemGroup Condition="'$(FeatureAppX)' == 'true'">
367     <Compile Include="$(BclSourcesRoot)\System\Threading\SynchronizationContext.Uap.cs" />
368   </ItemGroup>
369   <ItemGroup>
370     <!--
371     These files are also added to CoreLib.Shared.projitems, but they don't show up in
372     Visual Studio Solution Explorer. Adding them here as well so developers can
373     edit them and regenerate the .cs files.
374     -->
375     <Content Include="shared\System\Numerics\ConstantHelper.tt">
376       <Generator>TextTemplatingFileGenerator</Generator>
377       <LastGenOutput>ConstantHelper.cs</LastGenOutput>
378     </Content>
379     <None Include="shared\System\Numerics\GenerationConfig.ttinclude" />
380     <Content Include="shared\System\Numerics\Register.tt">
381       <Generator>TextTemplatingFileGenerator</Generator>
382       <LastGenOutput>Register.cs</LastGenOutput>
383     </Content>
384     <Content Include="shared\System\Numerics\Vector.tt">
385       <Generator>TextTemplatingFileGenerator</Generator>
386       <LastGenOutput>Vector.cs</LastGenOutput>
387     </Content>
388   </ItemGroup>
389   <!-- Include additional sources shared files in the compilation -->
390   <ItemGroup>
391     <!-- These files are shared with other framework components and don't live the same folder as the rest of them-->
392     <Compile Include="$(CommonPath)\NotImplemented.cs" />
393     <Compile Include="$(CommonPath)\System\SR.cs" />
394   </ItemGroup>
395   <ItemGroup>
396     <Compile Include="src\System\Runtime\RuntimeImports.cs" />
397   </ItemGroup>
398   <Import Project="shared\System.Private.CoreLib.Shared.projitems" />
399   <PropertyGroup>
400     <CheckCDefines Condition="'$(CheckCDefines)'==''">true</CheckCDefines>
401   </PropertyGroup>
402   <Target Name="CDefineChecker" BeforeTargets="Build" Condition="'$(CheckCDefines)'=='true'">
403     <!-- Compiler Definition Verification -->
404     <PropertyGroup>
405       <CMakeDefinitionSaveFile>$(IntermediateOutputPath)..\cmake.definitions</CMakeDefinitionSaveFile>
406     </PropertyGroup>
407     <Exec Command="&quot;$(PYTHON)&quot; $(MSBuildThisFileDirectory)..\scripts\check-definitions.py &quot;$(CMakeDefinitionSaveFile)&quot; &quot;$(DefineConstants)&quot; &quot;$(IgnoreDefineConstants)&quot; " />
408   </Target>
409   <PropertyGroup Condition="'$(BuildOS)' == 'Windows_NT'">
410     <EnableDotnetAnalyzers Condition="'$(EnableDotnetAnalyzers)'==''">true</EnableDotnetAnalyzers>
411     <UseWin32Apis>true</UseWin32Apis>
412     <OSGroup>Windows_NT</OSGroup>
413   </PropertyGroup>
414   <PropertyGroup>
415     <FeatureAsyncCausalityTracer Condition="'$(FeatureCominterop)' == 'true'">true</FeatureAsyncCausalityTracer>
416   </PropertyGroup>
417   <PropertyGroup>
418     <StrongNameSig>Silverlight</StrongNameSig>
419   </PropertyGroup>
420   <ItemGroup>
421     <AssemblyInfoLines Include="[assembly:System.Runtime.InteropServices.ComVisible(false)]" />
422     <AssemblyInfoLines Include="[assembly:System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute(System.Runtime.InteropServices.DllImportSearchPath.AssemblyDirectory | System.Runtime.InteropServices.DllImportSearchPath.System32)]" />
423   </ItemGroup>
424   <!--
425     Import common targets: codeAnalysis, Microsoft.CSharp, sign, versioning, codeOptimizations, etc.
426     In doing so, override versioning targets.
427   -->
428   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
429   <PropertyGroup>
430     <!-- Overwrite the key that we are going to use for signing -->
431     <AssemblyOriginatorKeyFile>$(ToolsDir)SilverlightPlatformPublicKey.snk</AssemblyOriginatorKeyFile>
432     <!-- Don't need a strong name signature because we only ship the native image -->
433     <StrongNameSig>None</StrongNameSig>
434   </PropertyGroup>
435   <Import Project="CreateRuntimeRootILLinkDescriptorFile.targets" />
436   <ItemGroup>
437     <EmbeddedResource Include="$(_ILLinkRuntimeRootDescriptorFilePath)" />
438   </ItemGroup>
439   <Import Project="ILLink.targets" />
440   <Import Project="GenerateCompilerResponseFile.targets" />
441 </Project>