Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,7 @@

<!-- TFMs -->
<SdkTargetFramework>$(NetCurrent)</SdkTargetFramework>
<ToolsetTargetFramework>$(SdkTargetFramework)</ToolsetTargetFramework>
<VisualStudioServiceTargetFramework>net9.0</VisualStudioServiceTargetFramework>
<VisualStudioTargetFramework>$(NetFrameworkToolCurrent)</VisualStudioTargetFramework>
<!-- We used to have scenarios where the MSBuild host (VSMac) had an older .NET, but don't any more. -->
<ResolverTargetFramework>$(SdkTargetFramework)</ResolverTargetFramework>

<!-- NU1701 Disable implicit package target fallback, and disable warning for when we explicitly add it (currently needed for
Microsoft.ApplicationInsights) -->
Expand Down
10 changes: 8 additions & 2 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
<Project>

<Import Project="$(RepositoryEngineeringDir)\dependabot\Packages.props" Condition="'$(RepositoryEngineeringDir)' != ''" />

<PropertyGroup>
<!-- Using multiple feeds isn't supported by Maestro: https://github.com/dotnet/arcade/issues/14155. -->
<NoWarn>$(NoWarn);NU1507</NoWarn>
</PropertyGroup>

<ItemGroup>
<PackageVersion Include="Basic.CompilerLog.Util" Version="0.9.18" />
<PackageVersion Include="AwesomeAssertions" Version="$(AwesomeAssertionsVersion)" />
Expand Down Expand Up @@ -144,12 +147,13 @@
<PackageVersion Include="xunit.assert" Version="$(XUnitVersion)" Condition="'$(IsTestProject)' != 'true'" />
<PackageVersion Include="xunit.console" Version="$(XUnitVersion)" />
</ItemGroup>

<!-- Use different versions of Microsoft.Build.* depending on whether the output will be used in
.NET Framework (VS) or only in the .NET SDK.

Note: This is not abstracted in Versions.props because source-only
modes will import a version override file after Versions.props. -->
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true' or '$(TargetFramework)' != 'net472'">
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'">
<!-- MSBuild-y stuff that runs in the CLI can always reference the latest MSBuild since
that is what will be packaged with the .NET SDK. -->
<PackageVersion Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" />
Expand All @@ -162,7 +166,8 @@
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" />
<PackageVersion Include="Microsoft.NET.StringTools" Version="$(MicrosoftBuildVersion)" />
</ItemGroup>
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' != 'true' and '$(TargetFramework)' == 'net472'">

<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
<!-- MSBuild-y stuff that runs in VS/MSBuild.exe should reference the lagging minimum version so
it works in that slightly-older Visual Studio. -->
<PackageVersion Include="Microsoft.Build" Version="$(MicrosoftBuildMinimumVersion)" />
Expand All @@ -175,4 +180,5 @@
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildMinimumVersion)" />
<PackageVersion Include="Microsoft.NET.StringTools" Version="$(MicrosoftBuildMinimumVersion)" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion benchmarks/MicroBenchmark/MicroBenchmark.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>$(ToolsetTargetFramework)</TargetFramework>
<TargetFramework>$(SdkTargetFramework)</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@
<BlazorWasmSdkRoot>$(RepoRoot)\src\BlazorWasmSdk\</BlazorWasmSdkRoot>
<PackageId>Microsoft.NET.Sdk.BlazorWebAssembly</PackageId>
<OutDirName>$(Configuration)\Sdks\$(PackageId)\tools</OutDirName>
<DefineConstants>$(DefineConstants);WASM_TASKS</DefineConstants>
</PropertyGroup>

<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>$(SdkTargetFramework);$(NetFrameworkToolCurrent)</TargetFrameworks>
<Description>SDK for building and publishing Blazor WebAssembly applications.</Description>
<RootNamespace>Microsoft.NET.Sdk.BlazorWebAssembly</RootNamespace>

<EnableDefaultItems>false</EnableDefaultItems>
<GenerateDependencyFile>false</GenerateDependencyFile>
Expand All @@ -30,16 +31,8 @@

