-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
103 lines (84 loc) · 4.74 KB
/
Copy pathDirectory.Build.props
File metadata and controls
103 lines (84 loc) · 4.74 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
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
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- SDK props pull in common props -->
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
Condition="'$(ImportCommonProps)' == 'true' and Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<!--
Cross-platform targetting in .NET
https://learn.microsoft.com/dotnet/standard/library-guidance/cross-platform-targeting
-->
<!--
Want to keep current and support the most recent LTS.
-->
<DotNetCoreVersion>net10.0</DotNetCoreVersion>
<!--
4.7.2 addresses issues when consuming .NET Standard 2.0 libraries from .NET Framework.
Windows 10 1803 and Server 2019 included 4.7.2 in the box. Most OSes have gone out of support that shipped with
earlier versions. The only exceptions are enterprise and server versions from 2016. We could support 4.6.2
instead if the need arises, but starting with 4.7.2 to be explicit about the best choice.
https://learn.microsoft.com/lifecycle/products/windows-81
https://learn.microsoft.com/lifecycle/products/windows-7
https://learn.microsoft.com/lifecycle/products/windows-server-2016
https://learn.microsoft.com/lifecycle/products/windows-10-2016-ltsb
-->
<DotNetFrameworkVersion>net472</DotNetFrameworkVersion>
<WindowsPlatformVersion>windows10.0.22000.0</WindowsPlatformVersion>
<!-- C# Features -->
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>14</LangVersion>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<!-- Common repo directories -->
<PropertyGroup>
<RepoDir>$(MSBuildThisFileDirectory)</RepoDir>
<SourceDir>$(ProjectDir)src\</SourceDir>
<!-- Output directories -->
<BinDir Condition="'$(BinDir)'==''">$(RepoDir)artifacts\</BinDir>
<ObjDir Condition="'$(ObjDir)'==''">$(BinDir)obj\</ObjDir>
<!-- Input Directories -->
<PackagesDir Condition="'$(PackagesDir)'==''">$(RepoDir)packages\</PackagesDir>
</PropertyGroup>
<!-- Set default Configuration and Platform -->
<PropertyGroup>
<Platforms Condition="'$(Platforms)'==''">x64</Platforms>
<Platform Condition="'$(Platform)'==''">x64</Platform>
<Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
</PropertyGroup>
<!-- Set up Default symbol and optimization for Configuration -->
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols>
<Optimize Condition="'$(Optimize)' == ''">false</Optimize>
<DebugType Condition="'$(DebugType)' == ''">full</DebugType>
<DefineConstants>$(DefineConstants);DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols>
<Optimize Condition="'$(Optimize)' == ''">true</Optimize>
<DebugType Condition="'$(DebugType)' == ''">pdbonly</DebugType>
<DefineConstants>$(DefineConstants);TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Platform)' == 'x86'">
<DefineConstants>TARGET_32BIT;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Platform)' != 'x86'">
<DefineConstants>TARGET_64BIT;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<!-- Set up the default output and intermediate paths -->
<PropertyGroup>
<BaseOutputPath Condition="'$(BaseOutputPath)'==''">$(BinDir)</BaseOutputPath>
<OutputPath Condition="'$(OutputPath)'==''">$(BaseOutputPath)$(Platform)\$(Configuration)\$(MSBuildProjectName)\</OutputPath>
<!--
Putting the project at the root rather than after the platform/configuration allows usages of BaseIntermediateOutputPath
that implicitly expect it to be project isolated to work. $(ProjectAssetsFile) depends on this. (New to VS 2017)
-->
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'==''">$(ObjDir)$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<IntermediateOutputRootPath Condition="'$(IntermediateOutputRootPath)' == ''">$(BaseIntermediateOutputPath)$(Platform)\$(Configuration)\</IntermediateOutputRootPath>
<IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == ''">$(IntermediateOutputRootPath)\</IntermediateOutputPath>
<!--
Note that SDK targets add the target framework to $(IntermediateOutputPath) and $(OutputPath). (via Microsoft.NET.TargetFrameworkInference.targets)
$(AppendTargetFrameworkToOutputPath) can be used to skip this behavior.
-->
</PropertyGroup>
</Project>