2023-01-10 04:57:58 +03:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2018-12-02 03:25:55 +03:00
|
|
|
<Project>
|
|
|
|
<!--
|
2019-05-29 23:06:38 +03:00
|
|
|
We don't follow Arcade conventions for project naming.
|
2018-12-02 03:25:55 +03:00
|
|
|
-->
|
|
|
|
<PropertyGroup Condition="'$(IsUnitTestProject)' == ''">
|
|
|
|
<IsUnitTestProject>false</IsUnitTestProject>
|
|
|
|
<IsUnitTestProject Condition="$(MSBuildProjectName.EndsWith('.Test'))">true</IsUnitTestProject>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
|
|
|
|
|
|
|
|
<Import
|
|
|
|
Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))\AspNetCoreSettings.props"
|
|
|
|
Condition=" '$(CI)' != 'true' AND '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))' != '' " />
|
2019-08-31 08:02:41 +03:00
|
|
|
|
2018-12-02 03:25:55 +03:00
|
|
|
<PropertyGroup Label="Build Settings">
|
2022-03-10 00:42:39 +03:00
|
|
|
<LangVersion>preview</LangVersion>
|
2021-12-07 22:48:23 +03:00
|
|
|
<Nullable>enable</Nullable>
|
2021-02-05 21:38:10 +03:00
|
|
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
2018-12-06 06:15:44 +03:00
|
|
|
<StrongNameKeyId>MicrosoftAspNetCore</StrongNameKeyId>
|
2023-01-09 06:24:32 +03:00
|
|
|
<TreatWarningsAsErrors Condition="'$(CI)' == 'true'">true</TreatWarningsAsErrors>
|
2019-05-03 22:04:53 +03:00
|
|
|
<GenerateResxSource>true</GenerateResxSource>
|
|
|
|
<GenerateResxSourceEmitFormatMethods>true</GenerateResxSourceEmitFormatMethods>
|
2019-05-29 23:06:38 +03:00
|
|
|
<ExcludeFromSourceBuild Condition="'$(IsUnitTestProject)' == 'true'">true</ExcludeFromSourceBuild>
|
2022-06-10 02:32:25 +03:00
|
|
|
<RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
|
2023-03-03 21:24:42 +03:00
|
|
|
<EnableWindowsTargeting Condition="'$(DotNetBuildFromSource)' != 'true'">true</EnableWindowsTargeting>
|
2019-08-31 08:02:41 +03:00
|
|
|
|
2020-10-27 21:19:50 +03:00
|
|
|
<SharedSourceRoot>$(MSBuildThisFileDirectory)src\Shared\</SharedSourceRoot>
|
|
|
|
|
2019-08-31 08:02:41 +03:00
|
|
|
<!-- Embed source files that are not tracked by the source control manager in the PDB. -->
|
|
|
|
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
2019-09-13 08:02:18 +03:00
|
|
|
|
2022-04-28 23:27:10 +03:00
|
|
|
<!-- Working around https://github.com/dotnet/sdk/issues/24747 -->
|
|
|
|
<NoWarn>$(NoWarn);NU1505</NoWarn>
|
2019-10-01 18:06:56 +03:00
|
|
|
|
|
|
|
<!-- Working around https://github.com/microsoft/msbuild/pull/4764 -->
|
|
|
|
<EmbeddedResourceUseDependentUponConvention>false</EmbeddedResourceUseDependentUponConvention>
|
2022-12-15 08:05:57 +03:00
|
|
|
|
|
|
|
<!-- By default, nothing builds from source build. Individual projects can opt in instead -->
|
|
|
|
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
|
2023-06-05 19:47:50 +03:00
|
|
|
|
|
|
|
<DefaultNetFxTargetFramework>net472</DefaultNetFxTargetFramework>
|
2018-12-02 03:25:55 +03:00
|
|
|
</PropertyGroup>
|
2022-11-10 23:16:43 +03:00
|
|
|
|
2023-06-05 19:47:50 +03:00
|
|
|
<!--
|
|
|
|
There are effectively three modes that are needed for our source build TFMs and this is where
|
|
|
|
we calculate them
|
|
|
|
-->
|
|
|
|
<Choose>
|
|
|
|
<!--
|
|
|
|
1. CI source build leg: this needs to build the current and previous source build TFM. Both are
|
|
|
|
necessary as the output of this leg is used in other CI source build legs. Those could be
|
|
|
|
targeting NetCurrent or NetPrevious hence we must produce both.
|
|
|
|
-->
|
|
|
|
<When Condition="'$(DotNetBuildFromSource)' == 'true' AND '$(DotNetBuildFromSourceFlavor)' != 'Product'">
|
|
|
|
<PropertyGroup>
|
|
|
|
<DefaultNetCoreTargetFramework>$(NetCurrent)</DefaultNetCoreTargetFramework>
|
|
|
|
<DefaultNetCoreTargetFrameworks>$(DefaultNetCoreTargetFramework);$(NetPrevious)</DefaultNetCoreTargetFrameworks>
|
|
|
|
</PropertyGroup>
|
|
|
|
</When>
|
|
|
|
|
|
|
|
<!--
|
|
|
|
2. Source build the product: this is the all up build of the product which needs only NetCurrent
|
|
|
|
-->
|
|
|
|
<When Condition="'$(DotNetBuildFromSource)' == 'true' AND '$(DotNetBuildFromSourceFlavor)' == 'Product'">
|
|
|
|
<PropertyGroup>
|
|
|
|
<DefaultNetCoreTargetFramework>$(NetCurrent)</DefaultNetCoreTargetFramework>
|
|
|
|
<DefaultNetCoreTargetFrameworks>$(DefaultNetCoreTargetFramework)</DefaultNetCoreTargetFrameworks>
|
|
|
|
</PropertyGroup>
|
|
|
|
</When>
|
|
|
|
|
|
|
|
<!--
|
|
|
|
3. Everything else including normal CI, developer machines and official builds.
|
|
|
|
-->
|
|
|
|
<Otherwise>
|
|
|
|
<PropertyGroup>
|
|
|
|
<DefaultNetCoreTargetFramework>net8.0</DefaultNetCoreTargetFramework>
|
|
|
|
<DefaultNetCoreTargetFrameworks>$(DefaultNetCoreTargetFramework);net7.0</DefaultNetCoreTargetFrameworks>
|
|
|
|
</PropertyGroup>
|
|
|
|
</Otherwise>
|
|
|
|
</Choose>
|
|
|
|
|
2021-02-02 02:30:06 +03:00
|
|
|
<ItemGroup>
|
|
|
|
<AdditionalFiles Include="$(MSBuildThisFileDirectory)eng\BannedSymbols.txt" />
|
2022-11-10 23:16:43 +03:00
|
|
|
|
|
|
|
<!--
|
|
|
|
This language support type (used for init-only properties) is linked directly into every project to avoid conflicts with
|
|
|
|
the same type that is included in Microsoft.CodeAnalysis.ExternalAccess.Razor, which allows InternalsVisibleTo access
|
|
|
|
to Razor tooling.
|
|
|
|
-->
|
2023-06-10 00:33:52 +03:00
|
|
|
<Compile Condition="'$(SkipLanguageSupport)' != 'true'" Include="$(MSBuildThisFileDirectory)\src\Shared\LanguageSupport\IsExternalInit.cs" Link="LanguageSupport\IsExternalInit.cs" />
|
2020-08-05 00:20:34 +03:00
|
|
|
</ItemGroup>
|
|
|
|
|
2018-12-02 03:25:55 +03:00
|
|
|
<PropertyGroup Label="Package and Assembly Metadata">
|
2021-08-04 22:58:12 +03:00
|
|
|
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
2018-12-02 03:25:55 +03:00
|
|
|
<Product>Microsoft ASP.NET Core</Product>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<PropertyGroup Label="Warning Suppressions">
|
2019-05-29 23:06:38 +03:00
|
|
|
<!--
|
2018-12-02 03:25:55 +03:00
|
|
|
Suppress warnings about assembly conflicts. This happens for assemblies that ship in VS so it's irrelevant.
|
|
|
|
-->
|
|
|
|
<NoWarn>$(NoWarn);MSB3277</NoWarn>
|
|
|
|
</PropertyGroup>
|
2023-06-06 03:08:48 +03:00
|
|
|
|
|
|
|
<!-- For InternalsVisibleTo items-->
|
|
|
|
<PropertyGroup Label="Public Keys">
|
2023-06-20 18:38:46 +03:00
|
|
|
<RazorKey>0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb</RazorKey>
|
2023-06-06 03:08:48 +03:00
|
|
|
<VisualStudioKey>002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293</VisualStudioKey>
|
|
|
|
</PropertyGroup>
|
2019-05-29 23:06:38 +03:00
|
|
|
</Project>
|