d94a099347d22a1d23ec37f79dcf6c9179875375
[platform/core/dotnet/build-tools.git] / dotnet / sdk / 2.0.0-preview1-005977 / Sdks / Microsoft.NET.Sdk / build / Microsoft.NET.Sdk.props
1 <!--\r
2 ***********************************************************************************************\r
3 Microsoft.NET.Sdk.props\r
4 \r
5 WARNING:  DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have\r
6           created a backup copy.  Incorrect changes to this file will make it\r
7           impossible to load or build your projects from the command-line or the IDE.\r
8 \r
9 Copyright (c) .NET Foundation. All rights reserved. \r
10 ***********************************************************************************************\r
11 -->\r
12 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
13 \r
14   <PropertyGroup>\r
15     <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>\r
16 \r
17     <!-- This property disables the conflict resolution logic from the Microsoft.Packaging.Tools package, which is superceded by the logic here in the SDK -->\r
18     <DisableHandlePackageFileConflicts>true</DisableHandlePackageFileConflicts>\r
19   </PropertyGroup>\r
20 \r
21   <!-- Default configuration and platform to Debug|AnyCPU--> \r
22   <PropertyGroup>\r
23     <Configurations Condition=" '$(Configurations)' == '' ">Debug;Release</Configurations>\r
24     <Platforms Condition=" '$(Platforms)' == '' ">AnyCPU</Platforms>\r
25     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
26     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
27   </PropertyGroup>\r
28 \r
29   <!-- User-facing configuration-agnostic defaults -->\r
30   <PropertyGroup>\r
31     <OutputType Condition=" '$(OutputType)' == '' ">Library</OutputType>\r
32     <FileAlignment Condition=" '$(FileAlignment)' == '' ">512</FileAlignment>\r
33     <ErrorReport Condition=" '$(ErrorReport)' == '' ">prompt</ErrorReport>\r
34     <AssemblyName Condition=" '$(AssemblyName)' == '' ">$(MSBuildProjectName)</AssemblyName>\r
35     <RootNamespace Condition=" '$(RootNamespace)' == '' ">$(MSBuildProjectName)</RootNamespace>\r
36     <Deterministic Condition=" '$(Deterministic)' == '' ">true</Deterministic>\r
37   </PropertyGroup>\r
38 \r
39   <!-- User-facing configuration-specific defaults -->\r
40 \r
41   <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">\r
42     <DebugSymbols Condition=" '$(DebugSymbols)' == '' ">true</DebugSymbols>\r
43     <Optimize Condition=" '$(Optimize)' == '' ">false</Optimize>\r
44   </PropertyGroup>\r
45   <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">\r
46     <Optimize Condition=" '$(Optimize)' == '' ">true</Optimize>\r
47   </PropertyGroup>\r
48 \r
49   <!-- User-facing platform-specific defaults -->\r
50 \r
51   <!-- \r
52     NOTE:\r
53     \r
54      * We cannot compare against $(Platform) directly as that will give VS cause to instantiate extra \r
55        configurations, for each combination, which leads to performance problems and clutter in the sln\r
56        in the common AnyCPU-only case.\r
57 \r
58      * We cannot just set $(PlatformTarget) to $(Platform) here because $(Platform) can be set to anything\r
59        at the solution level, but there are a fixed set valid $(PlatformTarget) values that can be passed\r
60        to the compiler. It is up to the user to explicitly set PlatformTarget to non-AnyCPU (if desired)\r
61        outside the 1:1 defaults below.\r
62   -->\r
63   <PropertyGroup>\r
64     <_PlatformWithoutConfigurationInference>$(Platform)</_PlatformWithoutConfigurationInference>\r
65   </PropertyGroup>  \r
66   <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x64' ">\r
67     <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x64</PlatformTarget>\r
68   </PropertyGroup>\r
69   <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x86' ">\r
70     <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x86</PlatformTarget>\r
71   </PropertyGroup>\r
72   <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'ARM' ">\r
73     <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">ARM</PlatformTarget>\r
74   </PropertyGroup>\r
75 \r
76   <!-- Default settings for all projects built with this Sdk package -->\r
77   <PropertyGroup>\r
78     <DebugType Condition=" '$(DebugType)' == '' ">portable</DebugType>\r
79 \r
80     <!-- This will turn off the base UWP-specific 'ResolveNuGetPackages' target -->\r
81     <ResolveNuGetPackages>false</ResolveNuGetPackages>\r
82 \r
83     <!-- Skip import of Microsoft.NuGet.props and Microsoft.NuGet.targets -->\r
84     <SkipImportNuGetProps>true</SkipImportNuGetProps>\r
85     <SkipImportNuGetBuildTargets>true</SkipImportNuGetBuildTargets>\r
86     \r
87     <!-- NuGet should always restore .NET SDK projects with "PackageReference" style restore.  Setting this property will\r
88          cause the right thing to happen even if there aren't any PackageReference items in the project, such as when\r
89          a project targets .NET Framework and doesn't have any direct package dependencies. -->\r
90     <RestoreProjectStyle>PackageReference</RestoreProjectStyle>\r
91     \r
92     <!-- Exclude GAC, registry, output directory from search paths. -->\r
93     <AssemblySearchPaths Condition=" '$(AssemblySearchPaths)' == '' ">{CandidateAssemblyFiles};{HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</AssemblySearchPaths>\r
94     <DesignTimeAssemblySearchPaths Condition=" '$(DesignTimeAssemblySearchPaths)' == '' ">$(AssemblySearchPaths)</DesignTimeAssemblySearchPaths>\r
95 \r
96     <AllowUnsafeBlocks Condition="'$(AllowUnsafeBlocks)'==''">false</AllowUnsafeBlocks>\r
97     <TreatWarningsAsErrors Condition="'$(TreatWarningsAsErrors)'==''">false</TreatWarningsAsErrors>\r
98     <Prefer32Bit Condition="'$(Prefer32Bit)'==''">false</Prefer32Bit>\r
99     <SignAssembly Condition="'$(SignAssembly)'==''">false</SignAssembly>\r
100     <DelaySign Condition="'$(DelaySign)'==''">false</DelaySign>\r
101     <GeneratePackageOnBuild Condition="'$(GeneratePackageOnBuild)'==''">false</GeneratePackageOnBuild>\r
102     <PackageRequireLicenseAcceptance Condition="'$(PackageRequireLicenseAcceptance)'==''">false</PackageRequireLicenseAcceptance>\r
103     <DebugSymbols Condition="'$(DebugSymbols)'==''">false</DebugSymbols>\r
104     <CheckForOverflowUnderflow Condition="'$(CheckForOverflowUnderflow)'==''">false</CheckForOverflowUnderflow>\r
105   </PropertyGroup>\r
106 \r
107   <PropertyGroup>\r
108     <!-- Path to project that the .NET CLI will build in order to generate deps.json files for .NET CLI tools -->\r
109     <ToolDepsJsonGeneratorProject>$(MSBuildThisFileDirectory)GenerateDeps\GenerateDeps.proj</ToolDepsJsonGeneratorProject>\r
110   </PropertyGroup>\r
111   \r
112   <!-- Default item includes (globs and implicit references) -->\r
113   <Import Project="Microsoft.NET.Sdk.DefaultItems.props" />\r
114   \r
115   <!-- List of supported .NET Core and .NET Standard TFMs -->\r
116   <Import Project="Microsoft.NET.SupportedTargetFrameworks.props" />\r
117   \r
118   <!-- Temporary workarounds -->\r
119   <PropertyGroup>\r
120     <!-- Workaround: https://github.com/dotnet/roslyn/issues/12167 -->\r
121     <NoLogo Condition=" '$(NoLogo)' == '' ">true</NoLogo>\r
122 \r
123     <!-- Workaround: https://github.com/Microsoft/msbuild/issues/720 -->\r
124     <OverrideToolHost Condition=" '$(DotnetHostPath)' != '' and '$(OverrideToolHost)' == ''">$(DotnetHostPath)</OverrideToolHost>\r
125   </PropertyGroup>\r
126 \r
127   <!-- Workaround: https://github.com/Microsoft/msbuild/issues/1293 -->\r
128   <PropertyGroup Condition="'$(MSBuildRuntimeType)' == 'Core'"> \r
129     <GenerateResourceMSBuildArchitecture Condition=" '$(GenerateResourceMSBuildArchitecture)' == '' ">CurrentArchitecture</GenerateResourceMSBuildArchitecture>\r
130     <GenerateResourceMSBuildRuntime Condition=" '$(GenerateResourceMSBuildRuntime)' == '' ">CurrentRuntime</GenerateResourceMSBuildRuntime>\r
131   </PropertyGroup>\r
132 \r
133   <!-- Workaround: https://github.com/dotnet/sdk/issues/1001 -->\r
134   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "/>\r
135   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "/>\r
136 \r
137   <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.props" Condition="'$(MSBuildProjectExtension)' == '.csproj'" />\r
138   <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.VisualBasic.props" Condition="'$(MSBuildProjectExtension)' == '.vbproj'" />\r
139 </Project>\r