diff options
Diffstat (limited to '.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk')
91 files changed, 7017 insertions, 0 deletions
diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.AfterCommon.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.AfterCommon.targets new file mode 100644 index 0000000000..91eb4173c7 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.AfterCommon.targets @@ -0,0 +1,14 @@ +<!-- +*********************************************************************************************** +Sdk.AfterCommon.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. +*********************************************************************************************** +--> +<Project> + <Import Project="..\targets\Microsoft.NET.Sdk.targets" /> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.BeforeCommon.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.BeforeCommon.targets new file mode 100644 index 0000000000..9bb85ed073 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.BeforeCommon.targets @@ -0,0 +1,14 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project> + <Import Project="..\targets\Microsoft.NET.Sdk.BeforeCommon.targets" /> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props new file mode 100644 index 0000000000..7b62b00733 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props @@ -0,0 +1,42 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <!-- + 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)'"> + <MSBuildProjectExtensionsPath>$(ProjectExtensionsPathForSpecifiedProject)</MSBuildProjectExtensionsPath> + </PropertyGroup> + + <Import Project="$(AlternateCommonProps)" Condition="'$(AlternateCommonProps)' != ''" /> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="'$(AlternateCommonProps)' == ''"/> + <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.props" /> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.targets new file mode 100644 index 0000000000..c521e2b2c8 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.targets @@ -0,0 +1,53 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- Using the same property as Microsoft.CSharp.targets and presumably Microsoft.VisualBasic.targets here --> + <PropertyGroup Condition="'$(TargetFrameworks)' != '' and '$(TargetFramework)' == ''"> + <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'"/> + + <PropertyGroup Condition="'$(LanguageTargets)' == ''"> + <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)"/> + + <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.CrossTargeting.targets" + Condition="'$(IsCrossTargetingBuild)' == 'true'"/> + <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.targets" + Condition="'$(IsCrossTargetingBuild)' != 'true'"/> + + <!-- Import targets from NuGet.Build.Tasks.Pack package/Sdk --> + <PropertyGroup Condition="'$(NuGetBuildTasksPackTargets)' == '' AND '$(ImportNuGetBuildTasksPackTargetsFromSdk)' != 'false'"> + <NuGetBuildTasksPackTargets Condition="'$(IsCrossTargetingBuild)' == 'true'">$(MSBuildThisFileDirectory)..\..\NuGet.Build.Tasks.Pack\buildCrossTargeting\NuGet.Build.Tasks.Pack.targets</NuGetBuildTasksPackTargets> + <NuGetBuildTasksPackTargets Condition="'$(IsCrossTargetingBuild)' != 'true'">$(MSBuildThisFileDirectory)..\..\NuGet.Build.Tasks.Pack\build\NuGet.Build.Tasks.Pack.targets</NuGetBuildTasksPackTargets> + <ImportNuGetBuildTasksPackTargetsFromSdk>true</ImportNuGetBuildTasksPackTargetsFromSdk> + </PropertyGroup> + + <Import Project="$(NuGetBuildTasksPackTargets)" + Condition="Exists('$(NuGetBuildTasksPackTargets)') AND '$(ImportNuGetBuildTasksPackTargetsFromSdk)' == 'true'"/> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/GenerateDeps/GenerateDeps.proj b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/GenerateDeps/GenerateDeps.proj new file mode 100644 index 0000000000..6acbdbfe06 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/GenerateDeps/GenerateDeps.proj @@ -0,0 +1,63 @@ +<Project DefaultTargets="BuildDepsJson"> + <!-- +*********************************************************************************************** +GenerateDeps.proj + +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 project is built by the .NET CLI in order to create .deps.json files for .NET CLI tools. + Properties to be passed in by the .NET CLI: + - ProjectAssetsFile: Full path to the project.assets.json file for the tool under the NuGet .tools folder + - ToolName: The simple name of the tool DLL, for example, "dotnet-mytool" + - AdditionalImport: The full path to the .props file from the platform package which will be imported, which + should include the PackageConflictPlatformManifests file. + This is a workaround until NuGet can generate .props and .targets files for imports from packages referenced + by tools, which is tracked by https://github.com/NuGet/Home/issues/5037. + --> + + <PropertyGroup> + <ImportDirectoryBuildProps>false</ImportDirectoryBuildProps> + <ImportDirectoryBuildTargets>false</ImportDirectoryBuildTargets> + </PropertyGroup> + + <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" /> + + <Import Project="$(AdditionalImport)" + Condition=" '$(AdditionalImport)' != '' And Exists($(AdditionalImport))" /> + + <PropertyGroup> + <ToolFolder>$([System.IO.Path]::GetDirectoryName($(ProjectAssetsFile)))</ToolFolder> + <ProjectDepsFilePath Condition="'$(ProjectDepsFilePath)' == ''">$(ToolFolder)\$(ToolName).deps.json</ProjectDepsFilePath> + <OutputType>Exe</OutputType> + <IncludeMainProjectInDepsFile>false</IncludeMainProjectInDepsFile> + + <!-- This project must not write to intermediate directory as it is inside the SDK directory and not in a user path. --> + <DisablePackageAssetsCache>true</DisablePackageAssetsCache> + <DisableRarCache>true</DisableRarCache> + + <!-- The tool asets file is restored as a separate graph and doesn't get an implicit reference to Microsoft.NETCore.App. So + the version of that package will be determined by the version the tool package references. However, when building + GenerateDeps.proj, the CLI sets the TargetFramework to match the target it finds in the assets file, which is + based on what the project with the DotNetCliToolReference was targeting, not what the tool itself was targeting. + + So we need to disable the logic which checks that the version of Microsoft.NETCore.App from the assets file + matches the one that would be resolved based on the TargetFramework that was passed in. --> + <VerifyMatchingImplicitPackageVersion>false</VerifyMatchingImplicitPackageVersion> + </PropertyGroup> + + <Target Name="BuildDepsJson" DependsOnTargets="$(ResolvePackageDependenciesForBuildDependsOn);GenerateBuildDependencyFile" /> + + <Target Name="DontRestore" BeforeTargets="Restore"> + <Error Text="This project should not be restored" /> + </Target> + + <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" /> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ComposeStore.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ComposeStore.targets new file mode 100644 index 0000000000..1dd7133817 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ComposeStore.targets @@ -0,0 +1,453 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.ComposeStore.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- + ============================================================ + ComposeStore + + The main store entry point. + ============================================================ + --> + <Target Name="ComposeStore" + DependsOnTargets="PrepareForComposeStore; + PrepOptimizer; + StoreWorkerMain; + _CopyResolvedUnOptimizedFiles; + StoreFinalizer;"/> + + <!-- + ============================================================ + StoreWorkerMain + + Processes the store project files + ============================================================ + --> + + <Target Name="StoreWorkerMain"> + + <ItemGroup> + <_AllProjects Include="$(AdditionalProjects.Split('%3B'))"/> + <_AllProjects Include ="$(MSBuildProjectFullPath)"/> + </ItemGroup> + + <MSBuild Projects="%(_AllProjects.Identity)" + Targets="StoreWorkerMapper" + BuildinParallel="$(BuildinParallel)" + Properties="ComposeWorkingDir=$(ComposeWorkingDir); + PublishDir=$(PublishDir); + StoreStagingDir=$(StoreStagingDir); + TargetFramework=$(_TFM); + JitPath=$(JitPath); + Crossgen=$(Crossgen); + DisableImplicitFrameworkReferences=true; + SkipUnchangedFiles=$(SkipUnchangedFiles); + PreserveStoreLayout=$(PreserveStoreLayout); + CreateProfilingSymbols=$(CreateProfilingSymbols); + StoreSymbolsStagingDir=$(StoreSymbolsStagingDir)"> + <Output ItemName="AllResolvedPackagesPublished" TaskParameter="TargetOutputs" /> + </MSBuild> + </Target> + <!-- + ============================================================ + StoreWorkerMapper + + Processes each package specified in a store project file + ============================================================ + --> + + <Target Name="StoreWorkerMapper" + Returns ="@(ResolvedPackagesFromMapper)"> + + <ItemGroup> + <PackageReferencesToStore Include="$(MSBuildProjectFullPath)"> + <PackageName>%(PackageReference.Identity)</PackageName> + <PackageVersion>%(PackageReference.Version)</PackageVersion> + <AdditionalProperties> + StorePackageName=%(PackageReference.Identity); + StorePackageVersion=%(PackageReference.Version); + ComposeWorkingDir=$(ComposeWorkingDir); + PublishDir=$(PublishDir); + StoreStagingDir=$(StoreStagingDir); + TargetFramework=$(TargetFramework); + RuntimeIdentifier=$(RuntimeIdentifier); + JitPath=$(JitPath); + Crossgen=$(Crossgen); + SkipUnchangedFiles=$(SkipUnchangedFiles); + PreserveStoreLayout=$(PreserveStoreLayout); + CreateProfilingSymbols=$(CreateProfilingSymbols); + StoreSymbolsStagingDir=$(StoreSymbolsStagingDir); + DisableImplicitFrameworkReferences=false; + </AdditionalProperties> + </PackageReferencesToStore> + </ItemGroup> + +<!-- Restore phase --> + <MSBuild Projects="@(PackageReferencesToStore)" + Targets="RestoreForComposeStore" + BuildInParallel="$(BuildInParallel)"> + </MSBuild> + + +<!-- Resolve phase--> + <MSBuild Projects="@(PackageReferencesToStore)" + Targets="StoreResolver" + Properties="SelfContained=false;UseAppHost=false;MSBuildProjectExtensionsPath=$(ComposeWorkingDir)\%(PackageReferencesToStore.PackageName)_$([System.String]::Copy('%(PackageReferencesToStore.PackageVersion)').Replace('*','-'))\;" + BuildInParallel="$(BuildInParallel)"> + <Output ItemName="ResolvedPackagesFromMapper" TaskParameter="TargetOutputs" /> + </MSBuild> + </Target> + + <Target Name="StoreResolver" + Returns="@(ResolvedPackagesPublished)" + DependsOnTargets="PrepforRestoreForComposeStore; + StoreWorkerPerformWork"/> + + <Target Name="StoreWorkerPerformWork" + DependsOnTargets="ComputeAndCopyFilesToStoreDirectory;" + Condition="Exists($(StoreWorkerWorkingDir))" /> + +<!-- + ============================================================ + StoreFinalizer + + Cleans up and produces artifacts after completion of store + ============================================================ + --> + <UsingTask TaskName="RemoveDuplicatePackageReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="StoreFinalizer" + DependsOnTargets="StoreWorkerMain; + _CopyResolvedOptimizedFiles"> + + <RemoveDuplicatePackageReferences + InputPackageReferences="@(AllResolvedPackagesPublished)"> + <Output TaskParameter="UniquePackageReferences" ItemName="AllResolvedPackagesPublishedAfterFilter"/> + </RemoveDuplicatePackageReferences> + + <ItemGroup> + <ListOfPackageReference Include="@(AllResolvedPackagesPublishedAfterFilter -> '%20%20<Package Id="%(Identity)" Version="%(Version)" />')"/> + </ItemGroup> + <PropertyGroup> + <_StoreArtifactContent> + <![CDATA[ +<StoreArtifacts> +@(ListOfPackageReference) +</StoreArtifacts> +]]> + </_StoreArtifactContent> + </PropertyGroup> + <WriteLinesToFile + File="$(StoreArtifactXml)" + Lines="$(_StoreArtifactContent)" + Overwrite="true" /> + + <Message Text="Files were composed in $(PublishDir)" + Importance="high"/> + <Message Text="The list of packages stored is in $(StoreArtifactXml) " + Importance="high"/> + <RemoveDir + Condition="'$(PreserveComposeWorkingDir)' != 'true'" + Directories="$(ComposeWorkingDir)" /> + </Target> + + <!-- + ============================================================ + _CopyResolvedUnOptimizedFiles + + Copy OptimizedResolvedFileToPublish items to the publish directory. + ============================================================ + --> + + <Target Name="_CopyResolvedOptimizedFiles" + DependsOnTargets="StoreWorkerMain;"> + <ItemGroup> + <_OptimizedResolvedFileToPublish Include="$(StoreStagingDir)\**\*.*" /> + <_OptimizedSymbolFileToPublish Include="$(StoreSymbolsStagingDir)\**\*.*" /> + </ItemGroup> + + <Copy SourceFiles = "@(_OptimizedResolvedFileToPublish)" + DestinationFolder="$(PublishDir)%(_OptimizedResolvedFileToPublish.RecursiveDir)" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + Condition ="'@(_OptimizedResolvedFileToPublish)' != ''" + SkipUnchangedFiles="$(SkipUnchangedFiles)"> + + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + + </Copy> + + <Copy SourceFiles="@(_OptimizedSymbolFileToPublish)" + DestinationFolder="$(ProfilingSymbolsDir)%(_OptimizedSymbolFileToPublish.RecursiveDir)" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + Condition="'@(_OptimizedSymbolFileToPublish)' != ''" + SkipUnchangedFiles="$(SkipUnchangedFiles)"> + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + </Copy> + </Target> + + <!-- + ============================================================ + PrepareForComposeStore + + Prepare the prerequisites for ComposeStore. + ============================================================ + --> + + <Target Name="PrepareForComposeStore"> + + <PropertyGroup> + <PreserveStoreLayout Condition="'$(PreserveStoreLayout)' == ''">true</PreserveStoreLayout> + <SkipOptimization Condition="'$(RuntimeIdentifier)' == ''">true</SkipOptimization> + <_TFM Condition="'$(_TFM)' == ''">$(TargetFramework)</_TFM> + <SkipUnchangedFiles Condition="'$(SkipUnchangedFiles)' == ''">true</SkipUnchangedFiles> + </PropertyGroup> + + <NETSdkError Condition="'2.0' > '$(_TargetFrameworkVersionWithoutV)'" + ResourceName="UnuspportedFramework" + FormatArguments="$(TargetFrameworkMoniker)"/> + + <NETSdkError Condition="'$(RuntimeIdentifier)' =='' and '$(_PureManagedAssets)' == ''" + ResourceName="RuntimeIdentifierWasNotSpecified"/> + + <NETSdkError Condition="'$(_TFM)' ==''" + ResourceName="AtLeastOneTargetFrameworkMustBeSpecified"/> + + <PropertyGroup> + <DefaultComposeDir>$(UserProfileRuntimeStorePath)</DefaultComposeDir> + + <_ProfilingSymbolsDirectoryName>symbols</_ProfilingSymbolsDirectoryName> + <DefaultProfilingSymbolsDir>$([System.IO.Path]::Combine($(DefaultComposeDir), $(_ProfilingSymbolsDirectoryName)))</DefaultProfilingSymbolsDir> + <ProfilingSymbolsDir Condition="'$(ProfilingSymbolsDir)' == '' and '$(ComposeDir)' != ''">$([System.IO.Path]::Combine($(ComposeDir), $(_ProfilingSymbolsDirectoryName)))</ProfilingSymbolsDir> + <ProfilingSymbolsDir Condition="'$(ProfilingSymbolsDir)' != '' and '$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ProfilingSymbolsDir), $(PlatformTarget)))</ProfilingSymbolsDir> + <ProfilingSymbolsDir Condition="'$(ProfilingSymbolsDir)' == ''">$(DefaultProfilingSymbolsDir)</ProfilingSymbolsDir> + <ProfilingSymbolsDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ProfilingSymbolsDir), $(_TFM)))</ProfilingSymbolsDir> + <ProfilingSymbolsDir Condition="!HasTrailingSlash('$(ProfilingSymbolsDir)')">$(ProfilingSymbolsDir)\</ProfilingSymbolsDir> + + <ComposeDir Condition="'$(ComposeDir)' == ''">$(DefaultComposeDir)</ComposeDir> + <ComposeDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ComposeDir), $(PlatformTarget)))</ComposeDir> + <ComposeDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ComposeDir), $(_TFM)))</ComposeDir> + <StoreArtifactXml>$([System.IO.Path]::Combine($(ComposeDir),"artifact.xml"))</StoreArtifactXml> + <PublishDir>$([System.IO.Path]::GetFullPath($(ComposeDir)))</PublishDir> + <_RandomFileName>$([System.IO.Path]::GetRandomFileName())</_RandomFileName> + <TEMP Condition="'$(TEMP)' == ''">$([System.IO.Path]::GetTempPath())</TEMP> + <ComposeWorkingDir Condition="'$(ComposeWorkingDir)' == ''">$([System.IO.Path]::Combine($(TEMP), $(_RandomFileName)))</ComposeWorkingDir> + <ComposeWorkingDir>$([System.IO.Path]::GetFullPath($(ComposeWorkingDir)))</ComposeWorkingDir> + <StoreStagingDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"StagingDir"))</StoreStagingDir> <!-- Will contain optimized managed assemblies in nuget cache layout --> + <StoreSymbolsStagingDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"SymbolsStagingDir"))</StoreSymbolsStagingDir> + <!-- Ensure any PublishDir has a trailing slash, so it can be concatenated --> + <PublishDir Condition="!HasTrailingSlash('$(PublishDir)')">$(PublishDir)\</PublishDir> + </PropertyGroup> + + <PropertyGroup Condition="'$(CreateProfilingSymbols)' == ''"> + <!-- There is no support for profiling symbols on OSX --> + <CreateProfilingSymbols Condition="$(RuntimeIdentifier.StartsWith('osx'))">false</CreateProfilingSymbols> + <CreateProfilingSymbols Condition="'$(CreateProfilingSymbols)' == ''">true</CreateProfilingSymbols> + </PropertyGroup> + + <NETSdkError Condition="Exists($(ComposeWorkingDir))" + ResourceName="FolderAlreadyExists" + FormatArguments="$(ComposeWorkingDir)" /> + + <MakeDir Directories="$(PublishDir)" /> + <MakeDir Directories="$(StoreStagingDir)"/> + + </Target> + + <Target Name="PrepforRestoreForComposeStore" + DependsOnTargets="_DefaultMicrosoftNETPlatformLibrary"> + + <PropertyGroup> + <StorePackageVersionForFolderName>$(StorePackageVersion.Replace('*','-'))</StorePackageVersionForFolderName> + <StoreWorkerWorkingDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"$(StorePackageName)_$(StorePackageVersionForFolderName)"))</StoreWorkerWorkingDir> + <_PackageProjFile>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "Restore.csproj"))</_PackageProjFile> + <BaseIntermediateOutputPath>$(StoreWorkerWorkingDir)\</BaseIntermediateOutputPath> + <ProjectAssetsFile>$(BaseIntermediateOutputPath)\project.assets.json</ProjectAssetsFile> + </PropertyGroup> + + <PropertyGroup> + <PackagesToPrune>$(MicrosoftNETPlatformLibrary)</PackagesToPrune> + <SelfContained Condition="'$(SelfContained)' == ''">true</SelfContained> + </PropertyGroup> + </Target> + + <!-- + ============================================================ + RestoreForComposeStore + + Restores the package + ============================================================ + --> + + <Target Name="RestoreForComposeStore" + DependsOnTargets="PrepforRestoreForComposeStore;" + Condition="!Exists($(StoreWorkerWorkingDir))"> + + <MakeDir Directories="$(StoreWorkerWorkingDir)" /> + + <MSBuild Projects="$(MSBuildProjectFullPath)" + Targets="Restore" + Properties="RestoreGraphProjectInput=$(MSBuildProjectFullPath); + RestoreOutputPath=$(BaseIntermediateOutputPath); + StorePackageName=$(StorePackageName); + StorePackageVersion=$(StorePackageVersion); + RuntimeIdentifier=$(RuntimeIdentifier); + TargetFramework=$(TargetFramework);"/> + </Target> + + <!-- + ============================================================ + ComputeAndCopyFilesToStoreDirectory + + Computes the list of all files to copy to the publish directory and then publishes them. + ============================================================ + --> + + <Target Name="ComputeAndCopyFilesToStoreDirectory" + DependsOnTargets="ComputeFilesToStore; + CopyFilesToStoreDirectory" /> + + <!-- + ============================================================ + CopyFilesToStoreDirectory + + Copy all build outputs, satellites and other necessary files to the publish directory. + ============================================================ + --> + + <Target Name="CopyFilesToStoreDirectory" + DependsOnTargets="_CopyResolvedUnOptimizedFiles"/> + + + <!-- + ============================================================ + _CopyResolvedUnOptimizedFiles + + Copy _UnOptimizedResolvedFileToPublish items to the publish directory. + ============================================================ + --> + + <Target Name="_CopyResolvedUnOptimizedFiles" + DependsOnTargets="_ComputeResolvedFilesToStoreTypes; + _RunOptimizer"> + + <Copy SourceFiles = "@(_UnOptimizedResolvedFileToPublish)" + DestinationFiles="$(PublishDir)%(_UnOptimizedResolvedFileToPublish.DestinationSubPath)" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + SkipUnchangedFiles="$(SkipUnchangedFiles)"> + + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + + </Copy> + </Target> + + <!-- + ============================================================ + _ComputeResolvedFilesToStoreTypes + ============================================================ + --> + + <Target Name="_ComputeResolvedFilesToStoreTypes" + DependsOnTargets="_GetResolvedFilesToStore;_SplitResolvedFiles;" /> + + <!-- + ============================================================ + _SplitResolvedFiles + + Splits ResolvedFileToPublish items into 'managed' and 'unmanaged' buckets. + ============================================================ + --> + + <Target Name="_SplitResolvedFiles" + Condition="$(SkipOptimization) !='true' " + DependsOnTargets="_GetResolvedFilesToStore"> + <ItemGroup> + <_ManagedResolvedFileToPublishCandidates Include="@(ResolvedFileToPublish)" + Condition="'%(ResolvedFileToPublish.AssetType)'=='runtime'" /> + + <_UnOptimizedResolvedFileToPublish Include="@(ResolvedFileToPublish)" + Condition="'%(ResolvedFileToPublish.AssetType)'!='runtime'" /> + </ItemGroup> + + <PropertyGroup> + <SkipOptimization Condition="'@(_ManagedResolvedFileToPublishCandidates)'==''">true</SkipOptimization> + </PropertyGroup> + </Target> + + <!-- + ============================================================ + _GetResolvedFilesToStore + ============================================================ + --> + + <Target Name="_GetResolvedFilesToStore" + Condition="$(SkipOptimization) == 'true' "> + <ItemGroup> + <_UnOptimizedResolvedFileToPublish Include="@(ResolvedFileToPublish)" /> + </ItemGroup> + </Target> + + <!-- + ============================================================ + ComputeFilesToStore + + Gathers all the files that need to be copied to the publish directory. + ============================================================ + --> + <UsingTask TaskName="FilterResolvedFiles" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="ComputeFilesToStore" + DependsOnTargets="_ComputeResolvedCopyLocalPublishAssets; + _ComputeCopyToPublishDirectoryItems"> + + <PropertyGroup> + <CopyBuildOutputToPublishDirectory Condition="'$(CopyBuildOutputToPublishDirectory)'==''">true</CopyBuildOutputToPublishDirectory> + <CopyOutputSymbolsToPublishDirectory Condition="'$(CopyOutputSymbolsToPublishDirectory)'==''">true</CopyOutputSymbolsToPublishDirectory> + </PropertyGroup> + + <FilterResolvedFiles AssetsFilePath="$(ProjectAssetsFile)" + ResolvedFiles ="@(_ResolvedCopyLocalPublishAssets)" + PackagesToPrune="$(PackagesToPrune)" + TargetFramework="$(TargetFrameworkMoniker)" + RuntimeIdentifier="$(RuntimeIdentifier)" + IsSelfContained="$(SelfContained)" > + <Output TaskParameter="AssembliesToPublish" ItemName="ResolvedFileToPublish" /> + <Output TaskParameter="PublishedPackages" ItemName="PackagesThatWereResolved" /> + </FilterResolvedFiles> + + <ItemGroup> + <ResolvedPackagesPublished Include="@(PackagesThatWereResolved)" + Condition="$(DoNotTrackPackageAsResolved) !='true'"/> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + PrepRestoreForStoreProjects + + Removes specified PackageReference for store and inserts the specified StorePackageName + ============================================================ + --> + <Target Name="PrepRestoreForStoreProjects" + BeforeTargets="_GenerateProjectRestoreGraphPerFramework;" + Condition="'$(StorePackageName)' != ''" > + + <ItemGroup> + <PackageReference Remove="@(PackageReference)" Condition="'%(PackageReference.IsImplicitlyDefined)' != 'true'"/> + <PackageReference Include="$(StorePackageName)" Version="$(StorePackageVersion)"/> + </ItemGroup> + </Target> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ConflictResolution.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ConflictResolution.targets new file mode 100644 index 0000000000..9bcb1aef4c --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ConflictResolution.targets @@ -0,0 +1,92 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.ConflictResolution.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. +*********************************************************************************************** +--> + +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Import Project="Microsoft.NET.DefaultPackageConflictOverrides.targets" /> + + <UsingTask TaskName="ResolvePackageFileConflicts" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- + _HandlePackageFileConflicts + Handles package file conflict resolution for build. + This will differ from the conflict resolution at publish time if the publish assets differ from build. + --> + <Target Name="_HandlePackageFileConflicts" DependsOnTargets="GetFrameworkPaths;GetReferenceAssemblyPaths;ResolveTargetingPackAssets"> + + <ItemGroup> + <!-- + All runtime assets for conflict resolution. + Exclude the copy-local items since those are passed in separately. + --> + <_RuntimeAssetsForConflictResolution + Include="@(RuntimeCopyLocalItems); + @(NativeCopyLocalItems); + @(ResourceCopyLocalItems); + @(RuntimeTargetsCopyLocalItems)" + Exclude="@(ReferenceCopyLocalPaths)" /> + </ItemGroup> + + <ResolvePackageFileConflicts References="@(Reference)" + ReferenceCopyLocalPaths="@(ReferenceCopyLocalPaths)" + OtherRuntimeItems="@(_RuntimeAssetsForConflictResolution)" + PlatformManifests="@(PackageConflictPlatformManifests)" + TargetFrameworkDirectories="$(TargetFrameworkDirectory)" + PackageOverrides="@(PackageConflictOverrides)" + PreferredPackages="$(PackageConflictPreferredPackages)"> + <Output TaskParameter="ReferencesWithoutConflicts" ItemName="_ReferencesWithoutConflicts" /> + <Output TaskParameter="ReferenceCopyLocalPathsWithoutConflicts" ItemName="_ReferenceCopyLocalPathsWithoutConflicts" /> + <Output TaskParameter="Conflicts" ItemName="_ConflictPackageFiles" /> + </ResolvePackageFileConflicts> + + <!-- Replace Reference / ReferenceCopyLocalPaths with the filtered lists. + We must remove all and include rather than just remove since removal is based + only on ItemSpec and duplicate ItemSpecs may exist with different metadata + (eg: HintPath) --> + <ItemGroup> + <Reference Remove="@(Reference)" /> + <Reference Include="@(_ReferencesWithoutConflicts)" /> + <ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" /> + <ReferenceCopyLocalPaths Include="@(_ReferenceCopyLocalPathsWithoutConflicts)" /> + </ItemGroup> + + </Target> + + <!-- + _HandlePackageFileConflictsForPublish + Handles package file conflict resolution for publish. + Currently, publish assets may differ due to the following reasons: + * A package was marked as excluded from publishing (including PrivateAssets="all"). + * There are runtime store packages to publish against. + * If we're preserving store layout, which alters the destination paths of files. + When none of these things are true, then we can rely on the conflict resolution from build. + --> + <Target Name="_HandlePackageFileConflictsForPublish" + AfterTargets="_ResolveCopyLocalAssetsForPublish; + _FilterSatelliteResourcesForPublish"> + + <ResolvePackageFileConflicts ReferenceCopyLocalPaths="@(_ResolvedCopyLocalPublishAssets)" + PlatformManifests="@(PackageConflictPlatformManifests)" + TargetFrameworkDirectories="$(TargetFrameworkDirectory)" + PreferredPackages="$(PackageConflictPreferredPackages)"> + <Output TaskParameter="ReferenceCopyLocalPathsWithoutConflicts" ItemName="_ResolvedCopyLocalPublishAssetsWithoutConflicts" /> + <Output TaskParameter="Conflicts" ItemName="_PublishConflictPackageFiles" /> + </ResolvePackageFileConflicts> + + <ItemGroup> + <_ResolvedCopyLocalPublishAssets Remove="@(_ResolvedCopyLocalPublishAssets)" /> + <_ResolvedCopyLocalPublishAssets Include="@(_ResolvedCopyLocalPublishAssetsWithoutConflicts)" /> + </ItemGroup> + + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.CrossGen.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.CrossGen.targets new file mode 100644 index 0000000000..fdc73e3e89 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.CrossGen.targets @@ -0,0 +1,317 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.CrossGen.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- + ============================================================ + PrepOptimizer + + Sets up the common infrastructure for the optimization phase + Outputs: + JitPath + Crossgen + ============================================================ + --> + + <Target Name="PrepOptimizer" + DependsOnTargets="_RestoreCrossgen;" + Condition="$(SkipOptimization) != 'true' "> + <!-- Get the coreclr path --> + <ItemGroup> + <_CoreclrResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" + Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='coreclr'" /> + <_CoreclrResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" + Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='libcoreclr'" /> + <_JitResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" + Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='clrjit'" /> + <_JitResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" + Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='libclrjit'" /> + </ItemGroup> + + <NETSdkError Condition="'@(_CoreclrResolvedPath->Count())' > 1" + ResourceName="MultipleFilesResolved" + FormatArguments="coreclr" /> + + <NETSdkError Condition="'@(_CoreclrResolvedPath)'== ''" + ResourceName="UnableToFindResolvedPath" + FormatArguments="coreclr" /> + + <NETSdkError Condition="'@(_JitResolvedPath->Count())' > 1" + ResourceName="MultipleFilesResolved" + FormatArguments="jit" /> + + <NETSdkError Condition="'@(_JitResolvedPath)'== ''" + ResourceName="UnableToFindResolvedPath" + FormatArguments="jit" /> + + <!-- Get the crossgen and jit path--> + <PropertyGroup> + <_CoreclrPath>@(_CoreclrResolvedPath)</_CoreclrPath> + <JitPath>@(_JitResolvedPath)</JitPath> + <_CoreclrDir>$([System.IO.Path]::GetDirectoryName($(_CoreclrPath)))</_CoreclrDir> + <_CoreclrPkgDir>$([System.IO.Path]::Combine($(_CoreclrDir),"..\..\..\"))</_CoreclrPkgDir> + <CrossgenDir>$([System.IO.Path]::Combine($(_CoreclrPkgDir),"tools"))</CrossgenDir> + <!-- TODO override with rid specific tools path for x-arch --> + <Crossgen>$([System.IO.Path]::Combine($(CrossgenDir),"crossgen"))</Crossgen> + <Crossgen Condition="'$(OS)' == 'Windows_NT'">$([System.IO.Path]::Combine($(CrossgenDir),"crossgen.exe"))</Crossgen> + </PropertyGroup> + + <NETSdkError Condition="!Exists($(Crossgen))" + ResourceName="UnableToFindResolvedPath" + FormatArguments="$(Crossgen)" /> + + <!-- Copy crossgen into the netcoreapp folder to ensure it can load Microsoft.DiaSymReader.Native when creating PDBs --> + <Copy SourceFiles="$(Crossgen)" + DestinationFolder="$(_NetCoreRefDir)" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" + UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)"> + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + </Copy> + + <PropertyGroup> + <Crossgen>$([System.IO.Path]::GetFullPath($([System.IO.Path]::Combine($(_NetCoreRefDir), $([System.IO.Path]::GetFileName($(Crossgen)))))))</Crossgen> + </PropertyGroup> + </Target> + + <!-- + ============================================================ + _RunOptimizer + + Start the optimization phase + ============================================================ + --> + + <Target Name="_RunOptimizer" + DependsOnTargets="_InitializeBasicProps; + _ComputeResolvedFilesToStoreTypes; + _SetupStageForCrossgen" + Condition="$(SkipOptimization) != 'true' "> + <ItemGroup> + <AssembliestoCrossgen Include="$(MSBuildProjectFullPath)"> + <Properties> + CrossgenExe=$(Crossgen); + CrossgenJit=$(JitPath); + CrossgenInputAssembly=%(_ManagedResolvedFilesToOptimize.Fullpath); + CrossgenOutputAssembly=$(_RuntimeOptimizedDir)$(DirectorySeparatorChar)%(_ManagedResolvedFilesToOptimize.FileName)%(_ManagedResolvedFilesToOptimize.Extension); + CrossgenSubOutputPath=%(_ManagedResolvedFilesToOptimize.DestinationSubPath); + _RuntimeOptimizedDir=$(_RuntimeOptimizedDir); + PublishDir=$(StoreStagingDir); + CrossgenPlatformAssembliesPath=$(_RuntimeRefDir)$(PathSeparator)$(_NetCoreRefDir); + CreateProfilingSymbols=$(CreateProfilingSymbols); + StoreSymbolsStagingDir=$(StoreSymbolsStagingDir); + _RuntimeSymbolsDir=$(_RuntimeSymbolsDir) + </Properties> + </AssembliestoCrossgen> + </ItemGroup> + + <!-- CrossGen the assemblies --> + <MSBuild Projects="@(AssembliestoCrossgen)" + Targets="RunCrossGen" + BuildInParallel="$(BuildInParallel)" + Condition="'@(_ManagedResolvedFilesToOptimize)' != ''"/> + + </Target> + + <!-- + ============================================================ + RunCrossGen + Target Encapsulating the crossgen command + ============================================================ + --> + + <Target Name="RunCrossGen" + DependsOnTargets="_InitializeBasicProps;"> + + <PropertyGroup> + <CrossgenProfilingSymbolsOutputDirectory>$([System.IO.Path]::GetDirectoryName($(_RuntimeSymbolsDir)\$(CrossgenSubOutputPath)))</CrossgenProfilingSymbolsOutputDirectory> + <CrossgenSymbolsStagingDirectory>$([System.IO.Path]::GetDirectoryName($(StoreSymbolsStagingDir)\$(CrossgenSubOutputPath)))</CrossgenSymbolsStagingDirectory> + <CrossgenCommandline>$(CrossgenExe) -nologo -readytorun -in "$(CrossgenInputAssembly)" -out "$(CrossgenOutputAssembly)" -jitpath "$(CrossgenJit)" -platform_assemblies_paths "$(CrossgenPlatformAssembliesPath)"</CrossgenCommandline> + <CreateProfilingSymbolsOptionName Condition="'$(OS)' == 'Windows_NT'">CreatePDB</CreateProfilingSymbolsOptionName> + <CreateProfilingSymbolsOptionName Condition="'$(CreateProfilingSymbolsOptionName)' == ''">CreatePerfMap</CreateProfilingSymbolsOptionName> + </PropertyGroup> + + <Message Text="CrossgenCommandline: $(CrossgenCommandline)"/> + + <!--Optimization skip if the assembly is already present in the final output directory--> + <Exec + Command="$(CrossgenCommandline)" + Condition="!Exists($([System.IO.Path]::Combine($(PublishDir),$(CrossgenSubOutputPath))))" + IgnoreStandardErrorWarningFormat="true" /> + + <Copy SourceFiles = "$(CrossgenOutputAssembly)" + DestinationFiles="$(PublishDir)\$(CrossgenSubOutputPath)" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + Condition="!Exists($([System.IO.Path]::Combine($(PublishDir),$(CrossgenSubOutputPath))))"> + + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + </Copy> + + <!-- Create profiling symbols if requested --> + <MakeDir Directories="$(CrossgenProfilingSymbolsOutputDirectory)" + Condition="'$(CreateProfilingSymbols)' == 'true' and Exists($(CrossgenOutputAssembly))" /> + <Exec Command="$(CrossgenExe) -nologo -readytorun -platform_assemblies_paths $(CrossgenPlatformAssembliesPath) -$(CreateProfilingSymbolsOptionName) $(CrossgenProfilingSymbolsOutputDirectory) $(CrossgenOutputAssembly)" + Condition="'$(CreateProfilingSymbols)' == 'true' and Exists($(CrossgenOutputAssembly))" + IgnoreStandardErrorWarningFormat="true" /> + + <ItemGroup> + <_ProfilingSymbols Include="$(CrossgenProfilingSymbolsOutputDirectory)\*" + Condition="'$(CreateProfilingSymbols)' == 'true'" /> + </ItemGroup> + + <Copy SourceFiles="@(_ProfilingSymbols)" + DestinationFolder="$(CrossgenSymbolsStagingDirectory)" + Condition="'$(CreateProfilingSymbols)' == 'true'" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"> + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + </Copy> + </Target> + + <Target Name="_InitializeBasicProps"> + <PropertyGroup> + <PathSeparator>$([System.IO.Path]::PathSeparator)</PathSeparator> + <DirectorySeparatorChar>$([System.IO.Path]::DirectorySeparatorChar)</DirectorySeparatorChar> + </PropertyGroup> + </Target> + + <!-- + ============================================================ + _GetCrossgenProps + Generates props used by Crossgen + ============================================================ + --> + + <Target Name="_GetCrossgenProps" + Condition="$(SkipOptimization) != 'true' "> + + <PropertyGroup> + <_CrossProjFileDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"Optimize"))</_CrossProjFileDir> + <_NetCoreRefDir>$([System.IO.Path]::Combine($(_CrossProjFileDir), "netcoreapp"))</_NetCoreRefDir> <!-- flat netcore app assemblies--> + </PropertyGroup> + <MakeDir Directories="$(_CrossProjFileDir)"/> + <PropertyGroup> + <_CrossProjAssetsFile>$([System.IO.Path]::Combine($(_CrossProjFileDir), project.assets.json))</_CrossProjAssetsFile> + </PropertyGroup> + + + </Target> + + <!-- + ============================================================ + _SetupStageForCrossgen + ============================================================ + --> + + <Target Name="_SetupStageForCrossgen" + DependsOnTargets="_GetCrossgenProps;"> + <PropertyGroup> + <_RuntimeRefDir>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "runtimeref"))</_RuntimeRefDir> <!-- flat app managed assemblies --> + <_RuntimeOptimizedDir>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "runtimopt"))</_RuntimeOptimizedDir> <!-- optimized app managed assemblies in nuget cache layout --> + <_RuntimeSymbolsDir>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "runtimesymbols"))</_RuntimeSymbolsDir> + </PropertyGroup> + + <ItemGroup> + <_ManagedResolvedFilesToOptimize Include="@(_ManagedResolvedFileToPublishCandidates)" /> + </ItemGroup> + + <MakeDir Directories="$(_RuntimeOptimizedDir)"/> + <MakeDir Directories="$(_RuntimeSymbolsDir)" + Condition="'$(CreateProfilingSymbols)' == 'true'" /> + + <!-- Copy managed files to a flat temp directory for passing it as ref --> + <Copy SourceFiles = "@(_ManagedResolvedFilesToOptimize)" + DestinationFolder="$(_RuntimeRefDir)" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" + UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)"> + + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + </Copy> + + </Target> + + <!-- + ============================================================ + _RestoreCrossgen + Restores netcoreapp and publishes it to a temp directory + ============================================================ + --> + + <Target Name="_RestoreCrossgen" + DependsOnTargets="PrepforRestoreForComposeStore; + _SetupStageForCrossgen; + ProcessFrameworkReferences; + ApplyImplicitVersions; + _ComputePackageReferencePublish" + Condition="$(SkipOptimization) != 'true' "> + + <ItemGroup> + <!-- Filter package references to the one for the platform library, in order to find the right version --> + <PackageReferenceForCrossGen Include="@(PackageReference)" Condition="'%(Identity)' == '$(MicrosoftNETPlatformLibrary)'" /> + </ItemGroup> + + <MSBuild Projects="$(MSBuildProjectFullPath)" + Targets="Restore" + Properties="RuntimeIdentifiers=$(RuntimeIdentifier); + RestoreGraphProjectInput=$(MSBuildProjectFullPath); + RestoreOutputPath=$(_CrossProjFileDir); + StorePackageName=$(MicrosoftNETPlatformLibrary); + StorePackageVersion=%(PackageReferenceForCrossGen.Version);"/> + + <!-- For future: Use ResolvePackageAssets instead of ResolveCopyLocalAssets, delete ResolveCopyLocalAssets task --> + <ResolveCopyLocalAssets Condition="'$(_TargetFrameworkVersionWithoutV)' < '3.0'" + AssetsFilePath="$(_CrossProjAssetsFile)" + TargetFramework="$(_TFM)" + RuntimeIdentifier="$(RuntimeIdentifier)" + PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" + RuntimeFrameworks="@(RuntimeFramework)" + ExcludedPackageReferences="@(_ExcludeFromPublishPackageReference)" + IsSelfContained="$(SelfContained)" + PreserveStoreLayout="false"> + + <Output TaskParameter="ResolvedAssets" ItemName="CrossgenResolvedAssembliesToPublish" /> + </ResolveCopyLocalAssets> + + <GetPackageDirectory Condition="'$(_TargetFrameworkVersionWithoutV)' >= '3.0'" + Items="@(RuntimePack)" + AssetsFileWithAdditionalPackageFolders="$(_CrossProjAssetsFile)"> + <Output TaskParameter="Output" ItemName="_CrossgenRuntimePack" /> + </GetPackageDirectory> + + <ResolveRuntimePackAssets Condition="'$(_TargetFrameworkVersionWithoutV)' >= '3.0'" + FrameworkReferences="@(FrameworkReference)" + ResolvedRuntimePacks="@(_CrossgenRuntimePack)"> + <Output TaskParameter="RuntimePackAssets" ItemName="CrossgenResolvedAssembliesToPublish" /> + </ResolveRuntimePackAssets> + + <!-- Copy managed files to a flat temp directory for passing it as ref for crossgen --> + <Copy SourceFiles = "@(CrossgenResolvedAssembliesToPublish)" + DestinationFolder="$(_NetCoreRefDir)" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" + UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)"> + + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + </Copy> + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DefaultAssemblyInfo.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DefaultAssemblyInfo.targets new file mode 100644 index 0000000000..e2ea90ae91 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DefaultAssemblyInfo.targets @@ -0,0 +1,27 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup Condition=" '$(Version)' == '' "> + <VersionPrefix Condition=" '$(VersionPrefix)' == '' ">1.0.0</VersionPrefix> + <Version Condition=" '$(VersionSuffix)' != '' ">$(VersionPrefix)-$(VersionSuffix)</Version> + <Version Condition=" '$(Version)' == '' ">$(VersionPrefix)</Version> + </PropertyGroup> + + <PropertyGroup> + <Authors Condition=" '$(Authors)'=='' ">$(AssemblyName)</Authors> + <Company Condition=" '$(Company)'=='' ">$(Authors)</Company> + <AssemblyTitle Condition=" '$(AssemblyTitle)' == '' ">$(AssemblyName)</AssemblyTitle> + <Product Condition=" '$(Product)' == ''">$(AssemblyName)</Product> + </PropertyGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DefaultOutputPaths.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DefaultOutputPaths.targets new file mode 100644 index 0000000000..157ef0508e --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DefaultOutputPaths.targets @@ -0,0 +1,49 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- + 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> + <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> + <PackageOutputPath Condition="'$(PackageOutputPath)' == ''">$(OutputPath)</PackageOutputPath> + </PropertyGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DefaultPackageConflictOverrides.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DefaultPackageConflictOverrides.targets new file mode 100644 index 0000000000..2eb168a993 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DefaultPackageConflictOverrides.targets @@ -0,0 +1,234 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.DefaultPackageConflictOverrides.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <ItemGroup Condition="'$(DisableDefaultPackageConflictOverrides)' != 'true'"> + <PackageConflictOverrides Include="Microsoft.NETCore.App" + Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' < '3.0')"> + <OverriddenPackages> + Microsoft.CSharp|4.4.0; + Microsoft.Win32.Primitives|4.3.0; + Microsoft.Win32.Registry|4.4.0; + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple|4.3.0; + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0; + System.AppContext|4.3.0; + System.Buffers|4.4.0; + System.Collections|4.3.0; + System.Collections.Concurrent|4.3.0; + System.Collections.Immutable|1.4.0; + System.Collections.NonGeneric|4.3.0; + System.Collections.Specialized|4.3.0; + System.ComponentModel|4.3.0; + System.ComponentModel.EventBasedAsync|4.3.0; + System.ComponentModel.Primitives|4.3.0; + System.ComponentModel.TypeConverter|4.3.0; + System.Console|4.3.0; + System.Data.Common|4.3.0; + System.Diagnostics.Contracts|4.3.0; + System.Diagnostics.Debug|4.3.0; + System.Diagnostics.DiagnosticSource|4.4.0; + System.Diagnostics.FileVersionInfo|4.3.0; + System.Diagnostics.Process|4.3.0; + System.Diagnostics.StackTrace|4.3.0; + System.Diagnostics.TextWriterTraceListener|4.3.0; + System.Diagnostics.Tools|4.3.0; + System.Diagnostics.TraceSource|4.3.0; + System.Diagnostics.Tracing|4.3.0; + System.Dynamic.Runtime|4.3.0; + System.Globalization|4.3.0; + System.Globalization.Calendars|4.3.0; + System.Globalization.Extensions|4.3.0; + System.IO|4.3.0; + System.IO.Compression|4.3.0; + System.IO.Compression.ZipFile|4.3.0; + System.IO.FileSystem|4.3.0; + System.IO.FileSystem.AccessControl|4.4.0; + System.IO.FileSystem.DriveInfo|4.3.0; + System.IO.FileSystem.Primitives|4.3.0; + System.IO.FileSystem.Watcher|4.3.0; + System.IO.IsolatedStorage|4.3.0; + System.IO.MemoryMappedFiles|4.3.0; + System.IO.Pipes|4.3.0; + System.IO.UnmanagedMemoryStream|4.3.0; + System.Linq|4.3.0; + System.Linq.Expressions|4.3.0; + System.Linq.Queryable|4.3.0; + System.Net.Http|4.3.0; + System.Net.NameResolution|4.3.0; + System.Net.Primitives|4.3.0; + System.Net.Requests|4.3.0; + System.Net.Security|4.3.0; + System.Net.Sockets|4.3.0; + System.Net.WebHeaderCollection|4.3.0; + System.ObjectModel|4.3.0; + System.Private.DataContractSerialization|4.3.0; + System.Reflection|4.3.0; + System.Reflection.Emit|4.3.0; + System.Reflection.Emit.ILGeneration|4.3.0; + System.Reflection.Emit.Lightweight|4.3.0; + System.Reflection.Extensions|4.3.0; + System.Reflection.Metadata|1.5.0; + System.Reflection.Primitives|4.3.0; + System.Reflection.TypeExtensions|4.3.0; + System.Resources.ResourceManager|4.3.0; + System.Runtime|4.3.0; + System.Runtime.Extensions|4.3.0; + System.Runtime.Handles|4.3.0; + System.Runtime.InteropServices|4.3.0; + System.Runtime.InteropServices.RuntimeInformation|4.3.0; + System.Runtime.Loader|4.3.0; + System.Runtime.Numerics|4.3.0; + System.Runtime.Serialization.Formatters|4.3.0; + System.Runtime.Serialization.Json|4.3.0; + System.Runtime.Serialization.Primitives|4.3.0; + System.Security.AccessControl|4.4.0; + System.Security.Claims|4.3.0; + System.Security.Cryptography.Algorithms|4.3.0; + System.Security.Cryptography.Cng|4.4.0; + System.Security.Cryptography.Csp|4.3.0; + System.Security.Cryptography.Encoding|4.3.0; + System.Security.Cryptography.OpenSsl|4.4.0; + System.Security.Cryptography.Primitives|4.3.0; + System.Security.Cryptography.X509Certificates|4.3.0; + System.Security.Cryptography.Xml|4.4.0; + System.Security.Principal|4.3.0; + System.Security.Principal.Windows|4.4.0; + System.Text.Encoding|4.3.0; + System.Text.Encoding.Extensions|4.3.0; + System.Text.RegularExpressions|4.3.0; + System.Threading|4.3.0; + System.Threading.Overlapped|4.3.0; + System.Threading.Tasks|4.3.0; + System.Threading.Tasks.Extensions|4.3.0; + System.Threading.Tasks.Parallel|4.3.0; + System.Threading.Thread|4.3.0; + System.Threading.ThreadPool|4.3.0; + System.Threading.Timer|4.3.0; + System.ValueTuple|4.3.0; + System.Xml.ReaderWriter|4.3.0; + System.Xml.XDocument|4.3.0; + System.Xml.XmlDocument|4.3.0; + System.Xml.XmlSerializer|4.3.0; + System.Xml.XPath|4.3.0; + System.Xml.XPath.XDocument|4.3.0; + </OverriddenPackages> + </PackageConflictOverrides> + <PackageConflictOverrides Include="NETStandard.Library"> + <OverriddenPackages> + Microsoft.Win32.Primitives|4.3.0; + System.AppContext|4.3.0; + System.Collections|4.3.0; + System.Collections.Concurrent|4.3.0; + System.Collections.Immutable|1.4.0; + System.Collections.NonGeneric|4.3.0; + System.Collections.Specialized|4.3.0; + System.ComponentModel|4.3.0; + System.ComponentModel.EventBasedAsync|4.3.0; + System.ComponentModel.Primitives|4.3.0; + System.ComponentModel.TypeConverter|4.3.0; + System.Console|4.3.0; + System.Data.Common|4.3.0; + System.Diagnostics.Contracts|4.3.0; + System.Diagnostics.Debug|4.3.0; + System.Diagnostics.FileVersionInfo|4.3.0; + System.Diagnostics.Process|4.3.0; + System.Diagnostics.StackTrace|4.3.0; + System.Diagnostics.TextWriterTraceListener|4.3.0; + System.Diagnostics.Tools|4.3.0; + System.Diagnostics.TraceSource|4.3.0; + System.Diagnostics.Tracing|4.3.0; + System.Dynamic.Runtime|4.3.0; + System.Globalization|4.3.0; + System.Globalization.Calendars|4.3.0; + System.Globalization.Extensions|4.3.0; + System.IO|4.3.0; + System.IO.Compression|4.3.0; + System.IO.Compression.ZipFile|4.3.0; + System.IO.FileSystem|4.3.0; + System.IO.FileSystem.DriveInfo|4.3.0; + System.IO.FileSystem.Primitives|4.3.0; + System.IO.FileSystem.Watcher|4.3.0; + System.IO.IsolatedStorage|4.3.0; + System.IO.MemoryMappedFiles|4.3.0; + System.IO.Pipes|4.3.0; + System.IO.UnmanagedMemoryStream|4.3.0; + System.Linq|4.3.0; + System.Linq.Expressions|4.3.0; + System.Linq.Queryable|4.3.0; + System.Net.Http|4.3.0; + System.Net.NameResolution|4.3.0; + System.Net.Primitives|4.3.0; + System.Net.Requests|4.3.0; + System.Net.Security|4.3.0; + System.Net.Sockets|4.3.0; + System.Net.WebHeaderCollection|4.3.0; + System.ObjectModel|4.3.0; + System.Private.DataContractSerialization|4.3.0; + System.Reflection|4.3.0; + System.Reflection.Emit|4.3.0; + System.Reflection.Emit.ILGeneration|4.3.0; + System.Reflection.Emit.Lightweight|4.3.0; + System.Reflection.Extensions|4.3.0; + System.Reflection.Primitives|4.3.0; + System.Reflection.TypeExtensions|4.3.0; + System.Resources.ResourceManager|4.3.0; + System.Runtime|4.3.0; + System.Runtime.Extensions|4.3.0; + System.Runtime.Handles|4.3.0; + System.Runtime.InteropServices|4.3.0; + System.Runtime.InteropServices.RuntimeInformation|4.3.0; + System.Runtime.Loader|4.3.0; + System.Runtime.Numerics|4.3.0; + System.Runtime.Serialization.Formatters|4.3.0; + System.Runtime.Serialization.Json|4.3.0; + System.Runtime.Serialization.Primitives|4.3.0; + System.Security.AccessControl|4.4.0; + System.Security.Claims|4.3.0; + System.Security.Cryptography.Algorithms|4.3.0; + System.Security.Cryptography.Csp|4.3.0; + System.Security.Cryptography.Encoding|4.3.0; + System.Security.Cryptography.Primitives|4.3.0; + System.Security.Cryptography.X509Certificates|4.3.0; + System.Security.Cryptography.Xml|4.4.0; + System.Security.Principal|4.3.0; + System.Security.Principal.Windows|4.4.0; + System.Text.Encoding|4.3.0; + System.Text.Encoding.Extensions|4.3.0; + System.Text.RegularExpressions|4.3.0; + System.Threading|4.3.0; + System.Threading.Overlapped|4.3.0; + System.Threading.Tasks|4.3.0; + System.Threading.Tasks.Extensions|4.3.0; + System.Threading.Tasks.Parallel|4.3.0; + System.Threading.Thread|4.3.0; + System.Threading.ThreadPool|4.3.0; + System.Threading.Timer|4.3.0; + System.ValueTuple|4.3.0; + System.Xml.ReaderWriter|4.3.0; + System.Xml.XDocument|4.3.0; + System.Xml.XmlDocument|4.3.0; + System.Xml.XmlSerializer|4.3.0; + System.Xml.XPath|4.3.0; + System.Xml.XPath.XDocument|4.3.0; + </OverriddenPackages> + </PackageConflictOverrides> + </ItemGroup> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DesignerSupport.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DesignerSupport.targets new file mode 100644 index 0000000000..76dc53f93a --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DesignerSupport.targets @@ -0,0 +1,143 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.DesignerSupport.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup Condition="'$(DesignerRuntimeImplementationProjectOutputGroupDependsOn)' == ''"> + <DesignerRuntimeImplementationProjectOutputGroupDependsOn> + $(CommonOutputGroupsDependsOn); + </DesignerRuntimeImplementationProjectOutputGroupDependsOn> + </PropertyGroup> + + <PropertyGroup> + <DesignerRuntimeImplementationProjectOutputGroupDependsOn> + $(DesignerRuntimeImplementationProjectOutputGroupDependsOn); + _GenerateDesignerDepsFile; + _GenerateDesignerRuntimeConfigFile; + _GatherDesignerShadowCopyFiles; + </DesignerRuntimeImplementationProjectOutputGroupDependsOn> + + <_DesignerDepsFileName>$(AssemblyName).designer.deps.json</_DesignerDepsFileName> + <_DesignerRuntimeConfigFileName>$(AssemblyName).designer.runtimeconfig.json</_DesignerRuntimeConfigFileName> + + <_DesignerDepsFilePath>$(IntermediateOutputPath)$(_DesignerDepsFileName)</_DesignerDepsFilePath> + <_DesignerRuntimeConfigFilePath>$(IntermediateOutputPath)$(_DesignerRuntimeConfigFileName)</_DesignerRuntimeConfigFilePath> + </PropertyGroup> + + <Target + Name="DesignerRuntimeImplementationProjectOutputGroup" + DependsOnTargets="$(DesignerRuntimeImplementationProjectOutputGroupDependsOn)" + Returns="@(DesignerRuntimeImplementationProjectOutputGroupOutput)" + /> + + <Target + Name="_GenerateDesignerDepsFile" + Inputs="$(MSBuildAllProjectFiles);$(ProjectAssetsFile)" + Outputs="$(_DesignerDepsFilePath)" + Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" + > + <!-- + NOTE: We do not include the main assembly info or non-NuGet dependencies + in designer deps file as these files may not be built yet at design time. + Instead, we rely on SetAppPaths in runtimeconfig to allow loading of + non-NuGet assets from shadow copied app base directory. This further + allows loading of designer dll(s) that are not seen by the build. + --> + <GenerateDepsFile + AssemblyName="_" + AssemblyExtension="_" + AssemblyVersion="_" + AssetsFilePath="$(ProjectAssetsFile)" + DepsFilePath="$(_DesignerDepsFilePath)" + IncludeMainProject="false" + IncludeRuntimeFileVersions="$(IncludeFileVersionsInDependencyFile)" + IsSelfContained="false" + PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" + ProjectPath="$(MSBuildProjectFullPath)" + RuntimeFrameworks="@(RuntimeFramework)" + CompileReferences="@(ResolvedCompileFileDefinitions)" + ResolvedNuGetFiles="@(NativeCopyLocalItems);@(ResourceCopyLocalItems);@(RuntimeCopyLocalItems)" + ResolvedRuntimeTargetsFiles="@(RuntimeTargetsCopyLocalItems)" + TargetFramework="$(TargetFrameworkMoniker)" + /> + + <ItemGroup> + <!-- Designer will rename to <surface process name>.deps.json --> + <DesignerRuntimeImplementationProjectOutputGroupOutput + Include="$([MSBuild]::NormalizePath($(_DesignerDepsFilePath)))" + TargetPath="$(_DesignerDepsFileName)" + /> + + <FileWrites Include="$(_DesignerDepsFilePath)" /> + </ItemGroup> + </Target> + + <Target + Name="_GenerateDesignerRuntimeConfigFile" + Inputs="$(MSBuildAllProjectFiles);$(ProjectAssetsFile)" + Outputs="$(_DesignerRuntimeConfigFilePath)" + Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" + > + + <ItemGroup> + <_DesignerHostConfigurationOption + Include="Microsoft.NETCore.DotNetHostPolicy.SetAppPaths" + Value="true" + /> + </ItemGroup> + + <GenerateRuntimeConfigurationFiles + AdditionalProbingPaths="@(AdditionalProbingPath)" + AssetsFilePath="$(ProjectAssetsFile)" + HostConfigurationOptions="@(RuntimeHostConfigurationOption);@(_DesignerHostConfigurationOption)" + IsSelfContained="false" + PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" + RuntimeConfigPath="$(_DesignerRuntimeConfigFilePath)" + RuntimeFrameworks="@(RuntimeFramework)" + TargetFramework="$(TargetFramework)" + TargetFrameworkMoniker="$(TargetFrameworkMoniker)" + UserRuntimeConfig="$(UserRuntimeConfig)" + WriteAdditionalProbingPathsToMainConfig="true" + /> + + <ItemGroup> + <!-- Designer will rename to <surface process name>.runtimeconfig.json --> + <DesignerRuntimeImplementationProjectOutputGroupOutput + Include="$([MSBuild]::NormalizePath($(_DesignerRuntimeConfigFilePath)))" + TargetPath="$(_DesignerRuntimeConfigFileName)" + /> + + <FileWrites Include="$(_DesignerRuntimeConfigFilePath)" /> + </ItemGroup> + </Target> + + <Target Name="_GatherDesignerShadowCopyFiles"> + <ItemGroup> + <_DesignerShadowCopy Include="@(ReferenceCopyLocalPaths)" /> + + <!-- + For .NET Core, we do not include NuGet package assets or runtime pack + assets, irrespective of self-contained / copy-local settings. Designer + will load these from the NuGet cache or shared framework always. + --> + <_DesignerShadowCopy + Remove="@(_ResolvedCopyLocalBuildAssets);@(RuntimePackAsset)" + Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" + /> + + <DesignerRuntimeImplementationProjectOutputGroupOutput + Include="@(_DesignerShadowCopy->'%(FullPath)')" + TargetPath="%(_DesignerShadowCopy.DestinationSubDirectory)%(_DesignerShadowCopy.Filename)%(_DesignerShadowCopy.Extension)" + /> + </ItemGroup> + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DisableStandardFrameworkResolution.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DisableStandardFrameworkResolution.targets new file mode 100644 index 0000000000..99601458c2 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.DisableStandardFrameworkResolution.targets @@ -0,0 +1,26 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.DisableStandardFrameworkResolution.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Target Name="GetReferenceAssemblyPaths" /> + <Target Name="GetFrameworkPaths" /> + + <PropertyGroup> + <_TargetFrameworkDirectories /> + <FrameworkPathOverride /> + <TargetFrameworkDirectory /> + + <!-- all references (even the StdLib) come from packages --> + <NoStdLib>true</NoStdLib> + </PropertyGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.GenerateAssemblyInfo.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.GenerateAssemblyInfo.targets new file mode 100644 index 0000000000..56ded98711 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.GenerateAssemblyInfo.targets @@ -0,0 +1,170 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.GenerateAssemblyInfo.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <!-- + ============================================================ + GenerateAssemblyInfo + + Generates assembly info source to intermediate directory + ============================================================ + --> + <PropertyGroup> + <GeneratedAssemblyInfoFile Condition="'$(GeneratedAssemblyInfoFile)' ==''">$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyInfo$(DefaultLanguageSourceExtension)</GeneratedAssemblyInfoFile> + <GenerateAssemblyInfo Condition="'$(GenerateAssemblyInfo)' == ''">true</GenerateAssemblyInfo> + </PropertyGroup> + + <PropertyGroup Condition="'$(GenerateAssemblyInfo)' == 'true'"> + <GenerateAssemblyCompanyAttribute Condition="'$(GenerateAssemblyCompanyAttribute)' == ''">true</GenerateAssemblyCompanyAttribute> + <GenerateAssemblyConfigurationAttribute Condition="'$(GenerateAssemblyConfigurationAttribute)' == ''">true</GenerateAssemblyConfigurationAttribute> + <GenerateAssemblyCopyrightAttribute Condition="'$(GenerateAssemblyCopyrightAttribute)' == ''">true</GenerateAssemblyCopyrightAttribute> + <GenerateAssemblyDescriptionAttribute Condition="'$(GenerateAssemblyDescriptionAttribute)' == ''">true</GenerateAssemblyDescriptionAttribute> + <GenerateAssemblyFileVersionAttribute Condition="'$(GenerateAssemblyFileVersionAttribute)' == ''">true</GenerateAssemblyFileVersionAttribute> + <GenerateAssemblyInformationalVersionAttribute Condition="'$(GenerateAssemblyInformationalVersionAttribute)' == ''">true</GenerateAssemblyInformationalVersionAttribute> + <GenerateAssemblyProductAttribute Condition="'$(GenerateAssemblyProductAttribute)' == ''">true</GenerateAssemblyProductAttribute> + <GenerateAssemblyTitleAttribute Condition="'$(GenerateAssemblyTitleAttribute)' == ''">true</GenerateAssemblyTitleAttribute> + <GenerateAssemblyVersionAttribute Condition="'$(GenerateAssemblyVersionAttribute)' == ''">true</GenerateAssemblyVersionAttribute> + <GenerateNeutralResourcesLanguageAttribute Condition="'$(GenerateNeutralResourcesLanguageAttribute)' == ''">true</GenerateNeutralResourcesLanguageAttribute> + <IncludeSourceRevisionInInformationalVersion Condition="'$(IncludeSourceRevisionInInformationalVersion)' == ''">true</IncludeSourceRevisionInInformationalVersion> + </PropertyGroup> + + <!-- + Note that this must run before every invocation of CoreCompile to ensure that all compiler + runs see the generated assembly info. There is at least one scenario involving Xaml + where CoreCompile is invoked without other potential hooks such as Compile or CoreBuild, + etc., so we hook directly on to CoreCompile. Furthermore, we must run *after* + PrepareForBuild to ensure that the intermediate directory has been created. + --> + <Target Name="GenerateAssemblyInfo" + BeforeTargets="CoreCompile" + DependsOnTargets="PrepareForBuild;CoreGenerateAssemblyInfo" + Condition="'$(GenerateAssemblyInfo)' == 'true'" /> + + <Target Name="AddSourceRevisionToInformationalVersion" + DependsOnTargets="GetAssemblyVersion;InitializeSourceControlInformation" + Condition="'$(SourceControlInformationFeatureSupported)' == 'true' and '$(IncludeSourceRevisionInInformationalVersion)' == 'true'"> + <PropertyGroup Condition="'$(SourceRevisionId)' != ''"> + <!-- Follow SemVer 2.0 rules --> + <_InformationalVersionContainsPlus>false</_InformationalVersionContainsPlus> + <_InformationalVersionContainsPlus Condition="$(InformationalVersion.Contains('+'))">true</_InformationalVersionContainsPlus> + + <InformationalVersion Condition="!$(_InformationalVersionContainsPlus)">$(InformationalVersion)+$(SourceRevisionId)</InformationalVersion> + <InformationalVersion Condition="$(_InformationalVersionContainsPlus)">$(InformationalVersion).$(SourceRevisionId)</InformationalVersion> + </PropertyGroup> + </Target> + + <Target Name="GetAssemblyAttributes" + DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion"> + <ItemGroup> + <AssemblyAttribute Include="System.Reflection.AssemblyCompanyAttribute" Condition="'$(Company)' != '' and '$(GenerateAssemblyCompanyAttribute)' == 'true'"> + <_Parameter1>$(Company)</_Parameter1> + </AssemblyAttribute> + <AssemblyAttribute Include="System.Reflection.AssemblyConfigurationAttribute" Condition="'$(Configuration)' != '' and '$(GenerateAssemblyConfigurationAttribute)' == 'true'"> + <_Parameter1>$(Configuration)</_Parameter1> + </AssemblyAttribute> + <AssemblyAttribute Include="System.Reflection.AssemblyCopyrightAttribute" Condition="'$(Copyright)' != '' and '$(GenerateAssemblyCopyrightAttribute)' == 'true'"> + <_Parameter1>$(Copyright)</_Parameter1> + </AssemblyAttribute> + <AssemblyAttribute Include="System.Reflection.AssemblyDescriptionAttribute" Condition="'$(Description)' != '' and '$(GenerateAssemblyDescriptionAttribute)' == 'true'"> + <_Parameter1>$(Description)</_Parameter1> + </AssemblyAttribute> + <AssemblyAttribute Include="System.Reflection.AssemblyFileVersionAttribute" Condition="'$(FileVersion)' != '' and '$(GenerateAssemblyFileVersionAttribute)' == 'true'"> + <_Parameter1>$(FileVersion)</_Parameter1> + </AssemblyAttribute> + <AssemblyAttribute Include="System.Reflection.AssemblyInformationalVersionAttribute" Condition="'$(InformationalVersion)' != '' and '$(GenerateAssemblyInformationalVersionAttribute)' == 'true'"> + <_Parameter1>$(InformationalVersion)</_Parameter1> + </AssemblyAttribute> + <AssemblyAttribute Include="System.Reflection.AssemblyProductAttribute" Condition="'$(Product)' != '' and '$(GenerateAssemblyProductAttribute)' == 'true'"> + <_Parameter1>$(Product)</_Parameter1> + </AssemblyAttribute> + <AssemblyAttribute Include="System.Reflection.AssemblyTitleAttribute" Condition="'$(AssemblyTitle)' != '' and '$(GenerateAssemblyTitleAttribute)' == 'true'"> + <_Parameter1>$(AssemblyTitle)</_Parameter1> + </AssemblyAttribute> + <AssemblyAttribute Include="System.Reflection.AssemblyVersionAttribute" Condition="'$(AssemblyVersion)' != '' and '$(GenerateAssemblyVersionAttribute)' == 'true'"> + <_Parameter1>$(AssemblyVersion)</_Parameter1> + </AssemblyAttribute> + <AssemblyAttribute Include="System.Resources.NeutralResourcesLanguageAttribute" Condition="'$(NeutralLanguage)' != '' and '$(GenerateNeutralResourcesLanguageAttribute)' == 'true'"> + <_Parameter1>$(NeutralLanguage)</_Parameter1> + </AssemblyAttribute> + </ItemGroup> + </Target> + + <!-- + To allow version changes to be respected on incremental builds (e.g. through CLI parameters), + create a hash of all assembly attributes so that the cache file will change with the calculated + assembly attribute values and msbuild will then execute CoreGenerateAssembly to generate a new file. + --> + <Target Name="CreateGeneratedAssemblyInfoInputsCacheFile" + DependsOnTargets="GetAssemblyAttributes"> + <PropertyGroup> + <GeneratedAssemblyInfoInputsCacheFile>$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyInfoInputs.cache</GeneratedAssemblyInfoInputsCacheFile> + </PropertyGroup> + + <!-- We only use up to _Parameter1 for most attributes, but other targets may add additional assembly attributes with multiple parameters. --> + <Hash ItemsToHash="@(AssemblyAttribute->'%(Identity)%(_Parameter1)%(_Parameter2)%(_Parameter3)%(_Parameter4)%(_Parameter5)%(_Parameter6)%(_Parameter7)%(_Parameter8)')"> + <Output TaskParameter="HashResult" PropertyName="_AssemblyAttributesHash" /> + </Hash> + + <WriteLinesToFile Lines="$(_AssemblyAttributesHash)" File="$(GeneratedAssemblyInfoInputsCacheFile)" Overwrite="True" WriteOnlyWhenDifferent="True" /> + + <ItemGroup> + <FileWrites Include="$(GeneratedAssemblyInfoInputsCacheFile)" /> + </ItemGroup> + </Target> + + <Target Name="CoreGenerateAssemblyInfo" + Condition="'$(Language)'=='VB' or '$(Language)'=='C#'" + DependsOnTargets="CreateGeneratedAssemblyInfoInputsCacheFile" + Inputs="$(GeneratedAssemblyInfoInputsCacheFile)" + Outputs="$(GeneratedAssemblyInfoFile)"> + <ItemGroup> + <!-- Ensure the generated assemblyinfo file is not already part of the Compile sources, as a workaround for https://github.com/dotnet/sdk/issues/114 --> + <Compile Remove="$(GeneratedAssemblyInfoFile)" /> + </ItemGroup> + + <WriteCodeFragment AssemblyAttributes="@(AssemblyAttribute)" Language="$(Language)" OutputFile="$(GeneratedAssemblyInfoFile)"> + <Output TaskParameter="OutputFile" ItemName="Compile" /> + <Output TaskParameter="OutputFile" ItemName="FileWrites" /> + </WriteCodeFragment> + </Target> + + + <!-- + ================================================================== + GetAssemblyVersion + + Parses the nuget package version set in $(Version) and returns + the implied $(AssemblyVersion) and $(FileVersion). + + e.g.: + <Version>1.2.3-beta.4</Version> + + implies: + <AssemblyVersion>1.2.3</AssemblyVersion> + <FileVersion>1.2.3</FileVersion> + + Note that if $(AssemblyVersion) or $(FileVersion) are are already set, it + is considered an override of the default inference from $(Version) and they + are left unchanged by this target. + ================================================================== + --> + <Target Name="GetAssemblyVersion"> + <GetAssemblyVersion Condition="'$(AssemblyVersion)' == ''" NuGetVersion="$(Version)"> + <Output TaskParameter="AssemblyVersion" PropertyName="AssemblyVersion" /> + </GetAssemblyVersion> + + <PropertyGroup> + <FileVersion Condition="'$(FileVersion)' == ''">$(AssemblyVersion)</FileVersion> + <InformationalVersion Condition="'$(InformationalVersion)' == ''">$(Version)</InformationalVersion> + </PropertyGroup> + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.GenerateSupportedRuntime.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.GenerateSupportedRuntime.targets new file mode 100644 index 0000000000..19d7680233 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.GenerateSupportedRuntime.targets @@ -0,0 +1,63 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.GenerateSupportedRuntime.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <UsingTask TaskName="WriteAppConfigWithSupportedRuntime" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="SetGeneratedAppConfigMetadata" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <PropertyGroup> + <_GenerateSupportedRuntimeIntermediateAppConfig>$(IntermediateOutputPath)$(TargetFileName).withSupportedRuntime.config</_GenerateSupportedRuntimeIntermediateAppConfig> + </PropertyGroup> + + <Target Name="GenerateSupportedRuntime" + Condition="'$(GenerateSupportedRuntime)' != 'false' and '$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(HasRuntimeOutput)' == 'true'" + DependsOnTargets="_WriteAppConfigWithSupportedRuntime" + BeforeTargets="GenerateBindingRedirects"> + + <SetGeneratedAppConfigMetadata + AppConfigFile="@(AppConfigWithTargetPath)" + TargetName="$(TargetFileName).config" + GeneratedAppConfigFile="$(_GenerateSupportedRuntimeIntermediateAppConfig)" + > + + <Output TaskParameter="OutputAppConfigFileWithMetadata" ItemName="_GenerateSupportedRuntimeAppConfigWithTargetPath" /> + </SetGeneratedAppConfigMetadata> + + <!--Override the AppConfigWithTargetPath for downstream target--> + <ItemGroup> + <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" /> + <AppConfigWithTargetPath Include="@(_GenerateSupportedRuntimeAppConfigWithTargetPath)" /> + </ItemGroup> + + </Target> + + <Target Name="_WriteAppConfigWithSupportedRuntime" + Inputs="$(MSBuildAllProjects);@(AppConfigWithTargetPath)" + Outputs="$(_GenerateSupportedRuntimeIntermediateAppConfig)" + DependsOnTargets="PrepareForBuild"> + + <WriteAppConfigWithSupportedRuntime + AppConfigFile="@(AppConfigWithTargetPath)" + TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" + TargetFrameworkVersion="$(TargetFrameworkVersion)" + TargetFrameworkProfile="$(TargetFrameworkProfile)" + OutputAppConfigFile="$(_GenerateSupportedRuntimeIntermediateAppConfig)" + > + </WriteAppConfigWithSupportedRuntime> + + <ItemGroup> + <FileWrites Include="@(_GenerateSupportedRuntimeAppConfigWithTargetPath)"/> + </ItemGroup> + + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ILLink.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ILLink.targets new file mode 100644 index 0000000000..9f055ec138 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ILLink.targets @@ -0,0 +1,147 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.ILLink.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Import Project="Sdk.props" Sdk="ILLink.Tasks" /> + + <PropertyGroup Condition=" '$(PublishTrimmed)' == 'true' "> + <IntermediateLinkDir Condition=" '$(IntermediateLinkDir)' == '' ">$(IntermediateOutputPath)linked\</IntermediateLinkDir> + <IntermediateLinkDir Condition=" !HasTrailingSlash('$(IntermediateLinkDir)') ">$(IntermediateLinkDir)\</IntermediateLinkDir> + <!-- Used to enable incremental build for the linker target. --> + <_LinkSemaphore>$(IntermediateOutputPath)Link.semaphore</_LinkSemaphore> + </PropertyGroup> + + <!-- + ============================================================ + ILLink + + Replace the files to be published with versions that have been + passed through the linker. Also prevent removed files from being + included in the generated deps.json. + ============================================================ + --> + <Target Name="ILLink" + Condition=" '$(PublishTrimmed)' == 'true' And + '$(_TargetFrameworkVersionWithoutV)' >= '3.0' And '$(TargetFrameworkIdentifier)' == '.NETCoreApp' " + DependsOnTargets="_RunILLink"> + + <NETSdkInformation ResourceName="ILLink_Info" /> + + <ItemGroup> + <_LinkedResolvedFileToPublish Include="@(_LinkedResolvedFileToPublishCandidates)" Condition="Exists('%(Identity)')" /> + <ResolvedFileToPublish Remove="@(_ManagedAssembliesToLink)" /> + <ResolvedFileToPublish Include="@(_LinkedResolvedFileToPublish)" /> + </ItemGroup> + + <!-- Remove assemblies from inputs to GenerateDepsFile. See + https://github.com/dotnet/sdk/pull/3086. --> + <ItemGroup> + <_RemovedManagedAssemblies Include="@(_ManagedAssembliesToLink)" Condition="!Exists('$(IntermediateLinkDir)%(Filename)%(Extension)')" /> + + <ResolvedCompileFileDefinitions Remove="@(_RemovedManagedAssemblies)" /> + <RuntimeCopyLocalItems Remove="@(_RemovedManagedAssemblies)" /> + <RuntimeTargetsCopyLocalItems Remove="@(_RemovedManagedAssemblies)" /> + <UserRuntimeAssembly Remove="@(_RemovedManagedAssemblies)" /> + <RuntimePackAsset Remove="@(_RemovedManagedAssemblies)" /> + </ItemGroup> + + </Target> + + + <!-- + ============================================================ + _RunILLink + + Execute the linker. This target runs incrementally, only executing + if the output semaphore file is out of date with respect to the inputs. + ============================================================ + --> + <UsingTask TaskName="ILLink" AssemblyFile="$(ILLinkTasksAssembly)" /> + <Target Name="_RunILLink" + DependsOnTargets="_ComputeManagedAssembliesToLink;_SetILLinkDefaults" + Inputs="$(MSBuildAllProjects);@(_ManagedAssembliesToLink);@(TrimmerRootDescriptor);@(ReferencePath)" + Outputs="$(_LinkSemaphore)"> + + <!-- When running from Desktop MSBuild, DOTNET_HOST_PATH is not set. + In this case, explicitly specify the path to the dotnet host. --> + <PropertyGroup Condition=" '$(DOTNET_HOST_PATH)' == '' "> + <_DotNetHostDirectory>$(NetCoreRoot)</_DotNetHostDirectory> + <_DotNetHostFileName>dotnet</_DotNetHostFileName> + <_DotNetHostFileName Condition=" '$(OS)' == 'Windows_NT' ">dotnet.exe</_DotNetHostFileName> + </PropertyGroup> + + <Delete Files="@(_LinkedResolvedFileToPublishCandidates)" /> + <ILLink AssemblyPaths="@(_ManagedAssembliesToLink)" + ReferenceAssemblyPaths="@(ReferencePath)" + RootAssemblyNames="@(TrimmerRootAssembly)" + RootDescriptorFiles="@(TrimmerRootDescriptor)" + OutputDirectory="$(IntermediateLinkDir)" + ExtraArgs="$(_ExtraTrimmerArgs)" + ToolExe="$(_DotNetHostFileName)" + ToolPath="$(_DotNetHostDirectory)" /> + + <Touch Files="$(_LinkSemaphore)" AlwaysCreate="true" /> + + </Target> + + <!-- + ============================================================ + _SetILLinkDefaults + + Set up the default options and inputs to ILLink. + --> + <Target Name="_SetILLinkDefaults" + DependsOnTargets="_ComputeManagedAssembliesToLink"> + + <!-- The defaults currently root non-framework assemblies, which + is a no-op for portable apps. If we later support more ways + to customize the behavior we can allow linking portable apps + in some cases. --> + <NETSdkError Condition="'$(SelfContained)' != 'true'" ResourceName="ILLinkNotSupportedError" /> + + <PropertyGroup> + <_ExtraTrimmerArgs>-l none --skip-unresolved true $(_ExtraTrimmerArgs)</_ExtraTrimmerArgs> + <_ExtraTrimmerArgs>-c copyused -u copyused $(_ExtraTrimmerArgs)</_ExtraTrimmerArgs> + </PropertyGroup> + <ItemGroup> + <TrimmerRootAssembly Include="@(_ManagedAssembliesToLink)" Condition=" '%(_ManagedAssembliesToLink.IsTrimmable)' != 'true' " /> + <_ManagedAssembliesToLink Update="@(_ManagedAssembliesToLink)" Condition=" '%(_ManagedAssembliesToLink.IsTrimmable)' != 'true' "> + <action>copy</action> + </_ManagedAssembliesToLink> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + _ComputeManagedAssembliesToLink + + Compute the set of inputs to the linker. + ============================================================ + --> + <UsingTask TaskName="ComputeManagedAssemblies" AssemblyFile="$(ILLinkTasksAssembly)" /> + <Target Name="_ComputeManagedAssembliesToLink" DependsOnTargets="_ComputeAssembliesToPostprocessOnPublish"> + + <!-- NB: There should not be non-managed assemblies in this list, but we still give the linker a chance to + further refine this list. It currently drops C++/CLI assemblies in ComputeManageAssemblies. --> + <ComputeManagedAssemblies Assemblies="@(ResolvedFileToPublish->WithMetadataValue('PostprocessAssembly', 'true'))"> + <Output TaskParameter="ManagedAssemblies" ItemName="_ManagedAssembliesToLink" /> + </ComputeManagedAssemblies> + + <ItemGroup> + <_LinkedResolvedFileToPublishCandidates Include="@(_ManagedAssembliesToLink->'$(IntermediateLinkDir)%(Filename)%(Extension)')" /> + </ItemGroup> + + </Target> + + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.NuGetOfflineCache.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.NuGetOfflineCache.targets new file mode 100644 index 0000000000..7756e63997 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.NuGetOfflineCache.targets @@ -0,0 +1,25 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <_NugetFallbackFolder>$(MSBuildThisFileDirectory)..\..\..\..\NuGetFallbackFolder</_NugetFallbackFolder> + <_IsNETCore1x Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' < '2.0' ">true</_IsNETCore1x> + </PropertyGroup> + + <PropertyGroup Condition=" '$(DisableImplicitNuGetFallbackFolder)' != 'true' and Exists($(_NugetFallbackFolder)) "> + <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> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ObsoleteReferences.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ObsoleteReferences.targets new file mode 100644 index 0000000000..4e61aea752 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ObsoleteReferences.targets @@ -0,0 +1,34 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.ObsoleteReferences.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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup Condition="'$(NETCoreSdkBundledCliToolsProps)' == ''"> + <NETCoreSdkBundledCliToolsProps>$(MSBuildThisFileDirectory)..\..\..\Microsoft.NETCoreSdk.BundledCliTools.props</NETCoreSdkBundledCliToolsProps> + </PropertyGroup> + + <Import Project="$(NETCoreSdkBundledCliToolsProps)" Condition="Exists('$(NETCoreSdkBundledCliToolsProps)')" /> + + <ItemGroup> + <_ReferenceToObsoleteDotNetCliTool Include="@(DotNetCliToolReference)" /> + <DotNetCliToolReference Remove="@(BundledDotNetCliToolReference)" /> + <_ReferenceToObsoleteDotNetCliTool Remove="@(DotNetCliToolReference)" /> + </ItemGroup> + + <Target Name="_CheckForObsoleteDotNetCliToolReferences" + BeforeTargets="CollectPackageReferences" + Condition=" '$(SuppressObsoleteDotNetCliToolWarning)' != 'true' "> + <NETSdkWarning Condition=" '%(_ReferenceToObsoleteDotNetCliTool.Identity)' != '' " + ResourceName="ProjectContainsObsoleteDotNetCliTool" + FormatArguments="%(_ReferenceToObsoleteDotNetCliTool.Identity)" /> + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackProjectTool.props b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackProjectTool.props new file mode 100644 index 0000000000..d31a336d0a --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackProjectTool.props @@ -0,0 +1,17 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);_PackProjectToolValidation</TargetsForTfmSpecificContentInPackage> + </PropertyGroup> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackProjectTool.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackProjectTool.targets new file mode 100644 index 0000000000..e1842460b9 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackProjectTool.targets @@ -0,0 +1,20 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.PackProjectTool.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. +*********************************************************************************************** +--> + +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Target Name="_PackProjectToolValidation" Condition=" '$(PackageType)' == 'DotnetCliTool'"> + + <NETSdkError Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' > '2.2' " + ResourceName="ProjectToolOnlySupportTFMLowerThanNetcoreapp22" /> + </Target> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackStubs.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackStubs.targets new file mode 100644 index 0000000000..f2ede3aad2 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackStubs.targets @@ -0,0 +1,27 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.PackStubs.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- + ============================================================ + Pack + + Stub Pack target to surface better error message when not supported. + ============================================================ + --> + + + <Target Name="Pack" > + <NETSdkError ResourceName="NoSupportCppPackDotnetCore" /> + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackTool.props b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackTool.props new file mode 100644 index 0000000000..041ece4267 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackTool.props @@ -0,0 +1,17 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);PackTool</TargetsForTfmSpecificContentInPackage> + </PropertyGroup> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackTool.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackTool.targets new file mode 100644 index 0000000000..31b1be70bd --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PackTool.targets @@ -0,0 +1,176 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.PackTool.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. +*********************************************************************************************** +--> + +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.GenerateToolsSettingsFile" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.GenerateShims" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolveToolPackagePaths" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetEmbeddedApphostPaths" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- + Mark all dependency as private assets. But keep them as Publish. So dependency DLLs will be included in NuGet package, while + there is no dependency in nuspec. And add Microsoft.NETCore.Platforms, which is used to select correct RID assets. + --> + <PropertyGroup> + <_ToolsSettingsFilePath>$(BaseIntermediateOutputPath)DotnetToolSettings.xml</_ToolsSettingsFilePath> + <SuppressDependenciesWhenPacking Condition=" '$(PackAsTool)' == 'true' ">true</SuppressDependenciesWhenPacking> + <_PackToolPublishDependency Condition=" ('$(GeneratePackageOnBuild)' != 'true' and '$(NoBuild)' != 'true') and $(IsPublishable) == 'true' ">_PublishBuildAlternative</_PackToolPublishDependency> + <_PackToolPublishDependency Condition=" ('$(GeneratePackageOnBuild)' == 'true' or '$(NoBuild)' == 'true') and $(IsPublishable) == 'true' ">$(_PublishNoBuildAlternativeDependsOn)</_PackToolPublishDependency> + </PropertyGroup> + + <Target Name="PackTool" DependsOnTargets="GenerateToolsSettingsFileFromBuildProperty;$(_PackToolPublishDependency);_PackToolValidation" Condition=" '$(PackAsTool)' == 'true' "> + <ItemGroup> + <_GeneratedFiles Include="$(PublishDepsFilePath)"/> + <_GeneratedFiles Include="$(PublishRuntimeConfigFilePath)"/> + <_GeneratedFiles Include="$(_ToolsSettingsFilePath)"/> + </ItemGroup> + + <ResolveToolPackagePaths + AppHostIntermediatePath="$(AppHostIntermediatePath)" + ResolvedFileToPublish="@(ResolvedFileToPublish)" + PublishDir="$(PublishDir)" + TargetFramework="$(TargetFramework)"> + + <Output TaskParameter="ResolvedFileToPublishWithPackagePath" ItemName="_ResolvedFileToPublishWithPackagePath" /> + </ResolveToolPackagePaths> + + <ItemGroup> + <TfmSpecificPackageFile Include="@(_GeneratedFiles)"> + <PackagePath>tools/$(TargetFramework)/any/%(_GeneratedFiles.RecursiveDir)%(_GeneratedFiles.Filename)%(_GeneratedFiles.Extension)</PackagePath> + </TfmSpecificPackageFile> + + <TfmSpecificPackageFile Include="@(_ResolvedFileToPublishWithPackagePath)"> + <PackagePath>%(_ResolvedFileToPublishWithPackagePath.PackagePath)</PackagePath> + </TfmSpecificPackageFile> + </ItemGroup> + </Target> + + <PropertyGroup> + <ToolCommandName Condition=" '$(ToolCommandName)' == '' ">$(TargetName)</ToolCommandName> + <ToolEntryPoint Condition=" '$(ToolEntryPoint)' == '' ">$(TargetFileName)</ToolEntryPoint> + </PropertyGroup> + + <Target Name="GenerateToolsSettingsFileFromBuildProperty" > + <GenerateToolsSettingsFile + EntryPointRelativePath="$(ToolEntryPoint)" + CommandName="$(ToolCommandName)" + ToolsSettingsFilePath="$(_ToolsSettingsFilePath)" /> + </Target> + + <Target Name="_PackToolValidation" Condition=" '$(PackAsTool)' == 'true' "> + <NETSdkError Condition=" '$(SelfContained)' == 'true' " + ResourceName="PackAsToolCannotSupportSelfContained" /> + + <NETSdkError Condition=" '$(TargetFrameworkIdentifier)' != '.NETCoreApp' " + ResourceName="DotnetToolOnlySupportNetcoreapp" /> + + <NETSdkError Condition=" '$(_TargetFrameworkVersionWithoutV)' < '2.1' " + ResourceName="DotnetToolDoesNotSupportTFMLowerThanNetcoreapp21" /> + </Target> + + <!-- + ============================================================ + GenerateShimsAssets + + Generate packaged shims for signing when PackAsToolShimRuntimeIdentifiers is set + ============================================================ + --> + + <PropertyGroup> + <_ShimInputCacheFile Condition="'$(_ShimInputCacheFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).shiminput.cache</_ShimInputCacheFile> + <_ShimInputCacheFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(_ShimInputCacheFile)))</_ShimInputCacheFile> + <_ShimCreatedSentinelFile Condition="'$(_ShimCreatedSentinelFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).shimcreated.sentinel</_ShimCreatedSentinelFile> + <_ShimCreatedSentinelFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(_ShimCreatedSentinelFile)))</_ShimCreatedSentinelFile> + <PackagedShimOutputRootDirectory Condition=" '$(PackagedShimOutputRootDirectory)' == '' ">$(OutDir)</PackagedShimOutputRootDirectory> + </PropertyGroup> + + <Target Name="GenerateShimsAssets" + BeforeTargets="CopyFilesToOutputDirectory" + DependsOnTargets="ResolvePackageAssets;_PackToolValidation;_GenerateShimInputCache;_ComputeExpectedEmbeddedApphostPaths" + Condition="'$(PackAsTool)' == 'true' and $(PackAsToolShimRuntimeIdentifiers) != '' " + Inputs="@(_GenerateShimsAssetsInput)" + Outputs="$(_ShimCreatedSentinelFile)"> + + <GenerateShims + ApphostsForShimRuntimeIdentifiers="@(_ApphostsForShimRuntimeIdentifiers)" + IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" + OutputType="$(OutputType)" + PackagedShimOutputDirectory="$(PackagedShimOutputRootDirectory)/shims/$(TargetFramework)" + PackageId="$(PackageId)" + PackageVersion="$(PackageVersion)" + ShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" + TargetFrameworkMoniker="$(NuGetTargetMoniker)" + ToolCommandName="$(ToolCommandName)" + ToolEntryPoint="$(ToolEntryPoint)"> + + <Output TaskParameter="EmbeddedApphostPaths" ItemName="_EmbeddedApphostPaths" /> + </GenerateShims> + + <!-- Workaround for https://github.com/dotnet/corefx/issues/31379 + LastWriteTime in shims are not accurate. And _ShimInputCacheFile will have later timestamp than generated shims. + Use a created file to "record" LastWriteTime. And only use it in "Outputs" field for timestamp comparison. + + Touch Task uses the same API File.SetLastWriteTime underneath. So it also cannot be used. + --> + <WriteLinesToFile Lines="This file's LastWriteTime is used in incremental build" File="$(_ShimCreatedSentinelFile)" Overwrite="True" /> + + <ItemGroup> + <!-- Do this in an ItemGroup instead of as an output parameter so that it still gets added to the item set + during incremental builds when the task is skipped --> + <FileWrites Include="@(_EmbeddedApphostPaths)" /> + <FileWrites Include="$(_ShimCreatedSentinelFile)" /> + </ItemGroup> + </Target> + + <Target Name="_ComputeExpectedEmbeddedApphostPaths"> + <GetEmbeddedApphostPaths + PackagedShimOutputDirectory="$(PackagedShimOutputRootDirectory)/shims/$(TargetFramework)" + ShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" + ToolCommandName="$(ToolCommandName)"> + + <Output TaskParameter="EmbeddedApphostPaths" ItemName="_EmbeddedApphostPaths" /> + </GetEmbeddedApphostPaths> + </Target> + + <!-- To achieve incremental build with property change. When any property changes, WriteOnlyWhenDifferent will be triggered to write cache file. + And the cache file's timestamp will be later, and it then triggers the incremental build.--> + <Target Name="_GenerateShimInputCache" DependsOnTargets="ResolveAssemblyReferences"> + <ItemGroup> + <_GenerateShimsAssetsInput Include="$(_ShimInputCacheFile)" /> + <_GenerateShimsAssetsInput Include="@(_ApphostsForShimRuntimeIdentifiers)"/> + <_GenerateShimsAssetsInput Include="$(_ShimCreatedSentinelFile)"/> + <_GenerateShimsAssetsInput Include="$(ProjectAssetsFile)"/> + + <_GenerateShimsAssetsInputCacheToHash Include="$(PackageId)"/> + <_GenerateShimsAssetsInputCacheToHash Include="$(Version)"/> + <_GenerateShimsAssetsInputCacheToHash Include="$(NuGetTargetMoniker)"/> + <_GenerateShimsAssetsInputCacheToHash Include="$(ToolCommandName)"/> + <_GenerateShimsAssetsInputCacheToHash Include="$(ToolEntryPoint)"/> + <_GenerateShimsAssetsInputCacheToHash Include="$(PackAsToolShimRuntimeIdentifiers)"/> + </ItemGroup> + + <Hash ItemsToHash="@(_GenerateShimsAssetsInputCacheToHash)"> + <Output TaskParameter="HashResult" PropertyName="_GenerateShimsAssetsInputCacheHash" /> + </Hash> + + <WriteLinesToFile Lines="$(_GenerateShimsAssetsInputCacheHash)" File="$(_ShimInputCacheFile)" Overwrite="True" WriteOnlyWhenDifferent="True" /> + + <ItemGroup> + <FileWrites Include="$(_ShimInputCacheFile)" /> + </ItemGroup> + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PreserveCompilationContext.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PreserveCompilationContext.targets new file mode 100644 index 0000000000..99e5bf241e --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.PreserveCompilationContext.targets @@ -0,0 +1,102 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.PreserveCompilationContext.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <RefAssembliesFolderName Condition="'$(RefAssembliesFolderName)' == ''">refs</RefAssembliesFolderName> + + <PreserveCompilationReferences Condition=" '$(PreserveCompilationReferences)' == ''">$(PreserveCompilationContext)</PreserveCompilationReferences> + </PropertyGroup> + + <Target Name="ComputeDependencyFileCompilerOptions" + Condition="'$(PreserveCompilationContext)' == 'true'" + BeforeTargets="GenerateBuildDependencyFile; + GeneratePublishDependencyFile"> + + <ItemGroup> + <DependencyFileCompilerOptions Include="CompilerOptions"> + <DefineConstants>$(DefineConstants)</DefineConstants> + <LangVersion>$(LangVersion)</LangVersion> + <PlatformTarget>$(PlatformTarget)</PlatformTarget> + <AllowUnsafeBlocks>$(AllowUnsafeBlocks)</AllowUnsafeBlocks> + <TreatWarningsAsErrors>$(TreatWarningsAsErrors)</TreatWarningsAsErrors> + <Optimize>$(Optimize)</Optimize> + <AssemblyOriginatorKeyFile>$(AssemblyOriginatorKeyFile)</AssemblyOriginatorKeyFile> + <DelaySign>$(DelaySign)</DelaySign> + <PublicSign>$(DelaySign)</PublicSign> + <DebugType>$(DebugType)</DebugType> + <OutputType>$(OutputType)</OutputType> + <GenerateDocumentationFile>$(GenerateDocumentationFile)</GenerateDocumentationFile> + </DependencyFileCompilerOptions> + </ItemGroup> + + </Target> + + <UsingTask TaskName="FindItemsFromPackages" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="ComputeRefAssembliesToPublish" + Condition="'$(PreserveCompilationReferences)' == 'true'" + DependsOnTargets="ResolvePackageAssets; + _ParseTargetManifestFiles"> + + <FindItemsFromPackages Items="@(RuntimeCopyLocalItems)" + Packages="@(RuntimeStorePackages)"> + <Output TaskParameter="ItemsFromPackages" ItemName="_RuntimeItemsInRuntimeStore"/> + </FindItemsFromPackages> + + <ItemGroup> + <!-- + Don't copy a compilation assembly if it's also a runtime assembly. There is no need to copy the same + assembly to the 'refs' folder, if it is already in the publish directory. + --> + <_RefAssembliesToExclude Include="@(_ResolvedCopyLocalPublishAssets->'%(FullPath)')" /> + <!-- + Similarly, don't copy a compilation assembly if it's also a runtime assembly that is in a runtime store. + It will be resolved from the runtime store directory at runtime. + --> + <_RefAssembliesToExclude Include="@(_RuntimeItemsInRuntimeStore)" /> + + <ResolvedFileToPublish Include="@(ReferencePath)" Exclude="@(_RefAssembliesToExclude)"> + <RelativePath>$(RefAssembliesFolderName)\%(Filename)%(Extension)</RelativePath> + </ResolvedFileToPublish> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + _CopyReferenceOnlyAssembliesForBuild + + Copies reference assemblies that normally can't be resolved at runtime to the 'refs' folder in the build output. + This is necessary in order for the running app to resolve these reference assemblies. + ============================================================ + --> + <Target Name="_CopyReferenceOnlyAssembliesForBuild" + Condition="'$(PreserveCompilationReferences)' == 'true'" + DependsOnTargets="_ComputeReferenceAssemblies" + AfterTargets="CopyFilesToOutputDirectory"> + + <Copy SourceFiles="@(_ReferenceOnlyAssemblies)" + DestinationFolder="$(OutDir)$(RefAssembliesFolderName)" + SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" + UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)"> + + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + + </Copy> + + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets new file mode 100644 index 0000000000..b918c2bda2 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets @@ -0,0 +1,1021 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Publish.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <DefaultCopyToPublishDirectoryMetadata Condition="'$(DefaultCopyToPublishDirectoryMetadata)' == ''">true</DefaultCopyToPublishDirectoryMetadata> + <_GetChildProjectCopyToPublishDirectoryItems Condition="'$(_GetChildProjectCopyToPublishDirectoryItems)' == ''">true</_GetChildProjectCopyToPublishDirectoryItems> + + <IsPublishable Condition="'$(IsPublishable)'==''">true</IsPublishable> + </PropertyGroup> + + <ItemDefinitionGroup> + <ResolvedFileToPublish> + <CopyToPublishDirectory>Always</CopyToPublishDirectory> + </ResolvedFileToPublish> + </ItemDefinitionGroup> + + <!-- + ============================================================ + Publish + + The main publish entry point. + ============================================================ + --> + + <PropertyGroup> + <!-- We still need to resolve references even if we are not building during publish. --> + <!-- BuildOnlySettings are required for RAR to find satellites and dependencies --> + <_BeforePublishNoBuildTargets> + BuildOnlySettings; + _PreventProjectReferencesFromBuilding; + ResolveReferences; + PrepareResourceNames; + ComputeIntermediateSatelliteAssemblies; + ComputeEmbeddedApphostPaths; + </_BeforePublishNoBuildTargets> + + <_CorePublishTargets> + PrepareForPublish; + ComputeAndCopyFilesToPublishDirectory; + GeneratePublishDependencyFile; + BundlePublishDirectory; + </_CorePublishTargets> + + <_PublishNoBuildAlternativeDependsOn>$(_BeforePublishNoBuildTargets);$(_CorePublishTargets)</_PublishNoBuildAlternativeDependsOn> + </PropertyGroup> + + <Target Name="_PublishBuildAlternative" + Condition="'$(NoBuild)' != 'true'" + DependsOnTargets="Build;$(_CorePublishTargets)" /> + + <Target Name="_PublishNoBuildAlternative" + Condition="'$(NoBuild)' == 'true'" + DependsOnTargets="$(_PublishNoBuildAlternativeDependsOn)" /> + + <Target Name="Publish" + Condition="$(IsPublishable) == 'true'" + DependsOnTargets="_PublishBuildAlternative;_PublishNoBuildAlternative" > + + <!-- Ensure there is minimal verbosity output pointing to the publish directory and not just the + build step's minimal output. Otherwise there is no indication at minimal verbosity of where + the published assets were copied. --> + <Message Importance="High" Text="$(MSBuildProjectName) -> $([System.IO.Path]::GetFullPath('$(PublishDir)'))" /> + </Target> + + <!-- Don't let project reference resolution build project references in NoBuild case. --> + <Target Name="_PreventProjectReferencesFromBuilding"> + <PropertyGroup> + <BuildProjectReferences>false</BuildProjectReferences> + </PropertyGroup> + </Target> + + <!-- + ============================================================ + PrepareForPublish + + Prepare the prerequisites for publishing. + ============================================================ + --> + <Target Name="PrepareForPublish"> + + <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And '$(_IsExecutable)' != 'true'" + ResourceName="CannotHaveSingleFileWithoutExecutable" /> + + <NETSdkWarning Condition="'$(PublishReadyToRun)' == 'true' And '$(_IsExecutable)' != 'true'" + ResourceName="CannotCreateReadyToRunImagesForLibProjects" /> + + <PropertyGroup> + <!-- Ensure any PublishDir has a trailing slash, so it can be concatenated --> + <PublishDir Condition="!HasTrailingSlash('$(PublishDir)')">$(PublishDir)\</PublishDir> + </PropertyGroup> + + <MakeDir Directories="$(PublishDir)" /> + + </Target> + + <!-- + ============================================================ + ComputeAndCopyFilesToPublishDirectory + + Computes the list of all files to copy to the publish directory and then publishes them. + ============================================================ + --> + <Target Name="ComputeAndCopyFilesToPublishDirectory" + DependsOnTargets="ComputeFilesToPublish; + CopyFilesToPublishDirectory" /> + + <!-- + ============================================================ + CopyFilesToPublishDirectory + + Copy all build outputs, satellites and other necessary files to the publish directory. + When publishing to a single file, only those files that are not bundled are copied. + The remaining files are directly written to the bundle file. + ============================================================ + --> + <Target Name="CopyFilesToPublishDirectory" + DependsOnTargets="_CopyResolvedFilesToPublishPreserveNewest; + _CopyResolvedFilesToPublishAlways" /> + + <!-- + ============================================================ + _CopyResolvedFilesToPublishPreserveNewest + + Copy _ResolvedFileToPublishPreserveNewest items to the publish directory + (except files that will be bundled, during PublishSingleFile). + ============================================================ + --> + <Target Name="_CopyResolvedFilesToPublishPreserveNewest" + DependsOnTargets="_ComputeResolvedFilesToPublishTypes" + Inputs="@(_ResolvedFileToPublishPreserveNewest)" + Outputs="@(_ResolvedFileToPublishPreserveNewest->'$(PublishDir)%(RelativePath)')"> + + <ItemGroup> + <_ResolvedUnbundledFileToPublishPreserveNewest + Include="@(_ResolvedFileToPublishPreserveNewest)" + Condition="'$(PublishSingleFile)' != 'true' or + '%(_ResolvedFileToPublishPreserveNewest.ExcludeFromSingleFile)'=='true'" /> + </ItemGroup> + + <!-- + PreserveNewest means that we will only copy the source to the destination if the source is newer. + SkipUnchangedFiles is not used for that purpose because it will copy if the source and destination + differ by size too. Instead, this target uses inputs and outputs to only copy when the source is newer. + --> + <Copy SourceFiles = "@(_ResolvedUnbundledFileToPublishPreserveNewest)" + DestinationFiles="@(_ResolvedUnbundledFileToPublishPreserveNewest->'$(PublishDir)%(RelativePath)')" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" + UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)"> + + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + + </Copy> + + </Target> + + <!-- + ============================================================ + _CopyResolvedFilesToPublishAlways + + Copy _ResolvedFileToPublishAlways items to the publish directory + (except files that will be bundled, during PublishSingleFile). + ============================================================ + --> + <Target Name="_CopyResolvedFilesToPublishAlways" + DependsOnTargets="_ComputeResolvedFilesToPublishTypes"> + + <ItemGroup> + <_ResolvedUnbundledFileToPublishAlways + Include="@(_ResolvedFileToPublishAlways)" + Condition="'$(PublishSingleFile)' != 'true' or + '%(_ResolvedFileToPublishAlways.ExcludeFromSingleFile)'=='true'" /> + </ItemGroup> + + <!-- + Use SkipUnchangedFiles to prevent unnecessary file copies. The copy will occur if the + destination doesn't exist, the source is newer than the destination, or if the source and + destination differ by file size. + --> + <Copy SourceFiles = "@(_ResolvedUnbundledFileToPublishAlways)" + DestinationFiles="@(_ResolvedUnbundledFileToPublishAlways->'$(PublishDir)%(RelativePath)')" + SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" + OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" + UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)"> + + <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> + + </Copy> + </Target> + + <!-- + ============================================================ + CreateReadyToRunImages + + Create ReadyToRun images for managed assemblies in _ResolvedFileToPublishAlways and _ResolvedFileToPublishPreserveNewest. + ============================================================ + --> + <Target Name="CreateReadyToRunImages" + Condition="'$(_TargetFrameworkVersionWithoutV)' >= '3.0' And '$(PublishReadyToRun)' == 'true' And '$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_IsExecutable)' == 'true'" + DependsOnTargets="_PrepareForReadyToRunCompilation; + _CreateR2RImages; + _CreateR2RSymbols"> + + <NETSdkError Condition="'@(_ReadyToRunCompilationFailures)' != ''" ResourceName="ReadyToRunCompilationFailed" /> + + <NETSdkInformation Condition="'$(_ReadyToRunCompilerHasWarnings)' != ''" ResourceName="ReadyToRunCompilationHasWarnings_Info" /> + + <ItemGroup> + <!-- + Note: we only remove the entries for the IL images and replace them with the entries for the R2R images. + We do not do the same for PDBs, because the native PDBs created by the R2R compiler complement the IL PDBs + and do not replace them. IL PDBs are still required for debugging. Native PDBs emitted by the R2R compiler are + only used for profiling purposes. + --> + <ResolvedFileToPublish Remove="@(_ReadyToRunCompileList)" /> + <ResolvedFileToPublish Include="@(_ReadyToRunFilesToPublish)" /> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + _PrepareForReadyToRunCompilation + + Prepare build for ReadyToRun compilations. Builds list of assemblies to compile, and computes paths to ReadyToRun compiler bits + ============================================================ + --> + <UsingTask TaskName="PrepareForReadyToRunCompilation" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="_PrepareForReadyToRunCompilation" DependsOnTargets="_ComputeManagedRuntimePackAssemblies;_ComputeAssembliesToPostprocessOnPublish"> + + <PropertyGroup> + <_ReadyToRunOutputPath>$(IntermediateOutputPath)R2R</_ReadyToRunOutputPath> + </PropertyGroup> + + <MakeDir Directories="$(_ReadyToRunOutputPath)" /> + + <ItemGroup> + <_ReadyToRunImplementationAssemblies Include="@(ResolvedFileToPublish->WithMetadataValue('PostprocessAssembly', 'true'))" /> + </ItemGroup> + + <!-- Even if app is not self-contained, crossgen requires closure of implementation assemblies. Resolve conflicts + of the runtime pack assets as though we were copying them locally, and add them to the R2R implementation + assembly list. --> + <ItemGroup Condition="'$(SelfContained)' != 'true'"> + <_ReadyToRunImplementationAssemblies Include="@(_ManagedRuntimePackAssembly)" ReferenceOnly="true" /> + </ItemGroup> + + <ResolvePackageFileConflicts Condition="'$(SelfContained)' != 'true'" + ReferenceCopyLocalPaths="@(_ReadyToRunImplementationAssemblies)"> + <Output TaskParameter="ReferenceCopyLocalPathsWithoutConflicts" ItemName="_ReadyToRunImplementationAssembliesWithoutConflicts" /> + </ResolvePackageFileConflicts> + + <ItemGroup Condition="'$(SelfContained)' != 'true'"> + <_ReadyToRunImplementationAssemblies Remove="@(_ReadyToRunImplementationAssemblies)" /> + <_ReadyToRunImplementationAssemblies Include="@(_ReadyToRunImplementationAssembliesWithoutConflicts)" /> + </ItemGroup> + + <PrepareForReadyToRunCompilation RuntimePacks="@(ResolvedRuntimePack)" + TargetingPacks="@(ResolvedTargetingPack)" + RuntimeGraphPath="$(BundledRuntimeIdentifierGraphFile)" + NETCoreSdkRuntimeIdentifier="$(NETCoreSdkRuntimeIdentifier)" + OutputPath="$(_ReadyToRunOutputPath)" + Assemblies="@(_ReadyToRunImplementationAssemblies)" + ExcludeList="@(PublishReadyToRunExclude)" + EmitSymbols="$(PublishReadyToRunEmitSymbols)" + IncludeSymbolsInSingleFile="$(IncludeSymbolsInSingleFile)"> + + <Output TaskParameter="CrossgenTool" ItemName="_CrossgenTool" /> + + <Output TaskParameter="ReadyToRunCompileList" ItemName="_ReadyToRunCompileList" /> + <Output TaskParameter="ReadyToRunSymbolsCompileList" ItemName="_ReadyToRunSymbolsCompileList" /> + + <Output TaskParameter="ReadyToRunFilesToPublish" ItemName="_ReadyToRunFilesToPublish" /> + <Output TaskParameter="ReadyToRunAssembliesToReference" ItemName="_ReadyToRunAssembliesToReference" /> + + </PrepareForReadyToRunCompilation> + </Target> + + <!-- + ============================================================ + _CreateR2RImages + + Compiles assemblies in the _ReadyToRunCompileList list into ReadyToRun images + ============================================================ + --> + <UsingTask TaskName="RunReadyToRunCompiler" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="_CreateR2RImages" + Inputs="@(_ReadyToRunCompileList)" + Outputs="%(_ReadyToRunCompileList.OutputR2RImage)"> + + <RunReadyToRunCompiler CrossgenTool="@(_CrossgenTool)" + ImplementationAssemblyReferences="@(_ReadyToRunAssembliesToReference)" + ShowCompilerWarnings="$(PublishReadyToRunShowWarnings)" + CompilationEntry="@(_ReadyToRunCompileList)" + ContinueOnError="ErrorAndContinue"> + <Output TaskParameter="ExitCode" PropertyName="_ReadyToRunCompilerExitCode" /> + <Output TaskParameter="WarningsDetected" PropertyName="_ReadyToRunWarningsDetected" /> + </RunReadyToRunCompiler> + + <PropertyGroup> + <!-- Use distinct property here as any of the invocations can set it --> + <_ReadyToRunCompilerHasWarnings Condition="'$(_ReadyToRunWarningsDetected)' == 'true'">true</_ReadyToRunCompilerHasWarnings> + </PropertyGroup> + + <ItemGroup> + <_ReadyToRunCompilationFailures Condition="'$(_ReadyToRunCompilerExitCode)' != '' And $(_ReadyToRunCompilerExitCode) != 0" + Include="@(_ReadyToRunCompileList)" /> + </ItemGroup> + </Target> + + <!-- + ============================================================ + _CreateR2RSymbols + + Emit native symbols for ReadyToRun images in the _ReadyToRunSymbolsCompileList list + ============================================================ + --> + <Target Name="_CreateR2RSymbols" + Inputs="@(_ReadyToRunSymbolsCompileList)" + Outputs="%(_ReadyToRunSymbolsCompileList.OutputPDBImage)"> + + <RunReadyToRunCompiler CrossgenTool="@(_CrossgenTool)" + ImplementationAssemblyReferences="@(_ReadyToRunAssembliesToReference)" + ShowCompilerWarnings="$(PublishReadyToRunShowWarnings)" + CompilationEntry="@(_ReadyToRunSymbolsCompileList)" + ContinueOnError="ErrorAndContinue"> + <Output TaskParameter="ExitCode" PropertyName="_ReadyToRunCompilerExitCode" /> + <Output TaskParameter="WarningsDetected" PropertyName="_ReadyToRunWarningsDetected" /> + </RunReadyToRunCompiler> + + <PropertyGroup> + <!-- Use distinct property here as any of the invocations can set it --> + <_ReadyToRunCompilerHasWarnings Condition="'$(_ReadyToRunWarningsDetected)' == 'true'">true</_ReadyToRunCompilerHasWarnings> + </PropertyGroup> + + <ItemGroup> + <_ReadyToRunCompilationFailures Condition="'$(_ReadyToRunCompilerExitCode)' != '' And $(_ReadyToRunCompilerExitCode) != 0" + Include="@(_ReadyToRunSymbolsCompileList)" /> + </ItemGroup> + </Target> + + <!-- + ============================================================ + _ComputeResolvedFilesToPublishTypes + + Splits ResolvedFileToPublish items into 'PreserveNewest' and 'Always' buckets. + ============================================================ + --> + <Target Name="_ComputeResolvedFilesToPublishTypes"> + <ItemGroup> + + <_ResolvedFileToPublishPreserveNewest Include="@(ResolvedFileToPublish)" + Condition="'%(ResolvedFileToPublish.CopyToPublishDirectory)'=='PreserveNewest'" /> + + <_ResolvedFileToPublishAlways Include="@(ResolvedFileToPublish)" + Condition="'%(ResolvedFileToPublish.CopyToPublishDirectory)'=='Always'" /> + </ItemGroup> + </Target> + + <!-- + ============================================================ + ComputeFilesToPublish + + Gathers all the files that need to be copied to the publish directory, including R2R and ILLinker transformations + ============================================================ + --> + <Target Name="ComputeFilesToPublish" + DependsOnTargets="ComputeResolvedFilesToPublishList; + ILLink; + CreateReadyToRunImages"> + </Target> + + <PropertyGroup> + <CopyBuildOutputToPublishDirectory Condition="'$(CopyBuildOutputToPublishDirectory)'==''">true</CopyBuildOutputToPublishDirectory> + <CopyOutputSymbolsToPublishDirectory Condition="'$(CopyOutputSymbolsToPublishDirectory)'==''">true</CopyOutputSymbolsToPublishDirectory> + <IncludeSymbolsInSingleFile Condition="'$(IncludeSymbolsInSingleFile)' == ''">false</IncludeSymbolsInSingleFile> + </PropertyGroup> + + <!-- + ============================================================ + ComputeResolvedFilesToPublishList + + Gathers all the files that need to be copied to the publish directory. + ============================================================ + --> + <Target Name="ComputeResolvedFilesToPublishList" + DependsOnTargets="_ComputeResolvedCopyLocalPublishAssets; + _ComputeCopyToPublishDirectoryItems; + ComputeRefAssembliesToPublish"> + <ItemGroup> + <!-- Copy the build product (.dll or .exe). --> + <ResolvedFileToPublish Include="@(IntermediateAssembly)" + Condition="'$(CopyBuildOutputToPublishDirectory)' == 'true'"> + <RelativePath>@(IntermediateAssembly->'%(Filename)%(Extension)')</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </ResolvedFileToPublish> + + <!-- Copy the deps file if using the build deps file. --> + <ResolvedFileToPublish Include="$(ProjectDepsFilePath)" + Condition="'$(GenerateDependencyFile)' == 'true' and '$(_UseBuildDependencyFile)' == 'true'"> + <RelativePath>$(ProjectDepsFileName)</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </ResolvedFileToPublish> + + <!-- Copy the runtime config file. --> + <ResolvedFileToPublish Include="$(ProjectRuntimeConfigFilePath)" + Condition="'$(GenerateRuntimeConfigurationFiles)' == 'true'"> + <RelativePath>$(ProjectRuntimeConfigFileName)</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </ResolvedFileToPublish> + + <!-- Copy the app.config (if any) --> + <ResolvedFileToPublish Include="@(AppConfigWithTargetPath)" + Condition="'$(CopyBuildOutputToPublishDirectory)' == 'true'"> + <RelativePath>@(AppConfigWithTargetPath->'%(TargetPath)')</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </ResolvedFileToPublish> + + <!-- Copy the debug information file (.pdb), if any --> + <ResolvedFileToPublish Include="@(_DebugSymbolsIntermediatePath)" + Condition="'$(_DebugSymbolsProduced)'=='true' and '$(CopyOutputSymbolsToPublishDirectory)'=='true'"> + <RelativePath>@(_DebugSymbolsIntermediatePath->'%(Filename)%(Extension)')</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + <ExcludeFromSingleFile Condition="'$(IncludeSymbolsInSingleFile)'!='true'">true</ExcludeFromSingleFile> + </ResolvedFileToPublish> + + <!-- Copy satellite assemblies. --> + <ResolvedFileToPublish Include="@(IntermediateSatelliteAssembliesWithTargetPath)"> + <RelativePath>%(IntermediateSatelliteAssembliesWithTargetPath.Culture)\%(Filename)%(Extension)</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </ResolvedFileToPublish> + + <!-- Copy the resolved copy local publish assets. --> + <ResolvedFileToPublish Include="@(_ResolvedCopyLocalPublishAssets)"> + <RelativePath>%(_ResolvedCopyLocalPublishAssets.DestinationSubDirectory)%(Filename)%(Extension)</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </ResolvedFileToPublish> + + <!-- Copy the xml documentation (if enabled) --> + <ResolvedFileToPublish Include="@(FinalDocFile)" + Condition="'$(PublishDocumentationFile)' == 'true'"> + <RelativePath>@(FinalDocFile->'%(Filename)%(Extension)')</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </ResolvedFileToPublish> + + <!-- Copy all PackAsTool shims (if any) --> + <ResolvedFileToPublish Include="@(_EmbeddedApphostPaths)"> + <RelativePath>shims/%(_EmbeddedApphostPaths.ShimRuntimeIdentifier)/%(_EmbeddedApphostPaths.Filename)%(_EmbeddedApphostPaths.Extension)</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </ResolvedFileToPublish> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + _ResolveCopyLocalAssetsForPublish + Resolves the assets from packages to copy locally for publish. + We can just use the build's copy local assets if we can reuse the build deps file. + ============================================================ + --> + <UsingTask TaskName="ResolveCopyLocalAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="_ResolveCopyLocalAssetsForPublish" + DependsOnTargets="ResolveLockFileCopyLocalFiles; + _ComputeUseBuildDependencyFile; + _DefaultMicrosoftNETPlatformLibrary; + ResolveRuntimePackAssets; + _ComputePackageReferencePublish"> + + <!-- For future: Delete ResolveCopyLocalAssets task. Need to figure out how to get correct DestinationSubPath for + PreserveStoreLayout without this task, and how to handle RuntimeStorePackages. --> + <ResolveCopyLocalAssets AssetsFilePath="$(ProjectAssetsFile)" + TargetFramework="$(TargetFrameworkMoniker)" + RuntimeIdentifier="$(RuntimeIdentifier)" + PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" + RuntimeFrameworks="@(RuntimeFramework)" + ExcludedPackageReferences="@(_ExcludeFromPublishPackageReference)" + RuntimeStorePackages="@(RuntimeStorePackages)" + PreserveStoreLayout="$(PreserveStoreLayout)" + ResolveRuntimeTargets="$(CopyLocalRuntimeTargetAssets)" + IsSelfContained="$(SelfContained)" + Condition="'$(PreserveStoreLayout)' == 'true' Or '@(RuntimeStorePackages)' != ''"> + <Output TaskParameter="ResolvedAssets" ItemName="_ResolvedCopyLocalPublishAssets" /> + </ResolveCopyLocalAssets> + + + <ItemGroup> + <_ResolvedCopyLocalPublishAssets Include="@(RuntimePackAsset)" Condition="'$(SelfContained)' == 'true'" /> + </ItemGroup> + + <ItemGroup Condition="'$(_UseBuildDependencyFile)' != 'true'"> + <!-- Remove the apphost executable from publish copy local assets; we will copy the generated apphost instead --> + <_ResolvedCopyLocalPublishAssets Remove="@(_NativeRestoredAppHostNETCore)" /> + </ItemGroup> + + <ItemGroup Condition="'$(PreserveStoreLayout)' != 'true' And '@(RuntimeStorePackages)' == ''"> + <_ResolvedCopyLocalPublishAssets Include="@(_ResolvedCopyLocalBuildAssets)" + Condition="'%(_ResolvedCopyLocalBuildAssets.CopyToPublishDirectory)' != 'false' "/> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + _ParseTargetManifestFiles + Parses the $(TargetManifestFiles) which contains a list of files into @(RuntimeStorePackages) items + which describes which packages should be excluded from publish since they are contained in the runtime store. + ============================================================ + --> + <UsingTask TaskName="ParseTargetManifests" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="_ParseTargetManifestFiles" + Condition="'$(TargetManifestFiles)' != ''" + Returns="@(RuntimeStorePackages)"> + + <ParseTargetManifests TargetManifestFiles="$(TargetManifestFiles)"> + <Output TaskParameter="RuntimeStorePackages" ItemName="RuntimeStorePackages"/> + </ParseTargetManifests> + + </Target> + + <!-- + ============================================================ + _FilterSatelliteResourcesForPublish + Filters the resolved resource assets for build to the given resource languages. + ============================================================ + --> + <Target Name="_FilterSatelliteResourcesForPublish" + Condition="'$(SatelliteResourceLanguages)' != ''"> + + <ItemGroup> + <_PublishSatelliteResources Include="@(_ResolvedCopyLocalPublishAssets)" + Condition="'%(_ResolvedCopyLocalPublishAssets.AssetType)' == 'resources'" /> + </ItemGroup> + + <JoinItems Left="@(_PublishSatelliteResources)" LeftKey="Culture" LeftMetadata="*" + Right="$(SatelliteResourceLanguages)" RightKey="" RightMetadata="" + ItemSpecToUse="Left"> + <Output TaskParameter="JoinResult" ItemName="_FilteredPublishSatelliteResources" /> + </JoinItems> + + <ItemGroup Condition="'@(_PublishSatelliteResources)' != ''"> + <_ResolvedCopyLocalPublishAssets Remove="@(_PublishSatelliteResources)" /> + <_ResolvedCopyLocalPublishAssets Include="@(_FilteredPublishSatelliteResources)" /> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + _ComputeResolvedCopyLocalPublishAssets + Computes the files from both project and package references. + ============================================================ + --> + <Target Name="_ComputeResolvedCopyLocalPublishAssets" + DependsOnTargets="_ResolveCopyLocalAssetsForPublish; + _FilterSatelliteResourcesForPublish"> + + <ItemGroup> + <_ResolvedCopyLocalPublishAssets Include="@(ReferenceCopyLocalPaths)" + Exclude="@(_ResolvedCopyLocalBuildAssets);@(RuntimePackAsset)" + Condition="'$(PublishReferencesDocumentationFiles)' == 'true' or '%(ReferenceCopyLocalPaths.Extension)' != '.xml'"> + <DestinationSubPath>%(ReferenceCopyLocalPaths.DestinationSubDirectory)%(ReferenceCopyLocalPaths.Filename)%(ReferenceCopyLocalPaths.Extension)</DestinationSubPath> + </_ResolvedCopyLocalPublishAssets> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + _ComputeCopyToPublishDirectoryItems + ============================================================ + --> + <Target Name="_ComputeCopyToPublishDirectoryItems" + DependsOnTargets="GetCopyToPublishDirectoryItems"> + + <ItemGroup> + <ResolvedFileToPublish Include="@(_SourceItemsToCopyToPublishDirectoryAlways)"> + <RelativePath>%(_SourceItemsToCopyToPublishDirectoryAlways.TargetPath)</RelativePath> + <CopyToPublishDirectory>Always</CopyToPublishDirectory> + <IsKeyOutput Condition="'%(_SourceItemsToCopyToPublishDirectoryAlways.FullPath)' == '$(AppHostIntermediatePath)'">True</IsKeyOutput> + </ResolvedFileToPublish> + + <ResolvedFileToPublish Include="@(_SourceItemsToCopyToPublishDirectory)"> + <RelativePath>%(_SourceItemsToCopyToPublishDirectory.TargetPath)</RelativePath> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + <IsKeyOutput Condition="'%(_SourceItemsToCopyToPublishDirectory.FullPath)' == '$(AppHostIntermediatePath)'">True</IsKeyOutput> + </ResolvedFileToPublish> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + GetCopyToPublishDirectoryItems + + Get all project items that may need to be transferred to the publish directory. + This includes baggage items from transitively referenced projects. It would appear + that this target computes full transitive closure of content items for all referenced + projects; however that is not the case. It only collects the content items from its + immediate children and not children of children. + + See comment on GetCopyToOutputDirectoryItems, from which this logic was taken. + ============================================================ + --> + <Target Name="GetCopyToPublishDirectoryItems" + Returns="@(AllPublishItemsFullPathWithTargetPath)" + KeepDuplicateOutputs=" '$(MSBuildDisableGetCopyToPublishDirectoryItemsOptimization)' == '' " + DependsOnTargets="AssignTargetPaths; + DefaultCopyToPublishDirectoryMetadata; + _SplitProjectReferencesByFileExistence; + _GetProjectReferenceTargetFrameworkProperties"> + + + <!-- In the general case, clients need very little of the metadata which is generated by invoking this target on this project and its children. For those + cases, we can immediately discard the unwanted metadata, reducing memory usage, particularly in very large and interconnected systems of projects. + However, if some client does require the original functionality, it is sufficient to set MSBuildDisableGetCopyToPublishDirectoryItemsOptimization to + a non-empty value and the original behavior will be restored. --> + <PropertyGroup Condition=" '$(MSBuildDisableGetCopyToPublishDirectoryItemsOptimization)' == '' "> + <_GCTPDIKeepDuplicates>false</_GCTPDIKeepDuplicates> + <_GCTPDIKeepMetadata>CopyToPublishDirectory;ExcludeFromSingleFile;TargetPath</_GCTPDIKeepMetadata> + </PropertyGroup> + + <!-- Get items from child projects first. --> + <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" + Targets="GetCopyToPublishDirectoryItems" + BuildInParallel="$(BuildInParallel)" + Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" + Condition="'@(_MSBuildProjectReferenceExistent)' != '' and '$(_GetChildProjectCopyToPublishDirectoryItems)' == 'true' and '%(_MSBuildProjectReferenceExistent.Private)' != 'false'" + ContinueOnError="$(ContinueOnError)" + RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)"> + + <Output TaskParameter="TargetOutputs" ItemName="_AllChildProjectPublishItemsWithTargetPath"/> + + </MSBuild> + + <!-- Target outputs must be full paths because they will be consumed by a different project. --> + <ItemGroup> + <_SourceItemsToCopyToPublishDirectoryAlways KeepDuplicates=" '$(_GCTPDIKeepDuplicates)' != 'false' " + KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(_AllChildProjectPublishItemsWithTargetPath->'%(FullPath)')" + Condition="'%(_AllChildProjectPublishItemsWithTargetPath.CopyToPublishDirectory)'=='Always'"/> + + <_SourceItemsToCopyToPublishDirectory KeepDuplicates=" '$(_GCTPDIKeepDuplicates)' != 'false' " + KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(_AllChildProjectPublishItemsWithTargetPath->'%(FullPath)')" + Condition="'%(_AllChildProjectPublishItemsWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'"/> + </ItemGroup> + + <!-- Remove items which we will never again use - they just sit around taking up memory otherwise --> + <ItemGroup> + <_AllChildProjectPublishItemsWithTargetPath Remove="@(_AllChildProjectPublishItemsWithTargetPath)"/> + </ItemGroup> + + <!-- Get items from this project last so that they will be copied last. --> + <ItemGroup> + <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(ContentWithTargetPath->'%(FullPath)')" + Condition="'%(ContentWithTargetPath.CopyToPublishDirectory)'=='Always'"/> + <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(ContentWithTargetPath->'%(FullPath)')" + Condition="'%(ContentWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'"/> + </ItemGroup> + + <ItemGroup> + <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(EmbeddedResource->'%(FullPath)')" + Condition="'%(EmbeddedResource.CopyToPublishDirectory)'=='Always'"/> + <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(EmbeddedResource->'%(FullPath)')" + Condition="'%(EmbeddedResource.CopyToPublishDirectory)'=='PreserveNewest'"/> + </ItemGroup> + + <ItemGroup> + <_CompileItemsToPublish Include="@(Compile->'%(FullPath)')" + Condition="'%(Compile.CopyToPublishDirectory)'=='Always' or '%(Compile.CopyToPublishDirectory)'=='PreserveNewest'"/> + </ItemGroup> + + <AssignTargetPath Files="@(_CompileItemsToPublish)" RootFolder="$(MSBuildProjectDirectory)"> + <Output TaskParameter="AssignedFiles" ItemName="_CompileItemsToPublishWithTargetPath" /> + </AssignTargetPath> + + <ItemGroup> + <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(_CompileItemsToPublishWithTargetPath)" + Condition="'%(_CompileItemsToPublishWithTargetPath.CopyToPublishDirectory)'=='Always'"/> + <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(_CompileItemsToPublishWithTargetPath)" + Condition="'%(_CompileItemsToPublishWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'"/> + </ItemGroup> + + <ItemGroup> + <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(_NoneWithTargetPath->'%(FullPath)')" + Condition="'%(_NoneWithTargetPath.CopyToPublishDirectory)'=='Always'"/> + <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" + Include="@(_NoneWithTargetPath->'%(FullPath)')" + Condition="'%(_NoneWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'"/> + </ItemGroup> + + <ItemGroup> + <AllPublishItemsFullPathWithTargetPath Include="@(_SourceItemsToCopyToPublishDirectoryAlways->'%(FullPath)');@(_SourceItemsToCopyToPublishDirectory->'%(FullPath)')"/> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + DefaultCopyToPublishDirectoryMetadata + + If CopyToPublishDirectory isn't set on these items, the value should be taken from CopyToOutputDirectory. + This way, projects can just set "CopyToOutputDirectory = Always/PreserveNewest" and by default the item will be copied + to both the build output and publish directories. + ============================================================ + --> + <Target Name="DefaultCopyToPublishDirectoryMetadata" + DependsOnTargets="AssignTargetPaths" + Condition=" '$(DefaultCopyToPublishDirectoryMetadata)' == 'true' "> + + <ItemGroup> + <ContentWithTargetPath Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always' and '%(ContentWithTargetPath.CopyToPublishDirectory)' == ''"> + <CopyToPublishDirectory>Always</CopyToPublishDirectory> + </ContentWithTargetPath> + <ContentWithTargetPath Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' and '%(ContentWithTargetPath.CopyToPublishDirectory)' == ''"> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </ContentWithTargetPath> + + <EmbeddedResource Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='Always' and '%(EmbeddedResource.CopyToPublishDirectory)' == ''"> + <CopyToPublishDirectory>Always</CopyToPublishDirectory> + </EmbeddedResource> + <EmbeddedResource Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='PreserveNewest' and '%(EmbeddedResource.CopyToPublishDirectory)' == ''"> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </EmbeddedResource> + + <Compile Condition="'%(Compile.CopyToOutputDirectory)'=='Always' and '%(Compile.CopyToPublishDirectory)' == ''"> + <CopyToPublishDirectory>Always</CopyToPublishDirectory> + </Compile> + <Compile Condition="'%(Compile.CopyToOutputDirectory)'=='PreserveNewest' and '%(Compile.CopyToPublishDirectory)' == ''"> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </Compile> + + <_NoneWithTargetPath Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' and '%(_NoneWithTargetPath.CopyToPublishDirectory)' == ''"> + <CopyToPublishDirectory>Always</CopyToPublishDirectory> + </_NoneWithTargetPath> + <_NoneWithTargetPath Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' and '%(_NoneWithTargetPath.CopyToPublishDirectory)' == ''"> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </_NoneWithTargetPath> + + </ItemGroup> + </Target> + + <PropertyGroup Condition="'$(SelfContained)' == 'true'"> + <_ComputeManagedRuntimePackAssembliesIfSelfContained>_ComputeManagedRuntimePackAssemblies</_ComputeManagedRuntimePackAssembliesIfSelfContained> + </PropertyGroup> + + <!-- Determine the managed assembly subset of ResolvedFileToPublish that should be post-processed by linker, and ready to run compilation --> + <Target Name="_ComputeAssembliesToPostprocessOnPublish" + DependsOnTargets="_ComputeUserRuntimeAssemblies;$(_ComputeManagedRuntimePackAssembliesIfSelfContained)"> + + <!-- + Default set of files to post-process correspond to the items that would be designated + as managed runtime assemblies in .deps.json, and published to root of the application. + RuntimeTargets and satellite assemblies are excluded. Currently, both linker and ready + to run require a RID, so there will not be RuntimeTargets. Linker could conceptually + operate without a RID, but would not know how to handle multiple assemblies with same + identity. + --> + <ItemGroup> + <!-- Assemblies from packages --> + <_ManagedRuntimeAssembly Include="@(RuntimeCopyLocalItems)" /> + + <!-- Assemblies from other references --> + <_ManagedRuntimeAssembly Include="@(UserRuntimeAssembly)" /> + + <!-- Assembly produced by this project --> + <_ManagedRuntimeAssembly Include="@(IntermediateAssembly)" /> + </ItemGroup> + + <!-- Assemblies from runtime packs for self-contained apps --> + <ItemGroup Condition="'$(SelfContained)' == 'true'"> + <_ManagedRuntimeAssembly Include="@(_ManagedRuntimePackAssembly)" /> + </ItemGroup> + + <!-- + Match above with ResolvedFileToPublish. Some of above would have been excluded from publish in + various ways and should be excluded from the list of files to postprocess as well. Furthermore, + the metadata must match ResolvedFileToPublish as the tools modify or remove these items in that + list to implement their post-processing. + --> + <JoinItems Left="@(_ManagedRuntimeAssembly)" Right="@(ResolvedFileToPublish)" RightMetadata="*"> + <Output TaskParameter="JoinResult" ItemName="_AssemblyToPostprocessOnPublish" /> + </JoinItems> + + <!-- + Set PostprocessAssembly=true metadata on ResolvedFileToPublish, which will be honored by linker + and crossgen. + + Assemblies injected into ResolvedFileToPublish outside the set above (such as razor views) are + responsible for setting this metadata to opt in to post-processing. + --> + <ItemGroup> + <ResolvedFileToPublish Remove="@(_AssemblyToPostprocessOnPublish)" /> + <ResolvedFileToPublish Include="@(_AssemblyToPostprocessOnPublish)" PostprocessAssembly="true" /> + </ItemGroup> + </Target> + + <Target Name="_ComputeManagedRuntimePackAssemblies" Returns="@(_ManagedRuntimePackAssembly)"> + <ItemGroup> + <!-- Special case for System.Private.Corelib due to https://github.com/dotnet/core-setup/issues/7728 --> + <_ManagedRuntimePackAssembly Include="@(RuntimePackAsset)" + Condition="'%(RuntimePackAsset.AssetType)' == 'runtime' + or '%(RuntimePackAsset.Filename)' == 'System.Private.Corelib'" /> + </ItemGroup> + </Target> + + <Target Name="_ComputeUseBuildDependencyFile" + DependsOnTargets="_ComputePackageReferencePublish; + _ParseTargetManifestFiles"> + <!-- Check to see whether we can re-use the .deps.json file from the build for publish, or whether we have to + generate a different one. --> + <PropertyGroup> + <_UseBuildDependencyFile Condition="'@(_ExcludeFromPublishPackageReference)' == '' and + '@(RuntimeStorePackages)' == '' and + '$(PreserveStoreLayout)' != 'true' and + '$(PublishTrimmed)' != 'true'">true</_UseBuildDependencyFile> + </PropertyGroup> + + </Target> + + <!-- + ============================================================ + BundlePublishDirectory + + Bundle the _ResolvedFileToPublish* items one file in PublishDir + (except those marked ExcludeFromSingleFile) + ============================================================ + --> + <Target Name="_ComputeFilesToBundle" + Condition="'$(PublishSingleFile)' == 'true'"> + + <ItemGroup> + <_FilesToBundle Include="@(_ResolvedFileToPublishPreserveNewest)" + Condition="'%(_ResolvedFileToPublishPreserveNewest.ExcludeFromSingleFile)' != 'true'"/> + <_FilesToBundle Include="@(_ResolvedFileToPublishAlways)" + Condition="'%(_ResolvedFileToPublishAlways.ExcludeFromSingleFile)' != 'true'"/> + </ItemGroup> + + </Target> + + <UsingTask TaskName="GenerateBundle" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="BundlePublishDirectory" + Condition="'$(PublishSingleFile)' == 'true'" + DependsOnTargets="_ComputeFilesToBundle" + Inputs="@(_FilesToBundle)" + Outputs="$(PublishDir)$(AssemblyName)$(_NativeExecutableExtension)"> + + <GenerateBundle FilesToBundle="@(_FilesToBundle)" + AppHostName="$(AssemblyName)$(_NativeExecutableExtension)" + IncludeSymbols="$(IncludeSymbolsInSingleFile)" + OutputDir="$(PublishDir)" + ShowDiagnosticOutput="false"/> + + </Target> + + <!-- + ============================================================ + _GeneratePublishDependencyFile + Generates the $(project).deps.json file for a published app + ============================================================ + --> + <Target Name="GeneratePublishDependencyFile" + DependsOnTargets="_ComputeUseBuildDependencyFile; + _DefaultMicrosoftNETPlatformLibrary; + _HandlePackageFileConflicts; + _HandlePackageFileConflictsForPublish; + _ComputeReferenceAssemblies; + _ComputeUserRuntimeAssemblies; + ResolveRuntimePackAssets; + _ComputePackageReferencePublish" + Condition="'$(GenerateDependencyFile)' == 'true' and '$(_UseBuildDependencyFile)' != 'true'"> + + <PropertyGroup> + <PublishDepsFilePath Condition=" '$(PublishDepsFilePath)' == '' And '$(PublishSingleFile)' != 'true'">$(PublishDir)$(ProjectDepsFileName)</PublishDepsFilePath> + <PublishDepsFilePath Condition=" '$(PublishDepsFilePath)' == '' And '$(PublishSingleFile)' == 'true'">$(IntermediateOutputPath)$(ProjectDepsFileName)</PublishDepsFilePath> + </PropertyGroup> + + <ItemGroup> + <ResolvedCompileFileDefinitions Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' == 'Reference'" /> + <RuntimeTargetsCopyLocalItems Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' != 'Reference'" /> + <RuntimePackAsset Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' != 'Reference'" /> + + <_ResolvedNuGetFilesForPublish Include="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.CopyToPublishDirectory)' != 'false'" /> + <_ResolvedNuGetFilesForPublish Include="@(ResourceCopyLocalItems)" Condition="'%(ResourceCopyLocalItems.CopyToPublishDirectory)' != 'false'" /> + <_ResolvedNuGetFilesForPublish Include="@(RuntimeCopyLocalItems)" Condition="'%(RuntimeCopyLocalItems.CopyToPublishDirectory)' != 'false'" /> + <_ResolvedNuGetFilesForPublish Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' != 'Reference'" /> + </ItemGroup> + + <GenerateDepsFile ProjectPath="$(MSBuildProjectFullPath)" + AssetsFilePath="$(ProjectAssetsFile)" + DepsFilePath="$(PublishDepsFilePath)" + TargetFramework="$(TargetFrameworkMoniker)" + AssemblyName="$(AssemblyName)" + AssemblyExtension="$(TargetExt)" + AssemblyVersion="$(Version)" + AssemblySatelliteAssemblies="@(IntermediateSatelliteAssembliesWithTargetPath)" + ReferencePaths="@(ReferencePath)" + ReferenceDependencyPaths="@(ReferenceDependencyPaths)" + ReferenceSatellitePaths="@(ReferenceSatellitePaths)" + ReferenceAssemblies="@(_ReferenceAssemblies)" + RuntimePackAssets="@(RuntimePackAsset)" + IncludeMainProject="$(IncludeMainProjectInDepsFile)" + RuntimeIdentifier="$(RuntimeIdentifier)" + PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" + RuntimeFrameworks="@(RuntimeFramework)" + CompilerOptions="@(DependencyFileCompilerOptions)" + RuntimeStorePackages="@(RuntimeStorePackages)" + CompileReferences="@(ResolvedCompileFileDefinitions)" + ResolvedNuGetFiles="@(_ResolvedNuGetFilesForPublish)" + ResolvedRuntimeTargetsFiles="@(RuntimeTargetsCopyLocalItems)" + UserRuntimeAssemblies="@(UserRuntimeAssembly)" + IsSelfContained="$(SelfContained)" + IncludeRuntimeFileVersions="$(IncludeFileVersionsInDependencyFile)"/> + + <ItemGroup> + <_FilesToBundle Include="$(PublishDepsFilePath)" Condition="'$(PublishSingleFile)' == 'true'"> + <RelativePath>$(ProjectDepsFileName)</RelativePath> + </_FilesToBundle> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + ComputeEmbeddedApphostPaths + + When no build flag is set, EmbeddedApphostPaths is not available. Compute EmbeddedApphostPaths is required to find build asset. + ============================================================ + --> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetEmbeddedApphostPaths" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="ComputeEmbeddedApphostPaths"> + + <ItemGroup> + <_PackAsToolShimRuntimeIdentifiers Condition="@(_PackAsToolShimRuntimeIdentifiers) ==''" Include="$(PackAsToolShimRuntimeIdentifiers)"/> + </ItemGroup> + + <GetEmbeddedApphostPaths + PackagedShimOutputDirectory="$(PackagedShimOutputRootDirectory)/shims/$(TargetFramework)" + ShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" + ToolCommandName="$(ToolCommandName)" + > + + <Output TaskParameter="EmbeddedApphostPaths" ItemName="_EmbeddedApphostPaths" /> + </GetEmbeddedApphostPaths> + + </Target> + + <!-- + ============================================================ + PublishItemsOutputGroup + + Emit an output group containing all files that get published. This will be consumed by VS installer projects. + ============================================================ + --> + <PropertyGroup> + <PublishItemsOutputGroupDependsOn> + $(PublishItemsOutputGroupDependsOn); + ResolveReferences; + ComputeFilesToPublish; + </PublishItemsOutputGroupDependsOn> + </PropertyGroup> + + <Target Name="PublishItemsOutputGroup" DependsOnTargets="$(PublishItemsOutputGroupDependsOn)" Returns="@(PublishItemsOutputGroupOutputs)"> + <ItemGroup> + <PublishItemsOutputGroupOutputs Condition="'$(GenerateDependencyFile)' == 'true' and '$(_UseBuildDependencyFile)' != 'true'" + Include="$(ProjectDepsFilePath)" + TargetPath="$(ProjectDepsFileName)" /> + <PublishItemsOutputGroupOutputs Include="@(ResolvedFileToPublish->'%(FullPath)')" + TargetPath="%(ResolvedFileToPublish.RelativePath)" + IsKeyOutput="%(ResolvedFileToPublish.IsKeyOutput)" + OutputGroup="PublishItemsOutputGroup" /> + </ItemGroup> + </Target> + + <!-- + This target exists for back-compat with Azure Functions SDK: https://github.com/dotnet/cli/issues/10363 + Because build copy-local now behaves the same as publish with respect to package dependency resolution, + the Azure Functions SDK doesn't need to resolve publish assets for build. + TODO: Remove this target when no longer needed as a workaround. + --> + <Target Name="RunResolvePublishAssemblies" /> + + <!-- + ============================================================ + _CheckForLanguageAndPublishFeatureCombinationSupport + + Block unsupported language and feature combination. + ============================================================ + --> + <Target Name="_CheckForLanguageAndPublishFeatureCombinationSupport" + BeforeTargets="Publish;PrepareForPublish"> + + <NETSdkError Condition="'$(Language)' == 'C++' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" + ResourceName="NoSupportCppPublishDotnetCore" /> + + </Target> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets new file mode 100644 index 0000000000..2a2f130317 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets @@ -0,0 +1,215 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- + .NETFramework cannot load native package dependencies dynamically + based on the current architecture. We have must have a RID to + resolve and copy native dependencies to the output directory. + + When building a .NETFramework 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 .NETFramework application on any host OS + with no native NuGet dependencies. (*) + + 2. Building an x86 or x64 NETFramework 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 + '$(OS)' == 'Windows_NT' and + '$(RuntimeIdentifier)' == ''"> + <_UsingDefaultRuntimeIdentifier>true</_UsingDefaultRuntimeIdentifier> + <RuntimeIdentifier Condition="'$(PlatformTarget)' == 'x64'">win7-x64</RuntimeIdentifier> + <RuntimeIdentifier Condition="'$(PlatformTarget)' == 'x86' or '$(PlatformTarget)' == ''">win7-x86</RuntimeIdentifier> + </PropertyGroup> + + <PropertyGroup Condition="'$(PlatformTarget)' == ''"> + <_UsingDefaultPlatformTarget>true</_UsingDefaultPlatformTarget> + </PropertyGroup> + + <!-- Determine PlatformTarget (if not already set) from runtime identifier. --> + <Choose> + <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> + + <!-- NOTE: PlatformTarget=arm64 is not currently supported and therefore no inference of that here. --> + <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. + --> + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(HasRuntimeOutput)' == 'true'"> + <SelfContained Condition="'$(SelfContained)' == '' and '$(RuntimeIdentifier)' != ''">true</SelfContained> + <SelfContained Condition="'$(SelfContained)' == ''">false</SelfContained> + <UseAppHost Condition="'$(UseAppHost)' == '' and + ('$(SelfContained)' == 'true' or + ('$(RuntimeIdentifier)' != '' and '$(_TargetFrameworkVersionWithoutV)' >= '2.1') or + '$(_TargetFrameworkVersionWithoutV)' >= '3.0')">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')"> + <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'"> + + <NETSdkError Condition="'$(SelfContained)' == 'true' and '$(RuntimeIdentifier)' == ''" + ResourceName="CannotHaveSelfContainedWithoutRuntimeIdentifier" /> + + <NETSdkError Condition="'$(SelfContained)' == 'true' and '$(UseAppHost)' != 'true'" + ResourceName="CannotUseSelfContainedWithoutAppHost" /> + + <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(RuntimeIdentifier)' == ''" + ResourceName="CannotHaveSingleFileWithoutRuntimeIdentifier" /> + + <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(UseAppHost)' != 'true'" + ResourceName="CannotHaveSingleFileWithoutAppHost" /> + + <NETSdkError Condition="'$(SelfContained)' != 'true' and '$(UseAppHost)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' < '2.1'" + ResourceName="FrameworkDependentAppHostRequiresVersion21" /> + + </Target> + + <Target Name="_CheckForMismatchingPlatform" + BeforeTargets="_CheckForInvalidConfigurationAndPlatform" + Condition="'$(RuntimeIdentifier)' != '' and '$(PlatformTarget)' != ''"> + + <NETSdkError Condition="'$(PlatformTarget)' != 'AnyCPU' and !$(RuntimeIdentifier.ToUpperInvariant().Contains($(PlatformTarget.ToUpperInvariant())))" + ResourceName="CannotHaveRuntimeIdentifierPlatformMismatchPlatformTarget" + FormatArguments="$(RuntimeIdentifier);$(PlatformTarget)" /> + + </Target> + + <Target Name="_CheckForLanguageAndFeatureCombinationSupport" + BeforeTargets="_CheckForInvalidConfigurationAndPlatform;ProcessFrameworkReferences"> + + <NETSdkError Condition="'$(Language)' == 'C++' and $(OutputType) != 'library' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" + ResourceName="NoSupportCppNonDynamicLibraryDotnetCore" /> + + <NETSdkError Condition="'$(Language)' == 'C++' and $(EnableComHosting) == 'true'" + ResourceName="NoSupportCppEnableComHosting" /> + + </Target> + + <Target Name="_CheckForNETCoreSdkIsPreview" + BeforeTargets="_CheckForInvalidConfigurationAndPlatform" + Condition=" '$(_NETCoreSdkIsPreview)' == 'true' AND '$(SuppressNETCoreSdkPreviewMessage)' != 'true' "> + <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'"> + <!-- 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'"> + <IntermediateOutputPath>$(IntermediateOutputPath)$(RuntimeIdentifier)\</IntermediateOutputPath> + <OutputPath>$(OutputPath)$(RuntimeIdentifier)\</OutputPath> + </PropertyGroup> + + <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetDefaultPlatformTargetForNetFramework" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + + <!-- + 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'"> + + <GetDefaultPlatformTargetForNetFramework PackageDependencies="@(PackageDependencies)" + NativeCopyLocalItems="@(NativeCopyLocalItems)"> + + <Output TaskParameter="DefaultPlatformTarget" PropertyName="PlatformTarget" /> + + </GetDefaultPlatformTargetForNetFramework> + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.BeforeCommon.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.BeforeCommon.targets new file mode 100644 index 0000000000..d1190b5f4b --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.BeforeCommon.targets @@ -0,0 +1,198 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- 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" /> + </ImportGroup> + + <PropertyGroup> + <_IsExecutable Condition="'$(OutputType)' == 'Exe' or '$(OutputType)'=='WinExe'">true</_IsExecutable> + </PropertyGroup> + + <PropertyGroup Condition="'$(HasRuntimeOutput)' == ''"> + <HasRuntimeOutput>$(_IsExecutable)</HasRuntimeOutput> + <_UsingDefaultForHasRuntimeOutput>true</_UsingDefaultForHasRuntimeOutput> + </PropertyGroup> + + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultAssemblyInfo.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'"/> + + <!-- Set default intermediate and output paths --> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultOutputPaths.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'"/> + + <!-- 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'"/> + + <!-- + Expand TargetFramework to TargetFrameworkIdentifier and TargetFrameworkVersion, + and adjust intermediate and output paths to include it. + --> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.TargetFrameworkInference.targets" /> + + <!-- For .NET Framework, reference core assemblies --> + <PropertyGroup> + <_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" /> + + <PropertyGroup Condition="'$(_IsNETCoreOrNETStandard)' == ''"> + <_IsNETCoreOrNETStandard Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">true</_IsNETCoreOrNETStandard> + <_IsNETCoreOrNETStandard Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard'">true</_IsNETCoreOrNETStandard> + </PropertyGroup> + + <!-- Unification / automatic binding redirect logic --> + <PropertyGroup> + <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'"> + <AutoGenerateBindingRedirects Condition="'$(AutoGenerateBindingRedirects)' == ''">true</AutoGenerateBindingRedirects> + </PropertyGroup> + + <!-- Default settings for .NET Core and .NET Standard build logic --> + <PropertyGroup Condition="'$(_IsNETCoreOrNETStandard)' == 'true'"> + <GenerateDependencyFile Condition=" '$(GenerateDependencyFile)' == '' and '$(Language)' != 'C++' ">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> + <GenerateDependencyFile Condition="'$(GenerateDependencyFile)' == ''">$(PreserveCompilationContext)</GenerateDependencyFile> + </PropertyGroup> + + <!-- Set PublishDir here, before Microsoft.Common.targets, to avoid a competing default there. --> + <PropertyGroup> + <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" /> + + <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETFramework'"> + + <_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> + <!-- 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'"> + <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)' != ''"> + <_FrameworkIdentifierForImplicitDefine>$(TargetFrameworkIdentifier.Replace('.', '').ToUpperInvariant())</_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> + </PropertyGroup> + + <!-- Handle XML documentation file settings --> + <PropertyGroup Condition="'$(GenerateDocumentationFile)' == ''"> + <GenerateDocumentationFile Condition="'$(DocumentationFile)' == ''">false</GenerateDocumentationFile> + <GenerateDocumentationFile Condition="'$(DocumentationFile)' != ''">true</GenerateDocumentationFile> + </PropertyGroup> + + <PropertyGroup Condition="'$(GenerateDocumentationFile)' == 'true' and '$(DocumentationFile)' == ''"> + <DocumentationFile Condition="'$(MSBuildProjectExtension)' == '.vbproj'">$(AssemblyName).xml</DocumentationFile> + <DocumentationFile Condition="'$(MSBuildProjectExtension)' != '.vbproj'">$(IntermediateOutputPath)$(AssemblyName).xml</DocumentationFile> + </PropertyGroup> + + <PropertyGroup Condition="'$(GenerateDocumentationFile)' != 'true'"> + <DocumentationFile /> + </PropertyGroup> + + <PropertyGroup> + <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> + <ProjectCapability Include="GenerateDocumentationFile" /> + </ItemGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets new file mode 100644 index 0000000000..62e4e8c3bb --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets @@ -0,0 +1,17 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.BeforeCommonCrossTargeting.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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultAssemblyInfo.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultOutputPaths.targets" /> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CSharp.props b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CSharp.props new file mode 100644 index 0000000000..18634d3152 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CSharp.props @@ -0,0 +1,26 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <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 Condition=" '$(WarningsAsErrors)' == '' ">NU1605</WarningsAsErrors> + </PropertyGroup> + <PropertyGroup> + <DefineConstants Condition=" '$(DefineConstants)' != '' ">$(DefineConstants);</DefineConstants> + <DefineConstants>$(DefineConstants)TRACE</DefineConstants> + </PropertyGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CSharp.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CSharp.targets new file mode 100644 index 0000000000..bb24e8bd8f --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CSharp.targets @@ -0,0 +1,36 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.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. + +Copyright (c) .NET Foundation. All rights reserved. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <AppDesignerFolder Condition="'$(AppDesignerFolder)' == ''">Properties</AppDesignerFolder> + </PropertyGroup> + <PropertyGroup Condition="'$(DisableImplicitConfigurationDefines)' != 'true'"> + <ImplicitConfigurationDefine>$(Configuration.ToUpperInvariant())</ImplicitConfigurationDefine> + + <!-- Replace dashes and periods in the configuration with underscores. This makes it more likely that + the resulting compilation constant will be a valid C# conditional compilation symbol. As the set + of characters that aren't allowed is essentially open-ended, there's probably not a good way to + fully sanitize the Configuration in MSBuild evaluation. If the resulting string still isn't a + valid conditional combilation symbol, then the compiler will generate the following error and + the define will be ignored: + warning MSB3052: The parameter to the compiler is invalid, '/define:0BAD_DEFINE' will be ignored. + --> + + <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace('-', '_'))</ImplicitConfigurationDefine> + <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace('.', '_'))</ImplicitConfigurationDefine> + <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace(' ', '_'))</ImplicitConfigurationDefine> + <DefineConstants>$(DefineConstants);$(ImplicitConfigurationDefine)</DefineConstants> + </PropertyGroup> + <PropertyGroup> + <DefineConstants>$(DefineConstants);$(VersionlessImplicitFrameworkDefine);$(ImplicitFrameworkDefine)</DefineConstants> + </PropertyGroup> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.Common.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.Common.targets new file mode 100644 index 0000000000..ca52decb49 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.Common.targets @@ -0,0 +1,103 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.Common.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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- This file is imported by both cross-targeting and inner builds. Set properties that need to be available to both here. --> + + <PropertyGroup> + <MicrosoftNETBuildTasksDirectoryRoot>$(MSBuildThisFileDirectory)..\tools\</MicrosoftNETBuildTasksDirectoryRoot> + <MicrosoftNETBuildTasksTFM Condition=" '$(MSBuildRuntimeType)' == 'Core'">netcoreapp2.1</MicrosoftNETBuildTasksTFM> + <MicrosoftNETBuildTasksTFM Condition=" '$(MicrosoftNETBuildTasksTFM)' == ''">net472</MicrosoftNETBuildTasksTFM> + <MicrosoftNETBuildTasksDirectory>$(MicrosoftNETBuildTasksDirectoryRoot)$(MicrosoftNETBuildTasksTFM)/</MicrosoftNETBuildTasksDirectory> + <MicrosoftNETBuildTasksAssembly>$(MicrosoftNETBuildTasksDirectory)Microsoft.NET.Build.Tasks.dll</MicrosoftNETBuildTasksAssembly> + + <!-- + Hardcoded list of known implicit packges that are added to project from default SDK targets implicitly. + Should be re-visited when multiple TFM support is added to Dependencies logic. + --> + <DefaultImplicitPackages>Microsoft.NETCore.App;NETStandard.Library</DefaultImplicitPackages> + </PropertyGroup> + + <!-- + Some versions of Microsoft.NET.Test.Sdk.targets change the OutputType after we've set _IsExecutable and + HasRuntimeOutput default in Microsoft.NET.Sdk.BeforeCommon.targets. Refresh these value here for backwards + compatibilty with that. + --> + <PropertyGroup> + <_IsExecutable Condition="'$(OutputType)' == 'Exe' or '$(OutputType)'=='WinExe'">true</_IsExecutable> + <HasRuntimeOutput Condition="'$(_UsingDefaultForHasRuntimeOutput)' == 'true'">$(_IsExecutable)</HasRuntimeOutput> + </PropertyGroup> + + <PropertyGroup Condition="'$(DotnetCliToolTargetFramework)' == ''"> + <!-- Maximum supported target framework for DotnetCliProjectTools is .NET Core 2.2 --> + <DotnetCliToolTargetFramework>netcoreapp2.2</DotnetCliToolTargetFramework> + </PropertyGroup> + + <PropertyGroup> + <IncludeBuildOutput Condition=" '$(PackAsTool)' == 'true' ">false</IncludeBuildOutput> + <PackageType Condition=" '$(PackAsTool)' == 'true' ">DotnetTool</PackageType> + <RuntimeIdentifiers Condition=" '$(PackAsTool)' == 'true' ">$(RuntimeIdentifiers);$(PackAsToolShimRuntimeIdentifiers)</RuntimeIdentifiers> + </PropertyGroup> + + <UsingTask TaskName="GetNearestTargetFramework" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="NETSdkError" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="NETSdkWarning" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="NETSdkInformation" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="ShowPreviewMessage" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- + ============================================================ + GetTargetFrameworkProperties + + Invoked by common targets to return the set of properties + (in the form "key1=value1;...keyN=valueN") needed to build + against the target framework that best matches the referring + project's target framework. + + The referring project's $(TargetFrameworkMoniker) is passed + in as $(ReferringTargetFramework). + + This is in the common targets so that it will apply to both + cross-targeted and single-targeted projects. It is run + for single-targeted projects so that an error will be + generated if the referenced project is not compatible + with the referencing project's target framework. + ============================================================ + --> + <Target Name="GetTargetFrameworkProperties" Returns="TargetFramework=$(NearestTargetFramework);ProjectHasSingleTargetFramework=$(_HasSingleTargetFramework);ProjectIsRidAgnostic=$(_IsRidAgnostic)"> + + <PropertyGroup> + <!-- indicate to caller that project is RID agnostic so that a global property RuntimeIdentifier value can be removed --> + <_IsRidAgnostic>false</_IsRidAgnostic> + <_IsRidAgnostic Condition=" '$(RuntimeIdentifier)' == '' and '$(RuntimeIdentifiers)' == '' ">true</_IsRidAgnostic> + + <!-- If a ReferringTargetFramework was not specified, and we only have one TargetFramework, then don't try to check compatibility --> + <_SkipNearestTargetFrameworkResolution Condition="'$(TargetFramework)' != '' and '$(ReferringTargetFramework)' == ''">true</_SkipNearestTargetFrameworkResolution> + <NearestTargetFramework Condition="'$(_SkipNearestTargetFrameworkResolution)' == 'true'">$(TargetFramework)</NearestTargetFramework> + + <!-- A project can only have more than one output if the current global properties are such that the current build is a cross-targeting one. --> + <_HasSingleTargetFramework Condition="'$(IsCrossTargetingBuild)' != 'true'">true</_HasSingleTargetFramework> + <_HasSingleTargetFramework Condition="'$(_HasSingleTargetFramework)' == ''">false</_HasSingleTargetFramework> + + <_PossibleTargetFrameworks Condition="'$(TargetFramework)' != ''">$(TargetFramework)</_PossibleTargetFrameworks> + <_PossibleTargetFrameworks Condition="'$(TargetFramework)' == ''">$(TargetFrameworks)</_PossibleTargetFrameworks> + </PropertyGroup> + + <GetNearestTargetFramework ReferringTargetFramework="$(ReferringTargetFramework)" + PossibleTargetFrameworks="$(_PossibleTargetFrameworks)" + ProjectFilePath="$(MSBuildProjectFullPath)" + Condition="'$(_SkipNearestTargetFrameworkResolution)' != 'true'"> + <Output PropertyName="NearestTargetFramework" TaskParameter="NearestTargetFramework" /> + </GetNearestTargetFramework> + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CrossTargeting.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CrossTargeting.targets new file mode 100644 index 0000000000..dfe16ff583 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CrossTargeting.targets @@ -0,0 +1,111 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Import Project="Microsoft.NET.Sdk.Common.targets"/> + + <!-- + ============================================================ + Publish + + This is the Publish target for cross-targeting. + Currently it is unsupported to publish for multiple target frameworks + because users can specify the $(PublishDir), and publish would put + multiple published applications in a single directory. + ============================================================ + --> + <Target Name="Publish"> + <Error Text="The 'Publish' target is not supported without specifying a target framework. The current project targets multiple frameworks, please specify the framework for the published application." /> + </Target> + + <!-- + ============================================================ + GetAllRuntimeIdentifiers + + Outer build implementation of GetAllRuntimeIdentifiers returns + a union of all runtime identifiers used across inner and outer + build evaluations. + + It is further set to run before '_GenerateRestoreProjectSpec' + (note that running only 'Restore' is too late and will not work + with solution level restore). This ensures that any conditioning + of runtime identifiers against TargetFramework does not prevent + restore from providing the necessary RID-specific assets for all + inner builds. + + It also brings parity to VS vs. command line behavior in this + scenario because VS passes all of the information from each + configured inner build to restore, whereas command-line restore + without this target would only use the runtime identifiers that + are statically set in the outer evaluation. + ============================================================ + --> + <Target Name="GetAllRuntimeIdentifiers" + Returns="$(RuntimeIdentifiers)" + BeforeTargets="_GenerateRestoreProjectSpec"> + + <ItemGroup> + <_GetAllRuntimeIdentifiersTargetFrameworks Include="$(TargetFrameworks)" /> + <_AllRuntimeIdentifiers Include="$(RuntimeIdentifiers);$(RuntimeIdentifier)" /> + </ItemGroup> + + <MSBuild Projects="$(MSBuildProjectFile)" + Targets="GetAllRuntimeIdentifiers" + Properties="TargetFramework=%(_GetAllRuntimeIdentifiersTargetFrameworks.Identity)"> + <Output ItemName="_AllRuntimeIdentifiers" TaskParameter="TargetOutputs" /> + </MSBuild> + + <PropertyGroup> + <RuntimeIdentifiers>@(_AllRuntimeIdentifiers->Distinct())</RuntimeIdentifiers> + </PropertyGroup> + </Target> + + <!-- + ============================================================ + GetPackagingOutputs + + Stub cross-targeting implementation of GetPackagingOutputs + to allow project references from from projects that pull in + Microsoft.AppxPackage.targets (UWP, PCL) to cross-targeted + projects. + + Ultimately, the appx targets should be modified to use the + same P2P TFM negotiation protocol as Microsoft.Common.targets + so that they can forward to the TFM-specific GetPackagingOutputs + of the appropriate inner build. This stub would not have any + bad interaction with that change, which would happily bypass + this implementation altogether. + + An empty GetPackagingOutputs is sufficient for the common + case of a library with no special assets to contribute to + the appx and is also equivalent to what is present in the + single-targeted case unless WindowsAppContainer is not set + to true. + + Furthermore, the appx targets currently use continue-on-error + such that even without this, clean builds succeed but log an + error and incremental builds silently succeed. As such, this + simply removes a confounding error from successful clean + builds. + + ============================================================ + --> + <Target Name="GetPackagingOutputs" /> + + <!-- This exists as a workaround for https://github.com/Microsoft/msbuild/issues/3558 --> + <PropertyGroup Condition="'$(DefaultProjectTypeGuid)' == ''"> + <DefaultProjectTypeGuid Condition="'$(MSBuildProjectExtension)' == '.csproj'">{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</DefaultProjectTypeGuid> + <DefaultProjectTypeGuid Condition="'$(MSBuildProjectExtension)' == '.vbproj'">{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</DefaultProjectTypeGuid> + <!-- Note: F# sets DefaultProjectTypeGuid in the F# SDK --> + </PropertyGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.DefaultItems.props b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.DefaultItems.props new file mode 100644 index 0000000000..d3fc909c91 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.DefaultItems.props @@ -0,0 +1,80 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup Condition="'$(NETCoreSdkBundledVersionsProps)' == ''"> + <NETCoreSdkBundledVersionsProps>$(MSBuildThisFileDirectory)..\..\..\Microsoft.NETCoreSdk.BundledVersions.props</NETCoreSdkBundledVersionsProps> + </PropertyGroup> + + <Import Project="$(NETCoreSdkBundledVersionsProps)" Condition="Exists('$(NETCoreSdkBundledVersionsProps)')" /> + + <PropertyGroup> + <!-- 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> + <!-- 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' "> + <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' "> + <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'"> + <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'"> + <FrameworkReference Include="NETStandard.Library" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All"/> + </ItemGroup> + + <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'"> + + <!-- 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')"/> + + </ItemGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.DefaultItems.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.DefaultItems.targets new file mode 100644 index 0000000000..b2b7ff203f --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.DefaultItems.targets @@ -0,0 +1,352 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.DefaultItems.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- Don't get the default item globs by default when the flag is not set. --> + <PropertyGroup Condition="'$(UsingNETSdkDefaults)' == 'true'"> + <EnableDefaultItems Condition=" '$(EnableDefaultItems)' == '' ">true</EnableDefaultItems> + <EnableDefaultCompileItems Condition=" '$(EnableDefaultCompileItems)' == '' ">true</EnableDefaultCompileItems> + <EnableDefaultEmbeddedResourceItems Condition=" '$(EnableDefaultEmbeddedResourceItems)' == '' ">true</EnableDefaultEmbeddedResourceItems> + <EnableDefaultNoneItems Condition=" '$(EnableDefaultNoneItems)' == '' ">true</EnableDefaultNoneItems> + </PropertyGroup> + + <PropertyGroup> + <!-- Set DefaultItemExcludes property for items that should be excluded from the default Compile, etc items. + This is in the .targets because it needs to come after the final BaseOutputPath has been evaluated. --> + + <!-- bin folder, by default --> + <DefaultItemExcludes>$(DefaultItemExcludes);$(BaseOutputPath)/**</DefaultItemExcludes> + <!-- obj folder, by default --> + <DefaultItemExcludes>$(DefaultItemExcludes);$(BaseIntermediateOutputPath)/**</DefaultItemExcludes> + + <!-- Various files that should generally always be ignored --> + <DefaultItemExcludes>$(DefaultItemExcludes);**/*.user</DefaultItemExcludes> + <DefaultItemExcludes>$(DefaultItemExcludes);**/*.*proj</DefaultItemExcludes> + <DefaultItemExcludes>$(DefaultItemExcludes);**/*.sln</DefaultItemExcludes> + <DefaultItemExcludes>$(DefaultItemExcludes);**/*.vssscc</DefaultItemExcludes> + + <!-- WARNING: This pattern is there to ignore folders such as .git and .vs, but it will also match items included with a + relative path outside the project folder (for example "..\Shared\Shared.cs"). So be sure only to apply it to items + that are in the project folder. --> + <DefaultExcludesInProjectFolder>$(DefaultItemExcludesInProjectFolder);**/.*/**</DefaultExcludesInProjectFolder> + + </PropertyGroup> + + <!-- Set the default versions of the NETStandard.Library or Microsoft.NETCore.App packages to reference. + The implicit package references themselves are defined in Microsoft.NET.Sdk.props, so that they can be overridden + in the project file. --> + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(_TargetFrameworkVersionWithoutV)' < '2.1'"> + <!-- If targeting .NET Standard 1.x, use version 1.6.1 of the package. This is so that when projects are packed, the dependency on the package produced won't change when + updating to the 2.0 or higher SDK. When targeting .NET Standard 2.0 or higher, the NETStandard.Library reference won't show up as a dependency of the package + produced, so we will roll forward to the latest version. --> + <NETStandardImplicitPackageVersion Condition="'$(NETStandardImplicitPackageVersion)' =='' And '$(_TargetFrameworkVersionWithoutV)' < '2.0'">1.6.1</NETStandardImplicitPackageVersion> + + <!-- Default to use the latest stable 2.0.x release. --> + <NETStandardImplicitPackageVersion Condition="'$(NETStandardImplicitPackageVersion)' ==''">2.0.3</NETStandardImplicitPackageVersion> + </PropertyGroup> + + <!-- + Determine the version (including patch) of .NET Core to target. + + When targeting .NET Core, the TargetFramework is used to specify the major and minor version of the runtime to use. By default, + the patch version is inferred. The general logic is that self-contained apps will target the latest patch that the SDK + knows about, while framework-dependent apps will target the ".0" patch (and roll forward to the latest patch installed at + runtime). + + When targeting .NET Core 1.0 and 1.1, framework-dependent apps use 1.0.5 and 1.1.2, respectively. This is done for compatibility + with previous releases that bumped the self-contained and framework-dependent versions together. + + The TargetLatestRuntimePatch property can be set to true or false to explicitly opt in or out of the logic to roll forward + to the latest patch, regardless of whether the app is self-contained or framework-dependent. + + The RuntimeFrameworkVersion is where the actual version of the .NET Core runtime to target can be set. If set, it will be + used in the implicit PackageReference to Microsoft.NETCore.App. + + The framework version that is written to the runtimeconfig.json file is based on the actual resolved package version + of Microsoft.NETCore.App. This is to allow floating the verion number (ie the RuntimeFrameworkVersion could be set to + "2.0-*". + + --> + + <PropertyGroup Condition="'$(TargetLatestRuntimePatch)' == ''"> + <TargetLatestRuntimePatch Condition="'$(SelfContained)' == 'true' ">true</TargetLatestRuntimePatch> + <TargetLatestRuntimePatch Condition="'$(SelfContained)' != 'true' ">false</TargetLatestRuntimePatch> + <_TargetLatestRuntimePatchIsDefault>true</_TargetLatestRuntimePatchIsDefault> + </PropertyGroup> + + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(DisableImplicitFrameworkReferences)' != 'true'"> + <VerifyMatchingImplicitPackageVersion Condition="'$(VerifyMatchingImplicitPackageVersion)' == ''">true</VerifyMatchingImplicitPackageVersion> + </PropertyGroup> + + <ItemGroup> + <!-- Set implicit metadata on ASP.NET package references --> + <PackageReference Update="Microsoft.AspNetCore.App"> + <PrivateAssets Condition="'%(PackageReference.Version)' == ''">all</PrivateAssets> + <Publish Condition="'%(PackageReference.Version)' == ''">true</Publish> + </PackageReference> + + <PackageReference Update="Microsoft.AspNetCore.All"> + <PrivateAssets Condition="'%(PackageReference.Version)' == ''">all</PrivateAssets> + <Publish Condition="'%(PackageReference.Version)' == ''">true</Publish> + </PackageReference> + + <!-- Allow RuntimeFrameworkVersion to be used to explicitly specify the version of Microsoft.NETCore.App --> + <PackageReference Update="Microsoft.NETCore.App" + Version="$(RuntimeFrameworkVersion)" + Condition="'$(RuntimeFrameworkVersion)' != ''" + AllowExplicitVersion="true"/> + + <!-- If implicit PackageReferences are disabled, then don't warn about explicit versions at all --> + <PackageReference Update="@(PackageReference)" + Condition="'$(DisableImplicitFrameworkReferences)' == 'true'" + AllowExplicitVersion="true"/> + </ItemGroup> + + <UsingTask TaskName="ApplyImplicitVersions" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="CheckIfPackageReferenceShouldBeFrameworkReference" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <Target Name="UpdateAspNetToFrameworkReference" + Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' >= '3.0'"> + + <CheckIfPackageReferenceShouldBeFrameworkReference + PackageReferences="@(PackageReference)" + FrameworkReferences="@(FrameworkReference)" + PackageReferenceToReplace="Microsoft.AspNetCore.All" + FrameworkReferenceToUse="Microsoft.AspNetCore.App"> + <Output TaskParameter="ShouldRemovePackageReference" PropertyName="_ShouldRemoveAspNetCoreAll" /> + </CheckIfPackageReferenceShouldBeFrameworkReference> + + <!-- NETSDK1079: The Microsoft.AspNetCore.All package is not supported when targeting .NET Core 3.0 or higher. + A FrameworkReference to Microsoft.AspNetCore.App should be used instead, and will be implicitly included by Microsoft.NET.Sdk.Web. --> + <NETSdkError Condition="'$(_ShouldRemoveAspNetCoreAll)' == 'true'" + ResourceName="AspNetCoreAllNotSupported" /> + + <CheckIfPackageReferenceShouldBeFrameworkReference + PackageReferences="@(PackageReference)" + FrameworkReferences="@(FrameworkReference)" + PackageReferenceToReplace="Microsoft.AspNetCore.App" + FrameworkReferenceToUse="Microsoft.AspNetCore.App"> + <Output TaskParameter="ShouldRemovePackageReference" PropertyName="_ShouldRemoveAspNetCoreApp" /> + <Output TaskParameter="ShouldAddFrameworkReference" PropertyName="_ShouldAddAspNetCoreAppFrameworkReference" /> + </CheckIfPackageReferenceShouldBeFrameworkReference> + + <ItemGroup> + <PackageReference Remove="Microsoft.AspNetCore.App" Condition="'$(_ShouldRemoveAspNetCoreApp)' == 'true'" /> + <FrameworkReference Include="Microsoft.AspNetCore.App" Condition="'$(_ShouldAddAspNetCoreAppFrameworkReference)' == 'true'" /> + </ItemGroup> + + <!-- NETSDK1080: A PackageReference to Microsoft.AspNetCore.App is not necessary when targeting .NET Core 3.0 or higher. + If Microsoft.NET.Sdk.Web is used, the shared framework will be referenced automatically. Otherwise, the PackageReference + should be replaced with a FrameworkReference. --> + + <NETSdkWarning Condition="'$(_ShouldRemoveAspNetCoreApp)' == 'true'" + ResourceName="AspNetCoreUsesFrameworkReference" /> + + </Target> + + <Target Name="ApplyImplicitVersions" + BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences;ProcessFrameworkReferences" + DependsOnTargets="UpdateAspNetToFrameworkReference;CheckForImplicitPackageReferenceOverrides" + Condition="'@(PackageReference)' != ''"> + + <ApplyImplicitVersions TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" + TargetLatestRuntimePatch="$(TargetLatestRuntimePatch)" + PackageReferences="@(PackageReference)" + ImplicitPackageReferenceVersions="@(ImplicitPackageReferenceVersion)"> + <Output TaskParameter="PackageReferencesToUpdate" ItemName="PackageReferenceToUpdate" /> + <Output TaskParameter="SdkBuildWarnings" ItemName="SdkBuildWarning" /> + </ApplyImplicitVersions> + + <ItemGroup> + <PackageReference Remove="@(PackageReferenceToUpdate)" /> + <PackageReference Include="@(PackageReferenceToUpdate)" /> + </ItemGroup> + + <ItemGroup> + <!-- Support using a patch version in the TargetFramework, ie netcoreapp1.1.1 + Note that this isn't officially supported, but it worked in the past so + this should prevent breaking it. --> + <PackageReference Condition="'%(PackageReference.Identity)' == 'Microsoft.NETCore.App'"> + <Version Condition="'%(PackageReference.Version)' == ''">$(_TargetFrameworkVersionWithoutV)</Version> + </PackageReference> + </ItemGroup> + </Target> + + <!-- This target runs before build but not before restore, to avoid duplicating these warnings + if building with an implicit restore. --> + <Target Name="WarnForExplicitVersions" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" + DependsOnTargets="ApplyImplicitVersions" + Condition="'@(SdkBuildWarning)' != ''"> + <NetSdkWarning FormattedText="%(SdkBuildWarning.Identity)" /> + </Target> + + <!-- + Automatically add Link metadata to items of specific types if they are outside of the project folder and don't already have the Link metadata set. + This will cause them to be shown in the Solution Explorer. If an item has LinkBase metadata, the automatic Link will start with that value, and + the items will appear in the Solution Explorer under the folder specified by LinkBase. + --> + <ItemGroup Condition="'$(SetLinkMetadataAutomatically)' != 'false'"> + <Compile Update="@(Compile)"> + <!-- First, add a trailing slash to the LinkBase metadata if necessary. This allows us to use the same value + for the Link metadata whether or not LinkBase metadata is set: %(LinkBase)%(RecursiveDir)%(Filename)%(Extension) + + Note that RecursiveDir already includes the trailing slash. + --> + <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase> + + <!-- Set the Link metadata if it's not already set, if the item wasn't defined in a shared project, and the item is outside of the project directory. + Check whether the item was defined in a shared project by checking whether the extension of the defining project was .projitems. + Check whether an item is inside the project directory by seeing if the FullPath starts with EnsureTrailingSlash(MSBuildProjectDirectory) + The FullPath and the MSBuildProjectDirectory will both already be normalized full paths. + The call to [MSBuild]::ValueOrDefault() is there in order to allow calling StartsWith on the FullPath value, since it's + not possible to call a string method on a metadata item directly. The intrinsic ValueOrDefault() will be more + performant than calling String.Copy(), which has been used for this in other contexts, but actually makes a copy + of the string data. + --> + <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link> + </Compile> + + <AdditionalFiles Update="@(AdditionalFiles)"> + <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase> + <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link> + </AdditionalFiles> + + <None Update="@(None)"> + <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase> + <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link> + </None> + + <Content Update="@(Content)"> + <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase> + <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link> + </Content> + + <EmbeddedResource Update="@(EmbeddedResource)"> + <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase> + <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link> + </EmbeddedResource> + + <Page Update="@(Page)"> + <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase> + <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link> + </Page> + + <Resource Update="@(Resource)"> + <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase> + <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link> + </Resource> + </ItemGroup> + + <UsingTask TaskName="CheckForImplicitPackageReferenceOverrides" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- Remove package references with metadata IsImplicitlyDefined = true, if there are other PackageReference items with the same identity --> + <Target Name="CheckForImplicitPackageReferenceOverrides" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences"> + <PropertyGroup> + <ImplicitPackageReferenceInformationLink>https://aka.ms/sdkimplicitrefs</ImplicitPackageReferenceInformationLink> + </PropertyGroup> + + <CheckForImplicitPackageReferenceOverrides + PackageReferenceItems="@(PackageReference)" + MoreInformationLink="$(ImplicitPackageReferenceInformationLink)"> + <Output TaskParameter="ItemsToRemove" ItemName="_PackageReferenceToRemove" /> + <Output TaskParameter="ItemsToAdd" ItemName="_PackageReferenceToAdd" /> + </CheckForImplicitPackageReferenceOverrides> + + <ItemGroup> + <!-- Remove and add the PackageReference items according to the output from the task --> + <PackageReference Remove="@(_PackageReferenceToRemove)" /> + + <PackageReference Include="@(_PackageReferenceToAdd)" /> + + <!-- Clear items for other targets to use --> + <_PackageReferenceToAdd Remove="@(_PackageReferenceToAdd)" /> + + </ItemGroup> + + <!-- If any implicit package references were overridden, then don't check that RuntimeFrameworkVersion matches the package version --> + <PropertyGroup Condition="'@(_PackageReferenceToRemove)' != ''"> + <VerifyMatchingImplicitPackageVersion>false</VerifyMatchingImplicitPackageVersion> + </PropertyGroup> + + </Target> + + <UsingTask TaskName="CheckForDuplicateItems" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <Target Name="CheckForDuplicateItems" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CoreCompile"> + + <PropertyGroup> + <DefaultItemsMoreInformationLink>https://aka.ms/sdkimplicititems</DefaultItemsMoreInformationLink> + </PropertyGroup> + + <!-- NOTE for design-time builds we continue on errors and remove the duplicate items. + This is because otherwise there won't be any references to pass to the compiler, leading to design-time + compilation errors for every API that is used in the project. Amidst all the compile errors, it would + be easy to miss the duplicate items error which is the real source of the problem. --> + + <CheckForDuplicateItems + Items="@(Compile)" + ItemName="Compile" + DefaultItemsEnabled="$(EnableDefaultItems)" + DefaultItemsOfThisTypeEnabled="$(EnableDefaultCompileItems)" + PropertyNameToDisableDefaultItems="EnableDefaultCompileItems" + MoreInformationLink="$(DefaultItemsMoreInformationLink)" + ContinueOnError="$(ContinueOnError)"> + <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedCompileItems" /> + </CheckForDuplicateItems> + + <CheckForDuplicateItems + Items="@(EmbeddedResource)" + ItemName="EmbeddedResource" + DefaultItemsEnabled="$(EnableDefaultItems)" + DefaultItemsOfThisTypeEnabled="$(EnableDefaultEmbeddedResourceItems)" + PropertyNameToDisableDefaultItems="EnableDefaultEmbeddedResourceItems" + MoreInformationLink="$(DefaultItemsMoreInformationLink)" + ContinueOnError="$(ContinueOnError)"> + <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedEmbeddedResourceItems" /> + </CheckForDuplicateItems> + + <!-- Default content items are enabled by the Web SDK, not the .NET SDK, but we check it here for simplicity --> + <CheckForDuplicateItems + Items="@(Content)" + ItemName="Content" + DefaultItemsEnabled="$(EnableDefaultItems)" + DefaultItemsOfThisTypeEnabled="$(EnableDefaultContentItems)" + PropertyNameToDisableDefaultItems="EnableDefaultContentItems" + MoreInformationLink="$(DefaultItemsMoreInformationLink)" + ContinueOnError="$(ContinueOnError)"> + <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedContentItems" /> + </CheckForDuplicateItems> + + <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And '@(DeduplicatedCompileItems)' != ''"> + <Compile Remove="@(Compile)" /> + <Compile Include="@(DeduplicatedCompileItems)" /> + </ItemGroup> + + <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And '@(DeduplicatedEmbeddedResourceItems)' != ''"> + <EmbeddedResource Remove="@(EmbeddedResource)" /> + <EmbeddedResource Include="@(DeduplicatedEmbeddedResourceItems)" /> + </ItemGroup> + + <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And '@(DeduplicatedContentItems)' != ''"> + <Content Remove="@(Content)" /> + <Content Include="@(DeduplicatedContentItems)" /> + </ItemGroup> + + </Target> + + <Target Name="CheckWindowsDesktopSdkInUse" + BeforeTargets="_CheckForInvalidConfigurationAndPlatform" + Condition="'$(UseWpf)' == 'true' Or '$(UseWindowsForms)' == 'true'"> + <NetSdkWarning Condition="'$(_MicrosoftNetSdkWindowsDesktop)' != 'true'" + ResourceName="UseWpfOrUseWindowsFormsRequiresWindowsDesktopFramework" /> + </Target> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FSharp.props b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FSharp.props new file mode 100644 index 0000000000..1f603b2a18 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FSharp.props @@ -0,0 +1,31 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.FSharp.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. +*********************************************************************************************** +--> + +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- If any of these variables are set then we are building under the FSharp.NET.Sdk so use their logic --> + <PropertyGroup Condition = "'$(UseBundledFSharpTargets)' == '' "> + <!-- If any of these variables are set then we are building under the FSharp.NET.Sdk so use their logic --> + <UseBundledFSharpTargets Condition = " '$(_FscTaskAssemblyPath_net)' != '' or '$(_FscTaskAssemblyPath_netcoreapp1_0)' != '' or '$(_FscToolFullPath_net)' != '' or '$(_FscToolFullPath_netcoreapp1_0)' != '' ">false</UseBundledFSharpTargets> + <UseBundledFSharpTargets Condition = "'$(UseBundledFSharpTargets)' == '' ">true</UseBundledFSharpTargets> + </PropertyGroup> + + <!-- Shim to select the correct Microsoft.NET.Sdk.FSharp.props file. + If running under desktop select Microsoft.NET.Sdk.FSharp.props file from VS deployment, + if running core msbuild select Microsoft.NET.Sdk.FSharp.props from dotnet cli deployment --> + <PropertyGroup> + <FSharpPropsShim Condition = " '$(FSharpPropsShim)' == '' and Exists('$(MSBuildToolsPath)\FSharp\Microsoft.FSharp.NetSdk.props') ">$(MSBuildToolsPath)\FSharp\Microsoft.FSharp.NetSdk.props</FSharpPropsShim> + <FSharpPropsShim Condition = " '$(FSharpPropsShim)' == '' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.NetSdk.props') ">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.NetSdk.props</FSharpPropsShim> + </PropertyGroup> + <Import Condition=" '$(UseBundledFSharpTargets)' == 'true' and Exists('$(FSharpPropsShim)') " Project="$(FSharpPropsShim)" /> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FSharp.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FSharp.targets new file mode 100644 index 0000000000..0a7ad972fb --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FSharp.targets @@ -0,0 +1,31 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.FSharp.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. +*********************************************************************************************** +--> + +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- *************************************************************************************************************** + Shim to select the correct Microsoft.FSharp.Overrides.NetSdk.targets file when not running + under Cross-targeting build and not under FSharp.Sdk + If running under desktop select Microsoft.FSharp.targets file from VS deployment, + if running core msbuild select Microsoft.FSharp.targets from dotnet cli deployment + *************************************************************************************************************** --> + <PropertyGroup Condition=" '$(IsCrossTargetingBuild)' != 'true' " > + <FSharpOverridesTargetsShim Condition = " '$(FSharpOverridesTargetsShim)' == '' and Exists('$(MSBuildToolsPath)\FSharp\Microsoft.FSharp.Overrides.NetSdk.targets') ">$(MSBuildToolsPath)\FSharp\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim> + <FSharpOverridesTargetsShim Condition = " '$(FSharpOverridesTargetsShim)' == '' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Overrides.NetSdk.targets') ">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim> + </PropertyGroup> + <Import Condition=" '$(UseBundledFSharpTargets)' == 'true' and '$(IsCrossTargetingBuild)' != 'true' and Exists('$(FSharpOverridesTargetsShim)') " Project="$(FSharpOverridesTargetsShim)" /> + + <PropertyGroup> + <DefineConstants>$(DefineConstants);$(VersionlessImplicitFrameworkDefine);$(ImplicitFrameworkDefine)</DefineConstants> + </PropertyGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FSharpTargetsShim.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FSharpTargetsShim.targets new file mode 100644 index 0000000000..a8fde9c939 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FSharpTargetsShim.targets @@ -0,0 +1,61 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.FSharpTargetsShim.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. +*********************************************************************************************** +--> + +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup Condition=" '$(UseBundledFSharpTargets)' == 'true' "> + <AppDesignerFolder Condition="'$(AppDesignerFolder)' == ''">Properties</AppDesignerFolder> + </PropertyGroup> + + <PropertyGroup Condition=" '$(DisableImplicitConfigurationDefines)' != 'true' and '$(UseBundledFSharpTargets)' == 'true' "> + <ImplicitConfigurationDefine>$(Configuration.ToUpperInvariant())</ImplicitConfigurationDefine> + + <!-- Replace dashes and periods in the configuration with underscores. This makes it more likely that + the resulting compilation constant will be a valid C# conditional compilation symbol. As the set + of characters that aren't allowed is essentially open-ended, there's probably not a good way to + fully sanitize the Configuration in MSBuild evaluation. If the resulting string still isn't a + valid conditional combilation symbol, then the compiler will generate the following error and + the define will be ignored: + warning MSB3052: The parameter to the compiler is invalid, '/define:0BAD_DEFINE' will be ignored. + --> + + <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace('-', '_'))</ImplicitConfigurationDefine> + <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace('.', '_'))</ImplicitConfigurationDefine> + <DefineConstants>$(DefineConstants);$(ImplicitConfigurationDefine)</DefineConstants> + </PropertyGroup> + + <!-- *************************************************************************************************************** + Loads the cross-targeting targets if we are doing a cross-targeting build + Import design time targets for Roslyn Project System. These are only available if Visual Studio is installed. + Import design time targets before the common crosstargeting targets, which import targets from Nuget. + *************************************************************************************************************** --> + <PropertyGroup> + <FSharpDesignTimeTargetsPath>$(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed\Microsoft.FSharp.DesignTime.targets</FSharpDesignTimeTargetsPath> + </PropertyGroup> + <Import Project="$(FSharpDesignTimeTargetsPath)" + Condition=" '$(UseBundledFSharpTargets)' == 'true' and '$(FSharpDesignTimeTargetsPath)' != '' and Exists('$(FSharpDesignTimeTargetsPath)') " /> + <Import Project="$(MSBuildToolsPath)\Microsoft.Common.CrossTargeting.targets" + Condition=" '$(UseBundledFSharpTargets)' == 'true' and '$(IsCrossTargetingBuild)' == 'true' "/> + + <!-- *************************************************************************************************************** + Shim to select the correct Microsoft.NET.Sdk.FSharp.targets file when not running + under Cross-targeting build and not under FSharp.Sdk + If running under desktop select Microsoft.FSharp.targets file from VS deployment, + if running core msbuild select Microsoft.FSharp.targets from dotnet cli deployment + *************************************************************************************************************** --> + <PropertyGroup Condition=" '$(IsCrossTargetingBuild)' != 'true' " > + <FSharpTargetsShim Condition = " '$(FSharpTargetsShim)' == '' and Exists('$(MSBuildToolsPath)\FSharp\Microsoft.FSharp.NetSdk.targets') ">$(MSBuildToolsPath)\FSharp\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim> + <FSharpTargetsShim Condition = " '$(FSharpTargetsShim)' == '' and Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.NetSdk.targets') ">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim> + </PropertyGroup> + <Import Condition=" '$(UseBundledFSharpTargets)' == 'true' and '$(IsCrossTargetingBuild)' != 'true' and Exists('$(FSharpTargetsShim)') " Project="$(FSharpTargetsShim)" /> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets new file mode 100644 index 0000000000..ab75bd7bdc --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets @@ -0,0 +1,368 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.FrameworkReferenceResolution.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. +*********************************************************************************************** +--> +<Project> + <PropertyGroup> + <ResolveAssemblyReferencesDependsOn> + $(ResolveAssemblyReferencesDependsOn); + ResolveTargetingPackAssets; + </ResolveAssemblyReferencesDependsOn> + </PropertyGroup> + + <UsingTask TaskName="CheckForDuplicateFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="ProcessFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="ResolveAppHosts" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- + ============================================================ + ProcessFrameworkReferences + + Matches FrameworkReference items with KnownFrameworkReference items to determine the corresponding + targeting pack and if necessary the runtime pack. If the packs aren't available in the NetCoreTargetingPackRoot + folder, then generate PackageDownload items in order to download the packs during restore. + + Also resolves app host packs in a similar fashion, and checks for duplicate FrameworkReference items. + ============================================================ + --> + + <Target Name="ProcessFrameworkReferences" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences;CollectPackageDownloads" + Condition="'@(FrameworkReference)' != ''"> + + <CheckForDuplicateFrameworkReferences + FrameworkReferences="@(FrameworkReference)" + MoreInformationLink="https://aka.ms/sdkimplicitrefs"> + <Output TaskParameter="ItemsToRemove" ItemName="_FrameworkReferenceToRemove" /> + <Output TaskParameter="ItemsToAdd" ItemName="_FrameworkReferenceToAdd" /> + </CheckForDuplicateFrameworkReferences> + + <ItemGroup> + <FrameworkReference Remove="@(_FrameworkReferenceToRemove)" /> + <FrameworkReference Include="@(_FrameworkReferenceToAdd)" /> + </ItemGroup> + + <PropertyGroup Condition="'$(EnableTargetingPackDownload)' == ''"> + <EnableTargetingPackDownload>true</EnableTargetingPackDownload> + </PropertyGroup> + + <ItemGroup> + <_PackAsToolShimRuntimeIdentifiers Condition="@(_PackAsToolShimRuntimeIdentifiers) ==''" Include="$(PackAsToolShimRuntimeIdentifiers)"/> + </ItemGroup> + + <ProcessFrameworkReferences FrameworkReferences="@(FrameworkReference)" + KnownFrameworkReferences="@(KnownFrameworkReference)" + TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" + TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" + TargetingPackRoot="$(NetCoreTargetingPackRoot)" + RuntimeGraphPath="$(BundledRuntimeIdentifierGraphFile)" + SelfContained="$(SelfContained)" + ReadyToRunEnabled="$(PublishReadyToRun)" + RuntimeIdentifier="$(RuntimeIdentifier)" + RuntimeIdentifiers="$(RuntimeIdentifiers)" + RuntimeFrameworkVersion="$(RuntimeFrameworkVersion)" + TargetLatestRuntimePatch="$(TargetLatestRuntimePatch)" + TargetLatestRuntimePatchIsDefault="$(_TargetLatestRuntimePatchIsDefault)" + EnableTargetingPackDownload="$(EnableTargetingPackDownload)"> + + <Output TaskParameter="PackagesToDownload" ItemName="_PackageToDownload" /> + <Output TaskParameter="RuntimeFrameworks" ItemName="RuntimeFramework" /> + <Output TaskParameter="TargetingPacks" ItemName="TargetingPack" /> + <Output TaskParameter="RuntimePacks" ItemName="RuntimePack" /> + <Output TaskParameter="UnavailableRuntimePacks" ItemName="UnavailableRuntimePack" /> + + </ProcessFrameworkReferences> + + <PropertyGroup Condition="'$(AppHostRuntimeIdentifier)' == '' And + ('$(UseAppHost)' == 'true' Or '$(EnableComHosting)' == 'true' Or '$(UseIJWHost)' == 'true')"> + <AppHostRuntimeIdentifier>$(RuntimeIdentifier)</AppHostRuntimeIdentifier> + <AppHostRuntimeIdentifier Condition="'$(AppHostRuntimeIdentifier)' == ''">$(DefaultAppHostRuntimeIdentifier)</AppHostRuntimeIdentifier> + </PropertyGroup> + + <ResolveAppHosts TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" + TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" + TargetingPackRoot="$(NetCoreTargetingPackRoot)" + AppHostRuntimeIdentifier="$(AppHostRuntimeIdentifier)" + OtherRuntimeIdentifiers="$(RuntimeIdentifiers)" + RuntimeFrameworkVersion="$(RuntimeFrameworkVersion)" + PackAsToolShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" + DotNetAppHostExecutableNameWithoutExtension="$(_DotNetAppHostExecutableNameWithoutExtension)" + DotNetComHostLibraryNameWithoutExtension="$(_DotNetComHostLibraryNameWithoutExtension)" + DotNetIjwHostLibraryNameWithoutExtension="$(_DotNetIjwHostLibraryNameWithoutExtension)" + RuntimeGraphPath="$(BundledRuntimeIdentifierGraphFile)" + KnownAppHostPacks="@(KnownAppHostPack)"> + + <Output TaskParameter="PackagesToDownload" ItemName="_PackageToDownload" /> + <Output TaskParameter="AppHost" ItemName="AppHostPack" /> + <Output TaskParameter="ComHost" ItemName="ComHostPack" /> + <Output TaskParameter="IjwHost" ItemName="IjwHostPack" /> + <Output TaskParameter="PackAsToolShimAppHostPacks" ItemName="PackAsToolShimAppHostPack" /> + + </ResolveAppHosts> + + <PropertyGroup Condition="'$(UsePackageDownload)' == ''"> + <UsePackageDownload Condition="'$(MSBuildRuntimeType)' == 'Core'">true</UsePackageDownload> + <UsePackageDownload Condition="'$(PackageDownloadSupported)' == 'true'">true</UsePackageDownload> + <UsePackageDownload Condition="'$(UsePackageDownload)' == ''">false</UsePackageDownload> + </PropertyGroup> + + <ItemGroup Condition="'$(UsePackageDownload)' == 'true'"> + <PackageDownload Include="@(_PackageToDownload)"> + <Version>[%(_PackageToDownload.Version)]</Version> + </PackageDownload> + </ItemGroup> + + <ItemGroup Condition="'$(UsePackageDownload)' != 'true'"> + <PackageReference Include="@(_PackageToDownload)" + IsImplicitlyDefined="true" + PrivateAssets="all" + ExcludeAssets="all" /> + </ItemGroup> + </Target> + + <!-- + ============================================================ + AddTransitiveFrameworkReferences + + Adds FrameworkReference items for shared frameworks which weren't directly referenced, + but were referenced transitively via a project or package reference. NuGet writes these + to the assets file, and the ResolvePackageAssets target adds them to the TransitiveFrameworkReference + item. Here, we add them to FrameworkReference if they aren't already referenced. + ============================================================ + --> + <Target Name="AddTransitiveFrameworkReferences" AfterTargets="ResolvePackageAssets" + Condition="'@(TransitiveFrameworkReference)' != ''" > + + <ItemGroup> + <FrameworkReference Include="@(TransitiveFrameworkReference)" Exclude="@(FrameworkReference)"/> + </ItemGroup> + + </Target> + + <UsingTask TaskName="ResolveFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- + ============================================================ + ResolveFrameworkReferences + + Resolves paths to various FrameworkReference-related items (targeting packs, runtime packs, + app host packs). Some of these may already have had the path set if they were in the + NetCoreTargetingPackRoot folder. Others which were downloaded as NuGet packages will + need to have the path set here. + ============================================================ + --> + <Target Name="ResolveFrameworkReferences" DependsOnTargets="ProcessFrameworkReferences;ResolvePackageAssets" + Condition="'@(FrameworkReference)' != ''" + Returns="@(ResolvedFrameworkReference)"> + + <GetPackageDirectory + Items="@(TargetingPack)" + PackageFolders="@(AssetsFilePackageFolder)"> + + <Output TaskParameter="Output" ItemName="ResolvedTargetingPack" /> + + </GetPackageDirectory> + + <ItemGroup> + <ResolvedTargetingPack Condition="'%(ResolvedTargetingPack.Path)' == '' and '%(ResolvedTargetingPack.PackageDirectory)' != ''"> + <Path>%(ResolvedTargetingPack.PackageDirectory)</Path> + </ResolvedTargetingPack> + </ItemGroup> + + <GetPackageDirectory + Items="@(AppHostPack)" + PackageFolders="@(AssetsFilePackageFolder)"> + + <Output TaskParameter="Output" ItemName="ResolvedAppHostPack" /> + + </GetPackageDirectory> + + <GetPackageDirectory + Items="@(PackAsToolShimAppHostPack)" + PackageFolders="@(AssetsFilePackageFolder)"> + + <Output TaskParameter="Output" ItemName="_ApphostsForShimRuntimeIdentifiersGetPackageDirectory" /> + + </GetPackageDirectory> + + <GetPackageDirectory + Items="@(ComHostPack)" + PackageFolders="@(AssetsFilePackageFolder)"> + + <Output TaskParameter="Output" ItemName="ResolvedComHostPack" /> + + </GetPackageDirectory> + + <GetPackageDirectory + Items="@(IjwHostPack)" + PackageFolders="@(AssetsFilePackageFolder)"> + + <Output TaskParameter="Output" ItemName="ResolvedIjwHostPack" /> + </GetPackageDirectory> + + <ItemGroup> + <_ApphostsForShimRuntimeIdentifiers Include="%(_ApphostsForShimRuntimeIdentifiersGetPackageDirectory.PackageDirectory)\%(_ApphostsForShimRuntimeIdentifiersGetPackageDirectory.PathInPackage)" > + <RuntimeIdentifier>%(_ApphostsForShimRuntimeIdentifiersGetPackageDirectory.RuntimeIdentifier)</RuntimeIdentifier> + </_ApphostsForShimRuntimeIdentifiers> + </ItemGroup> + + <ItemGroup> + <ResolvedAppHostPack Condition="'%(ResolvedAppHostPack.Path)' == '' and '%(ResolvedAppHostPack.PackageDirectory)' != ''"> + <Path>%(ResolvedAppHostPack.PackageDirectory)\%(ResolvedAppHostPack.PathInPackage)</Path> + </ResolvedAppHostPack> + </ItemGroup> + + <PropertyGroup Condition="'@(ResolvedAppHostPack)' != '' And '$(AppHostSourcePath)' == ''"> + <AppHostSourcePath>@(ResolvedAppHostPack->'%(Path)')</AppHostSourcePath> + </PropertyGroup> + + <ItemGroup> + <ResolvedComHostPack Condition="'%(ResolvedComHostPack.Path)' == '' and '%(ResolvedComHostPack.PackageDirectory)' != ''"> + <Path>%(ResolvedComHostPack.PackageDirectory)\%(ResolvedComHostPack.PathInPackage)</Path> + </ResolvedComHostPack> + </ItemGroup> + + <PropertyGroup Condition="'@(ResolvedComHostPack)' != '' And '$(ComHostSourcePath)' == ''"> + <ComHostSourcePath>@(ResolvedComHostPack->'%(Path)')</ComHostSourcePath> + </PropertyGroup> + + <ItemGroup> + <ResolvedIjwHostPack Condition="'%(ResolvedIjwHostPack.Path)' == '' and '%(ResolvedIjwHostPack.PackageDirectory)' != ''"> + <Path>%(ResolvedIjwHostPack.PackageDirectory)\%(ResolvedIjwHostPack.PathInPackage)</Path> + </ResolvedIjwHostPack> + </ItemGroup> + + <PropertyGroup Condition="'@(ResolvedIjwHostPack)' != '' And '$(IjwHostSourcePath)' == ''"> + <IjwHostSourcePath>@(ResolvedIjwHostPack->'%(Path)')</IjwHostSourcePath> + </PropertyGroup> + + <GetPackageDirectory + Items="@(RuntimePack)" + PackageFolders="@(AssetsFilePackageFolder)"> + + <Output TaskParameter="Output" ItemName="ResolvedRuntimePack" /> + + </GetPackageDirectory> + + <ResolveFrameworkReferences + FrameworkReferences="@(FrameworkReference)" + ResolvedTargetingPacks="@(ResolvedTargetingPack)" + ResolvedRuntimePacks="@(ResolvedRuntimePack)"> + + <Output TaskParameter="ResolvedFrameworkReferences" ItemName="ResolvedFrameworkReference" /> + + </ResolveFrameworkReferences> + + </Target> + + <UsingTask TaskName="GetPackageDirectory" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="ResolveTargetingPackAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- + ============================================================ + ResolveTargetingPackAssets + + Resolve assets (primarily references) from targeting packs. + ============================================================ + --> + <Target Name="ResolveTargetingPackAssets" DependsOnTargets="ResolveFrameworkReferences" + Condition="'@(FrameworkReference)' != ''"> + + <!-- For design-time builds, don't generate an error if a targeting pack isn't available (ie because it hasn't been restored yet) --> + <PropertyGroup Condition="'$(GenerateErrorForMissingTargetingPacks)' == ''"> + <GenerateErrorForMissingTargetingPacks>true</GenerateErrorForMissingTargetingPacks> + <GenerateErrorForMissingTargetingPacks Condition="'$(DesignTimeBuild)' == 'true'">false</GenerateErrorForMissingTargetingPacks> + </PropertyGroup> + + <ResolveTargetingPackAssets FrameworkReferences="@(FrameworkReference)" + ResolvedTargetingPacks="@(ResolvedTargetingPack)" + RuntimeFrameworks="@(RuntimeFramework)" + GenerateErrorForMissingTargetingPacks="$(GenerateErrorForMissingTargetingPacks)"> + <Output TaskParameter="ReferencesToAdd" ItemName="Reference" /> + <Output TaskParameter="PlatformManifests" ItemName="PlatformManifestsFromTargetingPacks" /> + <Output TaskParameter="PackageConflictPreferredPackages" PropertyName="PackageConflictPreferredPackages" /> + <Output TaskParameter="PackageConflictOverrides" ItemName="PackageConflictOverrides" /> + <Output TaskParameter="UsedRuntimeFrameworks" ItemName="_UsedRuntimeFramework" /> + + </ResolveTargetingPackAssets> + + <ItemGroup Condition="'$(RuntimeIdentifier)' == '' or '$(SelfContained)' != 'true'"> + <PackageConflictPlatformManifests Include="@(PlatformManifestsFromTargetingPacks)" /> + </ItemGroup> + + <ItemGroup> + <RuntimeFramework Remove="@(RuntimeFramework)" /> + <RuntimeFramework Include="@(_UsedRuntimeFramework)" /> + </ItemGroup> + </Target> + + <UsingTask TaskName="ResolveRuntimePackAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- + ============================================================ + ResolveRuntimePackAssets + + Resolve assets from runtime packs. + ============================================================ + --> + <Target Name="ResolveRuntimePackAssets" DependsOnTargets="ResolveFrameworkReferences" + Condition="'@(RuntimePack)' != ''"> + + <ResolveRuntimePackAssets FrameworkReferences="@(FrameworkReference)" + ResolvedRuntimePacks="@(ResolvedRuntimePack)" + UnavailableRuntimePacks="@(UnavailableRuntimePack)" + SatelliteResourceLanguages="$(SatelliteResourceLanguages)" + DesignTimeBuild="$(DesignTimeBuild)"> + <Output TaskParameter="RuntimePackAssets" ItemName="RuntimePackAsset" /> + </ResolveRuntimePackAssets> + + <ItemGroup> + <ReferenceCopyLocalPaths Include="@(RuntimePackAsset)" + Condition="'$(CopyLocalLockFileAssemblies)' == 'true' and '$(SelfContained)' == 'true'" /> + </ItemGroup> + + + </Target> + + <!-- + Adds metadata so the SDK will generate the UserSecretsIdAttribute. + + This is associated with ASP.NET Core, but may be used in projects that don't use the Web SDK (especially test projects). + So it is in the base .NET SDK. (It used to be in the Microsoft.AspNetCore.App package, but now that that's a targeting + pack we don't support importing build logic from it directly). + + If GeneratedUserSecretsAttributeFile is set, that means Microsoft.Extensions.Configuration.UserSecrets 2.1 + or earlier was referenced as a package. This didn't use the AssemblyAttribute item group, so we cannot + avoid duplicate AssemblyAttribute items without skipping this target altogether.. + --> + <Target Name="_GetUserSecretsAssemblyAttribute" + BeforeTargets="GetAssemblyAttributes" + Condition=" '$(UserSecretsId)' != '' AND '$(GenerateUserSecretsAttribute)' != 'false' AND '$(GeneratedUserSecretsAttributeFile)' == '' "> + + <!-- + If the Microsoft.Extensions.Configuration.UserSecrets package 2.2 or higher is referenced directly, + it will also add an AssemblyAttribute item. Since this attribute only allows one per assembly, do not + duplicate the item. + + Also don't add the attribute if there is neither a Microsoft.AspNetCore.App FrameworkReference nor a + Microsoft.Extensions.Configuration.UserSecrets PackageReference, in order to preserve 2.x SDK behavior + where projects would successfully build if they define the UserSecretsId property but don't reference + the corresponding API. + + --> + <ItemGroup Condition=" @(AssemblyAttribute->WithMetadataValue('Identity', 'Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute')->Count()) == 0 And + (@(FrameworkReference->WithMetadataValue('Identity', 'Microsoft.AspNetCore.App')->Count()) != 0 Or + @(PackageReference->WithMetadataValue('Identity', 'Microsoft.Extensions.Configuration.UserSecrets')->Count()) != 0)"> + <AssemblyAttribute Include="Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute"> + <_Parameter1>$(UserSecretsId.Trim())</_Parameter1> + </AssemblyAttribute> + </ItemGroup> + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportPublishProfile.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportPublishProfile.targets new file mode 100644 index 0000000000..7be356458e --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportPublishProfile.targets @@ -0,0 +1,36 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <!-- 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')" /> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.VisualBasic.props b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.VisualBasic.props new file mode 100644 index 0000000000..fa338ebfc8 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.VisualBasic.props @@ -0,0 +1,34 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.VisualBasic.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <WarningLevel Condition=" '$(WarningLevel)' == '' ">1</WarningLevel> + <NoWarn Condition=" '$(NoWarn)' == '' ">41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</NoWarn> + <OptionExplicit Condition=" '$(OptionExplicit)' == '' ">On</OptionExplicit> + <OptionCompare Condition=" '$(OptionCompare)' == '' ">Binary</OptionCompare> + <OptionStrict Condition=" '$(OptionStrict)' == '' ">Off</OptionStrict> + <OptionInfer Condition=" '$(OptionInfer)' == '' ">On</OptionInfer> + + <!-- Remove the line below once https://github.com/Microsoft/visualfsharp/issues/3207 gets fixed --> + <WarningsAsErrors Condition=" '$(WarningsAsErrors)' == '' ">NU1605</WarningsAsErrors> + </PropertyGroup> + + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <DefineDebug Condition=" '$(DefineDebug)' == '' ">true</DefineDebug> + <DefineTrace Condition=" '$(DefineTrace)' == '' ">true</DefineTrace> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> + <DefineTrace Condition=" '$(DefineTrace)' == '' ">true</DefineTrace> + </PropertyGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.VisualBasic.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.VisualBasic.targets new file mode 100644 index 0000000000..f2caf8d0a6 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.VisualBasic.targets @@ -0,0 +1,133 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.Sdk.VisualBasic.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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <DisableImplicitNamespaceImports Condition="'$(DisableImplicitNamespaceImports)'==''">$(DisableImplicitFrameworkReferences)</DisableImplicitNamespaceImports> + </PropertyGroup> + <ItemGroup Condition=" '$(DisableImplicitNamespaceImports)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETFramework'"> + <!-- These namespaces are present in 2.0 Framework assemblies --> + <Import Include="Microsoft.VisualBasic" /> + <Import Include="System" /> + <Import Include="System.Collections" /> + <Import Include="System.Collections.Generic" /> + <Import Include="System.Data" /> + <Import Include="System.Diagnostics" /> + <!-- These namespaces are introduced in 3.5 Framework assemblies --> + <Import Include="System.Linq" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '3.5' "/> + <Import Include="System.Xml.Linq" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '3.5' "/> + <!-- This namespace is introduced in 4.0 Framework assemblies --> + <Import Include="System.Threading.Tasks" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '4.0' "/> + </ItemGroup> + <ItemGroup Condition=" '$(DisableImplicitNamespaceImports)' != 'true' and '$(_IsNETCoreOrNETStandard)' == 'true'"> + <Import Include="Microsoft.VisualBasic" /> + <Import Include="System" /> + <Import Include="System.Collections" /> + <Import Include="System.Collections.Generic" /> + <Import Include="System.Diagnostics" /> + <Import Include="System.Linq" /> + <Import Include="System.Xml.Linq" /> + <Import Include="System.Threading.Tasks" /> + </ItemGroup> + <PropertyGroup Condition="'$(DisableImplicitConfigurationDefines)' != 'true' and '$(Configuration)' != ''"> + <ImplicitConfigurationDefine>$(Configuration.ToUpperInvariant())</ImplicitConfigurationDefine> + + <!-- Replace dashes and periods in the configuration with underscores. This makes it more likely that + the resulting compilation constant will be a valid C# conditional compilation symbol. As the set + of characters that aren't allowed is essentially open-ended, there's probably not a good way to + fully sanitize the Configuration in MSBuild evaluation. If the resulting string still isn't a + valid conditional combilation symbol, then the compiler will generate the following error and + the define will be ignored: + warning MSB3052: The parameter to the compiler is invalid, '/define:0BAD_DEFINE' will be ignored. + --> + + <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace('-', '_'))</ImplicitConfigurationDefine> + <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace('.', '_'))</ImplicitConfigurationDefine> + <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace(' ', '_'))</ImplicitConfigurationDefine> + <!-- In F# and C# this is called DefineConstants, VB is idiosyncratic and calls it FinalDefineConstants --> + </PropertyGroup> + + <PropertyGroup> + <FinalDefineConstants Condition="'$(VersionlessImplicitFrameworkDefine)' != ''">$(FinalDefineConstants),$(VersionlessImplicitFrameworkDefine)=-1</FinalDefineConstants> + <FinalDefineConstants Condition="'$(ImplicitFrameworkDefine)' != ''">$(FinalDefineConstants),$(ImplicitFrameworkDefine)=-1</FinalDefineConstants> + <FinalDefineConstants Condition="'$(DefineDebug)' != 'true' and '$(ImplicitConfigurationDefine)' != ''">$(FinalDefineConstants),$(ImplicitConfigurationDefine)=-1</FinalDefineConstants> + </PropertyGroup> + + <!-- + By default, VBRuntime is chosen as follows: + + .NET Framework: + Same as classic vbproj. $(FrameworkPathOverride) is passed as + /sdkpath to compiler and Microsoft.VisualBasic.dll will be used + from there even if there is no explicit reference to it. This is + accomplished by leaving $(VBRuntime) unset. + + .NET Core 3.0+: + Locate Microsoft.VisualBasic among references and pass it as + /vbruntime to compiler. + + .NET Core < 3.0 or .NET Standard: + Use embedded VB runtime as there is no Microsoft.VisualBasic.dll + available that is complete enough to serve as /vbruntime. + + These defaults can be overridden as follows: + + $(UseReferencedVBRuntime) == true: + Use referenced Microsoft.VisualBasic regardless of TFM. + + This is an escape hatch for a custom Microsoft.VisualBasic reference + that can work as /vbruntime on a target framework other than .NET Core 3.0+ + + $(VBRuntime) != '': + Pass it through to compiler unchanged. + --> + + <PropertyGroup Condition="'$(UseReferencedVBRuntime)' == '' + and '$(VBRuntime)' == '' + and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' + and '$(_TargetFrameworkVersionWithoutV)' >= '3.0'"> + <UseReferencedVBRuntime>true</UseReferencedVBRuntime> + </PropertyGroup> + + <PropertyGroup Condition="'$(VBRuntime)' == '' + and '$(UseReferencedVBRuntime)' != 'true' + and '$(TargetFrameworkIdentifier)' != '.NETFramework'"> + <VBRuntime>Embed</VBRuntime> + </PropertyGroup> + + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'"> + <!-- + Prevent the .NET Framework compiler from trying to locate assemblies + in the .NET Framework directory when not targeting .NET Framework + --> + <DisableSdkPath Condition="'$(DisableSdkPath)' == ''">true</DisableSdkPath> + + <!-- + VB Runtime does not yet have enough support for My.* outside .NET Framework, + so default MyType=Empty for non .NET Framework. Project templates will be + responsible for setting MyType to non-Empty (Console, Windows, etc.) when + the VB Runtime can allow it and as appropriate for the project type. + --> + <FinalDefineConstants Condition="'$(MyType)' == ''">$(FinalDefineConstants),_MyType="Empty"</FinalDefineConstants> + </PropertyGroup> + + <!-- + NOTE: We must hook directly to CoreCompile for compatibility with two phase XAML + build. We also must not pull in a dependency on ResolveAssemblyReferences + as the generated temporary project for xaml compilation has a hard-coded list + of items in ReferencePath, and does not need to run RAR. + --> + <Target Name="_UseReferencedVBRuntime" Condition="'$(UseReferencedVBRuntime)' == 'true'" BeforeTargets="CoreCompile"> + <PropertyGroup> + <VBRuntime Condition="'%(ReferencePath.FileName)' == 'Microsoft.VisualBasic'">%(ReferencePath.Identity)</VBRuntime> + </PropertyGroup> + </Target> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.props b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.props new file mode 100644 index 0000000000..170ca24c7a --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.props @@ -0,0 +1,125 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup> + <!-- 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> + <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> + <OutputType Condition=" '$(OutputType)' == '' ">Library</OutputType> + <FileAlignment Condition=" '$(FileAlignment)' == '' ">512</FileAlignment> + <ErrorReport Condition=" '$(ErrorReport)' == '' ">prompt</ErrorReport> + <AssemblyName Condition=" '$(AssemblyName)' == '' ">$(MSBuildProjectName)</AssemblyName> + <RootNamespace Condition=" '$(RootNamespace)' == '' ">$(MSBuildProjectName)</RootNamespace> + <Deterministic Condition=" '$(Deterministic)' == '' ">true</Deterministic> + </PropertyGroup> + + <!-- User-facing configuration-specific defaults --> + + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <DebugSymbols Condition=" '$(DebugSymbols)' == '' ">true</DebugSymbols> + <Optimize Condition=" '$(Optimize)' == '' ">false</Optimize> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> + <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> + <_PlatformWithoutConfigurationInference>$(Platform)</_PlatformWithoutConfigurationInference> + </PropertyGroup> + <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x64' "> + <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x64</PlatformTarget> + </PropertyGroup> + <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x86' "> + <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x86</PlatformTarget> + </PropertyGroup> + <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'ARM' "> + <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">ARM</PlatformTarget> + </PropertyGroup> + + <!-- Default settings for all projects built with this Sdk package --> + <PropertyGroup> + <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> + + <!-- Uncomment this once https://github.com/Microsoft/visualfsharp/issues/3207 gets fixed --> + <!-- <WarningsAsErrors Condition=" '$(WarningsAsErrors)' == '' ">NU1605</WarningsAsErrors> --> + </PropertyGroup> + + <PropertyGroup> + <!-- 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" /> + + <!-- List of supported .NET Core and .NET Standard TFMs --> + <Import Project="Microsoft.NET.SupportedTargetFrameworks.props" /> + + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.props" Condition="'$(MSBuildProjectExtension)' == '.csproj'" /> + <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.PackTool.props" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackProjectTool.props" /> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets new file mode 100644 index 0000000000..facdb64fa0 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets @@ -0,0 +1,878 @@ +<!-- +*********************************************************************************************** +Microsoft.NET.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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <PropertyGroup Condition="'$(UsingNETSdkDefaults)' != 'true'"> + <!-- Skip import of Microsoft.NuGet.props and Microsoft.NuGet.targets --> + <SkipImportNuGetProps>true</SkipImportNuGetProps> + <SkipImportNuGetBuildTargets>true</SkipImportNuGetBuildTargets> + </PropertyGroup> + + <!-- Workaround: https://github.com/Microsoft/msbuild/issues/1293 --> + <PropertyGroup Condition="'$(MSBuildRuntimeType)' == 'Core' Or '$(TargetFrameworkIdentifier)' != '.NETFramework'"> + <GenerateResourceMSBuildArchitecture Condition=" '$(GenerateResourceMSBuildArchitecture)' == '' ">CurrentArchitecture</GenerateResourceMSBuildArchitecture> + <GenerateResourceMSBuildRuntime Condition=" '$(GenerateResourceMSBuildRuntime)' == '' ">CurrentRuntime</GenerateResourceMSBuildRuntime> + </PropertyGroup> + + <Import Project="Microsoft.NET.Sdk.Common.targets" /> + + <ImportGroup> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolution.targets" Condition="Exists('$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolution.targets') and '$(Language)' != 'C++'" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolutionStubs.targets" Condition="Exists('$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolutionStubs.targets') and '$(Language)' == 'C++'" /> + </ImportGroup> + + <Import Project="Microsoft.NET.Sdk.DefaultItems.targets" /> + + <Import Project="Microsoft.NET.Sdk.FrameworkReferenceResolution.targets" /> + + <UsingTask TaskName="GenerateDepsFile" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="GenerateRuntimeConfigurationFiles" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="GetAssemblyVersion" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="GenerateSatelliteAssemblies" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <PropertyGroup> + <DisableStandardFrameworkResolution Condition="'$(DisableStandardFrameworkResolution)' == ''">$(_IsNETCoreOrNETStandard)</DisableStandardFrameworkResolution> + </PropertyGroup> + + <PropertyGroup> + <EnableDynamicLoading Condition="'$(EnableDynamicLoading)' == '' and '$(EnableComHosting)' == 'true'">true</EnableDynamicLoading> + <GenerateRuntimeConfigurationFiles Condition=" '$(GenerateRuntimeConfigurationFiles)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and ('$(HasRuntimeOutput)' == 'true' or '$(EnableComHosting)' == 'true' or '$(EnableDynamicLoading)' == 'true') ">true</GenerateRuntimeConfigurationFiles> + <UserRuntimeConfig Condition=" '$(UserRuntimeConfig)' == '' ">$(MSBuildProjectDirectory)/runtimeconfig.template.json</UserRuntimeConfig> + <GenerateSatelliteAssembliesForCore Condition=" '$(GenerateSatelliteAssembliesForCore)' == '' and '$(MSBuildRuntimeType)' == 'Core' ">true</GenerateSatelliteAssembliesForCore> + <ComputeNETCoreBuildOutputFiles Condition=" '$(ComputeNETCoreBuildOutputFiles)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">true</ComputeNETCoreBuildOutputFiles> + </PropertyGroup> + + <ItemGroup> + <GenerateRuntimeConfigurationFilesInputs Include="$(ProjectAssetsFile)" /> + <GenerateRuntimeConfigurationFilesInputs Include="$(ProjectAssetsCacheFile)" /> + <GenerateRuntimeConfigurationFilesInputs Include="$(UserRuntimeConfig)" Condition=" Exists($(UserRuntimeConfig)) " /> + </ItemGroup> + + <PropertyGroup> + <ProjectDepsFileName Condition="'$(ProjectDepsFileName)' == ''">$(AssemblyName).deps.json</ProjectDepsFileName> + <ProjectDepsFilePath Condition="'$(ProjectDepsFilePath)' == ''">$(TargetDir)$(ProjectDepsFileName)</ProjectDepsFilePath> + <ProjectRuntimeConfigFileName Condition="'$(ProjectRuntimeConfigFileName)' == ''">$(AssemblyName).runtimeconfig.json</ProjectRuntimeConfigFileName> + <ProjectRuntimeConfigFilePath Condition="'$(ProjectRuntimeConfigFilePath)' == ''">$(TargetDir)$(ProjectRuntimeConfigFileName)</ProjectRuntimeConfigFilePath> + <ProjectRuntimeConfigDevFilePath Condition="'$(ProjectRuntimeConfigDevFilePath)' == ''">$(TargetDir)$(AssemblyName).runtimeconfig.dev.json</ProjectRuntimeConfigDevFilePath> + <IncludeMainProjectInDepsFile Condition=" '$(IncludeMainProjectInDepsFile)' == '' ">true</IncludeMainProjectInDepsFile> + </PropertyGroup> + + <PropertyGroup> + <_NativeLibraryPrefix Condition="'$(_NativeLibraryPrefix)' == '' and !$(RuntimeIdentifier.StartsWith('win'))">lib</_NativeLibraryPrefix> + + <_NativeLibraryExtension Condition="'$(_NativeLibraryExtension)' == '' and $(RuntimeIdentifier.StartsWith('win'))">.dll</_NativeLibraryExtension> + <_NativeLibraryExtension Condition="'$(_NativeLibraryExtension)' == '' and $(RuntimeIdentifier.StartsWith('osx'))">.dylib</_NativeLibraryExtension> + <_NativeLibraryExtension Condition="'$(_NativeLibraryExtension)' == ''">.so</_NativeLibraryExtension> + + <_NativeExecutableExtension Condition="'$(_NativeExecutableExtension)' == '' and ($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win')))">.exe</_NativeExecutableExtension> + <_ComHostLibraryExtension Condition="'$(_ComHostLibraryExtension)' == '' and ($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win')))">.dll</_ComHostLibraryExtension> + <_IjwHostLibraryExtension Condition="'$(_IjwHostLibraryExtension)' == '' and ($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win')))">.dll</_IjwHostLibraryExtension> + + <_DotNetHostExecutableName>dotnet$(_NativeExecutableExtension)</_DotNetHostExecutableName> + <_DotNetAppHostExecutableNameWithoutExtension>apphost</_DotNetAppHostExecutableNameWithoutExtension> + <_DotNetAppHostExecutableName>$(_DotNetAppHostExecutableNameWithoutExtension)$(_NativeExecutableExtension)</_DotNetAppHostExecutableName> + + <_DotNetComHostLibraryNameWithoutExtension>comhost</_DotNetComHostLibraryNameWithoutExtension> + <_DotNetComHostLibraryName>$(_DotNetComHostLibraryNameWithoutExtension)$(_ComHostLibraryExtension)</_DotNetComHostLibraryName> + <_DotNetIjwHostLibraryNameWithoutExtension>Ijwhost</_DotNetIjwHostLibraryNameWithoutExtension> + <_DotNetIjwHostLibraryName>$(_DotNetIjwHostLibraryNameWithoutExtension)$(_IjwHostLibraryExtension)</_DotNetIjwHostLibraryName> + <_DotNetHostPolicyLibraryName>$(_NativeLibraryPrefix)hostpolicy$(_NativeLibraryExtension)</_DotNetHostPolicyLibraryName> + <_DotNetHostFxrLibraryName>$(_NativeLibraryPrefix)hostfxr$(_NativeLibraryExtension)</_DotNetHostFxrLibraryName> + </PropertyGroup> + + <PropertyGroup> + <_DefaultUserProfileRuntimeStorePath>$(HOME)</_DefaultUserProfileRuntimeStorePath> + <_DefaultUserProfileRuntimeStorePath Condition="'$(OS)' == 'Windows_NT'">$(USERPROFILE)</_DefaultUserProfileRuntimeStorePath> + <_DefaultUserProfileRuntimeStorePath>$([System.IO.Path]::Combine($(_DefaultUserProfileRuntimeStorePath), '.dotnet', 'store'))</_DefaultUserProfileRuntimeStorePath> + <UserProfileRuntimeStorePath Condition="'$(UserProfileRuntimeStorePath)' == ''">$(_DefaultUserProfileRuntimeStorePath)</UserProfileRuntimeStorePath> + </PropertyGroup> + + <!-- Opt into .NET Core resource-serialization strategy by default when targeting frameworks + that support it by default. + --> + <PropertyGroup> + <GenerateResourceUsePreserializedResources + Condition="'$(GenerateResourceUsePreserializedResources)' == '' and + ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' >= '3.0')">true</GenerateResourceUsePreserializedResources> + </PropertyGroup> + + <PropertyGroup> + <EmbeddedResourceUseDependentUponConvention + Condition="'$(EmbeddedResourceUseDependentUponConvention)' == '' and + (('$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' >= '3.0') or + ('$(TargetFrameworkIdentifier)' == '.NETStandard' and '$(_TargetFrameworkVersionWithoutV)' >= '2.1'))">true</EmbeddedResourceUseDependentUponConvention> + </PropertyGroup> + + <PropertyGroup> + <CoreBuildDependsOn> + _CheckForBuildWithNoBuild; + $(CoreBuildDependsOn); + GenerateBuildDependencyFile; + GenerateBuildRuntimeConfigurationFiles + </CoreBuildDependsOn> + </PropertyGroup> + + <PropertyGroup> + <CoreCleanDependsOn> + _SdkBeforeClean; + $(CoreCleanDependsOn) + </CoreCleanDependsOn> + </PropertyGroup> + + <PropertyGroup> + <RebuildDependsOn> + _SdkBeforeRebuild; + $(RebuildDependsOn) + </RebuildDependsOn> + </PropertyGroup> + + <!-- TODO: this target should not check GeneratePackageOnBuild. + remove when https://github.com/NuGet/Home/issues/7801 is fixed. + --> + <Target Name="_CheckForBuildWithNoBuild" + Condition="'$(NoBuild)' == 'true' and '$(GeneratePackageOnBuild)' != 'true'"> + <NETSdkError ResourceName="NoBuildRequested" /> + </Target> + + <Target Name="_ComputePackageReferencePublish"> + <ItemGroup> + + <!-- PrivateAssets="All" means exclude from publish, unless Publish metadata is specified separately --> + <PackageReference Publish="false" + Condition="('%(PackageReference.PrivateAssets)' == 'All') And ('%(PackageReference.Publish)' == '')"/> + + <_ExcludeFromPublishPackageReference Include="@(PackageReference)" + Condition="('%(PackageReference.Publish)' == 'false')" /> + </ItemGroup> + </Target> + + <!-- + ============================================================ + GenerateBuildDependencyFile + + Generates the $(project).deps.json file during Build + ============================================================ + --> + + <Target Name="GenerateBuildDependencyFile" + DependsOnTargets="_DefaultMicrosoftNETPlatformLibrary; + _HandlePackageFileConflicts; + _ComputeReferenceAssemblies; + _ComputeUserRuntimeAssemblies; + ResolveRuntimePackAssets; + _ComputePackageReferencePublish" + BeforeTargets="CopyFilesToOutputDirectory" + Condition="'$(GenerateDependencyFile)' == 'true'" + Inputs="$(ProjectAssetsFile);$(ProjectAssetsCacheFile);$(MSBuildAllProjects)" + Outputs="$(ProjectDepsFilePath)"> + + <!-- Set a dummy Version if it hasn't been set by DefaultAssemblyInfo.targets --> + <PropertyGroup Condition="'$(UsingNETSdkDefaults)' != 'true'"> + <Version Condition="'$(Version)' == ''">1.0.0</Version> + </PropertyGroup> + + <ItemGroup> + <ResolvedCompileFileDefinitions Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' == 'Reference'" /> + <NativeCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" /> + <ResourceCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" /> + <RuntimeCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" /> + <RuntimeTargetsCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" /> + <RuntimePackAsset Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" /> + </ItemGroup> + + <GenerateDepsFile ProjectPath="$(MSBuildProjectFullPath)" + AssetsFilePath="$(ProjectAssetsFile)" + DepsFilePath="$(ProjectDepsFilePath)" + TargetFramework="$(TargetFrameworkMoniker)" + AssemblyName="$(AssemblyName)" + AssemblyExtension="$(TargetExt)" + AssemblyVersion="$(Version)" + AssemblySatelliteAssemblies="@(IntermediateSatelliteAssembliesWithTargetPath)" + ReferencePaths="@(ReferencePath)" + ReferenceDependencyPaths="@(ReferenceDependencyPaths)" + ReferenceSatellitePaths="@(ReferenceSatellitePaths)" + ReferenceAssemblies="@(_ReferenceAssemblies)" + RuntimePackAssets="@(RuntimePackAsset)" + IncludeMainProject="$(IncludeMainProjectInDepsFile)" + RuntimeIdentifier="$(RuntimeIdentifier)" + PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" + RuntimeFrameworks="@(RuntimeFramework)" + CompilerOptions="@(DependencyFileCompilerOptions)" + CompileReferences="@(ResolvedCompileFileDefinitions)" + ResolvedNuGetFiles="@(NativeCopyLocalItems);@(ResourceCopyLocalItems);@(RuntimeCopyLocalItems)" + UserRuntimeAssemblies="@(UserRuntimeAssembly)" + ResolvedRuntimeTargetsFiles="@(RuntimeTargetsCopyLocalItems)" + IsSelfContained="$(SelfContained)" + IncludeRuntimeFileVersions="$(IncludeFileVersionsInDependencyFile)"> + </GenerateDepsFile> + + <ItemGroup> + <!-- Do this in an ItemGroup instead of as an output parameter of the GenerateDepsFile task so that it still gets added to the item set + during incremental builds when the task is skipped --> + <FileWrites Include="$(ProjectDepsFilePath)" Condition="Exists('$(ProjectDepsFilePath)')"/> + </ItemGroup> + </Target> + + <!-- + ============================================================ + GenerateBuildRuntimeConfigurationFiles + + Generates the $(project).runtimeconfig.json and $(project).runtimeconfig.dev.json files during Build + ============================================================ + --> + + <Target Name="GenerateBuildRuntimeConfigurationFiles" + DependsOnTargets="_DefaultMicrosoftNETPlatformLibrary" + BeforeTargets="CopyFilesToOutputDirectory" + Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'" + Inputs="@(GenerateRuntimeConfigurationFilesInputs)" + Outputs="$(ProjectRuntimeConfigFilePath);$(ProjectRuntimeConfigDevFilePath)"> + + <PropertyGroup> + <_IsRollForwardSupported Condition="'$(_TargetFrameworkVersionWithoutV)' >= '3.0'">true</_IsRollForwardSupported> + <RollForward Condition="'$(RollForward)' == '' and '$(EnableDynamicLoading)' == 'true' and '$(_IsRollForwardSupported)' == 'true'">LatestMinor</RollForward> + </PropertyGroup> + + <!-- RollForward is only supported since .NET Core 3.0, but we should allow limited usage when the app is targeting even lower versions + This is to let 2.* apps specify that they are OK to run on 3.0 and above. So explicitly allow just Major and LatestMajor + other values should still keep failing as they won't have any effect when run on 2.*. --> + <NETSdkError Condition="'$(RollForward)' != '' and '$(RollForward)' != 'Major' and '$(RollForward)' != 'LatestMajor' and '$(_IsRollForwardSupported)' != 'true'" + ResourceName="RollForwardRequiresVersion30"/> + + <PropertyGroup> + <_WriteIncludedFrameworks Condition="'$(SelfContained)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' >= '3.1'">true</_WriteIncludedFrameworks> + </PropertyGroup> + + <GenerateRuntimeConfigurationFiles AssetsFilePath="$(ProjectAssetsFile)" + TargetFrameworkMoniker="$(TargetFrameworkMoniker)" + TargetFramework="$(TargetFramework)" + RuntimeConfigPath="$(ProjectRuntimeConfigFilePath)" + RuntimeConfigDevPath="$(ProjectRuntimeConfigDevFilePath)" + RuntimeIdentifier="$(RuntimeIdentifier)" + PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" + RuntimeFrameworks="@(RuntimeFramework)" + RollForward="$(RollForward)" + UserRuntimeConfig="$(UserRuntimeConfig)" + HostConfigurationOptions="@(RuntimeHostConfigurationOption)" + AdditionalProbingPaths="@(AdditionalProbingPath)" + IsSelfContained="$(SelfContained)" + WriteIncludedFrameworks="$(_WriteIncludedFrameworks)"> + + </GenerateRuntimeConfigurationFiles> + + <ItemGroup> + <!-- Do this in an ItemGroup instead of as an output parameter of the GenerateDepsFile task so that it still gets added to the item set + during incremental builds when the task is skipped --> + <FileWrites Include="$(ProjectRuntimeConfigFilePath)" Condition="Exists('$(ProjectRuntimeConfigFilePath)')"/> + <FileWrites Include="$(ProjectRuntimeConfigDevFilePath)" Condition="Exists('$(ProjectRuntimeConfigDevFilePath)')"/> + </ItemGroup> + + </Target> + + <!-- Add runtimeconfig.json file to BuiltProjectOutputGroupOutput, so that it will get included in the NuGet package by the Pack target --> + <Target Name="AddRuntimeConfigFileToBuiltProjectOutputGroupOutput" + Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'" + BeforeTargets="BuiltProjectOutputGroup"> + <ItemGroup> + <BuiltProjectOutputGroupOutput Include="$(ProjectRuntimeConfigFilePath)" + TargetPath="$(ProjectRuntimeConfigFileName)" + FinalOutputPath="$(ProjectRuntimeConfigFilePath)" /> + </ItemGroup> + </Target> + + <Target Name="_SdkBeforeClean"> + <PropertyGroup Condition="'$(_CleaningWithoutRebuilding)' == ''"> + <_CleaningWithoutRebuilding>true</_CleaningWithoutRebuilding> + <EmitAssetsLogMessages>false</EmitAssetsLogMessages> + </PropertyGroup> + </Target> + + <Target Name="_SdkBeforeRebuild"> + <PropertyGroup> + <_CleaningWithoutRebuilding>false</_CleaningWithoutRebuilding> + </PropertyGroup> + </Target> + + <!-- + ============================================================ + DefaultRuntimeHostConfigurationOptions + + Defaults @(RuntimeHostConfigurationOption) items based on MSBuild properties. + ============================================================ + --> + + <ItemGroup> + <RuntimeHostConfigurationOption Include="System.GC.Concurrent" + Condition="'$(ConcurrentGarbageCollection)' != ''" + Value="$(ConcurrentGarbageCollection)" /> + + <RuntimeHostConfigurationOption Include="System.GC.Server" + Condition="'$(ServerGarbageCollection)' != ''" + Value="$(ServerGarbageCollection)" /> + + <RuntimeHostConfigurationOption Include="System.GC.RetainVM" + Condition="'$(RetainVMGarbageCollection)' != ''" + Value="$(RetainVMGarbageCollection)" /> + + <RuntimeHostConfigurationOption Include="System.Runtime.TieredCompilation" + Condition="'$(TieredCompilation)' != ''" + Value="$(TieredCompilation)" /> + + <RuntimeHostConfigurationOption Include="System.Runtime.TieredCompilation.QuickJit" + Condition="'$(TieredCompilationQuickJit)' != ''" + Value="$(TieredCompilationQuickJit)" /> + + <RuntimeHostConfigurationOption Include="System.Runtime.TieredCompilation.QuickJitForLoops" + Condition="'$(TieredCompilationQuickJitForLoops)' != ''" + Value="$(TieredCompilationQuickJitForLoops)" /> + + <RuntimeHostConfigurationOption Include="System.Threading.ThreadPool.MinThreads" + Condition="'$(ThreadPoolMinThreads)' != ''" + Value="$(ThreadPoolMinThreads)" /> + + <RuntimeHostConfigurationOption Include="System.Threading.ThreadPool.MaxThreads" + Condition="'$(ThreadPoolMaxThreads)' != ''" + Value="$(ThreadPoolMaxThreads)" /> + + <RuntimeHostConfigurationOption Include="System.Globalization.Invariant" + Condition="'$(InvariantGlobalization)' != ''" + Value="$(InvariantGlobalization)" /> + </ItemGroup> + + <!-- + ============================================================ + DefaultAdditionalProbingPaths + + Adds the default @(AdditionalProbingPath) items. + ============================================================ + --> + + <ItemGroup Condition="'$(GenerateRuntimeConfigurationFiles)' == 'true' and '$(SkipDefaultAdditionalProbingPaths)' != 'true'"> + <!-- Note: can't use Path.Combine here since `|` is an illegal path character --> + <AdditionalProbingPath Include="$(UserProfileRuntimeStorePath)$([System.IO.Path]::DirectorySeparatorChar)|arch|$([System.IO.Path]::DirectorySeparatorChar)|tfm|" /> + </ItemGroup> + + <PropertyGroup> + <CompileDependsOn> + $(CompileDependsOn); + _CreateAppHost; + _CreateComHost; + _GetIjwHostPaths; + </CompileDependsOn> + </PropertyGroup> + + <!-- + ============================================================ + _CreateAppHost + If we found a restored apphost, create the modified destination apphost + with options from the project. + ============================================================ + --> + <UsingTask TaskName="CreateAppHost" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="_CreateAppHost" + Inputs="@(IntermediateAssembly);$(AppHostSourcePath)" + Outputs="$(AppHostIntermediatePath)" + DependsOnTargets="_GetAppHostPaths;CoreCompile" + Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true' and + '$(AppHostSourcePath)' != '' and + Exists('@(IntermediateAssembly)') and + Exists('$(AppHostSourcePath)')"> + <PropertyGroup> + <_UseWindowsGraphicalUserInterface Condition="($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win'))) and '$(OutputType)'=='WinExe'">true</_UseWindowsGraphicalUserInterface> + </PropertyGroup> + + <CreateAppHost AppHostSourcePath="$(AppHostSourcePath)" + AppHostDestinationPath="$(AppHostIntermediatePath)" + AppBinaryName="$(AssemblyName)$(TargetExt)" + IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" + WindowsGraphicalUserInterface="$(_UseWindowsGraphicalUserInterface)" + Retries="$(CopyRetryCount)" + RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" + /> + </Target> + + <!-- + ============================================================ + _GetAppHostPaths + + Gets the path to apphost (restored via packages or in an apphost pack), + and computes the path for the destination apphost. + ============================================================ + --> + <Target Name="_GetAppHostPaths" + DependsOnTargets="ResolvePackageAssets;ResolveFrameworkReferences" + Condition="'$(UseAppHost)' == 'true' and '$(_IsExecutable)' == 'true'"> + + <NETSdkError Condition="'@(_NativeRestoredAppHostNETCore->Count())' > 1" + ResourceName="MultipleFilesResolved" + FormatArguments="$(_DotNetAppHostExecutableName)" /> + + <PropertyGroup> + <!-- AppHostSourcePath will be set from ProcessFrameworkReferences if not using the apphost from the assets file --> + <AppHostSourcePath Condition="'$(UseAppHostFromAssetsFile)' == 'true'">@(_NativeRestoredAppHostNETCore)</AppHostSourcePath> + </PropertyGroup> + <PropertyGroup Condition="'$(UseAppHostFromAssetsFile)' == 'false' Or '@(_NativeRestoredAppHostNETCore)' != ''"> + <AppHostIntermediatePath>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)$(AssemblyName)$(_NativeExecutableExtension)'))</AppHostIntermediatePath> + </PropertyGroup> + + </Target> + + <ItemGroup> + <ClsidMap Include="$(IntermediateOutputPath)$(AssemblyName).clsidmap" /> + <RegFreeComManifest Include="$(IntermediateOutputPath)$(AssemblyName).X.manifest" /> + </ItemGroup> + + <!-- + ============================================================ + _GenerateClsidMap + + Generates a *.clsidmap file from the built assembly. + ============================================================ + --> + <UsingTask TaskName="GenerateClsidMap" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <Target Name="_GenerateClsidMap" + Inputs="@(IntermediateAssembly)" + Outputs="@(ClsidMap)" + DependsOnTargets="CoreCompile" + Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true' and + '$(EnableComHosting)' == 'true'"> + <GenerateClsidMap + IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" + CLsidMapDestinationPath="@(ClsidMap->'%(FullPath)')" /> + </Target> + + <UsingTask TaskName="CreateComHost" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- + ============================================================ + _CreateComHost + If we found a restored comhost, create the modified destination apphost + with options from the project. + ============================================================ + --> + <Target Name="_CreateComHost" + Inputs="@(IntermediateAssembly);$(ComHostSourcePath)" + Outputs="$(ComHostIntermediatePath)" + DependsOnTargets="_GetComHostPaths;CoreCompile;_GenerateClsidMap;_GenerateRegFreeComManifest" + Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true' and + '$(ComHostIntermediatePath)' != '' and + Exists('@(IntermediateAssembly)') and + Exists('$(ComHostSourcePath)')"> + <CreateComHost + ComHostSourcePath="$(ComHostSourcePath)" + ComHostDestinationPath="$(ComHostIntermediatePath)" + ClsidMapPath="@(ClsidMap)" /> + </Target> + + <UsingTask TaskName="GenerateRegFreeComManifest" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <!-- + ============================================================ + _GenerateRegFreeComManifest + + Gets the path to the restored comhost, and if the restored comhost + was present, computes the path for the destination comhost. + ============================================================ + --> + <Target Name="_GenerateRegFreeComManifest" + DependsOnTargets="_GenerateClsidMap;_GetComHostPaths" + Inputs="@(ClsidMap);@(IntermediateAssembly)" + Outputs="@(RegFreeComManifest)" + Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true' and + '$(EnableComHosting)' == 'true' and + '$(EnableRegFreeCom)' == 'true'"> + <GenerateRegFreeComManifest + IntermediateAssembly="@(IntermediateAssembly)" + ComHostName="$(ComHostFileName)" + ClsidMapPath="@(ClsidMap)" + ComManifestPath="@(RegFreeComManifest)" /> + </Target> + + <!-- + ============================================================ + _GetComHostPaths + + Gets the path to the restored comhost, and if the restored comhost + was present, computes the path for the destination comhost. + ============================================================ + --> + <Target Name="_GetComHostPaths" + DependsOnTargets="ResolvePackageAssets;ResolveFrameworkReferences" + Condition="'$(EnableComHosting)' == 'true' and '$(_IsExecutable)' != 'true'"> + <PropertyGroup> + <ComHostFileName>$(AssemblyName).comhost$(_ComHostLibraryExtension)</ComHostFileName> + <ComHostIntermediatePath>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)$(ComHostFileName)'))</ComHostIntermediatePath> + </PropertyGroup> + + <NETSdkError Condition="'$(ComHostSourcePath)' == '' or !Exists('$(ComHostSourcePath)')" + ResourceName="CannotFindComhost" /> + </Target> + + <!-- + ============================================================ + _GetIjwHostPaths + + Gets the path to the restored Ijwhost, and if the restored Ijwhost + was present, Computes the path for the destination Ijwhost. + ============================================================ + --> + <Target Name="_GetIjwHostPaths" + DependsOnTargets="ResolvePackageAssets;ResolveFrameworkReferences" + Condition="'$(UseIJWHost)' == 'true'"> + + <NETSdkError Condition="'$(IjwHostSourcePath)' == '' or !Exists('$(IjwHostSourcePath)')" + ResourceName="CannotFindIjwhost" /> + </Target> + + <!-- + ============================================================ + _ComputeNETCoreBuildOutputFiles + + Computes any files that need to be copied to the build output folder for .NET Core. + ============================================================ + --> + <Target Name="_ComputeNETCoreBuildOutputFiles" + DependsOnTargets="_GetAppHostPaths;_GetComHostPaths;_GetIjwHostPaths" + BeforeTargets="AssignTargetPaths" + Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true'"> + + <!-- Fallback to renaming the dotnet host if there is no apphost for self-contained builds. --> + <PropertyGroup Condition="'$(AppHostIntermediatePath)' == '' and '$(SelfContained)' == 'true'"> + <_CopyAndRenameDotnetHost Condition="'$(_CopyAndRenameDotnetHost)' == ''">true</_CopyAndRenameDotnetHost> + </PropertyGroup> + <ItemGroup Condition="'$(_CopyAndRenameDotnetHost)' == 'true'"> + <None Include="@(NativeCopyLocalItems)" + Condition="'%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetHostExecutableName)'"> + <Link>$(AssemblyName)$(_NativeExecutableExtension)</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </None> + </ItemGroup> + + + <ItemGroup Condition="'$(AppHostIntermediatePath)' != '' or '$(_CopyAndRenameDotnetHost)' == 'true'"> + <!-- + If not copying local lock file assemblies, copy the host policy and host fxr libraries for self-contained builds. + This is required to allow the host to activate in self-contained mode. + --> + <None Include="@(NativeCopyLocalItems)" + Condition="'$(SelfContained)' == 'true' and + '$(CopyLocalLockFileAssemblies)' != 'true' and + ('%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetHostPolicyLibraryName)' or + '%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetHostFxrLibraryName)')"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <CopyToPublishDirectory>Never</CopyToPublishDirectory> + </None> + </ItemGroup> + <ItemGroup Condition="'$(AppHostIntermediatePath)' != ''"> + <None Include="$(AppHostIntermediatePath)"> + <Link>$(AssemblyName)$(_NativeExecutableExtension)</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <!-- Always copy the AppHost because the contents of the apphost binary can change during the publish step (due to single-file bundling). + Always copying the apphost ensures that that the sequence + dotnet publish /p:PublishSingleFile=true + dotnet publish /p:PublishSingleFile=false + places the correct unbundled apphost in the publish directory. --> + <CopyToPublishDirectory>Always</CopyToPublishDirectory> + </None> + </ItemGroup> + + <ItemGroup Condition="'$(ComHostIntermediatePath)' != ''"> + <None Include="$(ComHostIntermediatePath)"> + <Link>$(AssemblyName).$(_DotNetComHostLibraryName)</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </None> + <None Include="@(RegFreeComManifest)" Condition="'$(EnableRegFreeCom)' == 'true'"> + <Link>%(FileName)%(Extension)</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </None> + + </ItemGroup> + + <ItemGroup Condition="'$(IjwHostSourcePath)' != '' and '$(UseIJWHost)' == 'true'"> + <None Include="$(IjwHostSourcePath)"> + <Link>$(_DotNetIjwHostLibraryName)</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> + </None> + </ItemGroup> + </Target> + + <!-- + ============================================================ + _ComputeReferenceAssemblies + + Computes references that are only used at compile-time. + ============================================================ + --> + <Target Name="_ComputeReferenceAssemblies" + DependsOnTargets="ResolveAssemblyReferences"> + + <ItemGroup> + <_FrameworkReferenceAssemblies Include="@(ReferencePath)" + Condition="(%(ReferencePath.FrameworkFile) == 'true' or + %(ReferencePath.ResolvedFrom) == 'ImplicitlyExpandDesignTimeFacades') + and ('%(ReferencePath.NuGetSourceType)' == '' or + '%(ReferencePath.NuGetIsFrameworkReference)' == 'true')" /> + + <!-- + "ReferenceOnly" assemblies are assemblies that are only used at compile-time, and they can't be resolved + by the normal compile-assembly resolvers at runtime: + 1. App local + 2. NuGet/Package layout + 3. ProgramFiles\Reference Assemblies + These assemblies need to be copied to the 'refs' folder for both build and publish. + --> + <_ReferenceOnlyAssemblies Include="@(ReferencePath)" + Exclude="@(_FrameworkReferenceAssemblies)" + Condition="%(ReferencePath.CopyLocal) != 'true' and + %(ReferencePath.NuGetSourceType) == ''" /> + + <_ReferenceAssemblies Include="@(_FrameworkReferenceAssemblies)" /> + <_ReferenceAssemblies Include="@(_ReferenceOnlyAssemblies)" /> + </ItemGroup> + + </Target> + <!-- + ============================================================ + _ComputeUserRuntimeAssemblies + + Computes references or reference dependencies that are copy local. + + NOTE: NuGet and framework references are never copy local so those are not included here. + These will be project references and direct references and their copy local dependencies. + ============================================================ + --> + <Target Name="_ComputeUserRuntimeAssemblies"> + <ItemGroup> + <!-- IncludeRuntimeDependency=true metadata is escape hatch to include a non-copy local reference in deps file as a runtime dependency --> + <ReferencePath> + <IncludeRuntimeDependency Condition="'%(ReferencePath.IncludeRuntimeDependency)' == '' and '%(ReferencePath.CopyLocal)' == 'true'">true</IncludeRuntimeDependency> + </ReferencePath> + + <ReferenceDependencyPaths> + <IncludeRuntimeDependency Condition="'%(ReferenceDependencyPaths.IncludeRuntimeDependency)' == '' and '%(ReferenceDependencyPaths.CopyLocal)' == 'true'">true</IncludeRuntimeDependency> + </ReferenceDependencyPaths> + + <UserRuntimeAssembly Include="@(ReferencePath->WithMetadataValue('IncludeRuntimeDependency', 'true'))" /> + <UserRuntimeAssembly Include="@(ReferenceDependencyPaths->WithMetadataValue('IncludeRuntimeDependency', 'true'))" /> + </ItemGroup> + </Target> + + <!-- + ============================================================ + Run Information + + The ProcessStart information that can be used to run this project. + ============================================================ + --> + + <PropertyGroup> + <RunWorkingDirectory Condition="'$(RunWorkingDirectory)' == ''">$(StartWorkingDirectory)</RunWorkingDirectory> + </PropertyGroup> + + <Choose> + <When Condition="'$(StartAction)' == 'Program'"> + <PropertyGroup> + <RunCommand Condition="'$(RunCommand)' == ''">$(StartProgram)</RunCommand> + <RunArguments Condition="'$(RunArguments)' == ''">$(StartArguments)</RunArguments> + </PropertyGroup> + </When> + + <When Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_IsExecutable)' == 'true'"> + <PropertyGroup Condition="'$(UseAppHost)' != 'true'"> + <!-- TODO: https://github.com/dotnet/sdk/issues/20 Need to get the DotNetHost path from MSBuild --> + <RunCommand Condition="'$(RunCommand)' == ''">dotnet</RunCommand> + + <_NetCoreRunArguments>exec "$(TargetPath)"</_NetCoreRunArguments> + <RunArguments Condition="'$(RunArguments)' == '' and '$(StartArguments)' != ''">$(_NetCoreRunArguments) $(StartArguments)</RunArguments> + <RunArguments Condition="'$(RunArguments)' == ''">$(_NetCoreRunArguments)</RunArguments> + </PropertyGroup> + + <PropertyGroup Condition="'$(UseAppHost)' == 'true'"> + <RunCommand Condition="'$(RunCommand)' == ''">$(TargetDir)$(AssemblyName)$(_NativeExecutableExtension)</RunCommand> + <RunArguments Condition="'$(RunArguments)' == ''">$(StartArguments)</RunArguments> + </PropertyGroup> + </When> + + <When Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(_IsExecutable)' == 'true'"> + <PropertyGroup> + <RunCommand Condition="'$(RunCommand)' == ''">$(TargetPath)</RunCommand> + <RunArguments Condition="'$(RunArguments)' == ''">$(StartArguments)</RunArguments> + </PropertyGroup> + </When> + </Choose> + + <PropertyGroup> + <!-- Ensure $(RunWorkingDirectory) is a full path --> + <RunWorkingDirectory Condition="'$(RunWorkingDirectory)' != '' and '$([System.IO.Path]::IsPathRooted($(RunWorkingDirectory)))' != 'true'">$([System.IO.Path]::GetFullPath($([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', '$(RunWorkingDirectory)'))))</RunWorkingDirectory> + </PropertyGroup> + + <!-- + ============================================================ + CoreGenerateSatelliteAssemblies + ============================================================ + --> + <PropertyGroup> + <CreateSatelliteAssembliesDependsOn> + $(CreateSatelliteAssembliesDependsOn); + CoreGenerateSatelliteAssemblies + </CreateSatelliteAssembliesDependsOn> + </PropertyGroup> + + <UsingTask TaskName="GetAssemblyAttributes" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <Target Name="CoreGenerateSatelliteAssemblies" + DependsOnTargets="ResolveAssemblyReferences;_GetAssemblyInfoFromTemplateFile" + Inputs="$(MSBuildAllProjects);@(_SatelliteAssemblyResourceInputs);$(IntermediateOutputPath)$(TargetName)$(TargetExt)" + Outputs="$(IntermediateOutputPath)%(Culture)\$(TargetName).resources.dll" + Condition="'@(_SatelliteAssemblyResourceInputs)' != '' and '$(GenerateSatelliteAssembliesForCore)' == 'true' "> + + <MakeDir Directories="@(_SatelliteAssemblyResourceInputs->'$(IntermediateOutputPath)%(Culture)')" /> + + <PropertyGroup> + <_AssemblyInfoFile>$(IntermediateOutputPath)%(_SatelliteAssemblyResourceInputs.Culture)\$(TargetName).resources.cs</_AssemblyInfoFile> + <_OutputAssembly>$(IntermediateOutputPath)%(_SatelliteAssemblyResourceInputs.Culture)\$(TargetName).resources.dll</_OutputAssembly> + </PropertyGroup> + + <ItemGroup> + <SatelliteAssemblyAttribute Include="System.Reflection.AssemblyCultureAttribute" Condition="'%(_SatelliteAssemblyResourceInputs.Culture)' != ''"> + <_Parameter1>%(_SatelliteAssemblyResourceInputs.Culture)</_Parameter1> + </SatelliteAssemblyAttribute> + </ItemGroup> + + <WriteCodeFragment AssemblyAttributes="@(SatelliteAssemblyAttribute)" Language="C#" OutputFile="$(_AssemblyInfoFile)"> + <Output TaskParameter="OutputFile" ItemName="FileWrites" /> + </WriteCodeFragment> + + <PropertyGroup Condition="'$(UseSharedCompilation)' == ''"> + <UseSharedCompilation>true</UseSharedCompilation> + </PropertyGroup> + + <Csc Resources="@(_SatelliteAssemblyResourceInputs)" + Sources="$(_AssemblyInfoFile)" + OutputAssembly="$(_OutputAssembly)" + References="@(ReferencePath)" + KeyContainer="$(KeyContainerName)" + KeyFile="$(KeyOriginatorFile)" + NoConfig="true" + NoLogo="$(NoLogo)" + NoStandardLib="$(NoCompilerStandardLib)" + PublicSign="$(PublicSign)" + DelaySign="$(DelaySign)" + Deterministic="$(Deterministic)" + DisabledWarnings="$(DisabledWarnings)" + WarningLevel="$(WarningLevel)" + WarningsAsErrors="$(WarningsAsErrors)" + WarningsNotAsErrors="$(WarningsNotAsErrors)" + TargetType="Library" + ToolExe="$(CscToolExe)" + ToolPath="$(CscToolPath)" + UseSharedCompilation="$(UseSharedCompilation)"> + + <Output TaskParameter="OutputAssembly" ItemName="FileWrites"/> + </Csc> + </Target> + + <Target Name="_GetAssemblyInfoFromTemplateFile"> + <GetAssemblyAttributes PathToTemplateFile="$(IntermediateOutputPath)$(TargetName)$(TargetExt)" > + <Output TaskParameter="AssemblyAttributes" ItemName="_AssemblyAttributesFromTemplateFile" /> + </GetAssemblyAttributes> + + <ItemGroup> + <SatelliteAssemblyAttribute Include="@(_AssemblyAttributesFromTemplateFile)" /> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + _DefaultMicrosoftNETPlatformLibrary + + .NET Core apps can have shared frameworks that are pre-installed on the target machine, thus the app is "portable" + to any machine that already has the shared framework installed. For .NET Core 1.x and 2.x, a "platform" library + is declared. The platform library and its dependencies will be excluded from the publish output. + + For .NET Core 3 and up, targeting packs and runtime packs are used for shared framework assets instead of PackageReference + ============================================================ + --> + <Target Name="_DefaultMicrosoftNETPlatformLibrary"> + + <PropertyGroup Condition="'$(MicrosoftNETPlatformLibrary)' == ''"> + <MicrosoftNETPlatformLibrary Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' < '3.0'">Microsoft.NETCore.App</MicrosoftNETPlatformLibrary> + </PropertyGroup> + + </Target> + + <!-- + ============================================================ + GetAllRuntimeIdentifiers + ============================================================ + --> + <Target Name="GetAllRuntimeIdentifiers" + Returns="$(RuntimeIdentifiers);$(RuntimeIdentifier)" /> + + <!-- + ============================================================ + InjectTargetPathMetadata + + Update TargetPathWithTargetPlatformMoniker with target framework + identifier and version metadata. This is so that the + ImplicitlyExpandNETStandardFacades target can determine if a + referenced project needs the .NET Standard facades even if + the project hasn't been compiled to disk yet. + + See https://github.com/dotnet/sdk/issues/1403 for more context + ============================================================ + --> + + <ItemDefinitionGroup> + <TargetPathWithTargetPlatformMoniker> + <TargetFrameworkIdentifier>$(TargetFrameworkIdentifier)</TargetFrameworkIdentifier> + <TargetFrameworkVersion>$(_TargetFrameworkVersionWithoutV)</TargetFrameworkVersion> + </TargetPathWithTargetPlatformMoniker> + </ItemDefinitionGroup> + + <!-- + ============================================================ + Project Capabilities + ============================================================ + --> + + <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_IsExecutable)' == 'true'"> + <ProjectCapability Include="CrossPlatformExecutable" /> + </ItemGroup> + + <!-- Reference Manager capabilities --> + <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'"> + <ProjectCapability Remove="ReferenceManagerAssemblies" /> + </ItemGroup> + + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DisableStandardFrameworkResolution.targets" Condition="'$(DisableStandardFrameworkResolution)' == 'true'" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DesignerSupport.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.GenerateAssemblyInfo.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'"/> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.GenerateSupportedRuntime.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ComposeStore.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.CrossGen.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ObsoleteReferences.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Publish.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackStubs.targets" Condition="'$(Language)' == 'C++'"/> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackTool.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackProjectTool.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PreserveCompilationContext.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ConflictResolution.targets" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.targets" Condition="'$(Language)' == 'C#'" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.VisualBasic.targets" Condition="'$(Language)' == 'VB'" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.FSharp.targets" Condition="'$(Language)' == 'F#'" /> + <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ILLink.targets" /> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.SupportedTargetFrameworks.props b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.SupportedTargetFrameworks.props new file mode 100644 index 0000000000..bcbc50a035 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.SupportedTargetFrameworks.props @@ -0,0 +1,62 @@ +<!-- +*********************************************************************************************** +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. --> +<Project> + <!-- .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" /> + </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> +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets new file mode 100644 index 0000000000..b34e739603 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets @@ -0,0 +1,189 @@ +<!-- +*********************************************************************************************** +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. +*********************************************************************************************** +--> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- + 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. + --> + + <!-- Split $(TargetFramework) (e.g. net45) into short identifier and short version (e.g. 'net' and '45'). --> + <PropertyGroup Condition="'$(TargetFramework)' != '' and !$(TargetFramework.Contains(',')) and !$(TargetFramework.Contains('+'))"> + <_ShortFrameworkIdentifier>$(TargetFramework.TrimEnd('.0123456789'))</_ShortFrameworkIdentifier> + <_ShortFrameworkVersion>$(TargetFramework.Substring($(_ShortFrameworkIdentifier.Length)))</_ShortFrameworkVersion> + </PropertyGroup> + + <!-- Map short name to long name. See earlier comment for example of how to work with identifiers that are not recognized here. --> + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''"> + <TargetFrameworkIdentifier Condition="'$(_ShortFrameworkIdentifier)' == 'netstandard'">.NETStandard</TargetFrameworkIdentifier> + <TargetFrameworkIdentifier Condition="'$(_ShortFrameworkIdentifier)' == 'netcoreapp'">.NETCoreApp</TargetFrameworkIdentifier> + <TargetFrameworkIdentifier Condition="'$(_ShortFrameworkIdentifier)' == 'net'">.NETFramework</TargetFrameworkIdentifier> + </PropertyGroup> + + <!-- Versions with dots are taken as is and just given leading 'v'. --> + <PropertyGroup Condition="'$(TargetFrameworkVersion)' == '' and '$(_ShortFrameworkVersion)' != '' and $(_ShortFrameworkVersion.Contains('.'))"> + <TargetFrameworkVersion>v$(_ShortFrameworkVersion)</TargetFrameworkVersion> + </PropertyGroup> + + <!-- Versions with no dots and up to 3 characters get leading 'v' and implicit dots between characters. --> + <PropertyGroup Condition="'$(TargetFrameworkVersion)' == '' and '$(_ShortFrameworkVersion)' != ''"> + <TargetFrameworkVersion Condition="$(_ShortFrameworkVersion.Length) == 1">v$(_ShortFrameworkVersion[0]).0</TargetFrameworkVersion> + <TargetFrameworkVersion Condition="$(_ShortFrameworkVersion.Length) == 2">v$(_ShortFrameworkVersion[0]).$(_ShortFrameworkVersion[1])</TargetFrameworkVersion> + <TargetFrameworkVersion Condition="$(_ShortFrameworkVersion.Length) == 3">v$(_ShortFrameworkVersion[0]).$(_ShortFrameworkVersion[1]).$(_ShortFrameworkVersion[2])</TargetFrameworkVersion> + </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 '$(TargetFrameworkVersion)' == ''"> + <_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" + Condition="'$(_UnsupportedTargetFrameworkError)' == 'true'" + > + <NETSdkError Condition="!$(TargetFramework.Contains(';'))" + ResourceName="CannotInferTargetFrameworkIdentifierAndVersion" + FormatArguments="$([MSBuild]::Escape('$(TargetFramework)'))" /> + + <NETSdkError Condition="$(TargetFramework.Contains(';'))" + ResourceName="TargetFrameworkWithSemicolon" + FormatArguments="$([MSBuild]::Escape('$(TargetFramework)'))" /> + </Target> + + <Target Name="_CollectTargetFrameworkForTelemetry" AfterTargets="_CheckForUnsupportedTargetFramework"> + <Telemetry EventName="targetframeworkeval" EventData="TargetFrameworkVersion=$([MSBuild]::Escape('$(TargetFrameworkMoniker)'))" /> + </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)' == ''"> + <TargetFrameworkVersion >v0.0</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''"> + <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)' != ''"> + + <NETSdkError Condition="'$(_TargetFrameworkVersionWithoutV)' > '$(NETCoreAppMaximumVersion)'" + ResourceName="UnsupportedTargetFrameworkVersion" + FormatArguments=".NET Core;$(_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"> + <NETSdkError Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' < '3.1' and '$(Language)' == 'C++'" + ResourceName="CppRequiresTFMVersion31" + /> + </Target> + + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(NETStandardMaximumVersion)' == ''"> + <NETStandardMaximumVersion>2.1</NETStandardMaximumVersion> + </PropertyGroup> + + <Target Name="_CheckForUnsupportedNETStandardVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" + Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(NETStandardMaximumVersion)' != ''"> + + <NETSdkError Condition="'$(_TargetFrameworkVersionWithoutV)' > '$(NETStandardMaximumVersion)'" + ResourceName="UnsupportedTargetFrameworkVersion" + FormatArguments=".NET Standard;$(_TargetFrameworkVersionWithoutV);$(NETStandardMaximumVersion)" + /> + </Target> + + <Target Name="_CheckForUnsupportedTargetFrameworkAndFeatureCombination" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" + Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'"> + + <NETSdkError Condition="'$(UsingNETSdkDefaults)' != 'true'" + ResourceName="NETFrameworkWithoutUsingNETSdkDefaults" /> + </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. + + We may be able to move this to Microsoft.NET.Sdk.DefaultItems.targets (where the other DefaultItemExcludes + are defined) if we fix https://github.com/dotnet/sdk/issues/550 + --> + <PropertyGroup> + <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'"> + <AppendTargetFrameworkToOutputPath Condition="'$(AppendTargetFrameworkToOutputPath)' == ''">true</AppendTargetFrameworkToOutputPath> + </PropertyGroup> + + <!-- + Append $(TargetFramework) directory to output and intermediate paths to prevent bin clashes between + targets. + --> + <PropertyGroup Condition="'$(AppendTargetFrameworkToOutputPath)' == 'true' and '$(TargetFramework)' != '' and '$(_UnsupportedTargetFrameworkError)' != 'true'"> + <IntermediateOutputPath>$(IntermediateOutputPath)$(TargetFramework.ToLowerInvariant())\</IntermediateOutputPath> + <OutputPath>$(OutputPath)$(TargetFramework.ToLowerInvariant())\</OutputPath> + </PropertyGroup> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets new file mode 100644 index 0000000000..083d70564a --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets @@ -0,0 +1,548 @@ +<!-- +*********************************************************************************************** +Microsoft.PackageDependencyResolution.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- + ************************************* + 1. INPUT PROPERTIES + - That configure the PackageDependency targets + ************************************* + --> + + <!-- General Properties --> + <PropertyGroup> + <ProjectAssetsFile Condition="'$(ProjectAssetsFile)' == ''">$(MSBuildProjectExtensionsPath)/project.assets.json</ProjectAssetsFile> + <ProjectAssetsFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(ProjectAssetsFile)))</ProjectAssetsFile> + + <!-- Note that the assets.cache file has contents that are unique to the current TFM and configuration and therefore cannot + be stored in a shared directory next to the assets.json file --> + <ProjectAssetsCacheFile Condition="'$(ProjectAssetsCacheFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).assets.cache</ProjectAssetsCacheFile> + <ProjectAssetsCacheFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(ProjectAssetsCacheFile)))</ProjectAssetsCacheFile> + + <!-- Don't copy local for netstandard projects. --> + <CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == '' and + '$(TargetFrameworkIdentifier)' == '.NETStandard'">false</CopyLocalLockFileAssemblies> + + <!-- Don't copy local for netcoreapp projects before 3.0 or non-exe and non-component projects. --> + <CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == '' and + '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and + ('$(_TargetFrameworkVersionWithoutV)' < '3.0' or + ('$(HasRuntimeOutput)' != 'true' and '$(EnableDynamicLoading)' != 'true'))">false</CopyLocalLockFileAssemblies> + + <!-- All other project types should copy local. --> + <CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == ''">true</CopyLocalLockFileAssemblies> + + <ContentPreprocessorOutputDirectory Condition="'$(ContentPreprocessorOutputDirectory)' == ''">$(IntermediateOutputPath)NuGet\</ContentPreprocessorOutputDirectory> + + <UseTargetPlatformAsNuGetTargetMoniker Condition="'$(UseTargetPlatformAsNuGetTargetMoniker)' == '' AND '$(TargetFrameworkMoniker)' == '.NETCore,Version=v5.0'">true</UseTargetPlatformAsNuGetTargetMoniker> + <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == '' AND '$(UseTargetPlatformAsNuGetTargetMoniker)' == 'true'">$(TargetPlatformIdentifier),Version=v$([System.Version]::Parse('$(TargetPlatformMinVersion)').ToString(3))</NuGetTargetMoniker> + <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == '' AND '$(UseTargetPlatformAsNuGetTargetMoniker)' != 'true'">$(TargetFrameworkMoniker)</NuGetTargetMoniker> + + <EmitAssetsLogMessages Condition="'$(EmitAssetsLogMessages)' == ''">true</EmitAssetsLogMessages> + </PropertyGroup> + + <!-- Target Moniker + RID--> + <PropertyGroup Condition="'$(_NugetTargetMonikerAndRID)' == ''"> + <_NugetTargetMonikerAndRID Condition="'$(RuntimeIdentifier)' == ''">$(NuGetTargetMoniker)</_NugetTargetMonikerAndRID> + <_NugetTargetMonikerAndRID Condition="'$(RuntimeIdentifier)' != ''">$(NuGetTargetMoniker)/$(RuntimeIdentifier)</_NugetTargetMonikerAndRID> + </PropertyGroup> + + <!-- + ************************************* + 2. EXTERNAL PROPERTIES and ITEMS + - Override or add to external targets + ************************************* + --> + + <PropertyGroup> + <ResolveAssemblyReferencesDependsOn> + $(ResolveAssemblyReferencesDependsOn); + ResolvePackageDependenciesForBuild; + _HandlePackageFileConflicts; + </ResolveAssemblyReferencesDependsOn> + + <PrepareResourcesDependsOn> + ResolvePackageDependenciesForBuild; + _HandlePackageFileConflicts; + $(PrepareResourcesDependsOn) + </PrepareResourcesDependsOn> + </PropertyGroup> + + <!-- Common tokens used in preprocessed content files --> + <ItemGroup> + <PreprocessorValue Include="rootnamespace"> + <Value>$(RootNamespace)</Value> + </PreprocessorValue> + <PreprocessorValue Include="assemblyname"> + <Value>$(AssemblyName)</Value> + </PreprocessorValue> + <PreprocessorValue Include="fullpath"> + <Value>$(MSBuildProjectDirectory)</Value> + </PreprocessorValue> + <PreprocessorValue Include="outputfilename"> + <Value>$(TargetFileName)</Value> + </PreprocessorValue> + <PreprocessorValue Include="filename"> + <Value>$(MSBuildProjectFile)</Value> + </PreprocessorValue> + <PreprocessorValue Include="@(NuGetPreprocessorValue)" Exclude="@(PreprocessorValue)" /> + </ItemGroup> + + <!-- + This will prevent RAR from spending time locating dependencies and related files for assemblies + that came from packages. PackageReference should already be promoted to a closure of Reference + items and we are responsible for adding package relates files to CopyLocal items, not RAR. This + is only configurable as a compat opt-out in case skipping the slow RAR code breaks something. + --> + <PropertyGroup Condition="'$(MarkPackageReferencesAsExternallyResolved)' == ''"> + <MarkPackageReferencesAsExternallyResolved>true</MarkPackageReferencesAsExternallyResolved> + </PropertyGroup> + + <!-- + ************************************* + 3. BUILD TARGETS + - Override the Depends-On properties, or the individual targets + ************************************* + --> + + <!-- + ============================================================ + ResolvePackageDependenciesForBuild + + Populate items for build. This is triggered before target + "AssignProjectConfiguration" to ensure ProjectReference items + are populated before ResolveProjectReferences is run. + ============================================================ + --> + <PropertyGroup> + <ResolvePackageDependenciesForBuildDependsOn> + ResolveLockFileReferences; + ResolveLockFileAnalyzers; + ResolveLockFileCopyLocalFiles; + ResolveRuntimePackAssets; + RunProduceContentAssets; + IncludeTransitiveProjectReferences + </ResolvePackageDependenciesForBuildDependsOn> + </PropertyGroup> + <Target Name="ResolvePackageDependenciesForBuild" + Condition=" ('$(DesignTimeBuild)' != 'true' and '$(_CleaningWithoutRebuilding)' != 'true') + Or Exists('$(ProjectAssetsFile)')" + BeforeTargets="AssignProjectConfiguration" + DependsOnTargets="$(ResolvePackageDependenciesForBuildDependsOn)" /> + + <!-- + ************************************* + 4. Package Dependency TASK and TARGETS + - Raise the lock file to MSBuild Items and create derived items + ************************************* + --> + + <!-- + ============================================================ + RunResolvePackageDependencies + + Generate Definitions and Dependencies based on ResolvePackageDependencies task + ============================================================ + --> + + <UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolvePackageDependencies" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.CheckForTargetInAssetsFile" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.JoinItems" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolvePackageAssets" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- The condition on this target causes it to be skipped during design-time builds if + the restore operation hasn't run yet. This is to avoid displaying an error in + the Visual Studio error list when a project is created before NuGet restore has + run and created the assets file. --> + <Target Name="RunResolvePackageDependencies" + Condition=" '$(DesignTimeBuild)' != 'true' Or Exists('$(ProjectAssetsFile)')" + DependsOnTargets="ReportAssetsLogMessages"> + + <!-- Verify that the assets file has a target for the right framework. Otherwise, if we restored for the + wrong framework, we'd end up finding no references to pass to the compiler, and we'd get a ton of + compile errors. --> + <CheckForTargetInAssetsFile + AssetsFilePath="$(ProjectAssetsFile)" + TargetFrameworkMoniker="$(NuGetTargetMoniker)" + RuntimeIdentifier="$(RuntimeIdentifier)" + Condition=" '$(DesignTimeBuild)' != 'true'"/> + + <ResolvePackageDependencies + ProjectPath="$(MSBuildProjectFullPath)" + ProjectAssetsFile="$(ProjectAssetsFile)" + ProjectLanguage="$(Language)" + ContinueOnError="ErrorAndContinue"> + + <Output TaskParameter="TargetDefinitions" ItemName="TargetDefinitions" /> + <Output TaskParameter="PackageDefinitions" ItemName="PackageDefinitions" /> + <Output TaskParameter="FileDefinitions" ItemName="FileDefinitions" /> + <Output TaskParameter="PackageDependencies" ItemName="PackageDependencies" /> + <Output TaskParameter="FileDependencies" ItemName="FileDependencies" /> + </ResolvePackageDependencies> + + </Target> + + <Target Name="ResolvePackageAssets" + Condition=" '$(DesignTimeBuild)' != 'true' Or Exists('$(ProjectAssetsFile)')" + DependsOnTargets="ProcessFrameworkReferences;_DefaultMicrosoftNETPlatformLibrary;_ComputePackageReferencePublish"> + + <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' + and '$(_TargetFrameworkVersionWithoutV)' >= '3.0' + and '$(UseAppHostFromAssetsFile)' == ''"> + <!-- For .NET Core 3.0 and higher, we'll get the apphost from an apphost pack (via ProcessFrameworkReferences) --> + <UseAppHostFromAssetsFile>false</UseAppHostFromAssetsFile> + </PropertyGroup> + <PropertyGroup Condition="'$(UseAppHostFromAssetsFile)' == ''"> + <UseAppHostFromAssetsFile>true</UseAppHostFromAssetsFile> + </PropertyGroup> + + <PropertyGroup Condition="'$(EnsureRuntimePackageDependencies)' == '' + and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' + and '$(_TargetFrameworkVersionWithoutV)' < '3.0' + and '$(EnsureNETCoreAppRuntime)' != 'false'"> + <EnsureRuntimePackageDependencies>true</EnsureRuntimePackageDependencies> + </PropertyGroup> + + <!-- Only copy local runtime target assets if targeting netcoreapp --> + <PropertyGroup Condition="'$(CopyLocalRuntimeTargetAssets)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'"> + <CopyLocalRuntimeTargetAssets>true</CopyLocalRuntimeTargetAssets> + </PropertyGroup> + + <ItemGroup> + <_PackAsToolShimRuntimeIdentifiers Condition="@(_PackAsToolShimRuntimeIdentifiers) ==''" Include="$(PackAsToolShimRuntimeIdentifiers)"/> + + <!-- Pass these packages into the ResolvePackageAssets task to verify that the restored versions of the packages + match the expected version --> + <ExpectedPlatformPackages Include="@(PackageReference)" Condition="'%(Identity)' == 'Microsoft.NETCore.App'" /> + <ExpectedPlatformPackages Include="@(PackageReference)" Condition="'%(Identity)' == 'Microsoft.AspNetCore.App'" /> + <ExpectedPlatformPackages Include="@(PackageReference)" Condition="'%(Identity)' == 'Microsoft.AspNetCore.All'" /> + </ItemGroup> + + <ResolvePackageAssets + ProjectAssetsFile="$(ProjectAssetsFile)" + ProjectAssetsCacheFile="$(ProjectAssetsCacheFile)" + ProjectPath="$(MSBuildProjectFullPath)" + ProjectLanguage="$(Language)" + EmitAssetsLogMessages="$(EmitAssetsLogMessages)" + TargetFrameworkMoniker="$(NuGetTargetMoniker)" + RuntimeIdentifier="$(RuntimeIdentifier)" + PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" + RuntimeFrameworks="@(RuntimeFramework)" + IsSelfContained="$(SelfContained)" + MarkPackageReferencesAsExternallyResolved="$(MarkPackageReferencesAsExternallyResolved)" + DisablePackageAssetsCache="$(DisablePackageAssetsCache)" + DisableFrameworkAssemblies="$(DisableLockFileFrameworks)" + CopyLocalRuntimeTargetAssets="$(CopyLocalRuntimeTargetAssets)" + DisableTransitiveProjectReferences="$(DisableTransitiveProjectReferences)" + DisableTransitiveFrameworkReferences="$(DisableTransitiveFrameworkReferences)" + DotNetAppHostExecutableNameWithoutExtension="$(_DotNetAppHostExecutableNameWithoutExtension)" + ShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" + EnsureRuntimePackageDependencies="$(EnsureRuntimePackageDependencies)" + VerifyMatchingImplicitPackageVersion="$(VerifyMatchingImplicitPackageVersion)" + ExpectedPlatformPackages="@(ExpectedPlatformPackages)" + SatelliteResourceLanguages="$(SatelliteResourceLanguages)" + DesignTimeBuild="$(DesignTimeBuild)" + ContinueOnError="$(ContinueOnError)" + PackageReferences="@(PackageReference)"> + + <!-- NOTE: items names here are inconsistent because they match prior implementation + (that was spread across different tasks/targets) for backwards compatibility. --> + <Output TaskParameter="Analyzers" ItemName="ResolvedAnalyzers" /> + <Output TaskParameter="ApphostsForShimRuntimeIdentifiers" ItemName="_ApphostsForShimRuntimeIdentifiersResolvePackageAssets" /> + <Output TaskParameter="ContentFilesToPreprocess" ItemName="_ContentFilesToPreprocess" /> + <Output TaskParameter="FrameworkAssemblies" ItemName="ResolvedFrameworkAssemblies" /> + <Output TaskParameter="FrameworkReferences" ItemName="TransitiveFrameworkReference" /> + <Output TaskParameter="NativeLibraries" ItemName="NativeCopyLocalItems" /> + <Output TaskParameter="ResourceAssemblies" ItemName="ResourceCopyLocalItems" /> + <Output TaskParameter="RuntimeAssemblies" ItemName="RuntimeCopyLocalItems" /> + <Output TaskParameter="RuntimeTargets" ItemName="RuntimeTargetsCopyLocalItems" /> + <Output TaskParameter="CompileTimeAssemblies" ItemName="ResolvedCompileFileDefinitions" /> + <Output TaskParameter="TransitiveProjectReferences" ItemName="_TransitiveProjectReferences" /> + <Output TaskParameter="PackageFolders" ItemName="AssetsFilePackageFolder" /> + <Output TaskParameter="PackageDependencies" ItemName="PackageDependencies" /> + </ResolvePackageAssets> + + <ItemGroup Condition="'$(UseAppHostFromAssetsFile)' == 'true'"> + <_NativeRestoredAppHostNETCore Include="@(NativeCopyLocalItems)" + Condition="'%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetAppHostExecutableName)'"/> + </ItemGroup> + + <ItemGroup Condition="'@(_ApphostsForShimRuntimeIdentifiers)' == ''"> + <_ApphostsForShimRuntimeIdentifiers Include="@(_ApphostsForShimRuntimeIdentifiersResolvePackageAssets)"/> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + ResolvePackageDependenciesDesignTime + + Aggregate the dependencies produced by ResolvePackageDependencies to a form + that's consumable by an IDE to display package dependencies. + ============================================================ + --> + + <UsingTask TaskName="Microsoft.NET.Build.Tasks.PreprocessPackageDependenciesDesignTime" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <Target Name="ResolvePackageDependenciesDesignTime" + Returns="@(_DependenciesDesignTime)" + DependsOnTargets="RunResolvePackageDependencies;ResolveAssemblyReferencesDesignTime"> + + <PreprocessPackageDependenciesDesignTime + TargetDefinitions="@(TargetDefinitions)" + PackageDefinitions="@(PackageDefinitions)" + FileDefinitions="@(FileDefinitions)" + PackageDependencies="@(PackageDependencies)" + FileDependencies="@(FileDependencies)" + References="@(Reference)" + DefaultImplicitPackages="$(DefaultImplicitPackages)" + InputDiagnosticMessages="@(DiagnosticMessages)" + TargetFrameworkMoniker="$(NuGetTargetMoniker)"> + + <Output TaskParameter="DependenciesDesignTime" ItemName="_DependenciesDesignTime" /> + </PreprocessPackageDependenciesDesignTime> + + </Target> + + <!-- + ============================================================ + CollectSDKReferencesDesignTime + + Aggregates the sdk specified as project items and implicit + packages references. + ============================================================ + --> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.CollectSDKReferencesDesignTime" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <Target Name="CollectSDKReferencesDesignTime" + Returns="@(_SDKReference)" + DependsOnTargets="CollectPackageReferences"> + + <CollectSDKReferencesDesignTime + SdkReferences="@(SdkReference)" + PackageReferences="@(PackageReference)" + DefaultImplicitPackages="$(DefaultImplicitPackages)"> + + <Output TaskParameter="SDKReferencesDesignTime" ItemName="_SDKReference" /> + </CollectSDKReferencesDesignTime> + + </Target> + + <!-- + ============================================================ + CollectResolvedSDKReferencesDesignTime + + Aggregates the sdk specified as project items and implicit + packages produced by ResolvePackageDependencies. + ============================================================ + --> + <Target Name="CollectResolvedSDKReferencesDesignTime" + Returns="@(_ResolvedSDKReference)" + DependsOnTargets="ResolveSDKReferencesDesignTime;CollectPackageReferences"> + + <CollectSDKReferencesDesignTime + SdkReferences="@(ResolvedSdkReference)" + PackageReferences="@(PackageReference)" + DefaultImplicitPackages="$(DefaultImplicitPackages)"> + + <Output TaskParameter="SDKReferencesDesignTime" ItemName="_ResolvedSDKReference" /> + </CollectSDKReferencesDesignTime> + + </Target> + + <!-- + ============================================================ + RunProduceContentAssets + + Process content assets by handling preprocessing tokens where necessary, and + produce copy local items, content items grouped by "build action" and file writes + ============================================================ + --> + + <UsingTask TaskName="Microsoft.NET.Build.Tasks.ProduceContentAssets" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <Target Name="RunProduceContentAssets" + DependsOnTargets="ResolvePackageAssets" + Condition="'@(_ContentFilesToPreprocess)' != ''"> + + <ProduceContentAssets + ContentFileDependencies="@(_ContentFilesToPreprocess)" + ContentPreprocessorValues="@(PreprocessorValue)" + ContentPreprocessorOutputDirectory="$(ContentPreprocessorOutputDirectory)" + ProduceOnlyPreprocessorFiles="true" + ProjectLanguage="$(Language)"> + + <Output TaskParameter="CopyLocalItems" ItemName="_ContentCopyLocalItems" /> + <Output TaskParameter="ProcessedContentItems" ItemName="_ProcessedContentItems" /> + <Output TaskParameter="FileWrites" ItemName="FileWrites" /> + </ProduceContentAssets> + + <!-- The items in _ProcessedContentItems need to go into the appropriately-named item group, + but the names depend upon the items themselves. Split it apart. --> + <CreateItem Include="@(_ProcessedContentItems)" Condition="'@(_ProcessedContentItems)' != ''"> + <Output TaskParameter="Include" ItemName="%(_ProcessedContentItems.ProcessedItemType)" /> + </CreateItem> + + </Target> + + <!-- + ============================================================ + ReportAssetsLogMessages + + Report Log Messages in the assets file to MSBuild and raise them as + DiagnosticMessage items that can be consumed downstream (e.g. by the + dependency node in the solution explorer) + ============================================================ + --> + + <UsingTask TaskName="Microsoft.NET.Build.Tasks.ReportAssetsLogMessages" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + <UsingTask TaskName="Microsoft.NET.Build.Tasks.LoadAssetsFile" + AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" /> + + <!-- The condition on this target causes it to be skipped during design-time builds if + the restore operation hasn't run yet. This is to avoid displaying an error in + the Visual Studio error list when a project is created before NuGet restore has + run and created the assets file. --> + <Target Name="ReportAssetsLogMessages" + Condition="'$(EmitAssetsLogMessages)' == 'true' And ('$(DesignTimeBuild)' != 'true' Or Exists('$(ProjectAssetsFile)'))"> + + <!-- Load the assets file in a separate task, so that if the file itself can't be loaded (or isn't set), we + can generate an error without continuing (since ReportAssetsLogMessages uses ContinueOnError="ErrorAndContinue" --> + <LoadAssetsFile ProjectAssetsFile="$(ProjectAssetsFile)" /> + + <ReportAssetsLogMessages + ProjectAssetsFile="$(ProjectAssetsFile)" + ContinueOnError="ErrorAndContinue"> + + <Output TaskParameter="DiagnosticMessages" ItemName="DiagnosticMessages" /> + </ReportAssetsLogMessages> + + </Target> + + <!-- + ============================================================ + Reference Targets: For populating References based on lock file + - ResolveLockFileReferences + ============================================================ + --> + + <Target Name="ResolveLockFileReferences" + DependsOnTargets="ResolvePackageAssets"> + + <ItemGroup Condition="'$(MarkPackageReferencesAsExternallyResolved)' == 'true'"> + <!-- + Update Reference items with NuGetPackageId metadata to set ExternallyResolved appropriately. + NetStandard.Library adds its assets in targets this way and not in the standard way that + would get ExternallyResolved set in ResolvePackageAssets. + --> + <Reference Condition="'%(Reference.NuGetPackageId)' != ''"> + <ExternallyResolved>true</ExternallyResolved> + </Reference> + + <!-- Add framework references from NuGet packages here, so that if there is also a matching reference from a NuGet package, + it will be treated the same as a reference from the project file. If there is already an explicit Reference from the + project, use that, in order to preserve metadata (such as aliases). --> + <Reference Include="@(ResolvedFrameworkAssemblies)" + Exclude="@(Reference)" /> + + </ItemGroup> + + <!-- If there are any references from a NuGet package that match a simple reference which + would resolve to a framework assembly, then update the NuGet references to use the + simple name as the ItemSpec. This will prevent the VS project system from marking + a reference with a warning. See https://github.com/dotnet/sdk/issues/1499 --> + <JoinItems Left="@(ResolvedCompileFileDefinitions)" LeftKey="FileName" LeftMetadata="*" + Right="@(Reference)" RightKey="" RightMetadata="*"> + <Output TaskParameter="JoinResult" ItemName="_JoinedResolvedCompileFileDefinitions" /> + </JoinItems> + + <ItemGroup> + <Reference Remove="@(_JoinedResolvedCompileFileDefinitions)" /> + <Reference Include="@(_JoinedResolvedCompileFileDefinitions)" /> + </ItemGroup> + + <ItemGroup> + <ResolvedCompileFileDefinitionsToAdd Include="@(ResolvedCompileFileDefinitions)" /> + <ResolvedCompileFileDefinitionsToAdd Remove="%(_JoinedResolvedCompileFileDefinitions.HintPath)" /> + + <!-- Add the references we computed --> + <Reference Include="@(ResolvedCompileFileDefinitionsToAdd)" /> + </ItemGroup> + + </Target> + + <!-- + ============================================================ + ProjectReference Targets: Include transitive project references before + ResolveProjectReferences is called + - IncludeTransitiveProjectReferences + ============================================================ + --> + + <Target Name="IncludeTransitiveProjectReferences" + DependsOnTargets="ResolvePackageAssets" + Condition="'$(DisableTransitiveProjectReferences)' != 'true'"> + <ItemGroup> + <ProjectReference Include="@(_TransitiveProjectReferences)" /> + </ItemGroup> + </Target> + + <!-- + ============================================================ + Analyzer Targets: For populating Analyzers based on lock file + - ResolveLockFileAnalyzers + ============================================================ + --> + <Target Name="ResolveLockFileAnalyzers" + DependsOnTargets="ResolvePackageAssets"> + <ItemGroup> + <Analyzer Include="@(ResolvedAnalyzers)" /> + </ItemGroup> + </Target> + + <!-- + ============================================================ + ResolveLockFileCopyLocalFiles + Resolves the files from the assets file to copy for build and publish. + ============================================================ + --> + <Target Name="ResolveLockFileCopyLocalFiles" + DependsOnTargets="ResolvePackageAssets;RunProduceContentAssets"> + + <ItemGroup> + <_ResolvedCopyLocalBuildAssets Include="@(RuntimeCopyLocalItems)" + Condition="'%(RuntimeCopyLocalItems.CopyLocal)' == 'true'" /> + <_ResolvedCopyLocalBuildAssets Include="@(ResourceCopyLocalItems)" + Condition="'%(ResourceCopyLocalItems.CopyLocal)' == 'true'" /> + <!-- Always exclude the apphost executable from copy local assets; we will copy the generated apphost instead. --> + <_ResolvedCopyLocalBuildAssets Include="@(NativeCopyLocalItems)" + Exclude="@(_NativeRestoredAppHostNETCore)" + Condition="'%(NativeCopyLocalItems.CopyLocal)' == 'true'" /> + <_ResolvedCopyLocalBuildAssets Include="@(RuntimeTargetsCopyLocalItems)" + Condition="'%(RuntimeTargetsCopyLocalItems.CopyLocal)' == 'true'" /> + + <ReferenceCopyLocalPaths Include="@(_ContentCopyLocalItems)" /> + <ReferenceCopyLocalPaths Include="@(_ResolvedCopyLocalBuildAssets)" + Condition="'$(CopyLocalLockFileAssemblies)' == 'true'" /> + </ItemGroup> + + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolutionStubs.targets b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolutionStubs.targets new file mode 100644 index 0000000000..a77dbb3f45 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolutionStubs.targets @@ -0,0 +1,26 @@ +<!-- +*********************************************************************************************** +Microsoft.PackageDependencyResolutionStubs.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. +*********************************************************************************************** +--> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- + ============================================================ + ResolvePackageAssets + + No operation version of ResolvePackageAssets. For builds that does not require nuget restore + ============================================================ + --> + + <Target Name="ResolvePackageAssets" > + + </Target> + +</Project> diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.DotNet.PlatformAbstractions.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.DotNet.PlatformAbstractions.dll Binary files differnew file mode 100644 index 0000000000..1e66373fe0 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.DotNet.PlatformAbstractions.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.Extensions.DependencyModel.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.Extensions.DependencyModel.dll Binary files differnew file mode 100644 index 0000000000..bb524bce11 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.Extensions.DependencyModel.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.NET.Build.Tasks.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.NET.Build.Tasks.dll Binary files differnew file mode 100644 index 0000000000..9e68e42142 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.NET.Build.Tasks.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.NET.Build.Tasks.dll.config b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.NET.Build.Tasks.dll.config new file mode 100644 index 0000000000..ac72e464e7 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.NET.Build.Tasks.dll.config @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.2.2.0" newVersion="1.2.2.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.NET.HostModel.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.NET.HostModel.dll Binary files differnew file mode 100644 index 0000000000..5ff3784178 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Microsoft.NET.HostModel.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Newtonsoft.Json.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Newtonsoft.Json.dll Binary files differnew file mode 100644 index 0000000000..dbcd94f365 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/Newtonsoft.Json.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Common.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Common.dll Binary files differnew file mode 100644 index 0000000000..56797e32cd --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Common.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Configuration.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Configuration.dll Binary files differnew file mode 100644 index 0000000000..4598bbdab7 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Configuration.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.DependencyResolver.Core.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.DependencyResolver.Core.dll Binary files differnew file mode 100644 index 0000000000..30ae4d5f48 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.DependencyResolver.Core.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Frameworks.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Frameworks.dll Binary files differnew file mode 100644 index 0000000000..e11dcb7d02 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Frameworks.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.LibraryModel.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.LibraryModel.dll Binary files differnew file mode 100644 index 0000000000..8be7cc0b56 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.LibraryModel.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Packaging.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Packaging.dll Binary files differnew file mode 100644 index 0000000000..7b52c39aca --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Packaging.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.ProjectModel.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.ProjectModel.dll Binary files differnew file mode 100644 index 0000000000..e7603d2e5e --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.ProjectModel.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Protocol.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Protocol.dll Binary files differnew file mode 100644 index 0000000000..3cbbdae66d --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Protocol.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Versioning.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Versioning.dll Binary files differnew file mode 100644 index 0000000000..68750feceb --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/NuGet.Versioning.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/System.Collections.Immutable.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/System.Collections.Immutable.dll Binary files differnew file mode 100644 index 0000000000..adcf0f3302 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/System.Collections.Immutable.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/System.Reflection.Metadata.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/System.Reflection.Metadata.dll Binary files differnew file mode 100644 index 0000000000..0017dbd15c --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/System.Reflection.Metadata.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/cs/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/cs/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..54c483b187 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/cs/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/de/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/de/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..6643656513 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/de/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/es/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/es/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..929b472cad --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/es/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/fr/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/fr/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..19372eb4f5 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/fr/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/it/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/it/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..88b08c687b --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/it/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/ja/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/ja/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..e7c5a441d9 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/ja/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/ko/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/ko/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..e43a485981 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/ko/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/pl/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/pl/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..ddbd24ff79 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/pl/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/pt-BR/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/pt-BR/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..ca3f6efc5b --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/pt-BR/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/ru/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/ru/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..f6902ee06f --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/ru/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/tr/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/tr/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..ac9e1f3964 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/tr/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/zh-Hans/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/zh-Hans/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..6bc303d166 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/zh-Hans/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/zh-Hant/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/zh-Hant/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..78ae7c3de6 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/net472/zh-Hant/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/Microsoft.NET.Build.Tasks.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/Microsoft.NET.Build.Tasks.dll Binary files differnew file mode 100644 index 0000000000..6fc274c351 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/Microsoft.NET.Build.Tasks.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/cs/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/cs/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..10389006de --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/cs/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/de/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/de/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..7709d4a001 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/de/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/es/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/es/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..8b9ec96243 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/es/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/fr/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/fr/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..7d7b61eee5 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/fr/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/it/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/it/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..ac4a0e20f9 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/it/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/ja/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/ja/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..2bda5faa3f --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/ja/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/ko/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/ko/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..8122e07bc9 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/ko/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/pl/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/pl/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..d36af16383 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/pl/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/pt-BR/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/pt-BR/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..2be2b74519 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/pt-BR/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/ru/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/ru/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..b354219583 --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/ru/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/tr/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/tr/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..391d2ba2df --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/tr/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/zh-Hans/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/zh-Hans/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..eb3fcff23a --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/zh-Hans/Microsoft.NET.Build.Tasks.resources.dll diff --git a/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/zh-Hant/Microsoft.NET.Build.Tasks.resources.dll b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/zh-Hant/Microsoft.NET.Build.Tasks.resources.dll Binary files differnew file mode 100644 index 0000000000..c50f53f9ac --- /dev/null +++ b/.dotnet/sdk/3.1.100/Sdks/Microsoft.NET.Sdk/tools/netcoreapp2.1/zh-Hant/Microsoft.NET.Build.Tasks.resources.dll |