-
Notifications
You must be signed in to change notification settings - Fork 577
Expand file tree
/
Copy pathDirectory.Build.targets
More file actions
39 lines (33 loc) · 2.34 KB
/
Copy pathDirectory.Build.targets
File metadata and controls
39 lines (33 loc) · 2.34 KB
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
<Project>
<PropertyGroup>
<SourceLinkGitHubPackageVersion Condition=" '$(SourceLinkGitHubPackageVersion)' == '' ">8.0.0</SourceLinkGitHubPackageVersion>
</PropertyGroup>
<!-- NuGet Package Versions -->
<ItemGroup>
<PackageReference Update="Microsoft.Win32.Registry" Version="5.0.0" />
<PackageReference Update="System.CodeDom" Version="10.0.11" />
<PackageReference Update="Irony" Version="1.5.3" />
</ItemGroup>
<!-- Embed Source Link information in PDBs for every project in the repo. -->
<ItemGroup>
<!--
SourceLink is a build-time only package (PrivateAssets="All"), but in 10.x its dependency
Microsoft.Build.Tasks.Git pulls System.IO.Hashing in as a *runtime* asset (e.g. 10.0.300 -> 10.0.8).
Projects that reference System.IO.Hashing only transitively would then ship that version into the
SDK pack's `tools/` directory, where it collides with the $(SystemIOHashingPackageVersion) assembly the build
tasks are compiled against (System.IO.Hashing bumps its AssemblyVersion every patch), producing a
MissingMethodException (XACRP7000) on System.IO.Hashing.Crc64.Hash at build
time. Exclude SourceLink's runtime assets so it can never contribute a floating System.IO.Hashing;
source linking is unaffected (it runs via SourceLink's build assets). Mirrors the same pin in
external/Java.Interop/Directory.Build.targets.
-->
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="$(SourceLinkGitHubPackageVersion)" PrivateAssets="All" ExcludeAssets="runtime" />
</ItemGroup>
<!-- Automatically add NRT attribute support for netstandard2.0 projects using NRT -->
<ItemGroup Condition=" '$(UseProjectNullableAttributes)' != 'true' AND '$(TargetFramework)' == 'netstandard2.0' AND ('$(Nullable)' == 'enable' OR '$(Nullable)' == 'annotations') ">
<Compile Include="$(MSBuildThisFileDirectory)external\Java.Interop\src\utils\NullableAttributes.cs" Visible="false" />
</ItemGroup>
<PropertyGroup Condition=" '$(UseProjectNullableAttributes)' != 'true' AND '$(TargetFramework)' == 'netstandard2.0' AND ('$(Nullable)' == 'enable' OR '$(Nullable)' == 'annotations') ">
<DefineConstants>$(DefineConstants);INTERNAL_NULLABLE_ATTRIBUTES</DefineConstants>
</PropertyGroup>
</Project>