<!-- Avoid https://github.com/dotnet/arcade/issues/9305 -->
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
</PropertyGroup>

<PropertyGroup>
<Description>SDK for building and publishing Blazor WebAssembly applications.</Description>
<OutputType>Library</OutputType>
<RootNamespace>Microsoft.NET.Sdk.BlazorWebAssembly</RootNamespace>
</PropertyGroup>

<PropertyGroup>
<TargetFrameworks>$(SdkTargetFramework);net472</TargetFrameworks>
<DefineConstants>$(DefineConstants);WASM_TASKS</DefineConstants>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Used in in-proc VS and VS Code.
We also need to target $(SdkTargetFramework) to allow tests to run.
-->
<TargetFrameworks>$(VisualStudioServiceTargetFramework);$(SdkTargetFramework);$(VisualStudioTargetFramework)</TargetFrameworks>
<TargetFrameworks>$(VisualStudioServiceTargetFramework);$(SdkTargetFramework);$(NetFrameworkToolCurrent)</TargetFrameworks>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<DebugType>none</DebugType>
<GenerateDependencyFile>false</GenerateDependencyFile>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>

<PropertyGroup>
<OutDirName>Tests\$(MSBuildProjectName)</OutDirName>
</PropertyGroup>

<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

<PropertyGroup>
<TargetFrameworks>$(ResolverTargetFramework);net472</TargetFrameworks>
<TargetFrameworks>$(SdkTargetFramework);$(NetFrameworkToolCurrent)</TargetFrameworks>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<StrongNameKeyId>MicrosoftAspNetCore</StrongNameKeyId>
<SignAssembly>true</SignAssembly>
Expand Down
2 changes: 1 addition & 1 deletion src/Cli/Microsoft.DotNet.Cli.Utils/Polyfills.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

#if NET472
#if NETFRAMEWORK

