The 'preprocess' output from msbuild for a vanilla C# console app
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
============================================================================================================================================ | |
C:\temp\consoleapp1\consoleapp1.csproj | |
============================================================================================================================================ | |
--> | |
<Project DefaultTargets="Build"> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk"> | |
This import was added implicitly because the Project element's Sdk attribute specified "Microsoft.NET.Sdk". | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Sdk.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- | |
Indicate to other targets that Microsoft.NET.Sdk is being used. | |
This must be set here (as early as possible, before Microsoft.Common.props) | |
so that everything that follows can depend on it. | |
In particular, Directory.Build.props and nuget package props need to be able | |
to use this flag and they are imported by Microsoft.Common.props. | |
--> | |
<UsingMicrosoftNETSdk>true</UsingMicrosoftNETSdk> | |
<!-- | |
Indicate whether the set of SDK defaults that makes SDK style project concise are being used. | |
For example: globbing, importing msbuild common targets. | |
Similar to the property above, it must be set here. | |
--> | |
<UsingNETSdkDefaults>true</UsingNETSdkDefaults> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(MSBuildProjectFullPath)' == '$(ProjectToOverrideProjectExtensionsPath)'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<MSBuildProjectExtensionsPath>$(ProjectExtensionsPathForSpecifiedProject)</MSBuildProjectExtensionsPath> | |
</PropertyGroup> | |
<!--<Import Project="$(AlternateCommonProps)" Condition="'$(AlternateCommonProps)' != ''" />--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="'$(AlternateCommonProps)' == ''"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Current\Microsoft.Common.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.Common.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (C) Microsoft Corporation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ImportByWildcardBeforeMicrosoftCommonProps Condition="'$(ImportByWildcardBeforeMicrosoftCommonProps)' == ''">true</ImportByWildcardBeforeMicrosoftCommonProps> | |
<ImportByWildcardAfterMicrosoftCommonProps Condition="'$(ImportByWildcardAfterMicrosoftCommonProps)' == ''">true</ImportByWildcardAfterMicrosoftCommonProps> | |
<ImportUserLocationsByWildcardBeforeMicrosoftCommonProps Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonProps)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftCommonProps> | |
<ImportUserLocationsByWildcardAfterMicrosoftCommonProps Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonProps)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftCommonProps> | |
<ImportDirectoryBuildProps Condition="'$(ImportDirectoryBuildProps)' == ''">true</ImportDirectoryBuildProps> | |
</PropertyGroup> | |
<!-- | |
Determine the path to the directory build props file if the user did not disable $(ImportDirectoryBuildProps) and | |
they did not already specify an absolute path to use via $(DirectoryBuildPropsPath) | |
--> | |
<PropertyGroup Condition="'$(ImportDirectoryBuildProps)' == 'true' and '$(DirectoryBuildPropsPath)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_DirectoryBuildPropsFile Condition="'$(_DirectoryBuildPropsFile)' == ''">Directory.Build.props</_DirectoryBuildPropsFile> | |
<_DirectoryBuildPropsBasePath Condition="'$(_DirectoryBuildPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildPropsFile)'))</_DirectoryBuildPropsBasePath> | |
<DirectoryBuildPropsPath Condition="'$(_DirectoryBuildPropsBasePath)' != '' and '$(_DirectoryBuildPropsFile)' != ''">$([System.IO.Path]::Combine('$(_DirectoryBuildPropsBasePath)', '$(_DirectoryBuildPropsFile)'))</DirectoryBuildPropsPath> | |
</PropertyGroup> | |
<!--<Import Project="$(DirectoryBuildPropsPath)" Condition="'$(ImportDirectoryBuildProps)' == 'true' and exists('$(DirectoryBuildPropsPath)')" />--> | |
<!-- | |
Prepare to import project extensions which usually come from packages. Package management systems will create a file at: | |
$(MSBuildProjectExtensionsPath)\$(MSBuildProjectFile).<SomethingUnique>.props | |
Each package management system should use a unique moniker to avoid collisions. It is a wild-card import so the package | |
management system can write out multiple files but the order of the import is alphabetic because MSBuild sorts the list. | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- | |
The declaration of $(BaseIntermediateOutputPath) had to be moved up from Microsoft.Common.CurrentVersion.targets | |
in order for the $(MSBuildProjectExtensionsPath) to use it as a default. | |
--> | |
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">obj\</BaseIntermediateOutputPath> | |
<BaseIntermediateOutputPath Condition="!HasTrailingSlash('$(BaseIntermediateOutputPath)')">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath> | |
<_InitialBaseIntermediateOutputPath>$(BaseIntermediateOutputPath)</_InitialBaseIntermediateOutputPath> | |
<MSBuildProjectExtensionsPath Condition="'$(MSBuildProjectExtensionsPath)' == '' ">$(BaseIntermediateOutputPath)</MSBuildProjectExtensionsPath> | |
<!-- | |
Import paths that are relative default to be relative to the importing file. However, since MSBuildExtensionsPath | |
defaults to BaseIntermediateOutputPath we expect it to be relative to the project directory. So if the path is relative | |
it needs to be made absolute based on the project directory. | |
--> | |
<MSBuildProjectExtensionsPath Condition="'$([System.IO.Path]::IsPathRooted($(MSBuildProjectExtensionsPath)))' == 'false'">$([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', '$(MSBuildProjectExtensionsPath)'))</MSBuildProjectExtensionsPath> | |
<MSBuildProjectExtensionsPath Condition="!HasTrailingSlash('$(MSBuildProjectExtensionsPath)')">$(MSBuildProjectExtensionsPath)\</MSBuildProjectExtensionsPath> | |
<ImportProjectExtensionProps Condition="'$(ImportProjectExtensionProps)' == ''">true</ImportProjectExtensionProps> | |
<_InitialMSBuildProjectExtensionsPath Condition=" '$(ImportProjectExtensionProps)' == 'true' ">$(MSBuildProjectExtensionsPath)</_InitialMSBuildProjectExtensionsPath> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildProjectExtensionsPath)$(MSBuildProjectFile).*.props" Condition="'$(ImportProjectExtensionProps)' == 'true' and exists('$(MSBuildProjectExtensionsPath)')"> | |
C:\temp\consoleapp1\obj\consoleapp1.csproj.nuget.g.props | |
============================================================================================================================================ | |
--> | |
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess> | |
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> | |
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> | |
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> | |
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\steve\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders> | |
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> | |
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.0.0</NuGetToolVersion> | |
</PropertyGroup> | |
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<SourceRoot Include="C:\Users\steve\.nuget\packages\" /> | |
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" /> | |
<SourceRoot Include="C:\Program Files (x86)\Microsoft\Xamarin\NuGet\" /> | |
<SourceRoot Include="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\" /> | |
</ItemGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Current\Microsoft.Common.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
Import wildcard "ImportBefore" props files if we're actually in a 12.0+ project (rather than a project being | |
treated as 4.0) | |
--> | |
<!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' != ''">--> | |
<!-- | |
Wildcard imports come from $(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props.d folder. | |
This is very similar to the same extension point used in Microsoft.Common.targets, which is located in | |
the $(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ directory. Unfortunately, there | |
is already a file named "Microsoft.Common.props" in this directory so we have to have a slightly different | |
directory name to hold extensions. | |
--> | |
<!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore')" />--> | |
<!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCommonProps)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore')" />--> | |
<!--</ImportGroup>--> | |
<!-- | |
In VS 2010 SP1 and VS 2012, both supported for asset compatibility, the MSBuild installed | |
as part of them did not enforce using the local ToolsVersion (4.0) in all cases, but instead | |
just used whatever ToolsVersion was in the project file if it existed on the machine, and | |
only forced 4.0 if that ToolsVersion did not exist. | |
Moving forward, we do want to enforce a single acting ToolsVersion per version of Visual Studio, | |
but in order to approximate this behavior on VS 2010 SP1 and VS 2012 as well, we've redirected | |
the targets: If we're building using 4.X MSBuild (which doesn't define the new reserved | |
property, MSBuildAssemblyVersion), we'll point right back at the 4.0 targets, which still exist | |
as part of the .NET Framework. Only if we're using the new MSBuild will we point to the current | |
targets. | |
--> | |
<PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == '' and ('$(VisualStudioVersion)' != '' and '$(VisualStudioVersion)' >= '12.0')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- | |
Reset VisualStudioVersion if it's 12.0+: Should be 10.0 if VS 2010 is installed or 11.0 otherwise, | |
but since we don't have a good way of telling whether VS 2010 is installed, make it 11.0 if | |
VS 2012 is installed or 10.0 otherwise. The reset should be safe because if it was already | |
set to something (e.g. 11.0 in a VS 2012 command prompt) then MSBuild's internal | |
VisualStudioVersion-defaulting code should never come into the picture, so the only way it could | |
be 12.0+ when building a TV 12.0 project (because we're in this file) using MSBuild 4.5 (because | |
MSBuildAssemblyVersion hasn't been set) is if it's a TV 12.0 project on an empty command prompt. | |
--> | |
<VisualStudioVersion Condition="Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props')">11.0</VisualStudioVersion> | |
<VisualStudioVersion Condition="!Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props')">10.0</VisualStudioVersion> | |
</PropertyGroup> | |
<!-- If building using 4.X MSBuild, we want to act like this project is TV 4.0, so override | |
the custom extensibility target locations with the hard-coded 4.0 equivalent. --> | |
<PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<CustomBeforeMicrosoftCommonProps Condition="'$(CustomBeforeMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v4.0\Custom.Before.$(MSBuildThisFile)</CustomBeforeMicrosoftCommonProps> | |
<CustomAfterMicrosoftCommonProps Condition="'$(CustomAfterMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v4.0\Custom.After.$(MSBuildThisFile)</CustomAfterMicrosoftCommonProps> | |
</PropertyGroup> | |
<!-- If building using 4.X MSBuild, we want to act like this project is TV 4.0, so import | |
Microsoft.Common.props from the 4.0 location, and make sure everything else in here is | |
set up such that if it's defaulted to something there, it won't be overridden here. --> | |
<!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props" Condition="'$(MSBuildAssemblyVersion)' == '' and Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props')" />--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<CustomBeforeMicrosoftCommonProps Condition="'$(CustomBeforeMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.Before.$(MSBuildThisFile)</CustomBeforeMicrosoftCommonProps> | |
<CustomAfterMicrosoftCommonProps Condition="'$(CustomAfterMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.After.$(MSBuildThisFile)</CustomAfterMicrosoftCommonProps> | |
</PropertyGroup> | |
<!-- | |
Only import the extension targets if we're actually in a 12.0 project here (rather than one we're attempting | |
to treat as 4.0) OR if the Dev11 Microsoft.Common.props don't exist. If it's a 12.0 project we're redirecting | |
to 4.0 and the Dev11 Microsoft.Common.props do exist, the extension targets will have been imported already | |
so there's no need to import them twice. | |
--> | |
<!--<Import Project="$(CustomBeforeMicrosoftCommonProps)" Condition="'$(CustomBeforeMicrosoftCommonProps)' != '' and Exists('$(CustomBeforeMicrosoftCommonProps)') and ('$(MSBuildAssemblyVersion)' != '' or !Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props'))" />--> | |
<!-- This is used to determine whether Microsoft.Common.targets needs to import | |
Microsoft.Common.props itself, or whether it has been imported previously, | |
e.g. by the project itself. --> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<MicrosoftCommonPropsHasBeenImported>true</MicrosoftCommonPropsHasBeenImported> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<Configuration Condition=" '$(Configuration)' == '' and '$(DefaultProjectConfiguration)' != '' ">$(DefaultProjectConfiguration)</Configuration> | |
<Platform Condition=" '$(Platform)' == '' and '$(DefaultProjectPlatform)' != '' ">$(DefaultProjectPlatform)</Platform> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<WMSJSProject Condition="'$(WMSJSProject)' == ''">WJProject</WMSJSProject> | |
<WMSJSProjectDirectory Condition="'$(WMSJSProjectDirectory)' == ''">JavaScript</WMSJSProjectDirectory> | |
</PropertyGroup> | |
<!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualStudioVersion.v*.Common.props" Condition="'$(VisualStudioVersion)' == ''" />--> | |
<!-- | |
Only import the extension targets if we're actually in a 12.0 project here (rather than one we're attempting | |
to treat as 4.0) OR if the Dev11 Microsoft.Common.props don't exist. If it's a 12.0 project we're redirecting | |
to 4.0 and the Dev11 Microsoft.Common.props do exist, the extension targets will have been imported already | |
so there's no need to import them twice. | |
--> | |
<!--<Import Project="$(CustomAfterMicrosoftCommonProps)" Condition="'$(CustomAfterMicrosoftCommonProps)' != '' and Exists('$(CustomAfterMicrosoftCommonProps)') and ('$(MSBuildAssemblyVersion)' != '' or !Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props'))" />--> | |
<!-- | |
Import wildcard "ImportAfter" props files if we're actually in a 12.0+ project (rather than a project being | |
treated as 4.0) | |
--> | |
<!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' != ''">--> | |
<!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter')" />--> | |
<!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonProps)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter')" />--> | |
<!--</ImportGroup>--> | |
<!-- | |
Import NuGet.props file. | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<MSBuildUseVisualStudioDirectoryLayout Condition="'$(MSBuildUseVisualStudioDirectoryLayout)'==''">$([MSBuild]::IsRunningFromVisualStudio())</MSBuildUseVisualStudioDirectoryLayout> | |
<NuGetPropsFile Condition="'$(NuGetPropsFile)'=='' and '$(MSBuildUseVisualStudioDirectoryLayout)'=='true'">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.props</NuGetPropsFile> | |
<NuGetPropsFile Condition="'$(NuGetPropsFile)'==''">$(MSBuildToolsPath)\NuGet.props</NuGetPropsFile> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(NuGetPropsFile)" Condition="Exists('$(NuGetPropsFile)')"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\NuGet.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
NuGet.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- | |
Import 'Directory.Packages.props' which will contain centralized packages for all the projects and solutions under | |
the directory in which the file is present. This is similar to 'Directory.Build.props/targets' logic which is present | |
in the common props/targets which serve a similar purpose. | |
--> | |
<PropertyGroup> | |
<ImportDirectoryPackagesProps Condition="'$(ImportDirectoryPackagesProps)' == ''">true</ImportDirectoryPackagesProps> | |
</PropertyGroup> | |
<!-- | |
Determine the path to the 'Directory.Packages.props' file, if the user did not disable $(ImportDirectoryPackagesProps) and | |
they did not already specify an absolute path to use via $(DirectoryPackagesPropsPath) | |
--> | |
<PropertyGroup Condition="'$(ImportDirectoryPackagesProps)' == 'true' and '$(DirectoryPackagesPropsPath)' == ''"> | |
<_DirectoryPackagesPropsFile Condition="'$(_DirectoryPackagesPropsFile)' == ''">Directory.Packages.props</_DirectoryPackagesPropsFile> | |
<_DirectoryPackagesPropsBasePath Condition="'$(_DirectoryPackagesPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', '$(_DirectoryPackagesPropsFile)'))</_DirectoryPackagesPropsBasePath> | |
<DirectoryPackagesPropsPath Condition="'$(_DirectoryPackagesPropsBasePath)' != '' and '$(_DirectoryPackagesPropsFile)' != ''">$([MSBuild]::NormalizePath('$(_DirectoryPackagesPropsBasePath)', '$(_DirectoryPackagesPropsFile)'))</DirectoryPackagesPropsPath> | |
</PropertyGroup> | |
<!--<Import Project="$(DirectoryPackagesPropsPath)" Condition="'$(ImportDirectoryPackagesProps)' == 'true' and '$(DirectoryPackagesPropsPath)' != '' and Exists('$(DirectoryPackagesPropsPath)')" />--> | |
<PropertyGroup Condition="'$(ImportDirectoryPackagesProps)' == 'true' and '$(DirectoryPackagesPropsPath)' != '' and Exists('$(DirectoryPackagesPropsPath)')"> | |
<CentralPackageVersionsFileImported>true</CentralPackageVersionsFileImported> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Current\Microsoft.Common.props | |
============================================================================================================================================ | |
--> | |
<PropertyGroup Condition=" '$(MSBuildLogVerboseTaskParameters)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DisableLogTaskParameter_ConvertToAbsolutePath_Path>true</DisableLogTaskParameter_ConvertToAbsolutePath_Path> | |
<DisableLogTaskParameter_FindUnderPath_OutOfPath>true</DisableLogTaskParameter_FindUnderPath_OutOfPath> | |
<DisableLogTaskParameter_RemoveDuplicates_Inputs>true</DisableLogTaskParameter_RemoveDuplicates_Inputs> | |
<DisableLogTaskParameterItemMetadata_ConvertToAbsolutePath_AbsolutePaths>true</DisableLogTaskParameterItemMetadata_ConvertToAbsolutePath_AbsolutePaths> | |
<DisableLogTaskParameterItemMetadata_Copy_CopiedFiles>true</DisableLogTaskParameterItemMetadata_Copy_CopiedFiles> | |
<DisableLogTaskParameterItemMetadata_Copy_DestinationFiles>true</DisableLogTaskParameterItemMetadata_Copy_DestinationFiles> | |
<DisableLogTaskParameterItemMetadata_Copy_SourceFiles>true</DisableLogTaskParameterItemMetadata_Copy_SourceFiles> | |
<DisableLogTaskParameterItemMetadata_FindUnderPath_Files>true</DisableLogTaskParameterItemMetadata_FindUnderPath_Files> | |
<DisableLogTaskParameterItemMetadata_FindUnderPath_InPath>true</DisableLogTaskParameterItemMetadata_FindUnderPath_InPath> | |
<DisableLogTaskParameterItemMetadata_GenerateResource_FilesWritten>true</DisableLogTaskParameterItemMetadata_GenerateResource_FilesWritten> | |
<DisableLogTaskParameterItemMetadata_Hash_ItemsToHash>true</DisableLogTaskParameterItemMetadata_Hash_ItemsToHash> | |
<DisableLogTaskParameterItemMetadata_RemoveDuplicates_Filtered>true</DisableLogTaskParameterItemMetadata_RemoveDuplicates_Filtered> | |
<DisableLogTaskParameterItemMetadata_WriteLinesToFile_Lines>true</DisableLogTaskParameterItemMetadata_WriteLinesToFile_Lines> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.props"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.Sdk.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- This property disables the conflict resolution logic from the Microsoft.Packaging.Tools package, which is superceded by the logic here in the SDK --> | |
<DisableHandlePackageFileConflicts>true</DisableHandlePackageFileConflicts> | |
</PropertyGroup> | |
<!-- Default configuration and platform to Debug|AnyCPU--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<Configurations Condition=" '$(Configurations)' == '' ">Debug;Release</Configurations> | |
<Platforms Condition=" '$(Platforms)' == '' ">AnyCPU</Platforms> | |
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | |
</PropertyGroup> | |
<!-- User-facing configuration-agnostic defaults --> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<OutputType Condition=" '$(OutputType)' == '' ">Library</OutputType> | |
<FileAlignment Condition=" '$(FileAlignment)' == '' ">512</FileAlignment> | |
<ErrorReport Condition=" '$(ErrorReport)' == '' ">prompt</ErrorReport> | |
<AssemblyName Condition=" '$(AssemblyName)' == '' ">$(MSBuildProjectName)</AssemblyName> | |
<RootNamespace Condition=" '$(RootNamespace)' == '' ">$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace> | |
<Deterministic Condition=" '$(Deterministic)' == '' ">true</Deterministic> | |
</PropertyGroup> | |
<!-- User-facing configuration-specific defaults --> | |
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DebugSymbols Condition=" '$(DebugSymbols)' == '' ">true</DebugSymbols> | |
<Optimize Condition=" '$(Optimize)' == '' ">false</Optimize> | |
</PropertyGroup> | |
<PropertyGroup Condition=" '$(Configuration)' == 'Release' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<Optimize Condition=" '$(Optimize)' == '' ">true</Optimize> | |
</PropertyGroup> | |
<!-- User-facing platform-specific defaults --> | |
<!-- | |
NOTE: | |
* We cannot compare against $(Platform) directly as that will give VS cause to instantiate extra | |
configurations, for each combination, which leads to performance problems and clutter in the sln | |
in the common AnyCPU-only case. | |
* We cannot just set $(PlatformTarget) to $(Platform) here because $(Platform) can be set to anything | |
at the solution level, but there are a fixed set valid $(PlatformTarget) values that can be passed | |
to the compiler. It is up to the user to explicitly set PlatformTarget to non-AnyCPU (if desired) | |
outside the 1:1 defaults below. | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_PlatformWithoutConfigurationInference>$(Platform)</_PlatformWithoutConfigurationInference> | |
</PropertyGroup> | |
<PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x64' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x64</PlatformTarget> | |
</PropertyGroup> | |
<PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x86' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x86</PlatformTarget> | |
</PropertyGroup> | |
<PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'ARM' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PlatformTarget Condition=" '$(PlatformTarget)' == '' ">ARM</PlatformTarget> | |
</PropertyGroup> | |
<!-- Default settings for all projects built with this Sdk package --> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DebugType Condition=" '$(DebugType)' == '' ">portable</DebugType> | |
<!-- This will turn off the base UWP-specific 'ResolveNuGetPackages' target --> | |
<ResolveNuGetPackages>false</ResolveNuGetPackages> | |
<!-- Skip import of Microsoft.NuGet.props and Microsoft.NuGet.targets --> | |
<SkipImportNuGetProps>true</SkipImportNuGetProps> | |
<SkipImportNuGetBuildTargets>true</SkipImportNuGetBuildTargets> | |
<!-- NuGet should always restore .NET SDK projects with "PackageReference" style restore. Setting this property will | |
cause the right thing to happen even if there aren't any PackageReference items in the project, such as when | |
a project targets .NET Framework and doesn't have any direct package dependencies. --> | |
<RestoreProjectStyle>PackageReference</RestoreProjectStyle> | |
<!-- Exclude GAC, registry, output directory from search paths. --> | |
<AssemblySearchPaths Condition=" '$(AssemblySearchPaths)' == '' ">{CandidateAssemblyFiles};{HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</AssemblySearchPaths> | |
<DesignTimeAssemblySearchPaths Condition=" '$(DesignTimeAssemblySearchPaths)' == '' ">$(AssemblySearchPaths)</DesignTimeAssemblySearchPaths> | |
<AllowUnsafeBlocks Condition="'$(AllowUnsafeBlocks)'==''">false</AllowUnsafeBlocks> | |
<TreatWarningsAsErrors Condition="'$(TreatWarningsAsErrors)'==''">false</TreatWarningsAsErrors> | |
<Prefer32Bit Condition="'$(Prefer32Bit)'==''">false</Prefer32Bit> | |
<SignAssembly Condition="'$(SignAssembly)'==''">false</SignAssembly> | |
<DelaySign Condition="'$(DelaySign)'==''">false</DelaySign> | |
<GeneratePackageOnBuild Condition="'$(GeneratePackageOnBuild)'==''">false</GeneratePackageOnBuild> | |
<PackageRequireLicenseAcceptance Condition="'$(PackageRequireLicenseAcceptance)'==''">false</PackageRequireLicenseAcceptance> | |
<DebugSymbols Condition="'$(DebugSymbols)'==''">false</DebugSymbols> | |
<CheckForOverflowUnderflow Condition="'$(CheckForOverflowUnderflow)'==''">false</CheckForOverflowUnderflow> | |
<AutomaticallyUseReferenceAssemblyPackages Condition="'$(AutomaticallyUseReferenceAssemblyPackages)'==''">true</AutomaticallyUseReferenceAssemblyPackages> | |
<MicrosoftNETFrameworkReferenceAssembliesLatestPackageVersion>1.0.2</MicrosoftNETFrameworkReferenceAssembliesLatestPackageVersion> | |
<CopyConflictingTransitiveContent>false</CopyConflictingTransitiveContent> | |
<MSBuildCopyContentTransitively Condition="'$(MSBuildCopyContentTransitively)' == ''">true</MSBuildCopyContentTransitively> | |
<ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts Condition="'$(ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts)' == ''">true</ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts> | |
<!-- Uncomment this once https://github.com/Microsoft/visualfsharp/issues/3207 gets fixed --> | |
<!-- <WarningsAsErrors>$(WarningsAsErrors);NU1605</WarningsAsErrors> --> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Path to project that the .NET CLI will build in order to generate deps.json files for .NET CLI tools --> | |
<ToolDepsJsonGeneratorProject>$(MSBuildThisFileDirectory)GenerateDeps\GenerateDeps.proj</ToolDepsJsonGeneratorProject> | |
</PropertyGroup> | |
<!-- Default item includes (globs and implicit references) --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Microsoft.NET.Sdk.DefaultItems.props"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.Sdk.DefaultItems.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup Condition="'$(NETCoreSdkBundledVersionsProps)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETCoreSdkBundledVersionsProps>$(MSBuildThisFileDirectory)..\..\..\Microsoft.NETCoreSdk.BundledVersions.props</NETCoreSdkBundledVersionsProps> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(NETCoreSdkBundledVersionsProps)" Condition="Exists('$(NETCoreSdkBundledVersionsProps)')"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Microsoft.NETCoreSdk.BundledVersions.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NETCoreSdk.BundledVersions.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup> | |
<NetCoreRoot Condition="'$(NetCoreRoot)' == ''">$([MSBuild]::NormalizePath('$(MSBuildThisFileDirectory)..\..\'))</NetCoreRoot> | |
<NetCoreTargetingPackRoot Condition="'$(NetCoreTargetingPackRoot)' == ''">$([MSBuild]::EnsureTrailingSlash('$(NetCoreRoot)'))packs</NetCoreTargetingPackRoot> | |
<NETCoreAppMaximumVersion>6.0</NETCoreAppMaximumVersion> | |
<BundledNETCoreAppTargetFrameworkVersion>6.0</BundledNETCoreAppTargetFrameworkVersion> | |
<BundledNETCoreAppPackageVersion>6.0.0-preview.5.21301.5</BundledNETCoreAppPackageVersion> | |
<BundledNETStandardTargetFrameworkVersion>2.1</BundledNETStandardTargetFrameworkVersion> | |
<BundledNETStandardPackageVersion>2.1.0</BundledNETStandardPackageVersion> | |
<BundledNETCorePlatformsPackageVersion>6.0.0-preview.5.21301.5</BundledNETCorePlatformsPackageVersion> | |
<BundledRuntimeIdentifierGraphFile>$(MSBuildThisFileDirectory)RuntimeIdentifierGraph.json</BundledRuntimeIdentifierGraphFile> | |
<NETCoreSdkVersion>6.0.100-preview.5.21302.13</NETCoreSdkVersion> | |
<NETCoreSdkRuntimeIdentifier>win-x64</NETCoreSdkRuntimeIdentifier> | |
<NETCoreSdkPortableRuntimeIdentifier>win-x64</NETCoreSdkPortableRuntimeIdentifier> | |
<_NETCoreSdkIsPreview>true</_NETCoreSdkIsPreview> | |
</PropertyGroup> | |
<ItemGroup> | |
<ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="1.0" DefaultVersion="1.0.5" LatestVersion="1.0.16" /> | |
<ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="1.1" DefaultVersion="1.1.2" LatestVersion="1.1.13" /> | |
<ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="2.0" DefaultVersion="2.0.0" LatestVersion="2.0.9" /> | |
<ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="2.1" DefaultVersion="2.1.0" LatestVersion="2.1.28" /> | |
<ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="2.2" DefaultVersion="2.2.0" LatestVersion="2.2.8" /> | |
<ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.App" TargetFrameworkVersion="2.1" DefaultVersion="2.1.1" LatestVersion="2.1.28" /> | |
<ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.All" TargetFrameworkVersion="2.1" DefaultVersion="2.1.1" LatestVersion="2.1.28" /> | |
<ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.App" TargetFrameworkVersion="2.2" DefaultVersion="2.2.0" LatestVersion="2.2.8" /> | |
<ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.All" TargetFrameworkVersion="2.2" DefaultVersion="2.2.0" LatestVersion="2.2.8" /> | |
<!-- .NET 6.0 --> | |
<KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="6.0.0-preview.5.21301.5" LatestRuntimeFrameworkVersion="6.0.0-preview.5.21301.5" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="6.0.0-preview.5.21301.5" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;maccatalyst-x64;maccatalyst-arm64" /> | |
<KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net6.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="6.0.0-preview.5.21301.5" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64" /> | |
<KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net6.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="6.0.0-preview.5.21301.5" Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64;linux-arm;linux-arm64;linux-musl-arm;linux-musl-arm64;osx-arm64;osx-x64;win-arm;win-arm64;win-x86" /> | |
<KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="6.0.0-preview.5.21301.5" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.Mono.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;maccatalyst-x64;maccatalyst-arm64;browser-wasm;ios-arm64;ios-arm;iossimulator-arm64;iossimulator-x64;iossimulator-x86;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;android-arm64;android-arm;android-x64;android-x86" RuntimePackLabels="Mono" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="6.0.0-preview.5.21301.4" LatestRuntimeFrameworkVersion="6.0.0-preview.5.21301.4" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="6.0.0-preview.5.21301.4" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="6.0.0-preview.5.21301.4" LatestRuntimeFrameworkVersion="6.0.0-preview.5.21301.4" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="6.0.0-preview.5.21301.4" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WPF" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="6.0.0-preview.5.21301.4" LatestRuntimeFrameworkVersion="6.0.0-preview.5.21301.4" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="6.0.0-preview.5.21301.4" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WindowsForms" /> | |
<KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="6.0.0-preview.5.21301.17" LatestRuntimeFrameworkVersion="6.0.0-preview.5.21301.17" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="6.0.0-preview.5.21301.17" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-arm;win-arm64;osx-arm64" /> | |
<KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net6.0-windows10.0.17763.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.17763.16" LatestRuntimeFrameworkVersion="10.0.17763.16" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.17763.16" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" /> | |
<KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net6.0-windows10.0.18362.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.18362.16" LatestRuntimeFrameworkVersion="10.0.18362.16" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.18362.16" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" /> | |
<KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net6.0-windows10.0.19041.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.19041.16" LatestRuntimeFrameworkVersion="10.0.19041.16" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.16" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" /> | |
<!-- .NET 5.0 --> | |
<KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.5" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;browser-wasm" IsTrimmable="true" /> | |
<KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net5.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="5.0.5" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm" /> | |
<KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net5.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="5.0.5" Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.5" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.5" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WPF" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.5" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WindowsForms" /> | |
<KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.6" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-arm;win-arm64" /> | |
<KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net5.0-windows10.0.17763.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.17763.16" LatestRuntimeFrameworkVersion="10.0.17763.16" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.17763.16" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" /> | |
<KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net5.0-windows10.0.18362.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.18362.16" LatestRuntimeFrameworkVersion="10.0.18362.16" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.18362.16" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" /> | |
<KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net5.0-windows10.0.19041.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.19041.16" LatestRuntimeFrameworkVersion="10.0.19041.16" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.16" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" /> | |
<!-- .NET Core 3.1 --> | |
<KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.15" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" IsTrimmable="true" /> | |
<KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.1" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="3.1.15" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.15" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.15" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WPF" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.15" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WindowsForms" /> | |
<KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.15" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="3.1.10" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64" /> | |
<!-- .NET Core 3.0 --> | |
<KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="3.0.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" IsTrimmable="true" /> | |
<KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="3.0.3" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WPF" /> | |
<KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WindowsForms" /> | |
<KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="3.0.1" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64" /> | |
<KnownFrameworkReference Include="NETStandard.Library" TargetFramework="netstandard2.1" TargetingPackName="NETStandard.Library.Ref" TargetingPackVersion="2.1.0" /> | |
</ItemGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.props | |
============================================================================================================================================ | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Set RuntimeIdentifier graph for NuGet (this needs to be after NETCoreSdkBundledVersionsProps is imported, as that's where | |
BundledRuntimeIdentifierGraphFile is set. --> | |
<RuntimeIdentifierGraphPath Condition="'$(RuntimeIdentifierGraphPath)' == ''">$(BundledRuntimeIdentifierGraphFile)</RuntimeIdentifierGraphPath> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Disable web SDK implicit package versions for ASP.NET packages, since the .NET SDK now handles that --> | |
<EnableWebSdkImplicitPackageVersions>false</EnableWebSdkImplicitPackageVersions> | |
</PropertyGroup> | |
<ItemGroup Condition=" '$(EnableDefaultItems)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<Compile Include="**/*$(DefaultLanguageSourceExtension)" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" Condition=" '$(EnableDefaultCompileItems)' == 'true' " /> | |
<EmbeddedResource Include="**/*.resx" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" Condition=" '$(EnableDefaultEmbeddedResourceItems)' == 'true' " /> | |
</ItemGroup> | |
<ItemGroup Condition=" '$(EnableDefaultItems)' == 'true' And '$(EnableDefaultNoneItems)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<None Include="**/*" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" /> | |
<None Remove="**/*$(DefaultLanguageSourceExtension)" /> | |
<None Remove="**/*.resx" /> | |
</ItemGroup> | |
<!-- Automatically reference NETStandard.Library or Microsoft.NETCore.App package if targeting the corresponding target framework. | |
We can refer here in the .props file to properties set in the .targets files because items and their conditions are | |
evaluated in the second pass of evaluation, after all properties have been evaluated. --> | |
<ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(_TargetFrameworkVersionWithoutV)' < '2.1'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PackageReference Include="NETStandard.Library" Version="$(NETStandardImplicitPackageVersion)" IsImplicitlyDefined="true" /> | |
<!-- If targeting .NET Standard 2.0 or higher, then don't include a dependency on NETStandard.Library in the package produced by pack --> | |
<PackageReference Update="NETStandard.Library" Condition=" ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' >= '2.0') " PrivateAssets="All" Publish="true" /> | |
</ItemGroup> | |
<ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(_TargetFrameworkVersionWithoutV)' >= '2.1'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<FrameworkReference Include="NETStandard.Library" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" /> | |
</ItemGroup> | |
<ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Use implicit PackageReference for Microsoft.NETCore.App on versions prior to 3.0. For 3.0 or higher, use | |
an implicit FrameworkReference --> | |
<PackageReference Include="Microsoft.NETCore.App" IsImplicitlyDefined="true" Condition="('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' < '3.0')" /> | |
<!-- For targeting .NET Core 2.0 or higher, don't include a dependency on Microsoft.NETCore.App in the package produced by pack. | |
Packing an DotnetCliTool should include the Microsoft.NETCore.App package dependency. --> | |
<PackageReference Update="Microsoft.NETCore.App" Condition="('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' >= '2.0') And ('$(PackageType)' != 'DotnetCliTool')" PrivateAssets="All" Publish="true" /> | |
<FrameworkReference Include="Microsoft.NETCore.App" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" Condition="('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' >= '3.0')" /> | |
<!-- Allow opt-in to Mono runtime pack for .NET 6.0 or higher --> | |
<FrameworkReference Update="Microsoft.NETCore.App" RuntimePackLabels="Mono" Condition="'$(UseMonoRuntime)' == 'true' And ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' >= '6.0')" /> | |
</ItemGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- Put workload resolution behind a feature flag. It can be enabled either by setting the MSBuildEnableWorkloadResolver environment variable to true, or by | |
putting an EnableWorkloadResolver.sentinel file beside the MSBuild SDK resolver DLL --> | |
<PropertyGroup Condition="'$(MSBuildEnableWorkloadResolver)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<__DisableWorkloadResolverSentinelPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildBinPath)\DisableWorkloadResolver.sentinel</__DisableWorkloadResolverSentinelPath> | |
<__DisableWorkloadResolverSentinelPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildBinPath)\SdkResolvers\Microsoft.DotNet.MSBuildSdkResolver\DisableWorkloadResolver.sentinel</__DisableWorkloadResolverSentinelPath> | |
<MSBuildEnableWorkloadResolver Condition="!Exists('$(__DisableWorkloadResolverSentinelPath)')">true</MSBuildEnableWorkloadResolver> | |
</PropertyGroup> | |
<!-- Import workload props --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Microsoft.NET.Sdk.ImportWorkloads.props" Condition="'$(MSBuildEnableWorkloadResolver)' == 'true'"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.Sdk.ImportWorkloads.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- Import workload props --> | |
<!--<Import Project="AutoImport.props" Sdk="Microsoft.NET.SDK.WorkloadAutoImportPropsLocator" />--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- List of supported .NET Core and .NET Standard TFMs --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Microsoft.NET.SupportedTargetFrameworks.props"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.SupportedTargetFrameworks.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.SupportedTargetFrameworks.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- This file contains a list of the TFMs that are supported by this SDK for .NET Core, .NET Standard, and .NET Framework. | |
This is used by VS to show the list of frameworks to which projects can be retargeted. --> | |
<!-- .NET Core App --> | |
<ItemGroup> | |
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.0" DisplayName=".NET Core 1.0" /> | |
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.1" DisplayName=".NET Core 1.1" /> | |
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.0" DisplayName=".NET Core 2.0" /> | |
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.1" DisplayName=".NET Core 2.1" /> | |
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.2" DisplayName=".NET Core 2.2" /> | |
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v3.0" DisplayName=".NET Core 3.0" /> | |
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v3.1" DisplayName=".NET Core 3.1" /> | |
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v5.0" DisplayName=".NET 5.0" /> | |
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v6.0" DisplayName=".NET 6.0" /> | |
</ItemGroup> | |
<!-- .NET Standard --> | |
<ItemGroup> | |
<SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.0" DisplayName=".NET Standard 1.0" /> | |
<SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.1" DisplayName=".NET Standard 1.1" /> | |
<SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.2" DisplayName=".NET Standard 1.2" /> | |
<SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.3" DisplayName=".NET Standard 1.3" /> | |
<SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.4" DisplayName=".NET Standard 1.4" /> | |
<SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.5" DisplayName=".NET Standard 1.5" /> | |
<SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.6" DisplayName=".NET Standard 1.6" /> | |
<SupportedNETStandardTargetFramework Include=".NETStandard,Version=v2.0" DisplayName=".NET Standard 2.0" /> | |
<SupportedNETStandardTargetFramework Include=".NETStandard,Version=v2.1" DisplayName=".NET Standard 2.1" /> | |
</ItemGroup> | |
<!-- .NET Framework --> | |
<ItemGroup> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v2.0" DisplayName=".NET Framework 2.0" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v3.0" DisplayName=".NET Framework 3.0" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v3.5" DisplayName=".NET Framework 3.5" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.0" DisplayName=".NET Framework 4.0" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.5" DisplayName=".NET Framework 4.5" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.5.1" DisplayName=".NET Framework 4.5.1" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.5.2" DisplayName=".NET Framework 4.5.2" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.6" DisplayName=".NET Framework 4.6" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.6.1" DisplayName=".NET Framework 4.6.1" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.6.2" DisplayName=".NET Framework 4.6.2" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.7" DisplayName=".NET Framework 4.7" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.7.1" DisplayName=".NET Framework 4.7.1" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.7.2" DisplayName=".NET Framework 4.7.2" /> | |
<SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.8" DisplayName=".NET Framework 4.8" /> | |
</ItemGroup> | |
<!-- All supported target frameworks --> | |
<ItemGroup> | |
<SupportedTargetFramework Include="@(SupportedNETCoreAppTargetFramework);@(SupportedNETStandardTargetFramework);@(SupportedNETFrameworkTargetFramework)" /> | |
</ItemGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- List of supported target platforms --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Microsoft.NET.SupportedPlatforms.props"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.SupportedPlatforms.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.SupportedPlatforms.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<ItemGroup> | |
<!-- Platforms supported by this SDK for analyzer warnings. Spec: https://github.com/dotnet/designs/blob/main/accepted/2020/platform-exclusion/platform-exclusion.md --> | |
<SupportedPlatform Include="Linux" /> | |
<SupportedPlatform Include="macOS" /> | |
<SupportedPlatform Include="Windows" /> | |
</ItemGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- List of supported .NET windows target platform versions --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- This file contains a list of the windows target platform versions that are supported by this SDK for .NET. Supported versions are processed in _NormalizeTargetPlatformVersion --> | |
<ItemGroup> | |
<WindowsSdkSupportedTargetPlatformVersion Include="10.0.19041.0" /> | |
<WindowsSdkSupportedTargetPlatformVersion Include="10.0.18362.0" /> | |
<WindowsSdkSupportedTargetPlatformVersion Include="10.0.17763.0" /> | |
<WindowsSdkSupportedTargetPlatformVersion Include="8.0" /> | |
<WindowsSdkSupportedTargetPlatformVersion Include="7.0" /> | |
</ItemGroup> | |
<ItemGroup> | |
<SdkSupportedTargetPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'Windows'" Include="@(WindowsSdkSupportedTargetPlatformVersion)" /> | |
</ItemGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.props" Condition="'$(MSBuildProjectExtension)' == '.csproj'"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.CSharp.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.Sdk.CSharp.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<WarningLevel Condition=" '$(WarningLevel)' == '' ">4</WarningLevel> | |
<NoWarn Condition=" '$(NoWarn)' == '' ">1701;1702</NoWarn> | |
<!-- Remove the line below once https://github.com/Microsoft/visualfsharp/issues/3207 gets fixed --> | |
<WarningsAsErrors>$(WarningsAsErrors);NU1605</WarningsAsErrors> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DefineConstants Condition=" '$(DefineConstants)' != '' ">$(DefineConstants);</DefineConstants> | |
<DefineConstants>$(DefineConstants)TRACE</DefineConstants> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.VisualBasic.props" Condition="'$(MSBuildProjectExtension)' == '.vbproj'" />--> | |
<!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.FSharp.props" Condition="'$(MSBuildProjectExtension)' == '.fsproj'" />--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ILLink.props"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ILLink.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.ILLink.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Sdk.props" Sdk="Microsoft.NET.ILLink.Tasks"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.ILLink.Tasks\Sdk\Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Sdk.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- Only import the build props if the ILLink.Tasks package isn't referenced via NuGet. --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)..\build\Microsoft.NET.ILLink.Tasks.props" Condition="'$(UsingILLinkTasksSdk)' != 'true'"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.ILLink.Tasks\build\Microsoft.NET.ILLink.Tasks.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.ILLink.Tasks.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup> | |
<UsingILLinkTasksSdk>true</UsingILLinkTasksSdk> | |
<ILLinkTasksAssembly Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net5.0\ILLink.Tasks.dll</ILLinkTasksAssembly> | |
<ILLinkTasksAssembly Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\ILLink.Tasks.dll</ILLinkTasksAssembly> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.ILLink.Tasks\Sdk\Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ILLink.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackTool.props"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackTool.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.PackTool.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);PackTool</TargetsForTfmSpecificContentInPackage> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackProjectTool.props"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackProjectTool.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.PackProjectTool.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);_PackProjectToolValidation</TargetsForTfmSpecificContentInPackage> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)../../Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.props" Condition="Exists('$(MSBuildThisFileDirectory)../../Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.props')"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.props | |
============================================================================================================================================ | |
--> | |
<ItemGroup Condition=" '$(_EnableWindowsDesktopGlobbing)' == 'true' "> | |
<ApplicationDefinition Include="App.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' And Exists('$(MSBuildProjectDirectory)/App.xaml') And '$(MSBuildProjectExtension)' == '.csproj'"> | |
<Generator>MSBuild:Compile</Generator> | |
<XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime> | |
</ApplicationDefinition> | |
<ApplicationDefinition Include="Application.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' And Exists('$(MSBuildProjectDirectory)/Application.xaml') And '$(MSBuildProjectExtension)' == '.vbproj'"> | |
<Generator>MSBuild:Compile</Generator> | |
<XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime> | |
</ApplicationDefinition> | |
<Page Include="**/*.xaml" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);@(ApplicationDefinition)" Condition="'$(EnableDefaultPageItems)' != 'false'"> | |
<Generator>MSBuild:Compile</Generator> | |
<XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime> | |
</Page> | |
<!-- | |
See https://github.com/dotnet/wpf/issues/685 | |
Visual Studio would prefer that we remove **/*.xaml instead of | |
being more precise. | |
<None Remove="@(Page)" | |
Condition="'$(EnableDefaultPageItems)' != 'false'" /> | |
<None Remove="@(ApplicationDefinition)" | |
Condition="'$(EnableDefaultApplicationDefinition)' != 'false'" /> | |
--> | |
<None Remove="**/*.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' And '$(EnableDefaultPageItems)' != 'false'" /> | |
</ItemGroup> | |
<ItemGroup Condition=" '$(_EnableWindowsDesktopNetCoreFrameworkReferences)' == 'true' "> | |
<FrameworkReference Include="Microsoft.WindowsDesktop.App" IsImplicitlyDefined="true" Condition="('$(UseWPF)' == 'true') And ('$(UseWindowsForms)' == 'true')" /> | |
<FrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" IsImplicitlyDefined="true" Condition="('$(UseWPF)' == 'true') And ('$(UseWindowsForms)' != 'true')" /> | |
<FrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" IsImplicitlyDefined="true" Condition="('$(UseWPF)' != 'true') And ('$(UseWindowsForms)' == 'true')" /> | |
</ItemGroup> | |
<!-- | |
Traditionally, Visual Studio has supplied these references for .NET Framework based | |
WPF Projects: | |
.NET 3.x: PresentationCore, PresentationFramework, WindowsBase | |
.NET 4.x: PresentationCore, PresentationFramework, WindowsBase, System.Xaml | |
Microsoft.NET.WindowsDesktop.SDK will supply the following references to .NET Framework based | |
WPF Projects: | |
.NET 3.x: PresentationCore, PresentationFramework, WindowsBase | |
.NET 4.0: PresentationCore, PresentationFramework, WindowsBase, System.Xaml, | |
UIAutomationClient, UIAutomationClientSideProviders, UIAutomationProvider, UIAutomationTypes | |
.NET 4.5+: PresentationCore, PresentationFramework, WindowsBase, System.Xaml, | |
UIAutomationClient, UIAutomationClientSideProviders, UIAutomationProvider, UIAutomationTypes | |
System.Windows.Controls.Ribbon | |
--> | |
<ItemGroup Condition=" '$(_EnableWindowsDesktopNETFrameworkImplicitReference)' == 'true' "> | |
<!-- | |
The following 3 _WpfCommonNetFxReference items normally require Condition="'$(_TargetFrameworkVersionValue)' >= '3.0'", since | |
they are supported on .NET Framework 3.0 and above. | |
This condition is implicitly satisfied by '$(_TargetFrameworkVersionValue)' >= '$(_WindowsDesktopSdkTargetFrameworkVersionFloor)' | |
in the outer ItemGroup | |
--> | |
<_WpfCommonNetFxReference Include="WindowsBase" /> | |
<_WpfCommonNetFxReference Include="PresentationCore" /> | |
<_WpfCommonNetFxReference Include="PresentationFramework" /> | |
<_WpfCommonNetFxReference Include="System.Xaml" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'"> | |
<RequiredTargetFramework>4.0</RequiredTargetFramework> | |
</_WpfCommonNetFxReference> | |
<_WpfCommonNetFxReference Include="UIAutomationClient" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'" /> | |
<_WpfCommonNetFxReference Include="UIAutomationClientSideProviders" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'" /> | |
<_WpfCommonNetFxReference Include="UIAutomationProvider" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'" /> | |
<_WpfCommonNetFxReference Include="UIAutomationTypes" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'" /> | |
<_WpfCommonNetFxReference Include="System.Windows.Controls.Ribbon" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.5'" /> | |
</ItemGroup> | |
<ItemGroup Condition=" '$(_EnableWindowsDesktopNETFrameworkImplicitReference)' == 'true' "> | |
<_SDKImplicitReference Include="@(_WpfCommonNetFxReference)" Condition="'$(UseWPF)' == 'true'" /> | |
<_SDKImplicitReference Include="System.Windows.Forms" Condition="('$(UseWindowsForms)' == 'true') " /> | |
<_SDKImplicitReference Include="WindowsFormsIntegration" Condition=" ('$(UseWindowsForms)' == 'true') And ('$(UseWPF)' == 'true') " /> | |
</ItemGroup> | |
<!-- | |
Supported (and unsupported) TargetFrameworks | |
Visual Studio Project System determines the list of valid TargetFrameworks to show | |
in the Project properties by querying SupportedTargetFramework values. | |
The Project System does not refer to this list at this time for .NET Framework TFM's. | |
--> | |
<!-- | |
When WindowsDesktop SDK is used without setting UseWPF or UseWindowsForms, it shows a (suppressible) warning and functions much | |
like Microsoft.NET.Sdk | |
Likewise, when WindowsDesktop SDK is used with a netcore TFM that is less than 3.0, it will simply act as if it were an | |
Microsoft.NET.Sdk project (and show a suppressible build-time warning). | |
Detect these situations and skip updates to @(SupportedTargetFramework) etc. | |
--> | |
<ItemGroup Condition=" '$(_RemoveUnsupportedTargetFrameworksForWindowsDesktop)' == 'true' "> | |
<!-- | |
Windows Forms and WPF are supported only on .NET Core 3.0+ | |
--> | |
<_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.0" /> | |
<_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.1" /> | |
<_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.0" /> | |
<_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.1" /> | |
<_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.2" /> | |
<!-- | |
Windows Forms and WPF are not supported an any .NET Standard targets | |
--> | |
<_UnsupportedNETStandardTargetFramework Include="@(SupportedNETStandardTargetFramework)" /> | |
<!-- | |
Windows Forms was supported since .NET Framework 1.0, and is currently supported on | |
.NET Framework 2.0+. | |
WPF is supported on .NET Framework and WPF are supported on .NET Framework 3.0+ | |
In practice, the WindowsDesktop SDK is only supported on .NET Framework 3.0+ - this is controlled | |
by $(_WindowsDesktopSdkTargetFrameworkVersionFloor), defined as 3.0, which applies to both .NETFramework | |
and .NETCore. | |
Here, we will encode .NET Framework 3.0 as the lowest supported version for both Windows Forms and WPF. | |
The SDK does not define versions < 2.0 in @(SupportedNETFrameworkTargetFramework) list, so none of those | |
need to be excluded here - removing 2.0 would suffice. | |
--> | |
<_UnsupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v2.0" /> | |
<SupportedNETCoreAppTargetFramework Remove="@(_UnsupportedNETCoreAppTargetFramework)" /> | |
<SupportedNETStandardTargetFramework Remove="@(_UnsupportedNETStandardTargetFramework)" /> | |
<SupportedNETFrameworkTargetFramework Remove="@(_UnsupportedNETFrameworkTargetFramework)" /> | |
<SupportedTargetFramework Remove="@(_UnsupportedNETCoreAppTargetFramework);@(_UnsupportedNETStandardTargetFramework);@(_UnsupportedNETFrameworkTargetFramework)" /> | |
</ItemGroup> | |
<!-- | |
Workaround: https://github.com/microsoft/msbuild/issues/4948 | |
Disable .NET Framework's inbox WinFX targets when using the SDK, since, we really don't use it's build logic | |
and is superseded by 'WindowsDesktop' SDK that provides it's own WinFX for both NETFX and CoreCLR targets. | |
Make it opt-out, just in case, if something fails or we don't want to use 'WindowsDesktop' SDK's version. | |
--> | |
<PropertyGroup> | |
<ImportFrameworkWinFXTargets Condition="'$(ImportFrameworkWinFXTargets)' == ''">false</ImportFrameworkWinFXTargets> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Windows.props"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Windows.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.Windows.props | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<ItemGroup Condition=" '$(IncludeWindowsSDKRefFrameworkReferences)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<FrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" /> | |
</ItemGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<MicrosoftNETWindowsWorkloadInstalled>true</MicrosoftNETWindowsWorkloadInstalled> | |
<!--https://github.com/dotnet/sdk/issues/12403--> | |
<_TargetFrameworkVersionValue>0.0</_TargetFrameworkVersionValue> | |
<_WindowsDesktopSdkTargetFrameworkVersionFloor>3.0</_WindowsDesktopSdkTargetFrameworkVersionFloor> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\temp\consoleapp1\consoleapp1.csproj | |
============================================================================================================================================ | |
--> | |
<PropertyGroup> | |
<OutputType>Exe</OutputType> | |
<TargetFramework>net6.0</TargetFramework> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk"> | |
This import was added implicitly because the Project element's Sdk attribute specified "Microsoft.NET.Sdk". | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Sdk.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- Using the same property as Microsoft.CSharp.targets and presumably Microsoft.VisualBasic.targets here --> | |
<PropertyGroup Condition="'$(TargetFrameworks)' != '' and '$(TargetFramework)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<IsCrossTargetingBuild>true</IsCrossTargetingBuild> | |
</PropertyGroup> | |
<!--<Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets" Condition="'$(IsCrossTargetingBuild)' == 'true'" />--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.BeforeCommon.targets" Condition="'$(IsCrossTargetingBuild)' != 'true'"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.Sdk.BeforeCommon.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- For projects that aren't using Microsoft.NET.Sdk, these props files won't have been imported yet. | |
So import them here. --> | |
<!--<ImportGroup Condition="'$(UsingNETSdkDefaults)' != 'true'">--> | |
<!--<Import Project="Microsoft.NET.Sdk.DefaultItems.props" />--> | |
<!--<Import Project="Microsoft.NET.SupportedTargetFrameworks.props" />--> | |
<!--<Import Project="Microsoft.NET.SupportedPlatforms.props" />--> | |
<!--<Import Project="Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props" />--> | |
<!--</ImportGroup>--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_IsExecutable Condition="'$(OutputType)' == 'Exe' or '$(OutputType)'=='WinExe'">true</_IsExecutable> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(HasRuntimeOutput)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<HasRuntimeOutput>$(_IsExecutable)</HasRuntimeOutput> | |
<_UsingDefaultForHasRuntimeOutput>true</_UsingDefaultForHasRuntimeOutput> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultAssemblyInfo.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultAssemblyInfo.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.DefaultAssemblyInfo.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup Condition=" '$(Version)' == '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<VersionPrefix Condition=" '$(VersionPrefix)' == '' ">1.0.0</VersionPrefix> | |
<Version Condition=" '$(VersionSuffix)' != '' ">$(VersionPrefix)-$(VersionSuffix)</Version> | |
<Version Condition=" '$(Version)' == '' ">$(VersionPrefix)</Version> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<Authors Condition=" '$(Authors)'=='' ">$(AssemblyName)</Authors> | |
<Company Condition=" '$(Company)'=='' ">$(Authors)</Company> | |
<AssemblyTitle Condition=" '$(AssemblyTitle)' == '' ">$(AssemblyName)</AssemblyTitle> | |
<Product Condition=" '$(Product)' == ''">$(AssemblyName)</Product> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
============================================================================================================================================ | |
--> | |
<!-- Set default intermediate and output paths --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultOutputPaths.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultOutputPaths.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.DefaultOutputPaths.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- | |
Apply the same default output paths as Microsoft.Common.targets now since we're running before them, | |
but need to adjust them and/or make decisions in terms of them. | |
Also note that common targets only set a default OutputPath if neither configuration nor | |
platform were set by the user. This was used to validate that a valid configuration is passed, | |
assuming the convention maintained by VS that every Configuration|Platform combination had | |
an explicit OutputPath. Since we now want to support leaner project files with less | |
duplication and more automatic defaults, we always set a default OutputPath and can no | |
longer depend on that convention for validation. Getting validation re-enabled with a | |
different mechanism is tracked by https://github.com/dotnet/sdk/issues/350 | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<Configuration Condition="'$(Configuration)'==''">Debug</Configuration> | |
<Platform Condition="'$(Platform)'==''">AnyCPU</Platform> | |
<PlatformName Condition="'$(PlatformName)' == ''">$(Platform)</PlatformName> | |
<BaseOutputPath Condition="'$(BaseOutputPath)' == ''">bin\</BaseOutputPath> | |
<BaseOutputPath Condition="!HasTrailingSlash('$(BaseOutputPath)')">$(BaseOutputPath)\</BaseOutputPath> | |
<OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' == 'AnyCPU'">$(BaseOutputPath)$(Configuration)\</OutputPath> | |
<OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' != 'AnyCPU'">$(BaseOutputPath)$(PlatformName)\$(Configuration)\</OutputPath> | |
<OutputPath Condition="!HasTrailingSlash('$(OutputPath)')">$(OutputPath)\</OutputPath> | |
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">obj\</BaseIntermediateOutputPath> | |
<BaseIntermediateOutputPath Condition="!HasTrailingSlash('$(BaseIntermediateOutputPath)')">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath> | |
<IntermediateOutputPath Condition=" $(IntermediateOutputPath) == '' and '$(PlatformName)' == 'AnyCPU' ">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath> | |
<IntermediateOutputPath Condition=" $(IntermediateOutputPath) == '' and '$(PlatformName)' != 'AnyCPU' ">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath> | |
<IntermediateOutputPath Condition="!HasTrailingSlash('$(IntermediateOutputPath)')">$(IntermediateOutputPath)\</IntermediateOutputPath> | |
</PropertyGroup> | |
<!-- Set the package output path (for nuget pack target) now, before the TargetFramework is appended --> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PackageOutputPath Condition="'$(PackageOutputPath)' == ''">$(OutputPath)</PackageOutputPath> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
============================================================================================================================================ | |
--> | |
<!-- Before any additional SDK targets are imported, import the publish profile. | |
This allows the publish profile to set properties like RuntimeIdentifier and them be | |
respected by the SDK. --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.ImportPublishProfile.targets" Condition="'$(PublishProfileImported)' != 'true'"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportPublishProfile.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.Sdk.ImportPublishProfile.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Default to having imported the publish profile so the Web SDK doesn't also attempt to do so. --> | |
<PublishProfileImported>true</PublishProfileImported> | |
<_PublishProfileDesignerFolder Condition="'$(AppDesignerFolder)' != ''">$(AppDesignerFolder)</_PublishProfileDesignerFolder> | |
<_PublishProfileDesignerFolder Condition="'$(_PublishProfileDesignerFolder)' == ''">Properties</_PublishProfileDesignerFolder> | |
<_PublishProfileRootFolder Condition="'$(_PublishProfileRootFolder)' == ''">$(MSBuildProjectDirectory)\$(_PublishProfileDesignerFolder)\PublishProfiles\</_PublishProfileRootFolder> | |
<PublishProfileName Condition="'$(PublishProfileName)' == '' and '$(PublishProfile)' != ''">$([System.IO.Path]::GetFileNameWithoutExtension($(PublishProfile)))</PublishProfileName> | |
<PublishProfileFullPath Condition="'$(PublishProfileFullPath)' == '' and '$(PublishProfileName)' != ''">$(_PublishProfileRootFolder)$(PublishProfileName).pubxml</PublishProfileFullPath> | |
<WebPublishProfileFile Condition="'$(WebPublishProfileFile)' == '' and Exists('$(PublishProfileFullPath)')">$(PublishProfileFullPath)</WebPublishProfileFile> | |
<!-- If the publish profile doesn't exist, mark as not imported. | |
This allows the Web SDK to import some default profiles that come with the Web SDK. | |
Publishing in Visual Studio sets `WebPublishProfileFile` as a global property. | |
Therefore, check that `ProjectToOverrideProjectExtensionsPath` is equal to `MSBuildProjectFullPath` | |
to limit the import to the project being published. --> | |
<PublishProfileImported Condition="('$(ProjectToOverrideProjectExtensionsPath)' != '' and
 '$(ProjectToOverrideProjectExtensionsPath)' != '$(MSBuildProjectFullPath)') or
 '$(WebPublishProfileFile)' == '' or
 !Exists('$(WebPublishProfileFile)')">false</PublishProfileImported> | |
