forked from dotnet/project-system
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDirectory.Build.props
119 lines (93 loc) · 6.3 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
<!-- 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. -->
<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>