#pragma warning disable IDE0130 // Namespace does not match folder structure
namespace System.Runtime.CompilerServices {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>$(SdkTargetFramework);net472</TargetFrameworks>
<ImplicitUsings Condition="'$(TargetFramework)' != 'net472'">enable</ImplicitUsings>
<TargetFrameworks>$(SdkTargetFramework);$(NetFrameworkToolCurrent)</TargetFrameworks>
<ImplicitUsings Condition="'$(TargetFramework)' != '$(NetFrameworkToolCurrent)'">enable</ImplicitUsings>

<TargetsForTfmSpecificBuildOutput>
$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage
</TargetsForTfmSpecificBuildOutput>

<!-- Tell the SDK to generate a deps.json file to be used by .NET SDK MSBuild -->
<GenerateDependencyFile Condition=" '$(TargetFramework)' != 'net472'">true</GenerateDependencyFile>
<GenerateDependencyFile Condition=" '$(TargetFramework)' != '$(NetFrameworkToolCurrent)'">true</GenerateDependencyFile>

<!-- Allow the packaging project to use the name `Microsoft.NET.Build.Containers` for the nuget package -->
<Packageid>.</Packageid>
Expand All @@ -26,14 +26,14 @@

<ItemGroup>
<ProjectReference Include="..\..\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj"
Condition="'$(TargetFramework)' != 'net472'"
Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'"
GlobalPropertiesToRemove="PublishDir">
<!-- This is referenced by the core CLI as well so it doesn't need to be redistributed
in the containers task folder. -->
<IncludeAssets>build</IncludeAssets>
<Private>false</Private>
</ProjectReference>
<ProjectReference Include="..\..\Microsoft.Extensions.Logging.MSBuild\Microsoft.Extensions.Logging.MSBuild.csproj" Condition="'$(TargetFramework)' != 'net472'" />
<ProjectReference Include="..\..\Microsoft.Extensions.Logging.MSBuild\Microsoft.Extensions.Logging.MSBuild.csproj" Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'" />
</ItemGroup>

<ItemGroup>
Expand All @@ -44,25 +44,25 @@
</PackageReference>
<PackageReference Include="Nuget.Packaging">
<!-- In the SDK, NuGet is already available in the MSBuild/SDK directory -->
<ExcludeAssets Condition="'$(TargetFramework)' != 'net472'">runtime</ExcludeAssets>
<ExcludeAssets Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'">runtime</ExcludeAssets>
</PackageReference>
<PackageReference Include="System.Text.Json" ExcludeAssets="runtime" Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
<!-- For the net472 flavor, lock back to a System.Text.Json equal to or older than MSBuild will provide
<!-- For the netframework flavor, lock back to a System.Text.Json equal to or older than MSBuild will provide
so it doesn't have to be redistributed. -->
<VersionOverride Condition="'$(TargetFramework)' == 'net472'">$(SystemTextJsonToolsetPackageVersion)</VersionOverride>
<VersionOverride Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">$(SystemTextJsonToolsetPackageVersion)</VersionOverride>
</PackageReference>
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' != 'net472'">
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'">
<PackageReference Include="Valleysoft.DockerCredsProvider" />

<!-- References that are also carried in the SDK itself so don't need to be redistributed -->
<PackageReference Include="Microsoft.Extensions.Logging" ExcludeAssets="runtime" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" ExcludeAssets="runtime" />
</ItemGroup>

<!-- net472 builds manually import files to compile -->
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
<!-- netframework builds manually import files to compile -->
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
<Compile Remove="**/*.*" />
<Compile Include="ReferenceParser.cs" />
<Compile Include="KnownStrings.cs" />
Expand All @@ -73,20 +73,21 @@
<Compile Include="Tasks/CreateNewImageToolTask.cs" />
<Compile Include="Tasks/ComputeDotnetBaseImageAndTag.cs" />
<Compile Include="ContainerHelpers.cs" />
<Compile Include="net472Definitions.cs" />
<Compile Include="netframeworkDefinitions.cs" />
<Compile Include="VSHostObject.cs" />
<Compile Include="Port.cs" />
<Compile Include="Resources\Resource.cs" />
<Compile Include="Resources\Strings.Designer.cs" />
<Compile Include="Globals.cs" />
</ItemGroup>

<!-- core remove files specific to net472 workarounds -->
<ItemGroup Condition="'$(TargetFramework)' != 'net472'">
<!-- core remove files specific to netframework workarounds -->
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'">
<Compile Remove="Tasks/CreateNewImageToolTask.cs" />
<Compile Remove="net472Definitions.cs" />
<Compile Remove="netframeworkDefinitions.cs" />
<Compile Remove="VSHostObject.cs" />
</ItemGroup>

<ItemGroup>
<Compile Update="Resources\Strings.Designer.cs">
<DesignTime>True</DesignTime>
Expand Down
25 changes: 12 additions & 13 deletions src/Containers/packaging/package.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
<IsShipping>true</IsShipping>
<IsShippingPackage>true</IsShippingPackage>
<NoWarn>NU5100;NU5128</NoWarn>
<VSCompatTargetFramework>net472</VSCompatTargetFramework>

<!-- MSBuild tasks shouldn't be referenced. This is by design. -->
<NoWarn>NU5100;NU5128;NU1507</NoWarn>
Expand All @@ -30,8 +29,8 @@
GlobalPropertiesToRemove="PublishDir"/>

<ProjectReference Include="../Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj"
SetTargetFramework="TargetFramework=$(VSCompatTargetFramework)"
OutputItemType="ContainerLibraryOutputNet472"
SetTargetFramework="TargetFramework=$(NetFrameworkToolCurrent)"
OutputItemType="ContainerLibraryOutputVisualStudioTFM"
Condition="'$(DotNetBuildSourceOnly)' != 'true'"
GlobalPropertiesToRemove="PublishDir" />

Expand All @@ -51,16 +50,16 @@
</Target>

<Target Name="AddItemsForPackaging" AfterTargets="Build">
<MSBuild Projects="../Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj" Properties="TargetFramework=$(VSCompatTargetFramework)" Targets="ResolveAssemblyReferences" Condition="'$(DotNetBuildSourceOnly)' != 'true'">
<Output TaskParameter="TargetOutputs" ItemName="_AllNet472ContainerTaskDependencies" />
<MSBuild Projects="../Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj" Properties="TargetFramework=$(NetFrameworkToolCurrent)" Targets="ResolveAssemblyReferences" Condition="'$(DotNetBuildSourceOnly)' != 'true'">
<Output TaskParameter="TargetOutputs" ItemName="_AllNetFrameworkContainerTaskDependencies" />
</MSBuild>
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
<NecessaryNet472ContainerTaskDependencies Include="@(_AllNet472ContainerTaskDependencies)" Condition="(
$([MSBuild]::ValueOrDefault('%(_AllNet472ContainerTaskDependencies.NuGetPackageId)', '').Contains('NuGet')) or
$([MSBuild]::ValueOrDefault('%(_AllNet472ContainerTaskDependencies.NuGetPackageId)', '').Contains('Newtonsoft')) or
$([MSBuild]::ValueOrDefault('%(_AllNet472ContainerTaskDependencies.NuGetPackageId)', '').Contains('Microsoft.Extensions'))
<NecessaryNetFrameworkContainerTaskDependencies Include="@(_AllNetFrameworkContainerTaskDependencies)" Condition="(
$([MSBuild]::ValueOrDefault('%(_AllNetFrameworkContainerTaskDependencies.NuGetPackageId)', '').Contains('NuGet')) or
$([MSBuild]::ValueOrDefault('%(_AllNetFrameworkContainerTaskDependencies.NuGetPackageId)', '').Contains('Newtonsoft')) or
$([MSBuild]::ValueOrDefault('%(_AllNetFrameworkContainerTaskDependencies.NuGetPackageId)', '').Contains('Microsoft.Extensions'))
) and
%(_AllNet472ContainerTaskDependencies.NuGetIsFrameworkReference) != true" />
%(_AllNetFrameworkContainerTaskDependencies.NuGetIsFrameworkReference) != true" />