</PropertyGroup> | |
<!--<Import Project="$(WebPublishProfileFile)" Condition="'$(PublishProfileImported)' == 'true'" />--> | |
<!--<Import Project="$(WebPublishProfileFile).user" Condition="'$(PublishProfileImported)' == 'true' and Exists('$(WebPublishProfileFile).user')" />--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
Expand TargetFramework to TargetFrameworkIdentifier and TargetFrameworkVersion, | |
and adjust intermediate and output paths to include it. | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.TargetFrameworkInference.targets"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.TargetFrameworkInference.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- | |
Note that this file is only included when $(TargetFramework) is set and so we do not need to check that here. | |
Common targets require that $(TargetFrameworkIdentifier) and $(TargetFrameworkVersion) are set by static evaluation | |
before they are imported. In common cases (currently netstandard, netcoreapp, or net), we infer them from the short | |
names given via TargetFramework to allow for terseness and lack of duplication in project files. | |
For other cases, the user must supply them manually. | |
For cases where inference is supported, the user need only specify the targets in TargetFrameworks, e.g: | |
<PropertyGroup> | |
<TargetFrameworks>net45;netstandard1.0</TargetFrameworks> | |
</PropertyGroup> | |
For cases where inference is not supported, identifier, version and profile can be specified explicitly as follows: | |
<PropertyGroup> | |
<TargetFrameworks>portable-net451+win81;xyz1.0</TargetFrameworks> | |
<PropertyGroup> | |
<PropertyGroup Condition="'$(TargetFramework)' == 'portable-net451+win81'"> | |
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier> | |
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion> | |
<TargetFrameworkProfile>Profile44</TargetFrameworkProfile> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(TargetFramework)' == 'xyz1.0'"> | |
<TargetFrameworkIdentifier>Xyz</TargetFrameworkVersion> | |
<PropertyGroup> | |
Note in the xyz1.0 case, which is meant to demonstrate a framework we don't yet recognize, we can still | |
infer the version of 1.0. The user can also override it as always we honor a TargetFrameworkIdentifier | |
or TargetFrameworkVersion that is already set. | |
--> | |
<!-- Hook for importing custom target framework parsing --> | |
<!--<Import Project="$(BeforeTargetFrameworkInferenceTargets)" Condition="$(BeforeTargetFrameworkInferenceTargets) != ''" />--> | |
<!-- | |
Parse TargetFramework properties. | |
--> | |
<PropertyGroup Condition="'$(TargetFramework)' != '' and ('$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkVersion)' == '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<TargetFrameworkIdentifier>$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))</TargetFrameworkIdentifier> | |
<TargetFrameworkVersion>v$([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)', 2))</TargetFrameworkVersion> | |
</PropertyGroup> | |
<!-- | |
Parse TargetPlatform properties. | |
--> | |
<PropertyGroup Condition="'$(TargetFramework)' != '' and ('$(TargetPlatformIdentifier)' == '' or '$(TargetPlatformVersion)' == '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<TargetPlatformIdentifier Condition="'$(TargetPlatformIdentifier)' == ''">$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier> | |
<TargetPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'Windows'">$([MSBuild]::GetTargetPlatformVersion('$(TargetFramework)', 4))</TargetPlatformVersion> | |
<TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == '' or ('$(TargetPlatformIdentifier)' == 'Windows' and !$([MSBuild]::VersionGreaterThanOrEquals($(TargetPlatformVersion), 10.0)))">$([MSBuild]::GetTargetPlatformVersion('$(TargetFramework)', 2))</TargetPlatformVersion> | |
<TargetPlatformVersion Condition="$([MSBuild]::VersionEquals($(TargetPlatformVersion), 0.0))" /> | |
<!-- Normalize casing of windows to Windows --> | |
<TargetPlatformIdentifier Condition="'$(TargetPlatformIdentifier)' == 'Windows'">Windows</TargetPlatformIdentifier> | |
</PropertyGroup> | |
<!-- | |
Trigger an error if we're unable to infer the framework identifier and version. | |
We have to evaluate this here and not in the target because by the time the target runs, | |
Microsoft.Common.targets will have defaulted to .NETFramework,Version=v4.0 | |
--> | |
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkIdentifier)' == 'Unsupported' or '$(TargetFrameworkVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_UnsupportedTargetFrameworkError>true</_UnsupportedTargetFrameworkError> | |
</PropertyGroup> | |
<!-- | |
NOTE: We must not validate the TFM before restore target runs as it prevents adding additional TFM | |
support from being provided by a nuget package such as MSBuild.Sdk.Extras. | |
We run before RunResolvePackageDependencies and GetReferenceAssemblyPaths so that design-time builds | |
which do not currently invoke _CheckForInvalidConfigurationAndPlatform, will not trigger spurious | |
errors that are only consequences of the root cause identified here. | |
--> | |
<Target Name="_CheckForUnsupportedTargetFramework" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;RunResolvePackageDependencies;GetFrameworkPaths;GetReferenceAssemblyPaths;Restore" Condition="'$(_UnsupportedTargetFrameworkError)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkError Condition="!$(TargetFramework.Contains(';'))" ResourceName="CannotInferTargetFrameworkIdentifierAndVersion" FormatArguments="$([MSBuild]::Escape('$(TargetFramework)'))" /> | |
<NETSdkError Condition="$(TargetFramework.Contains(';'))" ResourceName="TargetFrameworkWithSemicolon" FormatArguments="$([MSBuild]::Escape('$(TargetFramework)'))" /> | |
</Target> | |
<Target Name="_CheckForUnsupportedTargetPlatformIdentifier" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;RunResolvePackageDependencies;GetFrameworkPaths;GetReferenceAssemblyPaths;CollectPackageReferences" Condition="'$(TargetPlatformIdentifier)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PropertyGroup> | |
<TargetPlatformSupported Condition="'$(TargetPlatformIdentifier)' == 'Windows'">true</TargetPlatformSupported> | |
</PropertyGroup> | |
<NETSdkError Condition="'$(TargetPlatformSupported)' != 'true'" ResourceName="UnsupportedTargetPlatformIdentifier" FormatArguments="$(TargetPlatformIdentifier)" /> | |
</Target> | |
<UsingTask TaskName="AllowEmptyTelemetry" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> | |
<Target Name="_CollectTargetFrameworkForTelemetry" AfterTargets="_CheckForUnsupportedTargetFramework" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<AllowEmptyTelemetry EventName="targetframeworkeval" EventData="TargetFrameworkVersion=$([MSBuild]::Escape('$(TargetFrameworkMoniker)'));RuntimeIdentifier=$(RuntimeIdentifier);SelfContained=$(SelfContained);UseApphost=$(UseApphost);OutputType=$(OutputType)" /> | |
</Target> | |
<!-- | |
Don't leave TargetFrameworkVersion empty if it still hasn't been determined. We will trigger the error above, | |
but we need this to be a valid version so that our error message does not get pre-empted by failure to interpret | |
version comparison expressions, which is currently unrecoverable in VS. | |
Also don't leave TargetFrameworkIdentifier unset as it will be defaulted to .NETFramework by common targets, which | |
can cause restore (which we cannot block, see above) to silently succeed for empty TargetFramework. | |
--> | |
<PropertyGroup Condition="'$(TargetFrameworkVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<TargetFrameworkVersion>v0.0</TargetFrameworkVersion> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<TargetFrameworkIdentifier>_</TargetFrameworkIdentifier> | |
</PropertyGroup> | |
<!-- | |
Trigger an error if targeting a higher version of .NET Core or .NET Standard than is supported by the current SDK. | |
--> | |
<Target Name="_CheckForUnsupportedNETCoreVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(NETCoreAppMaximumVersion)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkError Condition="'$(_TargetFrameworkVersionWithoutV)' > '$(NETCoreAppMaximumVersion)'" ResourceName="UnsupportedTargetFrameworkVersion" FormatArguments=".NET;$(_TargetFrameworkVersionWithoutV);$(NETCoreAppMaximumVersion)" /> | |
</Target> | |
<!-- | |
Trigger an error if C++ project targeting a lower version of .NET Core than 3.1. | |
--> | |
<Target Name="_CheckForUnsupportedCppNETCoreVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkError Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' < '3.1' and ('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true')" ResourceName="CppRequiresTFMVersion31" /> | |
</Target> | |
<!--C++/CLI has its own logic of determine TargetPlatformIdentifier and TargetPlatformVersion--> | |
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) and ('$(Language)' != 'C++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_EnableDefaultWindowsPlatform>false</_EnableDefaultWindowsPlatform> | |
<UseOSWinMdReferences>false</UseOSWinMdReferences> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(NETStandardMaximumVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETStandardMaximumVersion>2.1</NETStandardMaximumVersion> | |
</PropertyGroup> | |
<Target Name="_CheckForUnsupportedNETStandardVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(NETStandardMaximumVersion)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkError Condition="'$(_TargetFrameworkVersionWithoutV)' > '$(NETStandardMaximumVersion)'" ResourceName="UnsupportedTargetFrameworkVersion" FormatArguments=".NET Standard;$(_TargetFrameworkVersionWithoutV);$(NETStandardMaximumVersion)" /> | |
</Target> | |
<Target Name="_CheckForUnsupportedTargetFrameworkAndFeatureCombination" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkError Condition="'$(UsingNETSdkDefaults)' != 'true'" ResourceName="NETFrameworkWithoutUsingNETSdkDefaults" /> | |
</Target> | |
<Target Name="_CheckForSupportedOSPlatformVersionHigherThanTargetPlatformVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetPlatformVersion)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkError Condition="'$(SupportedOSPlatformVersion)' != '' and $(TargetPlatformVersion) != '' and $([MSBuild]::VersionGreaterThan($(SupportedOSPlatformVersion), $(TargetPlatformVersion)))" ResourceName="CannotHaveSupportedOSPlatformVersionHigherThanTargetPlatformVersion" FormatArguments="$(SupportedOSPlatformVersion);$(TargetPlatformVersion)" /> | |
</Target> | |
<!--C++/CLI targets rely on the patch version of the Windows SDK version as TargetPlatformVersion. Skip the normalization.--> | |
<Target Name="_NormalizeTargetPlatformVersion" BeforeTargets="ProcessFrameworkReferences" Condition="'$(TargetPlatformVersion)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) and ('$(Language)' != 'C++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ItemGroup> | |
<_ValidTargetPlatformVersion Include="@(SdkSupportedTargetPlatformVersion)" Condition="'@(SdkSupportedTargetPlatformVersion)' != '' and $([MSBuild]::VersionEquals(%(Identity), $(TargetPlatformVersion)))" /> | |
</ItemGroup> | |
<PropertyGroup> | |
<TargetPlatformVersion Condition="'@(_ValidTargetPlatformVersion)' != '' and '@(_ValidTargetPlatformVersion->Count())' == '1' and '@(_ValidTargetPlatformVersion)' != '$(TargetPlatformVersion)'">@(_ValidTargetPlatformVersion)</TargetPlatformVersion> | |
</PropertyGroup> | |
</Target> | |
<Target Name="_CheckForInvalidTargetPlatformVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" DependsOnTargets="_NormalizeTargetPlatformVersion" Condition="'$(TargetPlatformVersion)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) and ('$(Language)' != 'C++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PropertyGroup> | |
<TargetPlatformVersionSupported Condition="'$(TargetPlatformVersionSupported)' == '' and '@(_ValidTargetPlatformVersion)' != ''">true</TargetPlatformVersionSupported> | |
<_ValidTargetPlatformVersions Condition="'@(SdkSupportedTargetPlatformVersion)' != ''">@(SdkSupportedTargetPlatformVersion, '%0a')</_ValidTargetPlatformVersions> | |
<_ValidTargetPlatformVersions Condition="'@(SdkSupportedTargetPlatformVersion)' == ''">None</_ValidTargetPlatformVersions> | |
</PropertyGroup> | |
<NetSdkError Condition="'$(TargetPlatformVersionSupported)' != 'true'" ResourceName="InvalidTargetPlatformVersion" FormatArguments="$(TargetPlatformVersion);$(TargetPlatformIdentifier);$(_ValidTargetPlatformVersions)" /> | |
</Target> | |
<!-- Exclude files from OutputPath and IntermediateOutputPath from default item globs. Use the value | |
of these properties before the TargetFramework is appended, so that if these values are specified | |
in the project file, the specified value will be used for the exclude. --> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DefaultItemExcludes>$(DefaultItemExcludes);$(OutputPath)/**</DefaultItemExcludes> | |
<DefaultItemExcludes>$(DefaultItemExcludes);$(IntermediateOutputPath)/**</DefaultItemExcludes> | |
</PropertyGroup> | |
<!-- Projects which don't use Microsoft.NET.Sdk will typically define the OutputPath directly (usually in a | |
Configuration-specific PropertyGroup), so in that case we won't append to it by default. --> | |
<PropertyGroup Condition="'$(UsingNETSdkDefaults)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<AppendTargetFrameworkToOutputPath Condition="'$(AppendTargetFrameworkToOutputPath)' == ''">true</AppendTargetFrameworkToOutputPath> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ProduceReferenceAssembly Condition="'$(ProduceReferenceAssembly)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))">true</ProduceReferenceAssembly> | |
</PropertyGroup> | |
<!-- | |
Append $(TargetFramework) directory to output and intermediate paths to prevent bin clashes between | |
targets. | |
--> | |
<PropertyGroup Condition="'$(AppendTargetFrameworkToOutputPath)' == 'true' and '$(TargetFramework)' != '' and '$(_UnsupportedTargetFrameworkError)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<IntermediateOutputPath>$(IntermediateOutputPath)$(TargetFramework.ToLowerInvariant())\</IntermediateOutputPath> | |
<OutputPath>$(OutputPath)$(TargetFramework.ToLowerInvariant())\</OutputPath> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DisableWinExeOutputInference Condition="'$(DisableWinExeOutputInference)' == '' and ('$(TargetFrameworkIdentifier)' != '.NETCoreApp' or $([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '5.0')))">true</DisableWinExeOutputInference> | |
<OutputType Condition="'$(DisableWinExeOutputInference)' != 'true' and '$(OutputType)' == 'Exe' and ('$(UseWindowsForms)' == 'true' or '$(UseWPF)' == 'true')">WinExe</OutputType> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
============================================================================================================================================ | |
--> | |
<!-- Related issue: https://github.com/dotnet/sdk/issues/12324--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Import winfx targets when we're targeting .NETFramework and not importing the newer WindowsDesktop targets via `UseWPF`. --> | |
<ImportFrameworkWinFXTargets Condition="'$(ImportFrameworkWinFXTargets)' == '' and '$(UseWPF)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETFramework'">true</ImportFrameworkWinFXTargets> | |
<!-- Otherwise, don't import. --> | |
<ImportFrameworkWinFXTargets Condition="'$(ImportFrameworkWinFXTargets)' == ''">false</ImportFrameworkWinFXTargets> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_TargetFrameworkVersionWithoutV>$(TargetFrameworkVersion.TrimStart('vV'))</_TargetFrameworkVersionWithoutV> | |
</PropertyGroup> | |
<!-- | |
Use RuntimeIdentifier to determine PlatformTarget. | |
Also, enforce that RuntimeIdentifier is always specified for .NETFramework executables. | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.RuntimeIdentifierInference.targets"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.RuntimeIdentifierInference.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- | |
.NET Framework cannot load native package dependencies dynamically | |
based on the current architecture. We must have a RID to resolve | |
and copy native dependencies to the output directory. | |
When building a .NET Framework exe on Windows and not given a RID, | |
we'll pick either win7-x64 or win7-x86 (based on PlatformTarget) | |
if we're not given an explicit RID. However, if after resolving | |
NuGet assets we find no copy-local native dependencies, we will | |
emit the binary as AnyCPU. | |
Note that we must set the RID here early (to be seen during NuGet | |
restore) in order for the project.assets.json to include the | |
native dependencies that will let us make the final call on | |
AnyCPU or platform-specific. | |
This allows these common cases to work without requiring mention | |
of RuntimeIdentifier in the user project PlatformTarget: | |
1. Building an AnyCPU .NET Framework application on any host OS | |
with no native NuGet dependencies. | |
2. Building an x86 or x64 .NET Framework application on and for | |
Windows with native NuGet dependencies that do not require | |
greater than win7. | |
However, any other combination of host operating system, CPU | |
architecture, and minimum Windows version will require some | |
manual intervention in the project file to set up the right | |
RID. (**) | |
(*) Building NET4x from non-Windows is still not fully supported: | |
https://github.com/dotnet/sdk/issues/335) The point above is | |
that this code would not have to change to make the first | |
scenario work on non-Windows hosts. | |
(**) https://github.com/dotnet/sdk/issues/840 tracks improving | |
the default RID selection here to make more non-AnyCPU scenarios | |
work without user intervention. The current static evaluation | |
requirement limits us. | |
--> | |
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and
 '$(HasRuntimeOutput)' == 'true' and
 $([MSBuild]::IsOSPlatform(`Windows`))and
 '$(RuntimeIdentifier)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_UsingDefaultRuntimeIdentifier>true</_UsingDefaultRuntimeIdentifier> | |
<RuntimeIdentifier Condition="'$(PlatformTarget)' == 'x64'">win7-x64</RuntimeIdentifier> | |
<RuntimeIdentifier Condition="'$(PlatformTarget)' == 'x86' or '$(PlatformTarget)' == ''">win7-x86</RuntimeIdentifier> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(UseCurrentRuntimeIdentifier)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<RuntimeIdentifier>$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifier> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(PlatformTarget)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_UsingDefaultPlatformTarget>true</_UsingDefaultPlatformTarget> | |
</PropertyGroup> | |
<!-- Determine PlatformTarget (if not already set) from runtime identifier. --> | |
<Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<When Condition="'$(PlatformTarget)' != '' or '$(RuntimeIdentifier)' == ''" /> | |
<When Condition="$(RuntimeIdentifier.EndsWith('-x86')) or $(RuntimeIdentifier.Contains('-x86-'))"> | |
<PropertyGroup> | |
<PlatformTarget>x86</PlatformTarget> | |
</PropertyGroup> | |
</When> | |
<When Condition="$(RuntimeIdentifier.EndsWith('-x64')) or $(RuntimeIdentifier.Contains('-x64-'))"> | |
<PropertyGroup> | |
<PlatformTarget>x64</PlatformTarget> | |
</PropertyGroup> | |
</When> | |
<When Condition="$(RuntimeIdentifier.EndsWith('-arm')) or $(RuntimeIdentifier.Contains('-arm-'))"> | |
<PropertyGroup> | |
<PlatformTarget>arm</PlatformTarget> | |
</PropertyGroup> | |
</When> | |
<When Condition="$(RuntimeIdentifier.EndsWith('-arm64')) or $(RuntimeIdentifier.Contains('-arm64-'))"> | |
<PropertyGroup> | |
<PlatformTarget>arm64</PlatformTarget> | |
</PropertyGroup> | |
</When> | |
<Otherwise> | |
<PropertyGroup> | |
<PlatformTarget>AnyCPU</PlatformTarget> | |
</PropertyGroup> | |
</Otherwise> | |
</Choose> | |
<!-- | |
SelfContained was not an option in .NET Core SDK 1.0. | |
Default SelfContained based on the RuntimeIdentifier, so projects don't have to explicitly set SelfContained. | |
This avoids a breaking change from 1.0 behavior. | |
Due to https://github.com/dotnet/sdk/issues/4012 we decided to disable UseAppHost to be the default on mac | |
--> | |
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<SelfContained Condition="'$(SelfContained)' == '' and '$(RuntimeIdentifier)' != ''">true</SelfContained> | |
<SelfContained Condition="'$(SelfContained)' == ''">false</SelfContained> | |
<_OnOsx>$(NETCoreSdkRuntimeIdentifier.StartsWith('osx'))</_OnOsx> | |
<_RuntimeIdentifierUsesAppHost Condition="$(RuntimeIdentifier.StartsWith('ios')) or $(RuntimeIdentifier.StartsWith('tvos')) or $(RuntimeIdentifier.StartsWith('maccatalyst')) or $(RuntimeIdentifier.StartsWith('android')) or $(RuntimeIdentifier.StartsWith('browser'))">false</_RuntimeIdentifierUsesAppHost> | |
<_RuntimeIdentifierUsesAppHost Condition="'$(_RuntimeIdentifierUsesAppHost)' == ''">true</_RuntimeIdentifierUsesAppHost> | |
<UseAppHost Condition="'$(UseAppHost)' == '' and
 '$(_RuntimeIdentifierUsesAppHost)' == 'true' and
 ('$(SelfContained)' == 'true' or
 ('$(RuntimeIdentifier)' != '' and '$(_TargetFrameworkVersionWithoutV)' >= '2.1') or
 ('$(_TargetFrameworkVersionWithoutV)' >= '3.0' and $(_OnOsx) != 'true'))">true</UseAppHost> | |
<UseAppHost Condition="'$(UseAppHost)' == ''">false</UseAppHost> | |
</PropertyGroup> | |
<!-- Only use the default apphost if building without a RID and without a deps file path (used by GenerateDeps.proj for CLI tools). --> | |
<PropertyGroup Condition="'$(DefaultAppHostRuntimeIdentifier)' == '' and
 '$(RuntimeIdentifier)' == '' and
 (('$(UseAppHost)' == 'true' and '$(ProjectDepsFilePath)' == '') or
 ('$(EnableComHosting)' == 'true' and '$(_IsExecutable)' != 'true') or
 '$(UseIJWHost)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DefaultAppHostRuntimeIdentifier>$(NETCoreSdkRuntimeIdentifier)</DefaultAppHostRuntimeIdentifier> | |
<DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'x64'">win-x64</DefaultAppHostRuntimeIdentifier> | |
<DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'x86'">win-x86</DefaultAppHostRuntimeIdentifier> | |
<DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'ARM'">win-arm</DefaultAppHostRuntimeIdentifier> | |
<DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'ARM64'">win-arm64</DefaultAppHostRuntimeIdentifier> | |
</PropertyGroup> | |
<Target Name="_CheckForUnsupportedAppHostUsage" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkError Condition="'$(SelfContained)' == 'true' and '$(RuntimeIdentifier)' == ''" ResourceName="CannotHaveSelfContainedWithoutRuntimeIdentifier" /> | |
<NETSdkError Condition="'$(SelfContained)' == 'true' and '$(UseAppHost)' != 'true' and '$(_RuntimeIdentifierUsesAppHost)' == 'true'" ResourceName="CannotUseSelfContainedWithoutAppHost" /> | |
<NETSdkError Condition="'$(SelfContained)' != 'true' and '$(UseAppHost)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' < '2.1'" ResourceName="FrameworkDependentAppHostRequiresVersion21" /> | |
<NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' < '3.0'" ResourceName="PublishSingleFileRequiresVersion30" /> | |
<!-- The TFM version checks for PublishReadyToRun PublishTrimmed only generate warnings in .Net core 3.1 | |
because we do not want the behavior to be a breaking change compared to version 3.0 --> | |
<NETSdkWarning Condition="'$(PublishReadyToRun)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' < '3.0'" ResourceName="PublishReadyToRunRequiresVersion30" /> | |
<NETSdkWarning Condition="'$(PublishTrimmed)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' < '3.0'" ResourceName="PublishTrimmedRequiresVersion30" /> | |
</Target> | |
<Target Name="_CheckForUnsupportedHostingUsage" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkWarning Condition="'$(SelfContained)' == 'true' and '$(EnableComHosting)' == 'true'" ResourceName="NoSupportComSelfContained" /> | |
</Target> | |
<Target Name="_CheckForMismatchingPlatform" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(RuntimeIdentifier)' != '' and '$(PlatformTarget)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkError Condition="'$(PlatformTarget)' != 'AnyCPU' and !$(RuntimeIdentifier.ToUpperInvariant().Contains($(PlatformTarget.ToUpperInvariant())))" ResourceName="CannotHaveRuntimeIdentifierPlatformMismatchPlatformTarget" FormatArguments="$(RuntimeIdentifier);$(PlatformTarget)" /> | |
</Target> | |
<Target Name="_CheckForLanguageAndFeatureCombinationSupport" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;ProcessFrameworkReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and $(OutputType) != 'library' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" ResourceName="NoSupportCppNonDynamicLibraryDotnetCore" /> | |
<NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and $(EnableComHosting) == 'true'" ResourceName="NoSupportCppEnableComHosting" /> | |
<NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and $(SelfContained) == 'true'" ResourceName="NoSupportCppSelfContained" /> | |
</Target> | |
<Target Name="_CheckForNETCoreSdkIsPreview" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition=" '$(_NETCoreSdkIsPreview)' == 'true' AND '$(SuppressNETCoreSdkPreviewMessage)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ShowPreviewMessage /> | |
</Target> | |
<!-- Projects which don't use Microsoft.NET.Sdk will typically define the OutputPath directly (usually in a | |
Configuration-specific PropertyGroup), so in that case we won't append to it by default. --> | |
<PropertyGroup Condition="'$(UsingNETSdkDefaults)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Projects can opt out of having the RID appended to the output path by setting this to false. --> | |
<AppendRuntimeIdentifierToOutputPath Condition="'$(AppendRuntimeIdentifierToOutputPath)' == ''">true</AppendRuntimeIdentifierToOutputPath> | |
</PropertyGroup> | |
<!-- | |
Append $(RuntimeIdentifier) directory to output and intermediate paths to prevent bin clashes between | |
targets. | |
But do not append the implicit default runtime identifier for .NET Framework apps as that would | |
append a RID the user never mentioned in the path and do so even in the AnyCPU case. | |
--> | |
<PropertyGroup Condition="'$(AppendRuntimeIdentifierToOutputPath)' == 'true' and '$(RuntimeIdentifier)' != '' and '$(_UsingDefaultRuntimeIdentifier)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<IntermediateOutputPath>$(IntermediateOutputPath)$(RuntimeIdentifier)\</IntermediateOutputPath> | |
<OutputPath>$(OutputPath)$(RuntimeIdentifier)\</OutputPath> | |
</PropertyGroup> | |
<UsingTask TaskName="Microsoft.NET.Build.Tasks.GetDefaultPlatformTargetForNetFramework" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> | |
<!-- | |
Switch our default .NETFramework CPU architecture choice back to AnyCPU before | |
compiling the exe if no copy-local native dependencies were resolved from NuGet | |
--> | |
<Target Name="AdjustDefaultPlatformTargetForNetFrameworkExeWithNoNativeCopyLocalItems" AfterTargets="ResolvePackageAssets" BeforeTargets="CoreCompile" Condition="'$(_UsingDefaultPlatformTarget)' == 'true' and
 '$(_UsingDefaultRuntimeIdentifier)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<GetDefaultPlatformTargetForNetFramework PackageDependencies="@(PackageDependencies)" NativeCopyLocalItems="@(NativeCopyLocalItems)"> | |
<Output TaskParameter="DefaultPlatformTarget" PropertyName="PlatformTarget" /> | |
</GetDefaultPlatformTargetForNetFramework> | |
</Target> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
Import targets from RazorSDK if referenced | |
Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
Sdks\Microsoft.NET.Sdk.Razor\build\netstandard2.0\Microsoft.NET.Sdk.Razor.BeforeCommon.targets | |
--> | |
<!--<Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.NET.Sdk.Razor\build\netstandard2.0\Microsoft.NET.Sdk.Razor.BeforeCommon.targets" Condition="'$(UsingMicrosoftNETSdkRazor)' == 'true'" />--> | |
<!-- Import workload targets --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Microsoft.NET.Sdk.ImportWorkloads.targets" Condition="'$(MSBuildEnableWorkloadResolver)' == 'true'"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.Sdk.ImportWorkloads.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- Workload support --> | |
<!-- Import workload manifests --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator"> | |
C:\Program Files\dotnet\sdk-manifests\6.0.100\Microsoft.NET.Workload.Android\WorkloadManifest.targets | |
============================================================================================================================================ | |
--> | |
<!--<Import Project="Sdk.targets" Sdk="Microsoft.Android.Sdk" Condition=" '$(TargetPlatformIdentifier)' == 'android' " />--> | |
<!--<Import Project="Sdk.targets" Sdk="Microsoft.Android.Sdk.BundleTool" Condition=" '$(AndroidPackageFormat)' == 'aab' " />--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator"> | |
C:\Program Files\dotnet\sdk-manifests\6.0.100\Microsoft.NET.Workload.BlazorWebAssembly\WorkloadManifest.targets | |
============================================================================================================================================ | |
--> | |
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'"> | |
<UsingBrowserRuntimeWorkload Condition="'$(RunAOTCompilation)' == 'true' or '$(UsingMicrosoftNETSdkBlazorWebAssembly)' != 'true'">true</UsingBrowserRuntimeWorkload> | |
<UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''">$(WasmNativeWorkload)</UsingBrowserRuntimeWorkload> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(UsingMicrosoftNETSdkBlazorWebAssembly)' == 'true' and '$(UsingBrowserRuntimeWorkload)' == 'true'"> | |
<WasmGenerateAppBundle>false</WasmGenerateAppBundle> | |
<UsingBlazorAOTWorkloadManifest>true</UsingBlazorAOTWorkloadManifest> | |
</PropertyGroup> | |
<!--<ImportGroup Condition="'$(UsingBrowserRuntimeWorkload)' == 'true'">--> | |
<!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task" Condition="'$(RunAOTCompilation)' == 'true'" />--> | |
<!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk" />--> | |
<!--<Import Project="Sdk.props" Sdk="Microsoft.Netcore.App.Runtime.Aot.Cross.browser-wasm" />--> | |
<!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python" Condition="!$([MSBuild]::IsOSPlatform('linux'))" />--> | |
<!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node" />--> | |
<!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk" />--> | |
<!--</ImportGroup>--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator"> | |
C:\Program Files\dotnet\sdk-manifests\6.0.100\Microsoft.NET.Workload.iOS\WorkloadManifest.targets | |
============================================================================================================================================ | |
--> | |
<!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk" Condition="'$(TargetPlatformIdentifier)' == 'iOS'" />--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator"> | |
C:\Program Files\dotnet\sdk-manifests\6.0.100\Microsoft.NET.Workload.MacCatalyst\WorkloadManifest.targets | |
============================================================================================================================================ | |
--> | |
<!--<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk" Condition="'$(TargetPlatformIdentifier)' == 'MacCatalyst'" />--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator"> | |
C:\Program Files\dotnet\sdk-manifests\6.0.100\Microsoft.NET.Workload.macOS\WorkloadManifest.targets | |
============================================================================================================================================ | |
--> | |
<!--<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk" Condition="'$(TargetPlatformIdentifier)' == 'macOS'" />--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator"> | |
C:\Program Files\dotnet\sdk-manifests\6.0.100\Microsoft.NET.Workload.tvOS\WorkloadManifest.targets | |
============================================================================================================================================ | |
--> | |
<!--<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk" Condition="'$(TargetPlatformIdentifier)' == 'tvOS'" />--> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets | |
============================================================================================================================================ | |
--> | |
<UsingTask TaskName="ShowMissingWorkloads" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> | |
<Target Name="GetSuggestedWorkloads" Returns="@(SuggestedWorkload)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ShowMissingWorkloads MissingWorkloadPacks="@(MissingWorkloadPack)" NetCoreRoot="$(NetCoreRoot)" NETCoreSdkVersion="$(NETCoreSdkVersion)" GenerateErrorsForMissingWorkloads="false"> | |
<Output TaskParameter="SuggestedWorkloads" ItemName="SuggestedWorkload" /> | |
</ShowMissingWorkloads> | |
</Target> | |
<Target Name="_CheckForMissingWorkload" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;_CheckForUnsupportedTargetPlatformIdentifier" Condition="'@(MissingWorkloadPack)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ShowMissingWorkloads MissingWorkloadPacks="@(MissingWorkloadPack)" NetCoreRoot="$(NetCoreRoot)" NETCoreSdkVersion="$(NETCoreSdkVersion)" GenerateErrorsForMissingWorkloads="true" /> | |
</Target> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
============================================================================================================================================ | |
--> | |
<!-- Checks for EOL frameworks --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.EolTargetFrameworks.targets"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.EolTargetFrameworks.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Default the check to true, but allow developers to turn the warning off. --> | |
<CheckEolTargetFramework Condition="'$(CheckEolTargetFramework)' == ''">true</CheckEolTargetFramework> | |
</PropertyGroup> | |
<!-- | |
.NET Core framework versions that are currently considered to be end-of-life (EOL). These versions will not be targeted to | |
receive servicing updates and security fixes. | |
--> | |
<ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_EolNetCoreTargetFrameworkVersions Include="1.0;1.1;2.0;2.2;3.0" /> | |
</ItemGroup> | |
<Target Name="_CheckForEolTargetFrameworks" AfterTargets="_CheckForUnsupportedNETCoreVersion" Condition="'@(_EolNetCoreTargetFrameworkVersions->AnyHaveMetadataValue('Identity', '$(_TargetFrameworkVersionWithoutV)'))' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(CheckEolTargetFramework)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<NETSdkWarning ResourceName="TargetFrameworkIsEol" FormatArguments="$(TargetFramework.ToLowerInvariant());https://aka.ms/dotnet-core-support" /> | |
</Target> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
============================================================================================================================================ | |
--> | |
<!-- Check if the Target Framework is coreclr based --> | |
<PropertyGroup Condition="'$(_IsNETCoreOrNETStandard)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_IsNETCoreOrNETStandard Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">true</_IsNETCoreOrNETStandard> | |
<_IsNETCoreOrNETStandard Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard'">true</_IsNETCoreOrNETStandard> | |
</PropertyGroup> | |
<!-- Unification / automatic binding redirect logic --> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DesignTimeAutoUnify Condition="'$(DesignTimeAutoUnify)' == ''">true</DesignTimeAutoUnify> | |
<AutoUnifyAssemblyReferences Condition="'$(AutoUnifyAssemblyReferences)' == '' and $(OutputType) == 'Library'">true</AutoUnifyAssemblyReferences> | |
<AutoUnifyAssemblyReferences Condition="'$(AutoUnifyAssemblyReferences)' == '' and '$(_IsNETCoreOrNETStandard)' == 'true'">true</AutoUnifyAssemblyReferences> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<AutoGenerateBindingRedirects Condition="'$(AutoGenerateBindingRedirects)' == ''">true</AutoGenerateBindingRedirects> | |
</PropertyGroup> | |
<!-- Default settings for .NET Core and .NET Standard build logic --> | |
<PropertyGroup Condition="'$(_IsNETCoreOrNETStandard)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<GenerateDependencyFile Condition=" '$(GenerateDependencyFile)' == '' ">true</GenerateDependencyFile> | |
<!-- Assembly and file versions of runtime assets should be written to the deps.json by default, to support | |
runtime minor version roll-forward: https://github.com/dotnet/core-setup/issues/3546 --> | |
<IncludeFileVersionsInDependencyFile Condition="'$(IncludeFileVersionsInDependencyFile)' == ''">true</IncludeFileVersionsInDependencyFile> | |
<!-- Force .dll extension for .NETCoreApp and .NETStandard projects even if output type is exe. --> | |
<TargetExt Condition="'$(TargetExt)' == ''">.dll</TargetExt> | |
<!-- Disable the use of FrameworkPathOverride in Microsoft.Common.CurrentVersion.targets which can slow down evaluation. FrameworkPathOverride | |
is not needed for NETStandard or NETCore since references come from NuGet packages--> | |
<EnableFrameworkPathOverride Condition="'$(EnableFrameworkPathOverride)' == ''">false</EnableFrameworkPathOverride> | |
</PropertyGroup> | |
<!-- Regardless of platform, enable dependency file generation if PreserveCompilationContext is set. --> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<GenerateDependencyFile Condition="'$(GenerateDependencyFile)' == ''">$(PreserveCompilationContext)</GenerateDependencyFile> | |
</PropertyGroup> | |
<!-- Set PublishDir here, before Microsoft.Common.targets, to avoid a competing default there. --> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PublishDirName Condition="'$(PublishDirName)' == ''">publish</PublishDirName> | |
<!-- ensure the PublishDir is RID specific--> | |
<PublishDir Condition="'$(PublishDir)' == '' and
 '$(AppendRuntimeIdentifierToOutputPath)' != 'true' and
 '$(RuntimeIdentifier)' != '' and
 '$(_UsingDefaultRuntimeIdentifier)' != 'true'">$(OutputPath)$(RuntimeIdentifier)\$(PublishDirName)\</PublishDir> | |
<PublishDir Condition="'$(PublishDir)' == ''">$(OutputPath)$(PublishDirName)\</PublishDir> | |
</PropertyGroup> | |
<!-- | |
Sets RestoreAdditionalProjectSources or RestoreAdditionalProjectFallbackFolders to the SDK Offline Cache based | |
on the TargetFramework. | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.NuGetOfflineCache.targets"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.NuGetOfflineCache.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.NET.NuGetOfflineCache.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
Copyright (c) .NET Foundation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_NugetFallbackFolder>$(MSBuildThisFileDirectory)..\..\..\..\NuGetFallbackFolder</_NugetFallbackFolder> | |
<_IsNETCore1x Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' < '2.0' ">true</_IsNETCore1x> | |
<_WorkloadLibraryPacksFolder Condition="'$(_WorkloadLibraryPacksFolder)' == ''">$([MSBuild]::EnsureTrailingSlash('$(NetCoreRoot)'))library-packs</_WorkloadLibraryPacksFolder> | |
</PropertyGroup> | |
<PropertyGroup Condition=" '$(DisableImplicitNuGetFallbackFolder)' != 'true' and Exists($(_NugetFallbackFolder)) " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<RestoreAdditionalProjectSources Condition=" '$(_IsNETCore1x)' == 'true' and '$(DisableImplicit1xNuGetFallbackFolder)' != 'true' ">$(RestoreAdditionalProjectSources);$(_NugetFallbackFolder)</RestoreAdditionalProjectSources> | |
<RestoreAdditionalProjectFallbackFoldersExcludes Condition=" '$(_IsNETCore1x)' == 'true' ">$(RestoreAdditionalProjectFallbackFoldersExcludes);$(_NugetFallbackFolder)</RestoreAdditionalProjectFallbackFoldersExcludes> | |
<RestoreAdditionalProjectFallbackFolders Condition=" '$(_IsNETCore1x)' != 'true' ">$(RestoreAdditionalProjectFallbackFolders);$(_NugetFallbackFolder)</RestoreAdditionalProjectFallbackFolders> | |
</PropertyGroup> | |
<PropertyGroup Condition=" '$(DisableImplicitLibraryPacksFolder)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<RestoreAdditionalProjectSources Condition="Exists('$(_WorkloadLibraryPacksFolder)')">$(RestoreAdditionalProjectSources);$(_WorkloadLibraryPacksFolder)</RestoreAdditionalProjectSources> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets | |
============================================================================================================================================ | |
--> | |
<ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETFramework'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_SDKImplicitReference Include="System" /> | |
<_SDKImplicitReference Include="System.Data" /> | |
<_SDKImplicitReference Include="System.Drawing" /> | |
<_SDKImplicitReference Include="System.Xml" /> | |
<!-- When doing greater than/less than comparisons between strings, MSBuild will try to parse the strings as Version objects and compare them as | |
such if the parse succeeds. --> | |
<!-- Framework assemblies introduced in .NET 3.5 --> | |
<_SDKImplicitReference Include="System.Core" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '3.5' " /> | |
<_SDKImplicitReference Include="System.Runtime.Serialization" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '3.5' " /> | |
<_SDKImplicitReference Include="System.Xml.Linq" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '3.5' " /> | |
<!-- Framework assemblies introduced in .NET 4.0 --> | |
<_SDKImplicitReference Include="System.Numerics" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '4.0' " /> | |
<!-- Framework assemblies introduced in .NET 4.5 --> | |
<_SDKImplicitReference Include="System.IO.Compression.FileSystem" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '4.5' " /> | |
<!-- Don't automatically reference System.IO.Compression or System.Net.Http to help avoid hitting https://github.com/Microsoft/msbuild/issues/1329. --> | |
<!--<Reference Include="System.IO.Compression" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '4.5' "/> | |
<_SDKImplicitReference Include="System.Net.Http" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '4.5' "/>--> | |
<_SDKImplicitReference Update="@(_SDKImplicitReference)" Pack="false" IsImplicitlyDefined="true" /> | |
<!-- Don't duplicate any references that are explicit in the project file. This means that if you do want to include a framework assembly in your | |
NuGet package, you can just add the Reference to your project file. --> | |
<_SDKImplicitReference Remove="@(Reference)" /> | |
<!-- Add the implicit references to @(Reference) --> | |
<Reference Include="@(_SDKImplicitReference)" /> | |
</ItemGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Prevent System.Core reference from being added separately (see Microsoft.NETFramework.CurrentVersion.props) --> | |
<AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(DisableImplicitAssetTargetFallback)' != 'true' and '$(_IsNETCoreOrNETStandard)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' >= '2.0'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<AssetTargetFallback>$(AssetTargetFallback);net461;net462;net47;net471;net472;net48</AssetTargetFallback> | |
</PropertyGroup> | |
<!-- Add conditional compilation symbols for the target framework (for example NET461, NETSTANDARD2_0, NETCOREAPP1_0) --> | |
<PropertyGroup Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and '$(TargetFrameworkIdentifier)' != '.NETPortable' and '$(TargetFrameworkIdentifier)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_FrameworkIdentifierForImplicitDefine>$(TargetFrameworkIdentifier.Replace('.', '').ToUpperInvariant())</_FrameworkIdentifierForImplicitDefine> | |
<_FrameworkIdentifierForImplicitDefine Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) ">NET</_FrameworkIdentifierForImplicitDefine> | |
<VersionlessImplicitFrameworkDefine>$(_FrameworkIdentifierForImplicitDefine)</VersionlessImplicitFrameworkDefine> | |
<_FrameworkIdentifierForImplicitDefine Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework'">NET</_FrameworkIdentifierForImplicitDefine> | |
<_FrameworkVersionForImplicitDefine>$(TargetFrameworkVersion.TrimStart('vV'))</_FrameworkVersionForImplicitDefine> | |
<_FrameworkVersionForImplicitDefine>$(_FrameworkVersionForImplicitDefine.Replace('.', '_'))</_FrameworkVersionForImplicitDefine> | |
<_FrameworkVersionForImplicitDefine Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework'">$(_FrameworkVersionForImplicitDefine.Replace('_', ''))</_FrameworkVersionForImplicitDefine> | |
<ImplicitFrameworkDefine>$(_FrameworkIdentifierForImplicitDefine)$(_FrameworkVersionForImplicitDefine)</ImplicitFrameworkDefine> | |
<BackwardsCompatFrameworkDefine Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))">$(TargetFrameworkIdentifier.Replace('.', '').ToUpperInvariant())</BackwardsCompatFrameworkDefine> | |
</PropertyGroup> | |
<!-- Add conditional compilation symbols for the target platform (for example ANDROID, IOS, WINDOWS) --> | |
<Target Name="GenerateTargetPlatformDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and '$(TargetPlatformIdentifier)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PropertyGroup> | |
<_PlatformIdentifierForImplicitDefine>$(TargetPlatformIdentifier.ToUpperInvariant())</_PlatformIdentifierForImplicitDefine> | |
<_PlatformVersionForImplicitDefine>$(TargetPlatformVersion.Replace('.', '_'))</_PlatformVersionForImplicitDefine> | |
</PropertyGroup> | |
<ItemGroup> | |
<_ImplicitDefineConstant Include="$(_PlatformIdentifierForImplicitDefine)" /> | |
<_ImplicitDefineConstant Include="$(_PlatformIdentifierForImplicitDefine)$(_PlatformVersionForImplicitDefine)" /> | |
</ItemGroup> | |
</Target> | |
<!-- Add OR_GREATER compilation symbols for target frameworks with .NET Framework, .NET Standard, .NET Core, and .NET --> | |
<Target Name="GenerateNETCompatibleDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' or '$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == '.NETStandard')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ItemGroup> | |
<_SupportedFrameworkVersions Include="@(SupportedNETCoreAppTargetFramework->'%(Identity)'->TrimStart('.NETCoreApp,Version=v'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' " /> | |
<_SupportedFrameworkVersions Include="@(SupportedNETFrameworkTargetFramework->'%(Identity)'->TrimStart('.NETFramework,Version=v'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' " /> | |
<_SupportedFrameworkVersions Include="@(SupportedNETStandardTargetFramework->'%(Identity)'->TrimStart('.NETStandard,Version=v'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETStandard' " /> | |
<_CompatibleFrameworkVersions Include="@(_SupportedFrameworkVersions)" Condition=" $([MSBuild]::VersionLessThanOrEquals(%(Identity), $(TargetFrameworkVersion))) " /> | |
<_FormattedCompatibleFrameworkVersions Include="@(_CompatibleFrameworkVersions)" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' or '$(TargetFrameworkIdentifier)' == '.NETStandard' " /> | |
<_FormattedCompatibleFrameworkVersions Include="@(_CompatibleFrameworkVersions->'%(Identity)'->Replace('.', ''))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' " /> | |
<_ImplicitDefineConstant Include="@(_FormattedCompatibleFrameworkVersions->'$(_FrameworkIdentifierForImplicitDefine)%(Identity)_OR_GREATER'->Replace('.', '_'))" Condition=" '$(TargetFrameworkIdentifier)' != '.NETCoreApp' or $([MSBuild]::VersionGreaterThanOrEquals(%(_FormattedCompatibleFrameworkVersions.Identity), 5.0)) " /> | |
<_ImplicitDefineConstant Include="@(_FormattedCompatibleFrameworkVersions->'NETCOREAPP%(Identity)_OR_GREATER'->Replace('.', '_'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionLessThan(%(_FormattedCompatibleFrameworkVersions.Identity), 5.0)) " /> | |
</ItemGroup> | |
</Target> | |
<!-- Add OR_GREATER compilation symbols for target platforms. --> | |
<Target Name="GeneratePlatformCompatibleDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and '$(TargetPlatformIdentifier)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ItemGroup> | |
<_SupportedPlatformCompatibleVersions Include="@(SdkSupportedTargetPlatformVersion)" Condition=" %(Identity) != '' and $([MSBuild]::VersionLessThanOrEquals(%(Identity), $(TargetPlatformVersion))) " /> | |
<_ImplicitDefineConstant Include="@(_SupportedPlatformCompatibleVersions->'$(TargetPlatformIdentifier.ToUpper())%(Identity)_OR_GREATER'->Replace('.', '_'))" /> | |
</ItemGroup> | |
</Target> | |
<!-- Add implicitly defined preprocessor symbols to DefineConstants --> | |
<Target Name="AddImplicitDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' " DependsOnTargets="GenerateTargetPlatformDefineConstants;GenerateNETCompatibleDefineConstants;GeneratePlatformCompatibleDefineConstants" BeforeTargets="CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PropertyGroup> | |
<DefineConstants Condition=" '@(_ImplicitDefineConstant)' != '' ">$(DefineConstants);@(_ImplicitDefineConstant)</DefineConstants> | |
<FinalDefineConstants Condition=" '@(_ImplicitDefineConstant)' != '' and '$(Language)' == 'VB' ">$(FinalDefineConstants),@(_ImplicitDefineConstant->'%(Identity)=-1', ',')</FinalDefineConstants> | |
</PropertyGroup> | |
</Target> | |
<!-- Handle XML documentation file settings --> | |
<PropertyGroup Condition="'$(GenerateDocumentationFile)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<GenerateDocumentationFile Condition="'$(DocumentationFile)' == ''">false</GenerateDocumentationFile> | |
<GenerateDocumentationFile Condition="'$(DocumentationFile)' != ''">true</GenerateDocumentationFile> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(GenerateDocumentationFile)' == 'true' and '$(DocumentationFile)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DocumentationFile Condition="'$(MSBuildProjectExtension)' == '.vbproj'">$(AssemblyName).xml</DocumentationFile> | |
<DocumentationFile Condition="'$(MSBuildProjectExtension)' != '.vbproj'">$(IntermediateOutputPath)$(AssemblyName).xml</DocumentationFile> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(GenerateDocumentationFile)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DocumentationFile /> | |
</PropertyGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PublishDocumentationFiles Condition="'$(PublishDocumentationFiles)' == ''">true</PublishDocumentationFiles> | |
<PublishDocumentationFile Condition="'$(PublishDocumentationFile)' == '' and '$(PublishDocumentationFiles)' == 'true'">true</PublishDocumentationFile> | |
<PublishReferencesDocumentationFiles Condition="'$(PublishReferencesDocumentationFiles)' == '' and '$(PublishDocumentationFiles)' == 'true'">true</PublishReferencesDocumentationFiles> | |
</PropertyGroup> | |
<!-- Add a project capability so that the project properties in the IDE can show the option to generate an XML documentation file without specifying the filename --> | |
<ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ProjectCapability Include="GenerateDocumentationFile" /> | |
</ItemGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets | |
============================================================================================================================================ | |
--> | |
<PropertyGroup Condition="'$(LanguageTargets)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(MSBuildToolsPath)\Microsoft.CSharp.targets</LanguageTargets> | |
<LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.vbproj'">$(MSBuildToolsPath)\Microsoft.VisualBasic.targets</LanguageTargets> | |
<LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.fsproj'">$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.FSharpTargetsShim.targets</LanguageTargets> | |
<!-- If LanguageTargets isn't otherwise set, then just import the common targets. This should allow the restore target to run, | |
which could bring in NuGet packages that set the LanguageTargets to something else. This means support for different | |
languages could either be supplied via an SDK or via a NuGet package. --> | |
<LanguageTargets Condition="'$(LanguageTargets)' == ''">$(MSBuildToolsPath)\Microsoft.Common.targets</LanguageTargets> | |
</PropertyGroup> | |
<!-- REMARK: Dont remove/rename, the LanguageTargets property is used by F# to hook inside the project's sdk | |
using Sdk attribute (from .NET Core Sdk 1.0.0-preview4) --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(LanguageTargets)"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Microsoft.CSharp.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.CSharp.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
This file defines the steps in the standard build process specific for C# .NET projects. | |
For example, it contains the step that actually calls the C# compiler. The remainder | |
of the build process is defined in Microsoft.Common.targets, which is imported by | |
this file. | |
Copyright (C) Microsoft Corporation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- | |
In VS 2010 SP1 and VS 2012, both supported for asset compatibility, the MSBuild installed | |
as part of them did not enforce using the local ToolsVersion (4.0) in all cases, but instead | |
just used whatever ToolsVersion was in the project file if it existed on the machine, and | |
only forced 4.0 if that ToolsVersion did not exist. | |
Moving forward, we do want to enforce a single acting ToolsVersion per version of Visual Studio, | |
but in order to approximate this behavior on VS 2010 SP1 and VS 2012 as well, we've redirected | |
the targets: If we're building using 4.X MSBuild (which doesn't define the new reserved | |
property, MSBuildAssemblyVersion), we'll point right back at the 4.0 targets, which still exist | |
as part of the .NET Framework. Only if we're using the new MSBuild will we point to the current | |
targets. | |
--> | |
<Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<When Condition="'$(MSBuildAssemblyVersion)' == ''"> | |
<PropertyGroup> | |
<CSharpTargetsPath>$(MSBuildFrameworkToolsPath)\Microsoft.CSharp.targets</CSharpTargetsPath> | |
<!-- Same condition as in .NET 4.5 C# targets so that we can override the behavior where it defaults to | |
MSBuildToolsPath, which would be incorrect in this case --> | |
<CscToolPath Condition="'$(CscToolPath)' == '' and '$(BuildingInsideVisualStudio)' != 'true'">$(MsBuildFrameworkToolsPath)</CscToolPath> | |
</PropertyGroup> | |
</When> | |
<When Condition="'$(IsCrossTargetingBuild)' == 'true'"> | |
<PropertyGroup> | |
<CSharpTargetsPath>$(MSBuildToolsPath)\Microsoft.CSharp.CrossTargeting.targets</CSharpTargetsPath> | |
</PropertyGroup> | |
</When> | |
<Otherwise> | |
<PropertyGroup> | |
<CSharpTargetsPath>$(MSBuildToolsPath)\Microsoft.CSharp.CurrentVersion.targets</CSharpTargetsPath> | |
</PropertyGroup> | |
</Otherwise> | |
</Choose> | |
<PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- | |
Overrides for the Microsoft.Common.targets extension targets. Used to make sure that only the imports we specify | |
(hard-coded to 4.0 locations) are used, not the 12.0 locations that would be used by default. Defined here because | |
Microsoft.CSharp.targets imports Microsoft.Common.targets from the current directory rather than using MSBuildToolsPath, | |
so defining these in Microsoft.Common.targets alone would not suffice for C# projects. | |
NOTE: This logic is duplicated in Microsoft.VisualBasic.targets (VB has the same problem) and in Microsoft.Common.targets | |
(for anyone who DOES import it directly), so for any changes to this logic in this file, please also edit the other two. | |
--> | |
<ImportByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportByWildcardBefore40MicrosoftCommonTargets)' == ''">$(ImportByWildcardBeforeMicrosoftCommonTargets)</ImportByWildcardBefore40MicrosoftCommonTargets> | |
<ImportByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportByWildcardBefore40MicrosoftCommonTargets)' == ''">true</ImportByWildcardBefore40MicrosoftCommonTargets> | |
<ImportByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportByWildcardAfter40MicrosoftCommonTargets)' == ''">$(ImportByWildcardAfterMicrosoftCommonTargets)</ImportByWildcardAfter40MicrosoftCommonTargets> | |
<ImportByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportByWildcardAfter40MicrosoftCommonTargets)' == ''">true</ImportByWildcardAfter40MicrosoftCommonTargets> | |
<ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets)' == ''">$(ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets)</ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets> | |
<ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets> | |
<ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets)' == ''">$(ImportUserLocationsByWildcardAfterMicrosoftCommonTargets)</ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets> | |
<ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets> | |
<ImportByWildcardBeforeMicrosoftCommonTargets>false</ImportByWildcardBeforeMicrosoftCommonTargets> | |
<ImportByWildcardAfterMicrosoftCommonTargets>false</ImportByWildcardAfterMicrosoftCommonTargets> | |
<ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets>false</ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets> | |
<ImportUserLocationsByWildcardAfterMicrosoftCommonTargets>false</ImportUserLocationsByWildcardAfterMicrosoftCommonTargets> | |
<CustomBeforeMicrosoftCommonTargets Condition="'$(CustomBeforeMicrosoftCommonTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.Before.Microsoft.Common.targets</CustomBeforeMicrosoftCommonTargets> | |
<CustomAfterMicrosoftCommonTargets Condition="'$(CustomAfterMicrosoftCommonTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.After.Microsoft.Common.targets</CustomAfterMicrosoftCommonTargets> | |
<!-- Overrides for the Microsoft.CSharp.targets extension targets --> | |
<ImportByWildcardBefore40MicrosoftCSharpTargets Condition="'$(ImportByWildcardBefore40MicrosoftCSharpTargets)' == ''">$(ImportByWildcardBeforeMicrosoftCSharpTargets)</ImportByWildcardBefore40MicrosoftCSharpTargets> | |
<ImportByWildcardBefore40MicrosoftCSharpTargets Condition="'$(ImportByWildcardBefore40MicrosoftCSharpTargets)' == ''">true</ImportByWildcardBefore40MicrosoftCSharpTargets> | |
<ImportByWildcardAfter40MicrosoftCSharpTargets Condition="'$(ImportByWildcardAfter40MicrosoftCSharpTargets)' == ''">$(ImportByWildcardAfterMicrosoftCSharpTargets)</ImportByWildcardAfter40MicrosoftCSharpTargets> | |
<ImportByWildcardAfter40MicrosoftCSharpTargets Condition="'$(ImportByWildcardAfter40MicrosoftCSharpTargets)' == ''">true</ImportByWildcardAfter40MicrosoftCSharpTargets> | |
<ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets)' == ''">$(ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets)</ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets> | |
<ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets)' == ''">true</ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets> | |
<ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets)' == ''">$(ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets)</ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets> | |
<ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets)' == ''">true</ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets> | |
<ImportByWildcardBeforeMicrosoftCSharpTargets>false</ImportByWildcardBeforeMicrosoftCSharpTargets> | |
<ImportByWildcardAfterMicrosoftCSharpTargets>false</ImportByWildcardAfterMicrosoftCSharpTargets> | |
<ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets>false</ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets> | |
<ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets>false</ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets> | |
<CustomBeforeMicrosoftCSharpTargets Condition="'$(CustomBeforeMicrosoftCSharpTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.Before.Microsoft.CSharp.targets</CustomBeforeMicrosoftCSharpTargets> | |
<CustomAfterMicrosoftCSharpTargets Condition="'$(CustomAfterMicrosoftCSharpTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.After.Microsoft.CSharp.targets</CustomAfterMicrosoftCSharpTargets> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == '' and ('$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == 'Silverlight' or ('$(TargetFrameworkIdentifier)' == '' and ('$(TargetRuntime)' == 'Managed' or '$(TargetRuntime)' == '')))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- | |
Overrides for the Microsoft.NETFramework.props extension targets. Used to make sure that only the imports we specify | |
(hard-coded to 4.0 locations) are used, not the 12.0 locations that would be used by default. Required because | |
Microsoft.Common.targets imports it from the current directory, so we don't get a chance to redirect these in its | |
own redirection targets. | |
NOTE: This logic is duplicated in Microsoft.VisualBasic.targets and in Microsoft.Common.targets because VB and C# | |
import Microsoft.Common.targets from the current directory and thus don't get the benefit of these redirections either, | |
so for any changes to this logic in this file, please also edit the other two. | |
--> | |
<ImportByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">$(ImportByWildcardBeforeMicrosoftNetFrameworkProps)</ImportByWildcardBefore40MicrosoftNetFrameworkProps> | |
<ImportByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">true</ImportByWildcardBefore40MicrosoftNetFrameworkProps> | |
<ImportByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">$(ImportByWildcardAfterMicrosoftNetFrameworkProps)</ImportByWildcardAfter40MicrosoftNetFrameworkProps> | |
<ImportByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">true</ImportByWildcardAfter40MicrosoftNetFrameworkProps> | |
<ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">$(ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps)</ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps> | |
<ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">true</ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps> | |
<ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">$(ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps)</ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps> | |
<ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">true</ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps> | |
<ImportByWildcardBeforeMicrosoftNetFrameworkProps>false</ImportByWildcardBeforeMicrosoftNetFrameworkProps> | |
<ImportByWildcardAfterMicrosoftNetFrameworkProps>false</ImportByWildcardAfterMicrosoftNetFrameworkProps> | |
<ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps>false</ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps> | |
<ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps>false</ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps> | |
</PropertyGroup> | |
<!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">--> | |
<!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportBefore')" />--> | |
<!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportBefore\*" Condition="'$(ImportByWildcardBefore40MicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportBefore')" />--> | |
<!--</ImportGroup>--> | |
<!-- Really should be imported right before Microsoft.Common.targets, but because Microsoft.CSharp.targets imports | |
Microsoft.Common.targets from the current directory rather than using MSBuildToolsPath (which would redirect to our | |
targets), we're stuck doing it this way instead. --> | |
<!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">--> | |
<!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore')" />--> | |
<!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportByWildcardBefore40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore')" />--> | |
<!--</ImportGroup>--> | |
<!-- Really should be imported right before Microsoft.NETFramework.props, but because Microsoft.CSharp.targets imports | |
Microsoft.Common.targets from the current directory rather than using MSBuildToolsPath (which would redirect to our | |
targets), and Microsoft.Common.targets does likewise with Microsoft.NETFramework.props, we're stuck doing it this | |
way instead. --> | |
<!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">--> | |
<!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore')" />--> | |
<!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore\*" Condition="'$(ImportByWildcardBefore40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore')" />--> | |
<!--</ImportGroup>--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(MSBuildToolsPath)\Microsoft.Managed.Before.targets"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Microsoft.Managed.Before.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
This file defines common build logic for all managed languaged: C#, VisualBasic, F# | |
It is imported before the common targets have been imported. | |
Copyright (C) Microsoft Corporation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<!-- | |
We are doing a cross-targeting build if there is a non-empty list of target frameworks specified | |
and there is no current target framework being built individually. In that case, a multitargeting | |
project file like Microsoft.<language>.CrossTargeting.targets gets imported. | |
--> | |
<PropertyGroup Condition="'$(TargetFrameworks)' != '' and '$(TargetFramework)' == ''"> | |
<IsCrossTargetingBuild>true</IsCrossTargetingBuild> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Microsoft.CSharp.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(CSharpTargetsPath)"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Microsoft.CSharp.CurrentVersion.targets | |
============================================================================================================================================ | |
--> | |
<!-- | |
*********************************************************************************************** | |
Microsoft.CSharp.CurrentVersion.targets | |
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have | |
created a backup copy. Incorrect changes to this file will make it | |
impossible to load or build your projects from the command-line or the IDE. | |
This file defines the steps in the standard build process specific for C# .NET projects. | |
For example, it contains the step that actually calls the C# compiler. The remainder | |
of the build process is defined in Microsoft.Common.targets, which is imported by | |
this file. | |
Copyright (C) Microsoft Corporation. All rights reserved. | |
*********************************************************************************************** | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ImportByWildcardBeforeMicrosoftCSharpTargets Condition="'$(ImportByWildcardBeforeMicrosoftCSharpTargets)' == ''">true</ImportByWildcardBeforeMicrosoftCSharpTargets> | |
<ImportByWildcardAfterMicrosoftCSharpTargets Condition="'$(ImportByWildcardAfterMicrosoftCSharpTargets)' == ''">true</ImportByWildcardAfterMicrosoftCSharpTargets> | |
<ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets> | |
<ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets> | |
</PropertyGroup> | |
<!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportBefore')" />--> | |
<!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportBefore')" />--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<CustomBeforeMicrosoftCSharpTargets Condition="'$(CustomBeforeMicrosoftCSharpTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.Before.Microsoft.CSharp.targets</CustomBeforeMicrosoftCSharpTargets> | |
<CustomAfterMicrosoftCSharpTargets Condition="'$(CustomAfterMicrosoftCSharpTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.After.Microsoft.CSharp.targets</CustomAfterMicrosoftCSharpTargets> | |
</PropertyGroup> | |
<!--<Import Project="$(CustomBeforeMicrosoftCSharpTargets)" Condition="'$(CustomBeforeMicrosoftCSharpTargets)' != '' and Exists('$(CustomBeforeMicrosoftCSharpTargets)')" />--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DefaultLanguageSourceExtension>.cs</DefaultLanguageSourceExtension> | |
<Language>C#</Language> | |
<TargetRuntime>Managed</TargetRuntime> | |
<AlwaysUseNumericalSuffixInItemNames>true</AlwaysUseNumericalSuffixInItemNames> | |
<DefineCommonItemSchemas Condition=" '$(DefineCommonItemSchemas)' == '' ">true</DefineCommonItemSchemas> | |
<DefineCommonReferenceSchemas Condition=" '$(DefineCommonReferenceSchemas)' == '' ">true</DefineCommonReferenceSchemas> | |
<DefineCommonCapabilities Condition=" '$(DefineCommonCapabilities)' == '' ">true</DefineCommonCapabilities> | |
<SynthesizeLinkMetadata Condition=" '$(SynthesizeLinkMetadata)' == '' and '$(HasSharedItems)' == 'true' ">true</SynthesizeLinkMetadata> | |
<DefaultProjectTypeGuid Condition=" '$(DefaultProjectTypeGuid)' == '' ">{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</DefaultProjectTypeGuid> | |
<AppDesignerFolder Condition="'$(AppDesignerFolder)' == ''">Properties</AppDesignerFolder> | |
</PropertyGroup> | |
<ItemGroup Condition=" '$(DefineCSharpItemSchemas)' != 'false' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PropertyPageSchema Include="$(CommonXamlResourcesDirectory)CSharp.ProjectItemsSchema.xaml;" /> | |
<PropertyPageSchema Include="$(CommonXamlResourcesDirectory)CSharp.xaml;"> | |
<Context>File</Context> | |
</PropertyPageSchema> | |
<PropertyPageSchema Include="$(CommonXamlResourcesDirectory)CSharp.BrowseObject.xaml;"> | |
<Context>BrowseObject</Context> | |
</PropertyPageSchema> | |
<ProjectCapability Include="CSharp;Managed" /> | |
</ItemGroup> | |
<ItemGroup Condition=" '$(DefineCommonCapabilities)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ProjectCapability Include="ReferencesFolder;LanguageService" /> | |
</ItemGroup> | |
<!-- | |
The CreateManifestResourceNames target create the manifest resource names from the .RESX | |
files. | |
[IN] | |
@(EmbeddedResource) - The list of EmbeddedResource items that have been pre-processed to add metadata about resource type | |
Expected Metadata "Type" can either be "Resx" or "Non-Resx" | |
[OUT] | |
@(EmbeddedResource) - EmbeddedResource items with metadata | |
For C# applications the transformation is like: | |
Resources1.resx => RootNamespace.Resources1 => Build into main assembly | |
SubFolder\Resources1.resx => RootNamespace.SubFolder.Resources1 => Build into main assembly | |
Resources1.fr.resx => RootNamespace.Resources1.fr => Build into satellite assembly | |
Resources1.notaculture.resx => RootNamespace.Resources1.notaculture => Build into main assembly | |
For other project systems, this transformation may be different. | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<CreateManifestResourceNamesDependsOn /> | |
</PropertyGroup> | |
<Target Name="CreateManifestResourceNames" Condition="'@(EmbeddedResource)' != ''" DependsOnTargets="$(CreateManifestResourceNamesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ItemGroup> | |
<_Temporary Remove="@(_Temporary)" /> | |
</ItemGroup> | |
<!-- Create manifest names for culture and non-culture Resx files, and for non-culture Non-Resx resources --> | |
<CreateCSharpManifestResourceName ResourceFiles="@(EmbeddedResource)" RootNamespace="$(RootNamespace)" UseDependentUponConvention="$(EmbeddedResourceUseDependentUponConvention)" Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and ('%(EmbeddedResource.WithCulture)' == 'false' or '%(EmbeddedResource.Type)' == 'Resx')"> | |
<Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" /> | |
</CreateCSharpManifestResourceName> | |
<!-- Create manifest names for all culture non-resx resources --> | |
<CreateCSharpManifestResourceName ResourceFiles="@(EmbeddedResource)" RootNamespace="$(RootNamespace)" PrependCultureAsDirectory="false" UseDependentUponConvention="$(EmbeddedResourceUseDependentUponConvention)" Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and '%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Non-Resx'"> | |
<Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" /> | |
</CreateCSharpManifestResourceName> | |
<ItemGroup> | |
<EmbeddedResource Remove="@(EmbeddedResource)" Condition="'%(EmbeddedResource.ManifestResourceName)' == ''" /> | |
<EmbeddedResource Include="@(_Temporary)" /> | |
<_Temporary Remove="@(_Temporary)" /> | |
</ItemGroup> | |
</Target> | |
<Target Name="ResolveCodeAnalysisRuleSet" Condition="'$(CodeAnalysisRuleSet)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ResolveCodeAnalysisRuleSet CodeAnalysisRuleSet="$(CodeAnalysisRuleSet)" CodeAnalysisRuleSetDirectories="$(CodeAnalysisRuleSetDirectories)" MSBuildProjectDirectory="$(MSBuildProjectDirectory)"> | |
<Output TaskParameter="ResolvedCodeAnalysisRuleSet" PropertyName="ResolvedCodeAnalysisRuleSet" /> | |
</ResolveCodeAnalysisRuleSet> | |
</Target> | |
<ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Activate CPS projects to track folder names in namespace. --> | |
<ProjectCapability Include="RelativePathDerivedDefaultNamespace" /> | |
</ItemGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Provide a facility to override UseHostCompilerIfAvailable--> | |
<UseHostCompilerIfAvailable Condition=" '$(UseHostCompilerIfAvailable)' == ''">true</UseHostCompilerIfAvailable> | |
</PropertyGroup> | |
<ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DocFileItem Include="$(DocumentationFile)" Condition="'$(DocumentationFile)'!=''" /> | |
</ItemGroup> | |
<ItemGroup Condition="'$(_DebugSymbolsProduced)' == 'true' and '$(PdbFile)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_DebugSymbolsIntermediatePathTemporary Include="$(PdbFile)" /> | |
<!-- Add any missing .pdb extension, as the compiler does --> | |
<_DebugSymbolsIntermediatePath Include="@(_DebugSymbolsIntermediatePathTemporary->'%(RootDir)%(Directory)%(Filename).pdb')" /> | |
</ItemGroup> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<CoreCompileDependsOn>$(CoreCompileDependsOn);_ComputeNonExistentFileProperty;ResolveCodeAnalysisRuleSet</CoreCompileDependsOn> | |
<ExportWinMDFile Condition="'$(ExportWinMDFile)' == '' and '$(OutputType)' == 'WinMDObj'">true</ExportWinMDFile> | |
</PropertyGroup> | |
<!-- | |
The XamlPreCompile target must remain identical to | |
the CoreCompile target in Microsoft.CSharp.Core.targets. | |
Any updates to one must be made to the other. | |
--> | |
<Target Name="XamlPreCompile" Inputs="$(MSBuildAllProjects);
 @(Compile);
 @(_CoreCompileResourceInputs);
 $(ApplicationIcon);
 $(AssemblyOriginatorKeyFile);
 @(ReferencePath);
 @(CompiledLicenseFile);
 @(LinkResource);
 @(EmbeddedDocumentation);
 $(Win32Resource);
 $(Win32Manifest);
 @(CustomAdditionalCompileInputs);
 @(Page);
 @(ApplicationDefinition);
 $(ResolvedCodeAnalysisRuleSet)" Outputs="@(DocFileItem);
 @(XamlIntermediateAssembly);
 @(_DebugSymbolsIntermediatePath);
 $(NonExistentFile);
 @(CustomAdditionalCompileOutputs)" Condition="'@(Page)' != '' Or '@(ApplicationDefinition)' != ''" Returns="" DependsOnTargets="$(CoreCompileDependsOn);GenerateMSBuildEditorConfigFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- These two compiler warnings are raised when a reference is bound to a different version | |
than specified in the assembly reference version number. MSBuild raises the same warning in this case, | |
so the compiler warning would be redundant. --> | |
<PropertyGroup Condition="('$(TargetFrameworkVersion)' != 'v1.0') and ('$(TargetFrameworkVersion)' != 'v1.1')"> | |
<NoWarn>$(NoWarn);1701;1702</NoWarn> | |
</PropertyGroup> | |
<PropertyGroup> | |
<!-- To match historical behavior, when inside VS11+ disable the warning from csc.exe indicating that no sources were passed in--> | |
<NoWarn Condition=" '$(BuildingInsideVisualStudio)' == 'true' and '$(VisualStudioVersion)' != '' and '$(VisualStudioVersion)' > '10.0' ">$(NoWarn);2008</NoWarn> | |
</PropertyGroup> | |
<ItemGroup Condition="'$(TargetingClr2Framework)'=='true'"> | |
<ReferencePath> | |
<EmbedInteropTypes /> | |
</ReferencePath> | |
</ItemGroup> | |
<PropertyGroup> | |
<!-- If the user has specified AppConfigForCompiler, we'll use it. If they have not, but they set UseAppConfigForCompiler, | |
then we'll use AppConfig --> | |
<AppConfigForCompiler Condition="'$(AppConfigForCompiler)' == '' and '$(UseAppConfigForCompiler)' == 'true'">$(AppConfig)</AppConfigForCompiler> | |
<!-- If we are targeting winmdobj we want to specifically the pdbFile property since we do not want it to collide with the output of winmdexp--> | |
<PdbFile Condition="'$(PdbFile)' == '' and '$(OutputType)' == 'winmdobj' and '$(_DebugSymbolsProduced)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile> | |
</PropertyGroup> | |
<!-- Prefer32Bit was introduced in .NET 4.5. Set it to false if we are targeting 4.0 --> | |
<PropertyGroup Condition="('$(TargetFrameworkVersion)' == 'v4.0')"> | |
<Prefer32Bit>false</Prefer32Bit> | |
</PropertyGroup> | |
<ItemGroup Condition="('$(AdditionalFileItemNames)' != '')"> | |
<AdditionalFileItems Include="$(AdditionalFileItemNames)" /> | |
<AdditionalFiles Include="@(%(AdditionalFileItems.Identity))" /> | |
</ItemGroup> | |
<PropertyGroup Condition="'$(UseSharedCompilation)' == ''"> | |
<UseSharedCompilation>true</UseSharedCompilation> | |
</PropertyGroup> | |
<!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler --> | |
<Csc Condition=" '%(_CoreCompileResourceInputs.WithCulture)' != 'true' " AdditionalLibPaths="$(AdditionalLibPaths)" AddModules="@(AddModules)" AdditionalFiles="@(AdditionalFiles)" AllowUnsafeBlocks="$(AllowUnsafeBlocks)" AnalyzerConfigFiles="@(EditorConfigFiles)" Analyzers="@(Analyzer)" ApplicationConfiguration="$(AppConfigForCompiler)" BaseAddress="$(BaseAddress)" CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)" CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)" CodePage="$(CodePage)" DebugType="$(DebugType)" DefineConstants="$(DefineConstants)" DelaySign="$(DelaySign)" DisabledWarnings="$(NoWarn)" DocumentationFile="@(DocFileItem)" EmitDebugInformation="$(DebugSymbols)" EnvironmentVariables="$(CscEnvironment)" ErrorEndLocation="$(ErrorEndLocation)" ErrorLog="$(ErrorLog)" ErrorReport="$(ErrorReport)" FileAlignment="$(FileAlignment)" GenerateFullPaths="$(GenerateFullPaths)" HighEntropyVA="$(HighEntropyVA)" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" LangVersion="$(LangVersion)" LinkResources="@(LinkResource)" MainEntryPoint="$(StartupObject)" ModuleAssemblyName="$(ModuleAssemblyName)" NoConfig="true" NoLogo="$(NoLogo)" NoStandardLib="$(NoCompilerStandardLib)" NoWin32Manifest="$(NoWin32Manifest)" Nullable="$(Nullable)" Optimize="$(Optimize)" OutputAssembly="@(XamlIntermediateAssembly)" PdbFile="$(PdbFile)" Platform="$(PlatformTarget)" Prefer32Bit="$(Prefer32Bit)" PreferredUILang="$(PreferredUILang)" References="@(ReferencePath)" ReportAnalyzer="$(ReportAnalyzer)" Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)" ResponseFiles="$(CompilerResponseFile)" SkipAnalyzers="$(_SkipAnalyzers)" Sources="@(Compile)" SubsystemVersion="$(SubsystemVersion)" TargetType="$(OutputType)" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)" UseSharedCompilation="$(UseSharedCompilation)" Utf8Output="$(Utf8Output)" VsSessionGuid="$(VsSessionGuid)" WarningLevel="$(WarningLevel)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" Win32Icon="$(ApplicationIcon)" Win32Manifest="$(Win32Manifest)" Win32Resource="$(Win32Resource)" /> | |
<!-- Only Applicable to the regular CoreCompile: | |
<ItemGroup> | |
<_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" /> | |
</ItemGroup> | |
<CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''"/> | |
--> | |
<OnError Condition="'$(OnXamlPreCompileErrorTarget)' != ''" ExecuteTargets="$(OnXamlPreCompileErrorTarget)" /> | |
</Target> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- Design-time builds require a newer version than 1.0 to succeed, so override back to inbox in that case --> | |
<CSharpCoreTargetsPath Condition="'$(CSharpCoreTargetsPath)' == '' or ('$(DesignTimeBuild)' == 'true' and $(CSharpCoreTargetsPath.Contains('Microsoft.Net.Compilers.1.0.0')))">$(RoslynTargetsPath)\Microsoft.CSharp.Core.targets</CSharpCoreTargetsPath> | |
</PropertyGroup> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="$(CSharpCoreTargetsPath)"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Roslyn\Microsoft.CSharp.Core.targets | |
============================================================================================================================================ | |
--> | |
<!-- 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 file in the project root for more information. --> | |
<!-- | |
============================================================================================================================================ | |
<Import Project="Microsoft.Managed.Core.targets"> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Roslyn\Microsoft.Managed.Core.targets | |
============================================================================================================================================ | |
--> | |
<!-- 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 file in the project root for more information. --> | |
<!-- | |
Common targets for managed compilers. | |
--> | |
<UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Build.Tasks.CodeAnalysis.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> | |
<Target Name="ShimReferencePathsWhenCommonTargetsDoesNotUnderstandReferenceAssemblies" BeforeTargets="CoreCompile" Condition="'@(ReferencePathWithRefAssemblies)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- | |
FindReferenceAssembliesForReferences target in Common targets populate this item | |
since dev15.3. The compiler targets may be used (via NuGet package) on earlier MSBuilds. | |
If the ReferencePathWithRefAssemblies item is not populated, just use ReferencePaths | |
(implementation assemblies) as they are. | |
Since XAML inner build runs CoreCompile directly (instead of Compile target), | |
it also doesn't invoke FindReferenceAssembliesForReferences listed in CompileDependsOn. | |
In that case we also populate ReferencePathWithRefAssemblies with implementation assemblies. | |
--> | |
<ItemGroup> | |
<ReferencePathWithRefAssemblies Include="@(ReferencePath)" /> | |
</ItemGroup> | |
</Target> | |
<Target Name="_BeforeVBCSCoreCompile" DependsOnTargets="ShimReferencePathsWhenCommonTargetsDoesNotUnderstandReferenceAssemblies" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ItemGroup Condition="'$(TargetingClr2Framework)' == 'true'"> | |
<ReferencePathWithRefAssemblies> | |
<EmbedInteropTypes /> | |
</ReferencePathWithRefAssemblies> | |
</ItemGroup> | |
<!-- Prefer32Bit was introduced in .NET 4.5. Set it to false if we are targeting 4.0 --> | |
<PropertyGroup Condition="('$(TargetFrameworkVersion)' == 'v4.0')"> | |
<Prefer32Bit>false</Prefer32Bit> | |
</PropertyGroup> | |
<!-- TODO: Remove this ItemGroup once it has been moved to "_GenerateCompileInputs" target in Microsoft.Common.CurrentVersion.targets. | |
https://github.com/dotnet/roslyn/issues/12223 --> | |
<ItemGroup Condition="('$(AdditionalFileItemNames)' != '')"> | |
<AdditionalFileItems Include="$(AdditionalFileItemNames)" /> | |
<AdditionalFiles Include="@(%(AdditionalFileItems.Identity))" /> | |
</ItemGroup> | |
<PropertyGroup Condition="'$(UseSharedCompilation)' == ''"> | |
<UseSharedCompilation>true</UseSharedCompilation> | |
</PropertyGroup> | |
</Target> | |
<Target Name="_ComputeSkipAnalyzers" BeforeTargets="CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- First, force clear non-user facing property '_SkipAnalyzers'. --> | |
<PropertyGroup> | |
<_SkipAnalyzers /> | |
</PropertyGroup> | |
<!-- | |
Then, determine if '_SkipAnalyzers' needs to be 'true' based on user facing property 'RunAnalyzers'. | |
If 'RunAnalyzers' is not set, then fallback to user facing property 'RunAnalyzersDuringBuild'. | |
Latter property allows users to disable analyzers only for non-design time builds. | |
Design time builds are background builds inside Visual Studio, | |
see details here: https://github.com/dotnet/project-system/blob/main/docs/design-time-builds.md. | |
Setting 'RunAnalyzersDuringBuild' to false, without setting 'RunAnalyzers', allows users to | |
continue running analyzers in the background in Visual Studio while typing (i.e. intellisense), | |
while disabling analyzer execution on explicitly invoked non-design time builds. | |
--> | |
<PropertyGroup Condition="'$(RunAnalyzers)' == 'false' or
 ('$(RunAnalyzers)' == '' and '$(RunAnalyzersDuringBuild)' == 'false')"> | |
<_SkipAnalyzers>true</_SkipAnalyzers> | |
</PropertyGroup> | |
</Target> | |
<!-- | |
======================== | |
.editorconfig Support | |
======================== | |
--> | |
<ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<_AllDirectoriesAbove Include="@(Compile->GetPathsOfAllDirectoriesAbove())" Condition="'$(DiscoverEditorConfigFiles)' != 'false' or '$(DiscoverGlobalAnalyzerConfigFiles)' != 'false'" /> | |
<!-- Work around a GetPathsOfAllDirectoriesAbove() bug where it can return multiple equivalent paths when the | |
compilation includes linked files with relative paths - https://github.com/microsoft/msbuild/issues/4392 --> | |
<PotentialEditorConfigFiles Include="@(_AllDirectoriesAbove->'%(FullPath)'->Distinct()->Combine('.editorconfig'))" Condition="'$(DiscoverEditorConfigFiles)' != 'false'" /> | |
<EditorConfigFiles Include="@(PotentialEditorConfigFiles->Exists())" Condition="'$(DiscoverEditorConfigFiles)' != 'false'" /> | |
<GlobalAnalyzerConfigFiles Include="@(_AllDirectoriesAbove->'%(FullPath)'->Distinct()->Combine('.globalconfig'))" Condition="'$(DiscoverGlobalAnalyzerConfigFiles)' != 'false'" /> | |
<EditorConfigFiles Include="@(GlobalAnalyzerConfigFiles->Exists())" Condition="'$(DiscoverGlobalAnalyzerConfigFiles)' != 'false'" /> | |
</ItemGroup> | |
<!-- | |
======================== | |
Property/metadata global .editorconfig Support | |
======================== | |
Generates a global editor config that contains the evaluation of requested MSBuild properties and item metadata | |
Requested properties/items are requested via item groups like: | |
<CompilerVisibleProperty Include="PropertyNameToEval" /> | |
<CompilerVisibleItemMetadata Include="ItemType" MetadataName="MetadataToRetrieve" /> | |
--> | |
<UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.GenerateMSBuildEditorConfig" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Build.Tasks.CodeAnalysis.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> | |
<Target Name="GenerateMSBuildEditorConfigFile" BeforeTargets="BeforeCompile;CoreCompile" DependsOnTargets="PrepareForBuild;GenerateMSBuildEditorConfigFileShouldRun;GenerateMSBuildEditorConfigFileCore" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> | |
<Target Name="GenerateMSBuildEditorConfigFileShouldRun" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<PropertyGroup> | |
<GeneratedMSBuildEditorConfigFile Condition="'$(GeneratedMSBuildEditorConfigFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).GeneratedMSBuildEditorConfig.editorconfig</GeneratedMSBuildEditorConfigFile> | |
<GenerateMSBuildEditorConfigFile Condition="'$(GenerateMSBuildEditorConfigFile)' == ''">true</GenerateMSBuildEditorConfigFile> | |
<_GeneratedEditorConfigHasItems Condition="'@(CompilerVisibleItemMetadata->Count())' != '0'">true</_GeneratedEditorConfigHasItems> | |
<_GeneratedEditorConfigShouldRun Condition="'$(GenerateMSBuildEditorConfigFile)' == 'true' and ('$(_GeneratedEditorConfigHasItems)' == 'true' or '@(CompilerVisibleProperty->Count())' != '0')">true</_GeneratedEditorConfigShouldRun> | |
</PropertyGroup> | |
</Target> | |
<Target Name="GenerateMSBuildEditorConfigFileCore" Condition="'$(_GeneratedEditorConfigShouldRun)' == 'true'" Outputs="$(GeneratedMSBuildEditorConfigFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ItemGroup> | |
<!-- Collect requested properties, and eval their value --> | |
<_GeneratedEditorConfigProperty Include="@(CompilerVisibleProperty)"> | |
<Value>$(%(CompilerVisibleProperty.Identity))</Value> | |
</_GeneratedEditorConfigProperty> | |
<!-- Collect the requested items and remember which metadata is wanted --> | |
<_GeneratedEditorConfigMetadata Include="@(%(CompilerVisibleItemMetadata.Identity))" Condition="'$(_GeneratedEditorConfigHasItems)' == 'true'"> | |
<ItemType>%(Identity)</ItemType> | |
<MetadataName>%(CompilerVisibleItemMetadata.MetadataName)</MetadataName> | |
</_GeneratedEditorConfigMetadata> | |
<!-- Record that we'll write a file, and add it to the analyzerconfig inputs --> | |
<FileWrites Include="$(GeneratedMSBuildEditorConfigFile)" /> | |
<EditorConfigFiles Include="$(GeneratedMSBuildEditorConfigFile)" /> | |
</ItemGroup> | |
<!-- Transform the collected properties and items into an editor config file --> | |
<GenerateMSBuildEditorConfig PropertyItems="@(_GeneratedEditorConfigProperty)" MetadataItems="@(_GeneratedEditorConfigMetadata)"> | |
<Output TaskParameter="ConfigFileContents" PropertyName="_GeneratedEditorConfigFileContent" /> | |
</GenerateMSBuildEditorConfig> | |
<!-- Write the output to the generated file, if it's changed --> | |
<WriteLinesToFile Lines="$(_GeneratedEditorConfigFileContent)" File="$(GeneratedMSBuildEditorConfigFile)" Overwrite="True" WriteOnlyWhenDifferent="True" /> | |
</Target> | |
<!-- | |
======================== | |
DeterministicSourcePaths | |
======================== | |
Unless specified otherwise enable deterministic source root (PathMap) when building deterministically on CI server, but not for local builds. | |
In order for the debugger to find source files when debugging a locally built binary the PDB must contain original, unmapped local paths. | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<DeterministicSourcePaths Condition="'$(DeterministicSourcePaths)' == '' and '$(Deterministic)' == 'true' and '$(ContinuousIntegrationBuild)' == 'true'">true</DeterministicSourcePaths> | |
</PropertyGroup> | |
<!-- | |
========== | |
SourceRoot | |
========== | |
All source files of the project are expected to be located under one of the directories specified by SourceRoot item group. | |
This target collects all SourceRoots from various sources. | |
This target calculates final local path for each SourceRoot and sets SourceRoot.MappedPath metadata accordingly. | |
The final path is a path with deterministic prefix when DeterministicSourcePaths is true, and the original path otherwise. | |
In addition, the target validates and deduplicates the SourceRoot items. | |
InitializeSourceControlInformation is an msbuild target that ensures the SourceRoot items are populated from source control. | |
The target is available only if SourceControlInformationFeatureSupported is true. | |
A consumer of SourceRoot.MappedPath metadata, such as Source Link generator, shall depend on this target. | |
--> | |
<Target Name="InitializeSourceRootMappedPaths" DependsOnTargets="_InitializeSourceRootMappedPathsFromSourceControl" Returns="@(SourceRoot)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ItemGroup Condition="'@(_MappedSourceRoot)' != ''"> | |
<_MappedSourceRoot Remove="@(_MappedSourceRoot)" /> | |
</ItemGroup> | |
<Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots SourceRoots="@(SourceRoot)" Deterministic="$(DeterministicSourcePaths)"> | |
<Output TaskParameter="MappedSourceRoots" ItemName="_MappedSourceRoot" /> | |
</Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots> | |
<ItemGroup> | |
<SourceRoot Remove="@(SourceRoot)" /> | |
<SourceRoot Include="@(_MappedSourceRoot)" /> | |
</ItemGroup> | |
</Target> | |
<!-- | |
Declare that target InitializeSourceRootMappedPaths that populates MappedPaths metadata on SourceRoot items is available. | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<SourceRootMappedPathsFeatureSupported>true</SourceRootMappedPathsFeatureSupported> | |
</PropertyGroup> | |
<!-- | |
If InitializeSourceControlInformation target isn't supported, we just continue without invoking that synchronization target. | |
We'll proceed with SourceRoot (and other source control properties) provided by the user (or blank). | |
--> | |
<Target Name="_InitializeSourceRootMappedPathsFromSourceControl" DependsOnTargets="InitializeSourceControlInformation" Condition="'$(SourceControlInformationFeatureSupported)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> | |
<!-- | |
======= | |
PathMap | |
======= | |
If DeterministicSourcePaths is true sets PathMap based on SourceRoot.MappedPaths. | |
This target requires SourceRoot to be initialized in order to calculate the PathMap. | |
If SourceRoot doesn't contain any top-level roots an error is reported. | |
--> | |
<Target Name="_SetPathMapFromSourceRoots" DependsOnTargets="InitializeSourceRootMappedPaths" BeforeTargets="CoreCompile" Condition="'$(DeterministicSourcePaths)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ItemGroup> | |
<_TopLevelSourceRoot Include="@(SourceRoot)" Condition="'%(SourceRoot.NestedRoot)' == ''"> | |
<EscapedKey>$([MSBuild]::ValueOrDefault('%(Identity)', '').Replace(',', ',,').Replace('=', '=='))</EscapedKey> | |
<EscapedValue>$([MSBuild]::ValueOrDefault('%(MappedPath)', '').Replace(',', ',,').Replace('=', '=='))</EscapedValue> | |
</_TopLevelSourceRoot> | |
</ItemGroup> | |
<PropertyGroup Condition="'@(_TopLevelSourceRoot)' != ''"> | |
<!-- | |
Prepend the SourceRoot.MappedPath values to PathMap, if it already has a value. | |
For each emitted source path the compiler applies the first mapping that matches the path. | |
PathMap values set previously will thus only be applied if the mapping provided by | |
SourceRoot.MappedPath doesn't match. Since SourceRoot.MappedPath is also used by SourceLink | |
preferring it over manually set PathMap ensures that PathMap is consistent with SourceLink. | |
--> | |
<PathMap>@(_TopLevelSourceRoot->'%(EscapedKey)=%(EscapedValue)', ','),$(PathMap)</PathMap> | |
</PropertyGroup> | |
</Target> | |
<!-- | |
======= | |
CopyAdditionalFiles | |
======= | |
If a user requests that any @(AdditionalFiles) items are copied to the output directory | |
we add them to the @(None) group to ensure they will be copied. | |
--> | |
<Target Name="CopyAdditionalFiles" BeforeTargets="AssignTargetPaths" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ItemGroup> | |
<None Include="@(AdditionalFiles)" Condition="'%(AdditionalFiles.CopyToOutputDirectory)' != ''" /> | |
</ItemGroup> | |
</Target> | |
<!-- | |
======================== | |
CompilerGeneratedFilesOutputPath | |
======================== | |
Controls output of generated files. | |
CompilerGeneratedFilesOutputPath controls the location the files will be output to. | |
The compiler will not emit any generated files when the path is empty, and defaults to a /generated directory in $(IntermediateOutputPath) if $(IntermediateOutputPath) has a value. | |
EmitCompilerGeneratedFiles allows the user to control if anything is emitted by clearing the property when not true. | |
When EmitCompilerGeneratedFiles is true, we ensure that CompilerGeneatedFilesOutputPath has a value and issue a warning if not. | |
We will create CompilerGeneratedFilesOutputPath if it does not exist. | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<EmitCompilerGeneratedFiles Condition="'$(EmitCompilerGeneratedFiles)' == ''">false</EmitCompilerGeneratedFiles> | |
<CompilerGeneratedFilesOutputPath Condition="'$(EmitCompilerGeneratedFiles)' != 'true'" /> | |
<CompilerGeneratedFilesOutputPath Condition="'$(EmitCompilerGeneratedFiles)' == 'true' and '$(CompilerGeneratedFilesOutputPath)' == '' and '$(IntermediateOutputPath)' != ''">$(IntermediateOutputPath)/generated</CompilerGeneratedFilesOutputPath> | |
</PropertyGroup> | |
<Target Name="CreateCompilerGeneratedFilesOutputPath" BeforeTargets="CoreCompile" Condition="'$(EmitCompilerGeneratedFiles)' == 'true' and !('$(DesignTimeBuild)' == 'true' OR '$(BuildingProject)' != 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<Warning Condition="'$(CompilerGeneratedFilesOutputPath)' == ''" Text="EmitCompilerGeneratedFiles was true, but no CompilerGeneratedFilesOutputPath was provided. CompilerGeneratedFilesOutputPath must be set in order to emit generated files." /> | |
<MakeDir Condition="'$(CompilerGeneratedFilesOutputPath)' != ''" Directories="$(CompilerGeneratedFilesOutputPath)" /> | |
</Target> | |
<!-- | |
======================== | |
Component Debugger Support | |
======================== | |
Add the specified VS capability if a user indicates this project supports component debugging | |
--> | |
<ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<ProjectCapability Include="RoslynComponent" Condition="'$(IsRoslynComponent)' == 'true'" /> | |
</ItemGroup> | |
<!-- | |
============================================================================================================================================ | |
</Import> | |
C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\Roslyn\Microsoft.CSharp.Core.targets | |
============================================================================================================================================ | |
--> | |
<PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- .NETCoreApp < 3.0, .NETStandard < 2.1, or any other target framework --> | |
<_MaxSupportedLangVersion Condition="('$(TargetFrameworkIdentifier)' != '.NETCoreApp' OR '$(_TargetFrameworkVersionWithoutV)' < '3.0') AND
 ('$(TargetFrameworkIdentifier)' != '.NETStandard' OR '$(_TargetFrameworkVersionWithoutV)' < '2.1')">7.3</_MaxSupportedLangVersion> | |
<!-- .NETCoreApp < 5.0, .NETStandard == 2.1 --> | |
<_MaxSupportedLangVersion Condition="(('$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND '$(_TargetFrameworkVersionWithoutV)' < '5.0') OR
 ('$(TargetFrameworkIdentifier)' == '.NETStandard' AND '$(_TargetFrameworkVersionWithoutV)' == '2.1')) AND
 '$(_MaxSupportedLangVersion)' == ''">8.0</_MaxSupportedLangVersion> | |
<!-- .NETCoreApp == 5.0 --> | |
<_MaxSupportedLangVersion Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND '$(_TargetFrameworkVersionWithoutV)' == '5.0' AND
 '$(_MaxSupportedLangVersion)' == ''">9.0</_MaxSupportedLangVersion> | |
<MaxSupportedLangVersion>$(_MaxSupportedLangVersion)</MaxSupportedLangVersion> | |
<LangVersion Condition="'$(LangVersion)' == '' AND '$(_MaxSupportedLangVersion)' != ''">$(_MaxSupportedLangVersion)</LangVersion> | |
</PropertyGroup> | |
<Target Name="CoreCompile" Inputs="$(MSBuildAllProjects);
 @(Compile);
 @(_CoreCompileResourceInputs);
 $(ApplicationIcon);
 $(AssemblyOriginatorKeyFile);
 @(ReferencePathWithRefAssemblies);
 @(CompiledLicenseFile);
 @(LinkResource);
 @(EmbeddedDocumentation);
 $(Win32Resource);
 $(Win32Manifest);
 @(CustomAdditionalCompileInputs);
 $(ResolvedCodeAnalysisRuleSet);
 @(AdditionalFiles);
 @(EmbeddedFiles);
 @(EditorConfigFiles)" Outputs="@(DocFileItem);
 @(IntermediateAssembly);
 @(IntermediateRefAssembly);
 @(_DebugSymbolsIntermediatePath);
 $(NonExistentFile);
 @(CustomAdditionalCompileOutputs)" Returns="@(CscCommandLineArgs)" DependsOnTargets="$(CoreCompileDependsOn);_BeforeVBCSCoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- These two compiler warnings are raised when a reference is bound to a different version | |
than specified in the assembly reference version number. MSBuild raises the same warning in this case, | |
so the compiler warning would be redundant. --> | |
<PropertyGroup Condition="('$(TargetFrameworkVersion)' != 'v1.0') and ('$(TargetFrameworkVersion)' != 'v1.1')"> | |
<NoWarn>$(NoWarn);1701;1702</NoWarn> | |
</PropertyGroup> | |
<PropertyGroup> | |
<!-- To match historical behavior, when inside VS11+ disable the warning from csc.exe indicating that no sources were passed in--> | |
<NoWarn Condition="'$(BuildingInsideVisualStudio)' == 'true' AND '$(VisualStudioVersion)' != '' AND '$(VisualStudioVersion)' > '10.0'">$(NoWarn);2008</NoWarn> | |
</PropertyGroup> | |
<PropertyGroup> | |
<!-- If the user has specified AppConfigForCompiler, we'll use it. If they have not, but they set UseAppConfigForCompiler, | |
then we'll use AppConfig --> | |
<AppConfigForCompiler Condition="'$(AppConfigForCompiler)' == '' AND '$(UseAppConfigForCompiler)' == 'true'">$(AppConfig)</AppConfigForCompiler> | |
<!-- If we are targeting winmdobj we want to specifically the pdbFile property since we do not want it to collide with the output of winmdexp--> | |
<PdbFile Condition="'$(PdbFile)' == '' AND '$(OutputType)' == 'winmdobj' AND '$(_DebugSymbolsProduced)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile> | |
</PropertyGroup> | |
<!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler --> | |
<Csc Condition="'%(_CoreCompileResourceInputs.WithCulture)' != 'true'" AdditionalLibPaths="$(AdditionalLibPaths)" AddModules="@(AddModules)" AdditionalFiles="@(AdditionalFiles)" AllowUnsafeBlocks="$(AllowUnsafeBlocks)" AnalyzerConfigFiles="@(EditorConfigFiles)" Analyzers="@(Analyzer)" ApplicationConfiguration="$(AppConfigForCompiler)" BaseAddress="$(BaseAddress)" CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)" ChecksumAlgorithm="$(ChecksumAlgorithm)" CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)" CodePage="$(CodePage)" DebugType="$(DebugType)" DefineConstants="$(DefineConstants)" DelaySign="$(DelaySign)" DisabledWarnings="$(NoWarn)" DisableSdkPath="$(DisableSdkPath)" DocumentationFile="@(DocFileItem)" EmbedAllSources="$(EmbedAllSources)" EmbeddedFiles="@(EmbeddedFiles)" EmitDebugInformation="$(DebugSymbols)" EnvironmentVariables="$(CscEnvironment)" ErrorEndLocation="$(ErrorEndLocation)" ErrorLog="$(ErrorLog)" ErrorReport="$(ErrorReport)" Features="$(Features)" FileAlignment="$(FileAlignment)" GeneratedFilesOutputPath="$(CompilerGeneratedFilesOutputPath)" GenerateFullPaths="$(GenerateFullPaths)" HighEntropyVA="$(HighEntropyVA)" Instrument="$(Instrument)" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" LangVersion="$(LangVersion)" LinkResources="@(LinkResource)" MainEntryPoint="$(StartupObject)" ModuleAssemblyName="$(ModuleAssemblyName)" NoConfig="true" NoLogo="$(NoLogo)" NoStandardLib="$(NoCompilerStandardLib)" NoWin32Manifest="$(NoWin32Manifest)" Nullable="$(Nullable)" Optimize="$(Optimize)" Deterministic="$(Deterministic)" PublicSign="$(PublicSign)" OutputAssembly="@(IntermediateAssembly)" OutputRefAssembly="@(IntermediateRefAssembly)" PdbFile="$(PdbFile)" Platform="$(PlatformTarget)" Prefer32Bit="$(Prefer32Bit)" PreferredUILang="$(PreferredUILang)" ProvideCommandLineArgs="$(ProvideCommandLineArgs)" References="@(ReferencePathWithRefAssemblies)" RefOnly="$(ProduceOnlyReferenceAssembly)" ReportAnalyzer="$(ReportAnalyzer)" Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)" ResponseFiles="$(CompilerResponseFile)" RuntimeMetadataVersion="$(RuntimeMetadataVersion)" SharedCompilationId="$(SharedCompilationId)" SkipAnalyzers="$(_SkipAnalyzers)" SkipCompilerExecution="$(SkipCompilerExecution)" Sources="@(Compile)" SubsystemVersion="$(SubsystemVersion)" TargetType="$(OutputType)" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)" UseSharedCompilation="$(UseSharedCompilation)" Utf8Output="$(Utf8Output)" VsSessionGuid="$(VsSessionGuid)" WarningLevel="$(WarningLevel)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" Win32Icon="$(ApplicationIcon)" Win32Manifest="$(Win32Manifest)" Win32Resource="$(Win32Resource)" PathMap="$(PathMap)" SourceLink="$(SourceLink)"> | |