forked from dotnet/project-system
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Directory.Build.props
119 lines (93 loc) · 6.26 KB
/
Directory.Build.props
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
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<IsUnitTestProject Condition="'$(IsUnitTestProject)' == ''">false</IsUnitTestProject>
<IsIntegrationTestProject Condition="'$(IsIntegrationTestProject)' == ''">false</IsIntegrationTestProject>
<IsTestProject Condition="'$(IsTestProject)' == ''">false</IsTestProject>
<OutDirName Condition="'$(OutDirName)' == ''">Dlls</OutDirName>
</PropertyGroup>
<Import Project="build\import\NuGet.props"/>
<Import Project="build\import\Versions.props"/>
<PropertyGroup>
<!-- Workaround for https://github.com/dotnet/sdk/issues/2288 -->
<LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.proj'">$(MSBuildToolsPath)\Microsoft.Common.targets</LanguageTargets>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<!--
RepoToolset props and targets are conditionally imported based on whether RepoToolsetDir is set or not
to allow VS to load packages and perform automatic package restore.
TODO: Remove once we can use a custom SDK (https://github.com/Microsoft/msbuild/issues/1493)
-->
<_RepoToolsetDir>$(NuGetPackageRoot)roslyntools.repotoolset\$(RoslynToolsRepoToolsetVersion)\tools\</_RepoToolsetDir>
<RepoToolsetDir Condition="'$(BuildingInsideVisualStudio)' != 'true' or Exists('$(_RepoToolsetDir)')">$(_RepoToolsetDir)</RepoToolsetDir>
<RepositoryUrl>https://github.com/dotnet/project-system</RepositoryUrl>
<PackageProjectUrl>$(RepositoryUrl)</PackageProjectUrl>
<!-- All projects in this repository target the same framework by default -->
<TargetFramework>net472</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<VSSDKTargetPlatformRegRootSuffix Condition="'$(RootSuffix)' != ''">$(RootSuffix)</VSSDKTargetPlatformRegRootSuffix>
<VSSDKTargetPlatformRegRootSuffix Condition="'$(VSSDKTargetPlatformRegRootSuffix)' == ''">Exp</VSSDKTargetPlatformRegRootSuffix>
<MoqPublicKey>0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7</MoqPublicKey>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<ForceGenerationOfBindingRedirects>true</ForceGenerationOfBindingRedirects>
</PropertyGroup>
<!--
TODO: Import layout props so that design-time build executed before package restore is finished doesn't
product artifacts into wrong obj directories. Remove once we can use a custom SDK (https://github.com/Microsoft/msbuild/issues/1493)
-->
<Import Project="build\import\ProjectLayout.props"/>
<!--
Determine whether the project is WPF temp project.
Since .NET Framework 4.7.2 WPF temp project name ends with _wpftmp suffix and keeps the language specific extension (e.g. csproj).
-->
<PropertyGroup>
<IsWpfTempProject>false</IsWpfTempProject>
<IsWpfTempProject Condition="$(MSBuildProjectName.EndsWith('_wpftmp'))">true</IsWpfTempProject>
</PropertyGroup>
<!--
WPF temp-projects do not import .props and .targets files from NuGet packages.
(see https://github.com/dotnet/sourcelink/issues/91).
Property _TargetAssemblyProjectName is set by GenerateTemporaryTargetAssembly task.
-->
<PropertyGroup Condition="'$(IsWpfTempProject)' == 'true'">
<_WpfTempProjectNuGetFileNameNoExt>$(ArtifactsObjDir)$(_TargetAssemblyProjectName)\$(_TargetAssemblyProjectName)$(MSBuildProjectExtension).nuget.g</_WpfTempProjectNuGetFileNameNoExt>
</PropertyGroup>
<!--
Import NuGet props to WPF temp projects (workaround for https://github.com/dotnet/sourcelink/issues/91)
-->
<Import Project="$(_WpfTempProjectNuGetFileNameNoExt).props" Condition="'$(_WpfTempProjectNuGetFileNameNoExt)' != '' and Exists('$(_WpfTempProjectNuGetFileNameNoExt).props')"/>
<Import Project="$(RepoToolsetDir)Settings.props" Condition="'$(ExcludeRestorePackageImports)' != 'true' AND Exists('$(RepoToolsetDir)Settings.props')" />
<PropertyGroup>
<_IsVisualStudioDeveloperBuild Condition="'$(OfficialBuild)' != 'true' AND '$(CIBuild)' != 'true' AND '$(BuildingInsideVisualStudio)' == 'true'">true</_IsVisualStudioDeveloperBuild>
<!-- Code Coverage doesn't currently work for portable/embedded PDBs - force to full inside Visual Studio builds -->
<DebugType Condition="'$(_IsVisualStudioDeveloperBuild)' == 'true'">full</DebugType>
</PropertyGroup>
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<MinimumVisualStudioVersion>16.0</MinimumVisualStudioVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Language)' == 'C#'">
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<LangVersion>8.0</LangVersion>
<!-- New name -->
<Nullable>enable</Nullable>
<!-- Old name while we wait for new name to be everywhere -->
<NullableContextOptions>enable</NullableContextOptions>
<Features>strict</Features>
</PropertyGroup>
<PropertyGroup Condition="'$(Language)' == 'VB'">
<!-- Build machines only have Visual Studio 15.5 (which comes with VB 15.3) -->
<LangVersion>15.3</LangVersion>
<!-- The default is Embed -->
<VBRuntime>Default</VBRuntime>
<RemoveIntegerChecks>true</RemoveIntegerChecks>
<Features>strict</Features>
</PropertyGroup>
<PropertyGroup>
<!-- Use IBC optimization data if available -->
<IbcOptimizationDataDir Condition="$(EnableIbc) == 'true'">$(NuGetPackageRoot)\RoslynDependencies.ProjectSystem.OptimizationData\$(RoslynDependenciesProjectSystemOptimizationDataVersion)\content\OptimizationData\</IbcOptimizationDataDir>
<UseCommonOutputDirectory Condition="'$(UseCommonOutputDirectory)' == ''">true</UseCommonOutputDirectory>
<NoWarn>$(NoWarn);NU5125</NoWarn>
<!-- Workaround for https://github.com/microsoft/vs-threading/issues/472 and that you cannot disable analyzers file in an .editorconfig (https://github.com/dotnet/roslyn/issues/38042) -->
<NoWarn>$(NoWarn);VSTHRD003</NoWarn>
</PropertyGroup>
</Project>