diff --git a/src/Cli/dotnet/Commands/Run/CSharpCompilerCommand.cs b/src/Cli/dotnet/Commands/Run/CSharpCompilerCommand.cs index 84ac2b073fe0..a41d3822f6e8 100644 --- a/src/Cli/dotnet/Commands/Run/CSharpCompilerCommand.cs +++ b/src/Cli/dotnet/Commands/Run/CSharpCompilerCommand.cs @@ -12,6 +12,7 @@ using Microsoft.DotNet.Cli.Utils.Extensions; using Microsoft.NET.HostModel.AppHost; using NuGet.Configuration; +using NuGet.Versioning; namespace Microsoft.DotNet.Cli.Commands.Run; @@ -44,6 +45,7 @@ internal sealed partial class CSharpCompilerCommand private static string ClientDirectory => field ??= Path.Combine(SdkPath, "Roslyn", "bincore"); private static string NuGetCachePath => field ??= SettingsUtility.GetGlobalPackagesFolder(Settings.LoadDefaultSettings(null)); internal static string RuntimeVersion => field ??= RuntimeInformation.FrameworkDescription.Split(' ').Last(); + private static string DefaultRuntimeVersion => field ??= GetDefaultRuntimeVersion(); private static string TargetFrameworkVersion => Product.TargetFrameworkVersion; public required string EntryPointFileFullPath { get; init; } @@ -315,7 +317,7 @@ private void PrepareAuxiliaryFiles(out string rspPath) "tfm": "net{{TargetFrameworkVersion}}", "framework": { "name": "Microsoft.NETCore.App", - "version": {{JsonSerializer.Serialize(RuntimeVersion)}} + "version": {{JsonSerializer.Serialize(DefaultRuntimeVersion)}} }, "configProperties": { "EntryPointFilePath": {{JsonSerializer.Serialize(EntryPointFileFullPath)}}, @@ -417,4 +419,19 @@ public static bool IsPathOption(string arg, out int colonIndex) colonIndex = -1; return false; } + + /// + /// See GenerateDefaultRuntimeFrameworkVersion. + /// + private static string GetDefaultRuntimeVersion() + { + if (NuGetVersion.TryParse(RuntimeVersion, out var version)) + { + return version.IsPrerelease && version.Patch == 0 ? + RuntimeVersion : + new NuGetVersion(version.Major, version.Minor, 0).ToFullString(); + } + + return RuntimeVersion; + } } diff --git a/src/Layout/redist/roslyn-entitlements.plist b/src/Layout/redist/roslyn-entitlements.plist new file mode 100644 index 000000000000..168fce4fcd87 --- /dev/null +++ b/src/Layout/redist/roslyn-entitlements.plist @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-dyld-environment-variables + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.debugger + + com.apple.security.get-task-allow + + + diff --git a/src/Layout/redist/targets/GenerateLayout.targets b/src/Layout/redist/targets/GenerateLayout.targets index 0b5bcb6fa182..446da1bc096b 100644 --- a/src/Layout/redist/targets/GenerateLayout.targets +++ b/src/Layout/redist/targets/GenerateLayout.targets @@ -65,6 +65,9 @@ AppBinaryName="%(_RoslynAppHost.Filename)%(_RoslynAppHost.Extension)" IntermediateAssembly="%(_RoslynAppHost.FullPath)" EnableMacOSCodeSign="$(SharedFrameworkRid.StartsWith('osx'))" /> + + diff --git a/src/Workloads/Manifests/Directory.Build.props b/src/Workloads/Manifests/Directory.Build.props index b627384a33f3..89470be112a3 100644 --- a/src/Workloads/Manifests/Directory.Build.props +++ b/src/Workloads/Manifests/Directory.Build.props @@ -15,8 +15,9 @@ - <_workloadVersionSuffix Condition="'$(DotNetFinalVersionKind)' != 'release' and '$(PrereleaseVersionLabel)' != 'rtm'">-$(PreReleaseVersionLabel).$(PreReleaseVersionIteration) - <_workloadVersionSuffix Condition="'$(DotNetFinalVersionKind)' != 'release' and '$(PrereleaseVersionLabel)' != 'rtm'">-$(PreReleaseVersionLabel).$(PreReleaseVersionIteration) + <_workloadVersionSuffix Condition="'$(DotNetFinalVersionKind)' != 'release' and + '$(PrereleaseVersionLabel)' != 'rtm' and + '$(PrereleaseVersionLabel)' != 'servicing'">-$(PreReleaseVersionLabel).$(PreReleaseVersionIteration) $(MSBuildProjectName)-$(BuiltinWorkloadFeatureBand)$(_workloadVersionSuffix) Microsoft.NET.Workload.Emscripten.Current.Manifest-$(BuiltinWorkloadFeatureBand).Transport diff --git a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/OtherTestProject/OtherTestProject.csproj b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/OtherTestProject/OtherTestProject.csproj index 9857918867b1..8699e5d53e86 100644 --- a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/OtherTestProject/OtherTestProject.csproj +++ b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/OtherTestProject/OtherTestProject.csproj @@ -1,4 +1,4 @@ - + diff --git a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/OtherTestProject/Program.cs b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/OtherTestProject/Program.cs index 8400bde6b706..e7beaf759a5c 100644 --- a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/OtherTestProject/Program.cs +++ b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/OtherTestProject/Program.cs @@ -1,4 +1,4 @@ -using Microsoft.Testing.Platform.Builder; +using Microsoft.Testing.Platform.Builder; using Microsoft.Testing.Platform.Capabilities.TestFramework; using Microsoft.Testing.Platform.Extensions.Messages; using Microsoft.Testing.Platform.Extensions.TestFramework; diff --git a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/TestProject/Program.cs b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/TestProject/Program.cs index e5bd6d0e05b0..7ce9f69b6e9f 100644 --- a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/TestProject/Program.cs +++ b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/TestProject/Program.cs @@ -1,4 +1,4 @@ -using Microsoft.Testing.Platform.Builder; +using Microsoft.Testing.Platform.Builder; using Microsoft.Testing.Platform.Capabilities.TestFramework; using Microsoft.Testing.Platform.Extensions.Messages; using Microsoft.Testing.Platform.Extensions.TestFramework; diff --git a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/TestProject/TestProject.csproj b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/TestProject/TestProject.csproj index 9857918867b1..8699e5d53e86 100644 --- a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/TestProject/TestProject.csproj +++ b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithPlatforms/TestProject/TestProject.csproj @@ -1,4 +1,4 @@ - + diff --git a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/OtherTestProject/OtherTestProject.csproj b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/OtherTestProject/OtherTestProject.csproj index 9857918867b1..8699e5d53e86 100644 --- a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/OtherTestProject/OtherTestProject.csproj +++ b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/OtherTestProject/OtherTestProject.csproj @@ -1,4 +1,4 @@ - + diff --git a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/OtherTestProject/Program.cs b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/OtherTestProject/Program.cs index 8400bde6b706..e7beaf759a5c 100644 --- a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/OtherTestProject/Program.cs +++ b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/OtherTestProject/Program.cs @@ -1,4 +1,4 @@ -using Microsoft.Testing.Platform.Builder; +using Microsoft.Testing.Platform.Builder; using Microsoft.Testing.Platform.Capabilities.TestFramework; using Microsoft.Testing.Platform.Extensions.Messages; using Microsoft.Testing.Platform.Extensions.TestFramework; diff --git a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/TestProject/Program.cs b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/TestProject/Program.cs index e5bd6d0e05b0..7ce9f69b6e9f 100644 --- a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/TestProject/Program.cs +++ b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/TestProject/Program.cs @@ -1,4 +1,4 @@ -using Microsoft.Testing.Platform.Builder; +using Microsoft.Testing.Platform.Builder; using Microsoft.Testing.Platform.Capabilities.TestFramework; using Microsoft.Testing.Platform.Extensions.Messages; using Microsoft.Testing.Platform.Extensions.TestFramework; diff --git a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/TestProject/TestProject.csproj b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/TestProject/TestProject.csproj index 9857918867b1..8699e5d53e86 100644 --- a/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/TestProject/TestProject.csproj +++ b/test/TestAssets/TestProjects/MultiTestProjectSolutionWithSharedProject/TestProject/TestProject.csproj @@ -1,4 +1,4 @@ - +