<!-- containerize folder -->
<Content Include="$(OutDir)containerize.dll" Pack="true" PackagePath="containerize/" />
Expand All @@ -73,11 +72,11 @@
<Content Include="$(OutDir)Microsoft.Extensions.*.dll" Pack="true" PackagePath="containerize/" />
<Content Include="@(ContainerLibraryOutput)" Pack="true" PackagePath="containerize/" />

<!-- net472 tasks -->
<!-- netframework tasks -->
<!-- dependencies -->
<Content Include="@(NecessaryNet472ContainerTaskDependencies)" Pack="true" PackagePath="tasks/$(VSCompatTargetFramework)/" />
<Content Include="@(NecessaryNetFrameworkContainerTaskDependencies)" Pack="true" PackagePath="tasks/$(NetFrameworkToolCurrent)/" />
<!-- actual DLL -->
<Content Include="@(ContainerLibraryOutputNet472)" Pack="true" PackagePath="tasks/$(VSCompatTargetFramework)/" />
<Content Include="@(ContainerLibraryOutputVisualStudioTFM)" Pack="true" PackagePath="tasks/$(NetFrameworkToolCurrent)/" />
</ItemGroup>
<MSBuild Projects="../Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj" Properties="TargetFramework=$(TargetFramework)" Targets="ResolveAssemblyReferences">
<Output TaskParameter="TargetOutputs" ItemName="_AllNetContainerTaskDependencies" />
Expand Down
2 changes: 1 addition & 1 deletion src/Layout/redist/targets/Crossgen.targets
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
<RemainingFiles Remove="$(InstallerOutputDirectory)Sdks\**\*" />
<RemainingFiles Remove="$(InstallerOutputDirectory)**\Microsoft.TestPlatform.Extensions.EventLogCollector.dll" />

<!-- Removing Containers as containerize .DLLs and net472 components shouldn't be crossgenned. -->
<!-- Removing Containers as containerize .DLLs and netframework components shouldn't be crossgenned. -->
<RemainingFiles Remove="$(InstallerOutputDirectory)Containers\**\*" />

<!-- Add back the .NET Core assemblies in the Sdks folder -->
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>$(ResolverTargetFramework);net472</TargetFrameworks>
<TargetFrameworks>$(SdkTargetFramework);$(NetFrameworkToolCurrent)</TargetFrameworks>
<!-- For product build, the .NET Framework TFM only builds in the second build pass as it depends on assets from other
verticals that are built in the first build pass. -->
<TargetFrameworks Condition="'$(DotNetBuild)' == 'true' and '$(DotNetBuildPass)' != '2'">$(ResolverTargetFramework)</TargetFrameworks>
<TargetFrameworks Condition="'$(DotNetBuild)' == 'true' and '$(DotNetBuildPass)' != '2'">$(SdkTargetFramework)</TargetFrameworks>
<StrongNameKeyId>MicrosoftAspNetCore</StrongNameKeyId>
<!-- Create FileDefinitions items for ResolveHostfxrCopyLocalContent target -->
<EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems>
<!-- https://github.com/dotnet/sdk/issues/14801 -->
<AssemblyVersion Condition="'$(TargetFramework)' == 'net472'">5.0.100.0</AssemblyVersion>
<AssemblyVersion Condition="'$(TargetFramework)' == '$(NetFrameworkToolCurrent)'">5.0.100.0</AssemblyVersion>
</PropertyGroup>

<Target Name="LinkVSEmbeddableAssemblies" DependsOnTargets="ResolveReferences" AfterTargets="ResolveReferences">
Expand Down
5 changes: 3 additions & 2 deletions src/Microsoft.Win32.Msi/Microsoft.Win32.Msi.csproj
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>$(SdkTargetFramework);$(NetFrameworkToolCurrent)</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<TargetFrameworks>$(SdkTargetFramework);net472</TargetFrameworks>
<OutputType>library</OutputType>
<RootNamespace>Microsoft.Win32.Msi</RootNamespace>
</PropertyGroup>

</Project>
13 changes: 4 additions & 9 deletions src/RazorSdk/Tasks/Microsoft.NET.Sdk.Razor.Tasks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>$(SdkTargetFramework);$(NetFrameworkToolCurrent)</TargetFrameworks>
<Description>SDK for building and publishing Razor applications.</Description>
<RootNamespace>Microsoft.NET.Sdk.Razor</RootNamespace>

<EnableDefaultItems>false</EnableDefaultItems>
<GenerateDependencyFile>false</GenerateDependencyFile>
Expand All @@ -21,7 +23,7 @@
<NoPackageAnalysis>true</NoPackageAnalysis>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>

<CopyLocalLockFileAssemblies Condition="'$(TargetFramework)'!='net472'">false</CopyLocalLockFileAssemblies>
<CopyLocalLockFileAssemblies Condition="'$(TargetFramework)' != '$(NetFrameworkToolCurrent)'">false</CopyLocalLockFileAssemblies>
<!-- MSBuild Task DLLs need to be versioned with every build -->
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>

Expand All @@ -31,13 +33,6 @@
<NoDefaultExcludes>true</NoDefaultExcludes>
</PropertyGroup>

<PropertyGroup>
<Description>SDK for building and publishing Razor applications.</Description>
<OutputType>Library</OutputType>
<RootNamespace>Microsoft.NET.Sdk.Razor</RootNamespace>
<TargetFrameworks>$(SdkTargetFramework);net472</TargetFrameworks>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Build.Framework" ExcludeAssets="Runtime" />
<PackageReference Include="Microsoft.Build.Utilities.Core" ExcludeAssets="Runtime" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>$(ResolverTargetFramework);net472</TargetFrameworks>
<TargetFrameworks>$(SdkTargetFramework);net472</TargetFrameworks>
</PropertyGroup>

<ItemGroup>
Expand Down
Loading