Merged PR 88687: Merge merge_release200_into_release200MSRC to release/2.0.0-MSRC
This commit is contained in:
commit
ca06075140
40 changed files with 264 additions and 336 deletions
|
@ -147,8 +147,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.TestFramew
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "redist", "src\redist\redist.csproj", "{098D9321-1201-4974-A75E-F58EBCD98ACF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_roslyn", "src\tool_roslyn\tool_roslyn.csproj", "{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_msbuild", "src\tool_msbuild\tool_msbuild.csproj", "{D82A3246-9831-4024-A9B2-1932EEF3D56F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_nuget", "src\tool_nuget\tool_nuget.csproj", "{BE4C655A-DC54-4408-B739-743456D34111}"
|
||||
|
@ -705,30 +703,6 @@ Global
|
|||
{098D9321-1201-4974-A75E-F58EBCD98ACF}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{098D9321-1201-4974-A75E-F58EBCD98ACF}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{098D9321-1201-4974-A75E-F58EBCD98ACF}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Debug|x64.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Debug|x64.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Debug|x86.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Debug|x86.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.MinSizeRel|x64.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.MinSizeRel|x64.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.MinSizeRel|x86.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.MinSizeRel|x86.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{D82A3246-9831-4024-A9B2-1932EEF3D56F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D82A3246-9831-4024-A9B2-1932EEF3D56F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D82A3246-9831-4024-A9B2-1932EEF3D56F}.Debug|x64.ActiveCfg = Release|Any CPU
|
||||
|
@ -1625,7 +1599,6 @@ Global
|
|||
{570950AD-A080-4F32-980C-F50E312910DF} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{6592A22C-2386-4E83-A4D3-FC08075C723A} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{098D9321-1201-4974-A75E-F58EBCD98ACF} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{D82A3246-9831-4024-A9B2-1932EEF3D56F} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{BE4C655A-DC54-4408-B739-743456D34111} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2} = {0722D325-24C8-4E83-B5AF-0A083E7F0749}
|
||||
|
|
|
@ -9,8 +9,8 @@ Looking for V1 of the .NET Core tooling?
|
|||
|
||||
If you are looking for the v1.0.1 release of the .NET Core tools (CLI, MSBuild and the new csproj), see https://dot.net/core.
|
||||
|
||||
> **Note:** the release/2.0.0 branch of the CLI repo is based on the upcoming v2 of .NET Core and is considered pre-release. For production-level usage, use
|
||||
> v1 of the tools.
|
||||
> **Note:** the release/2.0.0 branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the
|
||||
> released version of the tools available at https://dot.net/core
|
||||
|
||||
Found an issue?
|
||||
---------------
|
||||
|
@ -88,11 +88,10 @@ Reference notes:
|
|||
> **1**: *Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing these directly from the .deb files (via dpkg or similar), then you'll need to install the [corresponding Host, Host FX Resolver, and Shared Framework packages](https://github.com/dotnet/core-setup#daily-builds) before installing the Sdk package.*
|
||||
> <br><br>**2**: *A 'coherent' build is defined as a build where the Runtime version matches between the CLI and Asp.NET.*
|
||||
|
||||
|
||||
[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/latest.version
|
||||
[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/latest.coherent.version
|
||||
[comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.)
|
||||
[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/latest.version
|
||||
[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/win_x64_Release_version_badge.svg
|
||||
[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/latest.coherent.version
|
||||
[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/win_x86_Release_coherent_badge.svg
|
||||
|
||||
[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x64.exe
|
||||
|
|
|
@ -29,9 +29,6 @@
|
|||
<Error Condition=" '$(MSBuildExtensionsPath)' == '' "
|
||||
Text="Expected MSBuildExtensionsPath to be set, but it is not." />
|
||||
|
||||
<Error Condition=" '$(CscToolExe)' == '' "
|
||||
Text="Expected CscToolExe to be set, but it is not." />
|
||||
|
||||
<Error Condition=" '$(MSBuildSDKsPath)' == '' "
|
||||
Text="Expected MSBuildSDKsPath to be set, but it is not." />
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<Project ToolsVersion="14.0">
|
||||
<PropertyGroup>
|
||||
<SdkBrandName>Microsoft .NET Core SDK - 2.0.1</SdkBrandName>
|
||||
<SdkBrandName>Microsoft .NET Core SDK - 2.0.3</SdkBrandName>
|
||||
<MSBuildExtensionsBrandName>.NET Standard Support for Visual Studio 2015</MSBuildExtensionsBrandName>
|
||||
<SharedFrameworkBrandName>Microsoft .NET Core Runtime - 2.0.1</SharedFrameworkBrandName>
|
||||
<SharedHostBrandName>Microsoft .NET Core Host - 2.0.1</SharedHostBrandName>
|
||||
|
|
|
@ -21,6 +21,9 @@
|
|||
<SharedFrameworkRid>$(CoreSetupRid)</SharedFrameworkRid>
|
||||
<SharedFrameworkRid Condition=" '$(UsePortableLinuxSharedFramework)' == 'true' ">linux-x64</SharedFrameworkRid>
|
||||
<CombinedFrameworkHostCompressedFileName>dotnet-runtime-$(SharedFrameworkVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</CombinedFrameworkHostCompressedFileName>
|
||||
|
||||
<IsSharedFrameworkPreReleaseVersion>$([System.Text.RegularExpressions.Regex]::IsMatch($(SharedFrameworkVersion), '\d*\.\d*\.\d*-'))</IsSharedFrameworkPreReleaseVersion>
|
||||
<SharedFrameworkStableVersion>$([System.Text.RegularExpressions.Regex]::Match($(SharedFrameworkVersion), '\d*\.\d*\.\d*').get_Groups().get_Item(0).ToString())</SharedFrameworkStableVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<CLI_SharedFrameworkVersion>2.0.1-servicing-25623-05</CLI_SharedFrameworkVersion>
|
||||
<CLI_MSBuild_Version>15.3.409</CLI_MSBuild_Version>
|
||||
<CLI_Roslyn_Version>2.3.2-beta1-61921-05</CLI_Roslyn_Version>
|
||||
<CLI_SharedFrameworkVersion>2.0.0</CLI_SharedFrameworkVersion>
|
||||
<CLI_MSBuild_Version>15.5.0-preview-000113-1032064</CLI_MSBuild_Version>
|
||||
<CLI_Roslyn_Version>2.6.0-beta1-62126-01</CLI_Roslyn_Version>
|
||||
<CLI_Roslyn_Satellites_Version>2.3.0-pre-20170727-1</CLI_Roslyn_Satellites_Version>
|
||||
<CLI_DiaSymNative_Version>1.6.0-beta2-25304</CLI_DiaSymNative_Version>
|
||||
<CLI_FSharp_Version>4.2.0-rc-170630-0</CLI_FSharp_Version>
|
||||
<CLI_FSharp_Version>4.2.0-rtm-170926-0</CLI_FSharp_Version>
|
||||
<CLI_FSharp_Satellites_Version>4.4.1-pre-20170727-1</CLI_FSharp_Satellites_Version>
|
||||
|
||||
<!-- We'll usually want to keep these versions in sync, but we may want to diverge in some
|
||||
cases, so use separate properties but derive one from the other unless we want to
|
||||
explicitly use different versions. -->
|
||||
<CLI_NETSDK_Version>2.0.0-preview3-20170804-1</CLI_NETSDK_Version>
|
||||
<CLI_NETSDK_Version>2.0.1-servicing-20170926-1</CLI_NETSDK_Version>
|
||||
<CLI_MSBuildExtensions_Version>$(CLI_NETSDK_Version)</CLI_MSBuildExtensions_Version>
|
||||
|
||||
<CLI_NuGet_Version>4.3.0-rtm-4382</CLI_NuGet_Version>
|
||||
<CLI_NuGet_Version>4.4.0-preview3-4475</CLI_NuGet_Version>
|
||||
<CLI_NETStandardLibraryNETFrameworkVersion>2.0.0-preview3-25514-04</CLI_NETStandardLibraryNETFrameworkVersion>
|
||||
<CLI_WEBSDK_Version>2.0.0-rel-20170815-630</CLI_WEBSDK_Version>
|
||||
<CLI_WEBSDK_Version>2.0.0-rel-20170908-653</CLI_WEBSDK_Version>
|
||||
<CLI_TestPlatform_Version>15.3.0-preview-20170628-02</CLI_TestPlatform_Version>
|
||||
<SharedFrameworkVersion>$(CLI_SharedFrameworkVersion)</SharedFrameworkVersion>
|
||||
<SharedHostVersion>$(CLI_SharedFrameworkVersion)</SharedHostVersion>
|
||||
|
|
|
@ -34,7 +34,11 @@
|
|||
<ForPublishing Include="%(GenerateArchivesInputsOutputs.Outputs)"
|
||||
Condition=" '$(IsLinuxDistroSpecific)' != 'true' "/>
|
||||
<ForPublishing Include="$(PackagesDirectory)/Microsoft*.nupkg"
|
||||
Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' != '' AND '$(IsLinuxDistroSpecific)' != 'true'"/>
|
||||
Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' != '' AND '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
|
||||
<ForPublishing Include="$(PackagesDirectory)/VS.Redist.Common.Net.Core.SDK.$(Architecture)*.nupkg"
|
||||
Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' != '' AND '$(OS)' == 'Windows_NT' "/>
|
||||
<ForPublishing Include="$(PackagesDirectory)/VS.Redist.Common.Net.Core.SDK.MSBuildExtensions*.nupkg"
|
||||
Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' != '' AND '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -38,14 +38,23 @@
|
|||
<!-- Built binaries -->
|
||||
<FilesToSign Include="$(OutputDirectory)/sdk/**/csc.exe;
|
||||
$(OutputDirectory)/sdk/**/csc.dll;
|
||||
$(OutputDirectory)/sdk/**/vbc.exe;
|
||||
$(OutputDirectory)/sdk/**/vbc.dll;
|
||||
$(OutputDirectory)/sdk/**/fsc.exe;
|
||||
$(OutputDirectory)/sdk/**/fsi.exe;
|
||||
$(OutputDirectory)/sdk/**/FSharp.*.dll;
|
||||
$(OutputDirectory)/sdk/**/dotnet.dll;
|
||||
$(OutputDirectory)/sdk/**/dotnet.resources.dll;
|
||||
$(OutputDirectory)/sdk/**/System.*.dll;
|
||||
$(OutputDirectory)/sdk/**/Microsoft.*.dll;
|
||||
$(OutputDirectory)/sdk/**/NuGet*.dll;
|
||||
$(OutputDirectory)/sdk/**/datacollector.dll;
|
||||
$(OutputDirectory)/sdk/**/datacollector.exe;
|
||||
$(OutputDirectory)/sdk/**/MSBuild.dll;
|
||||
$(OutputDirectory)/sdk/**/MSBuild.resources.dll;
|
||||
$(OutputDirectory)/sdk/**/testhost.dll;
|
||||
$(OutputDirectory)/sdk/**/testhost.exe;
|
||||
$(OutputDirectory)/sdk/**/testhost.x86.exe;
|
||||
$(OutputDirectory)/sdk/**/vstest.console.dll;
|
||||
$(OutputDirectory)/sdk/**/vstest.console.resources.dll">
|
||||
<Authenticode>$(InternalCertificateId)</Authenticode>
|
||||
|
|
|
@ -38,6 +38,35 @@
|
|||
</ProjectsToTest>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Begin Workaround lack of a stable package version for depedencies; copy into simulated stable version folders -->
|
||||
|
||||
<PropertyGroup>
|
||||
<StableSharedFrameworkDirectory>$(OutputDirectory)/shared/Microsoft.NETCore.App/$(SharedFrameworkStableVersion)</StableSharedFrameworkDirectory>
|
||||
<StableSharedFrameworkDirectoryWithBackwardsCompatibleRuntimes>$(Stage2WithBackwardsCompatibleRuntimesOutputDirectory)/shared/Microsoft.NETCore.App/$(SharedFrameworkStableVersion)</StableSharedFrameworkDirectoryWithBackwardsCompatibleRuntimes>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Stabilize_SourceFiles_2_0 Include="$(OutputDirectory)/shared/Microsoft.NETCore.App/$(CLI_SharedFrameworkVersion)/*.*"/>
|
||||
<SimulatedStableSharedFrameworkDirectories Condition=" '$(IsSharedFrameworkPreReleaseVersion)' == 'True' "
|
||||
Include="$(StableSharedFrameworkDirectory)" />
|
||||
<SimulatedStableSharedFrameworkDirectories Condition=" '$(IsSharedFrameworkPreReleaseVersion)' == 'True' "
|
||||
Include="$(StableSharedFrameworkDirectoryWithBackwardsCompatibleRuntimes)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy
|
||||
Condition=" '$(IsSharedFrameworkPreReleaseVersion)' == 'True' "
|
||||
SourceFiles="@(Stabilize_SourceFiles_2_0)"
|
||||
DestinationFiles="@(Stabilize_SourceFiles_2_0->'$(StableSharedFrameworkDirectory)/%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
/>
|
||||
|
||||
<Copy
|
||||
Condition=" '$(IsSharedFrameworkPreReleaseVersion)' == 'True' "
|
||||
SourceFiles="@(Stabilize_SourceFiles_2_0)"
|
||||
DestinationFiles="@(Stabilize_SourceFiles_2_0->'$(StableSharedFrameworkDirectoryWithBackwardsCompatibleRuntimes)/%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
/>
|
||||
|
||||
<!-- End Workaround lack of a stable package version for depedencies; copy into simulated stable versions -->
|
||||
|
||||
<Message Text="Starting test execution" Importance="High" />
|
||||
|
||||
<MSBuild
|
||||
|
@ -46,6 +75,12 @@
|
|||
</MSBuild>
|
||||
|
||||
<Message Text="Finished test execution" Importance="High" />
|
||||
|
||||
<!-- Begin Workaround lack of a stable package version for depedencies; remove simulated stable version folder. -->
|
||||
|
||||
<RemoveDir Directories="@(SimulatedStableSharedFrameworkDirectories)" />
|
||||
|
||||
<!-- End Workaround lack of a stable package version for depedencies; remove simulated stable version folder. -->
|
||||
</Target>
|
||||
|
||||
<Target Name="PrepareTests"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<PropertyGroup>
|
||||
<VersionMajor>2</VersionMajor>
|
||||
<VersionMinor>0</VersionMinor>
|
||||
<VersionPatch>1</VersionPatch>
|
||||
<VersionPatch>3</VersionPatch>
|
||||
<ReleaseSuffix Condition=" '$(ReleaseSuffix)' == '' ">servicing</ReleaseSuffix>
|
||||
|
||||
<CliVersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix)</CliVersionPrefix>
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="TestSdkDeb"
|
||||
Condition=" '$(IsDebianBaseDistro)' == 'True' and '$(DebuildPresent)' == 'true' "
|
||||
Condition=" '$(IsDebianBaseDistro)' == 'True' and '$(DebuildPresent)' == 'true' and '$(IsSharedFrameworkPreReleaseVersion)' != 'True' "
|
||||
DependsOnTargets="RestoreTests"
|
||||
Inputs="$(DownloadedSharedHostInstallerFile);
|
||||
$(DownloadedHostFxrInstallerFile);
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
<PropertyGroup>
|
||||
<MSBuildExtensionsPathInToolPath>false</MSBuildExtensionsPathInToolPath>
|
||||
<MSBuildExtensionsPathInToolPath Condition="$(MSBuildExtensionsPath.StartsWith('$(NormalizedToolPath)'))">true</MSBuildExtensionsPathInToolPath>
|
||||
<CscToolExeInToolPath>false</CscToolExeInToolPath>
|
||||
<CscToolExeInToolPath Condition="$(CscToolExe.StartsWith('$(NormalizedToolPath)'))">true</CscToolExeInToolPath>
|
||||
<MSBuildSDKsPathInToolPath>false</MSBuildSDKsPathInToolPath>
|
||||
<MSBuildSDKsPathInToolPath Condition="$(MSBuildSDKsPath.StartsWith('$(NormalizedToolPath)'))">true</MSBuildSDKsPathInToolPath>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -56,7 +56,6 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
{ "rhel_7_x64", false },
|
||||
{ "ubuntu_14_04_x64", false },
|
||||
{ "ubuntu_16_04_x64", false },
|
||||
{ "ubuntu_16_10_x64", false },
|
||||
{ "linux_x64", false }
|
||||
};
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ def project = GithubProject
|
|||
def branch = GithubBranchName
|
||||
def isPR = true
|
||||
|
||||
def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'Ubuntu16.10:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'OpenSUSE42.1:x64:Debug']
|
||||
def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug']
|
||||
|
||||
def static getBuildJobName(def configuration, def os, def architecture) {
|
||||
return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase()
|
||||
|
|
81
scripts/obtain/dotnet-install.ps1
vendored
81
scripts/obtain/dotnet-install.ps1
vendored
|
@ -58,6 +58,9 @@
|
|||
.PARAMETER ProxyUseDefaultCredentials
|
||||
Default: false
|
||||
Use default credentials, when using proxy address.
|
||||
.PARAMETER SkipNonVersionedFiles
|
||||
Default: false
|
||||
Skips installing non-versioned files if they already exist, such as dotnet.exe.
|
||||
#>
|
||||
[cmdletbinding()]
|
||||
param(
|
||||
|
@ -71,7 +74,8 @@ param(
|
|||
[string]$AzureFeed="https://dotnetcli.azureedge.net/dotnet",
|
||||
[string]$UncachedFeed="https://dotnetcli.blob.core.windows.net/dotnet",
|
||||
[string]$ProxyAddress,
|
||||
[switch]$ProxyUseDefaultCredentials
|
||||
[switch]$ProxyUseDefaultCredentials,
|
||||
[switch]$SkipNonVersionedFiles
|
||||
)
|
||||
|
||||
Set-StrictMode -Version Latest
|
||||
|
@ -82,10 +86,10 @@ $BinFolderRelativePath=""
|
|||
|
||||
# example path with regex: shared/1.0.0-beta-12345/somepath
|
||||
$VersionRegEx="/\d+\.\d+[^/]+/"
|
||||
$OverrideNonVersionedFiles=$true
|
||||
$OverrideNonVersionedFiles = !$SkipNonVersionedFiles
|
||||
|
||||
function Say($str) {
|
||||
Write-Output "dotnet-install: $str"
|
||||
Write-Host "dotnet-install: $str"
|
||||
}
|
||||
|
||||
function Say-Verbose($str) {
|
||||
|
@ -168,21 +172,27 @@ function GetHTTPResponse([Uri] $Uri)
|
|||
# HttpClient is used vs Invoke-WebRequest in order to support Nano Server which doesn't support the Invoke-WebRequest cmdlet.
|
||||
Load-Assembly -Assembly System.Net.Http
|
||||
|
||||
if(-not $ProxyAddress)
|
||||
{
|
||||
# Despite no proxy being explicitly specified, we may still be behind a default proxy
|
||||
$DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy;
|
||||
if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))){
|
||||
$ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString
|
||||
$ProxyUseDefaultCredentials = $true
|
||||
if(-not $ProxyAddress) {
|
||||
try {
|
||||
# Despite no proxy being explicitly specified, we may still be behind a default proxy
|
||||
$DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy;
|
||||
if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) {
|
||||
$ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString
|
||||
$ProxyUseDefaultCredentials = $true
|
||||
}
|
||||
} catch {
|
||||
# Eat the exception and move forward as the above code is an attempt
|
||||
# at resolving the DefaultProxy that may not have been a problem.
|
||||
$ProxyAddress = $null
|
||||
Say-Verbose("Exception ignored: $_.Exception.Message - moving forward...")
|
||||
}
|
||||
}
|
||||
|
||||
if($ProxyAddress){
|
||||
if($ProxyAddress) {
|
||||
$HttpClientHandler = New-Object System.Net.Http.HttpClientHandler
|
||||
$HttpClientHandler.Proxy = New-Object System.Net.WebProxy -Property @{Address=$ProxyAddress;UseDefaultCredentials=$ProxyUseDefaultCredentials}
|
||||
$HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler
|
||||
}
|
||||
}
|
||||
else {
|
||||
$HttpClient = New-Object System.Net.Http.HttpClient
|
||||
}
|
||||
|
@ -190,11 +200,9 @@ function GetHTTPResponse([Uri] $Uri)
|
|||
# 10 minutes allows it to work over much slower connections.
|
||||
$HttpClient.Timeout = New-TimeSpan -Minutes 10
|
||||
$Response = $HttpClient.GetAsync($Uri).Result
|
||||
if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode)))
|
||||
{
|
||||
if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode))) {
|
||||
$ErrorMsg = "Failed to download $Uri."
|
||||
if ($Response -ne $null)
|
||||
{
|
||||
if ($Response -ne $null) {
|
||||
$ErrorMsg += " $Response"
|
||||
}
|
||||
|
||||
|
@ -208,7 +216,7 @@ function GetHTTPResponse([Uri] $Uri)
|
|||
$HttpClient.Dispose()
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
@ -227,7 +235,7 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co
|
|||
$VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.version"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$Response = GetHTTPResponse -Uri $VersionFileUrl
|
||||
$StringContent = $Response.Content.ReadAsStringAsync().Result
|
||||
|
||||
|
@ -260,9 +268,9 @@ function Get-Specific-Version-From-Version([string]$AzureFeed, [string]$Channel,
|
|||
}
|
||||
}
|
||||
|
||||
function Get-Download-Link([string]$AzureFeed, [string]$Channel, [string]$SpecificVersion, [string]$CLIArchitecture) {
|
||||
function Get-Download-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) {
|
||||
Say-Invocation $MyInvocation
|
||||
|
||||
|
||||
if ($SharedRuntime) {
|
||||
$PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-runtime-$SpecificVersion-win-$CLIArchitecture.zip"
|
||||
}
|
||||
|
@ -275,9 +283,9 @@ function Get-Download-Link([string]$AzureFeed, [string]$Channel, [string]$Specif
|
|||
return $PayloadURL
|
||||
}
|
||||
|
||||
function Get-LegacyDownload-Link([string]$AzureFeed, [string]$Channel, [string]$SpecificVersion, [string]$CLIArchitecture) {
|
||||
function Get-LegacyDownload-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) {
|
||||
Say-Invocation $MyInvocation
|
||||
|
||||
|
||||
if ($SharedRuntime) {
|
||||
$PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-win-$CLIArchitecture.$SpecificVersion.zip"
|
||||
}
|
||||
|
@ -314,7 +322,7 @@ function Get-Version-Info-From-Version-File([string]$InstallRoot, [string]$Relat
|
|||
|
||||
$VersionFile = Join-Path -Path $InstallRoot -ChildPath $RelativePathToVersionFile
|
||||
Say-Verbose "Local version file: $VersionFile"
|
||||
|
||||
|
||||
if (Test-Path $VersionFile) {
|
||||
$VersionText = cat $VersionFile
|
||||
Say-Verbose "Local version file text: $VersionText"
|
||||
|
@ -328,7 +336,7 @@ function Get-Version-Info-From-Version-File([string]$InstallRoot, [string]$Relat
|
|||
|
||||
function Is-Dotnet-Package-Installed([string]$InstallRoot, [string]$RelativePathToPackage, [string]$SpecificVersion) {
|
||||
Say-Invocation $MyInvocation
|
||||
|
||||
|
||||
$DotnetPackagePath = Join-Path -Path $InstallRoot -ChildPath $RelativePathToPackage | Join-Path -ChildPath $SpecificVersion
|
||||
Say-Verbose "Is-Dotnet-Package-Installed: Path to a package: $DotnetPackagePath"
|
||||
return Test-Path $DotnetPackagePath -PathType Container
|
||||
|
@ -346,13 +354,13 @@ function Get-Path-Prefix-With-Version($path) {
|
|||
if ($match.Success) {
|
||||
return $entry.FullName.Substring(0, $match.Index + $match.Length)
|
||||
}
|
||||
|
||||
|
||||
return $null
|
||||
}
|
||||
|
||||
function Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package([System.IO.Compression.ZipArchive]$Zip, [string]$OutPath) {
|
||||
Say-Invocation $MyInvocation
|
||||
|
||||
|
||||
$ret = @()
|
||||
foreach ($entry in $Zip.Entries) {
|
||||
$dir = Get-Path-Prefix-With-Version $entry.FullName
|
||||
|
@ -363,12 +371,12 @@ function Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package([Sys
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$ret = $ret | Sort-Object | Get-Unique
|
||||
|
||||
|
||||
$values = ($ret | foreach { "$_" }) -join ";"
|
||||
Say-Verbose "Directories to unpack: $values"
|
||||
|
||||
|
||||
return $ret
|
||||
}
|
||||
|
||||
|
@ -392,9 +400,9 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) {
|
|||
Set-Variable -Name Zip
|
||||
try {
|
||||
$Zip = [System.IO.Compression.ZipFile]::OpenRead($ZipPath)
|
||||
|
||||
|
||||
$DirectoriesToUnpack = Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package -Zip $Zip -OutPath $OutPath
|
||||
|
||||
|
||||
foreach ($entry in $Zip.Entries) {
|
||||
$PathWithVersion = Get-Path-Prefix-With-Version $entry.FullName
|
||||
if (($PathWithVersion -eq $null) -Or ($DirectoriesToUnpack -contains $PathWithVersion)) {
|
||||
|
@ -445,14 +453,14 @@ function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot, [string]$BinFolde
|
|||
|
||||
$CLIArchitecture = Get-CLIArchitecture-From-Architecture $Architecture
|
||||
$SpecificVersion = Get-Specific-Version-From-Version -AzureFeed $AzureFeed -Channel $Channel -Version $Version
|
||||
$DownloadLink = Get-Download-Link -AzureFeed $AzureFeed -Channel $Channel -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
|
||||
$LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $AzureFeed -Channel $Channel -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
|
||||
$DownloadLink = Get-Download-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
|
||||
$LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
|
||||
|
||||
if ($DryRun) {
|
||||
Say "Payload URLs:"
|
||||
Say "Primary - $DownloadLink"
|
||||
Say "Legacy - $LegacyDownloadLink"
|
||||
Say "Repeatable invocation: .\$($MyInvocation.MyCommand) -Version $SpecificVersion -Channel $Channel -Architecture $CLIArchitecture -InstallDir $InstallDir"
|
||||
Say "Repeatable invocation: .\$($MyInvocation.Line)"
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
@ -470,14 +478,13 @@ if ($IsSdkInstalled) {
|
|||
New-Item -ItemType Directory -Force -Path $InstallRoot | Out-Null
|
||||
|
||||
$installDrive = $((Get-Item $InstallRoot).PSDrive.Name);
|
||||
Write-Output "${installDrive}:";
|
||||
$free = Get-CimInstance -Class win32_logicaldisk | where Deviceid -eq "${installDrive}:"
|
||||
if ($free.Freespace / 1MB -le 100 ) {
|
||||
Say "There is not enough disk space on drive ${installDrive}:"
|
||||
exit 0
|
||||
}
|
||||
|
||||
$ZipPath = [System.IO.Path]::GetTempFileName()
|
||||
$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName())
|
||||
Say-Verbose "Zip path: $ZipPath"
|
||||
Say "Downloading link: $DownloadLink"
|
||||
try {
|
||||
|
@ -486,7 +493,7 @@ try {
|
|||
catch {
|
||||
Say "Cannot download: $DownloadLink"
|
||||
$DownloadLink = $LegacyDownloadLink
|
||||
$ZipPath = [System.IO.Path]::GetTempFileName()
|
||||
$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName())
|
||||
Say-Verbose "Legacy zip path: $ZipPath"
|
||||
Say "Downloading legacy link: $DownloadLink"
|
||||
DownloadFile -Uri $DownloadLink -OutPath $ZipPath
|
||||
|
|
53
scripts/obtain/dotnet-install.sh
vendored
53
scripts/obtain/dotnet-install.sh
vendored
|
@ -55,6 +55,9 @@ say_verbose() {
|
|||
fi
|
||||
}
|
||||
|
||||
# This platform list is finite - if the SDK/Runtime has supported Linux distribution-specific assets,
|
||||
# then and only then should the Linux distribution appear in this list.
|
||||
# Adding a Linux distribution to this list does not imply distribution-specific support.
|
||||
get_os_download_name_from_platform() {
|
||||
eval $invocation
|
||||
|
||||
|
@ -84,6 +87,10 @@ get_os_download_name_from_platform() {
|
|||
echo "opensuse.42.1"
|
||||
return 0
|
||||
;;
|
||||
"rhel.6"*)
|
||||
echo "rhel.6"
|
||||
return 0
|
||||
;;
|
||||
"rhel.7"*)
|
||||
echo "rhel"
|
||||
return 0
|
||||
|
@ -115,8 +122,14 @@ get_current_os_name() {
|
|||
if [ "$uname" = "Darwin" ]; then
|
||||
echo "osx"
|
||||
return 0
|
||||
else
|
||||
if [ "$uname" = "Linux" ]; then
|
||||
elif [ "$uname" = "Linux" ]; then
|
||||
local distro_specific_osname
|
||||
distro_specific_osname=$(get_distro_specific_os_name) || return 1
|
||||
|
||||
if [ "$distro_specific_osname" = "rhel.6" ]; then
|
||||
echo $distro_specific_osname
|
||||
return 0
|
||||
else
|
||||
echo "linux"
|
||||
return 0
|
||||
fi
|
||||
|
@ -144,6 +157,12 @@ get_distro_specific_os_name() {
|
|||
echo "$os"
|
||||
return 0
|
||||
fi
|
||||
elif [ -e /etc/redhat-release ]; then
|
||||
local redhatRelease=$(</etc/redhat-release)
|
||||
if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then
|
||||
echo "rhel.6"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -191,9 +210,13 @@ check_pre_reqs() {
|
|||
LDCONFIG_COMMAND="ldconfig"
|
||||
fi
|
||||
|
||||
[ -z "$($LDCONFIG_COMMAND -p | grep libunwind)" ] && say_err "Unable to locate libunwind. Install libunwind to continue" && failing=true
|
||||
[ -z "$($LDCONFIG_COMMAND -p | grep libssl)" ] && say_err "Unable to locate libssl. Install libssl to continue" && failing=true
|
||||
[ -z "$($LDCONFIG_COMMAND -p | grep libicu)" ] && say_err "Unable to locate libicu. Install libicu to continue" && failing=true
|
||||
local librarypath=${LD_LIBRARY_PATH:-}
|
||||
LDCONFIG_COMMAND="$LDCONFIG_COMMAND -NXv ${librarypath//:/ }"
|
||||
|
||||
[ -z "$($LDCONFIG_COMMAND | grep libunwind)" ] && say_err "Unable to locate libunwind. Install libunwind to continue" && failing=true
|
||||
[ -z "$($LDCONFIG_COMMAND | grep libssl)" ] && say_err "Unable to locate libssl. Install libssl to continue" && failing=true
|
||||
[ -z "$($LDCONFIG_COMMAND | grep libicu)" ] && say_err "Unable to locate libicu. Install libicu to continue" && failing=true
|
||||
[ -z "$($LDCONFIG_COMMAND | grep -F libcurl.so)" ] && say_err "Unable to locate libcurl. Install libcurl to continue" && failing=true
|
||||
fi
|
||||
|
||||
if [ "$failing" = true ]; then
|
||||
|
@ -295,7 +318,7 @@ get_normalized_architecture_from_architecture() {
|
|||
get_version_from_version_info() {
|
||||
eval $invocation
|
||||
|
||||
cat | tail -n 1
|
||||
cat | tail -n 1 | sed 's/\r$//'
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -304,7 +327,7 @@ get_version_from_version_info() {
|
|||
get_commit_hash_from_version_info() {
|
||||
eval $invocation
|
||||
|
||||
cat | head -n 1
|
||||
cat | head -n 1 | sed 's/\r$//'
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -333,6 +356,7 @@ is_dotnet_package_installed() {
|
|||
# azure_feed - $1
|
||||
# channel - $2
|
||||
# normalized_architecture - $3
|
||||
# coherent - $4
|
||||
get_latest_version_info() {
|
||||
eval $invocation
|
||||
|
||||
|
@ -541,7 +565,7 @@ extract_dotnet_package() {
|
|||
|
||||
local folders_with_version_regex='^.*/[0-9]+\.[0-9]+[^/]+/'
|
||||
find $temp_out_path -type f | grep -Eo $folders_with_version_regex | copy_files_or_dirs_from_list $temp_out_path $out_path false
|
||||
find $temp_out_path -type f | grep -Ev $folders_with_version_regex | copy_files_or_dirs_from_list $temp_out_path $out_path true
|
||||
find $temp_out_path -type f | grep -Ev $folders_with_version_regex | copy_files_or_dirs_from_list $temp_out_path $out_path $override_non_versioned_files
|
||||
|
||||
rm -rf $temp_out_path
|
||||
|
||||
|
@ -600,7 +624,7 @@ downloadwget() {
|
|||
|
||||
local failed=false
|
||||
if [ -z "$out_path" ]; then
|
||||
wget -q --tries 10 $remote_path || failed=true
|
||||
wget -q --tries 10 -O - $remote_path || failed=true
|
||||
else
|
||||
wget -v --tries 10 -O $out_path $remote_path || failed=true
|
||||
fi
|
||||
|
@ -654,7 +678,9 @@ install_dotnet() {
|
|||
say_verbose "Zip path: $zip_path"
|
||||
|
||||
say "Downloading link: $download_link"
|
||||
download "$download_link" $zip_path || download_failed=true
|
||||
# Failures are normal in the non-legacy case for ultimately legacy downloads.
|
||||
# Do not output to stderr, since output to stderr is considered an error.
|
||||
download "$download_link" $zip_path 2>&1 || download_failed=true
|
||||
|
||||
# if the download fails, download the legacy_download_link
|
||||
if [ "$download_failed" = true ] && [ "$valid_legacy_download_link" = true ]; then
|
||||
|
@ -687,6 +713,7 @@ uncached_feed="https://dotnetcli.blob.core.windows.net/dotnet"
|
|||
verbose=false
|
||||
shared_runtime=false
|
||||
runtime_id=""
|
||||
override_non_versioned_files=true
|
||||
|
||||
while [ $# -ne 0 ]
|
||||
do
|
||||
|
@ -732,6 +759,10 @@ do
|
|||
shift
|
||||
runtime_id="$1"
|
||||
;;
|
||||
--skip-non-versioned-files|-[Ss]kip[Nn]on[Vv]ersioned[Ff]iles)
|
||||
shift
|
||||
override_non_versioned_files=false
|
||||
;;
|
||||
-?|--?|-h|--help|-[Hh]elp)
|
||||
script_name="$(basename $0)"
|
||||
echo ".NET Tools Installer"
|
||||
|
@ -764,6 +795,8 @@ do
|
|||
echo " --arch,-Architecture,-Arch"
|
||||
echo " --shared-runtime Installs just the shared runtime bits, not the entire SDK."
|
||||
echo " -SharedRuntime"
|
||||
echo " --skip-non-versioned-files Skips non-versioned files if they already exist, such as the dotnet executable."
|
||||
echo " -SkipNonVersionedFiles"
|
||||
echo " --dry-run,-DryRun Do not perform installation. Display download link."
|
||||
echo " --no-path, -NoPath Do not set PATH for the current process."
|
||||
echo " --verbose,-Verbose Display diagnostics information."
|
||||
|
|
|
@ -23,9 +23,8 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
new Dictionary<string, string>
|
||||
{
|
||||
{ "MSBuildExtensionsPath", AppContext.BaseDirectory },
|
||||
{ "CscToolExe", GetRunCscPath() },
|
||||
{ "VbcToolExe", GetRunVbcPath() },
|
||||
{ "MSBuildSDKsPath", GetMSBuildSDKsPath() }
|
||||
{ "MSBuildSDKsPath", GetMSBuildSDKsPath() },
|
||||
{ "DOTNET_HOST_PATH", GetDotnetPath() },
|
||||
};
|
||||
|
||||
private readonly IEnumerable<string> _msbuildRequiredParameters =
|
||||
|
@ -78,20 +77,9 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
SdksDirectoryName);
|
||||
}
|
||||
|
||||
private static string GetRunVbcPath()
|
||||
private static string GetDotnetPath()
|
||||
{
|
||||
return GetRunToolPath("Vbc");
|
||||
}
|
||||
|
||||
private static string GetRunCscPath()
|
||||
{
|
||||
return GetRunToolPath("Csc");
|
||||
}
|
||||
|
||||
private static string GetRunToolPath(string compilerName)
|
||||
{
|
||||
var scriptExtension = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".cmd" : ".sh";
|
||||
return Path.Combine(AppContext.BaseDirectory, "Roslyn", $"Run{compilerName}{scriptExtension}");
|
||||
return new Muxer().MuxerPath;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -177,7 +177,7 @@ The current {1} is '{2}'.</value>
|
|||
<value>Using launch settings from {0}...</value>
|
||||
</data>
|
||||
<data name="LaunchProfileIsNotAJsonObject" xml:space="preserve">
|
||||
<value>Launch profile is not a JSON object.</value>
|
||||
<value>A profile with the specified name could not be found or is not a valid JSON object.</value>
|
||||
</data>
|
||||
<data name="LaunchProfileHandlerCannotBeLocated" xml:space="preserve">
|
||||
<value>The launch profile type '{0}' is not supported.</value>
|
||||
|
|
|
@ -103,8 +103,8 @@ Aktuální {1} je {2}.</target>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">Profil spuštění není objektem JSON.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">Profil spuštění není objektem JSON.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ Ein ausführbares Projekt sollte ein ausführbares TFM (z.B. netcoreapp2.0) verw
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">Das Startprofil ist kein JSON-Objekt.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">Das Startprofil ist kein JSON-Objekt.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ El actual {1} es "{2}".</target>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">El perfil de inicio no es un objeto JSON.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">El perfil de inicio no es un objeto JSON.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ Le {1} actuel est '{2}'.</target>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">Le profil de lancement n'est pas un objet JSON.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">Le profil de lancement n'est pas un objet JSON.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ Il valore corrente di {1} è '{2}'.</target>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">Il profilo di avvio non è un oggetto JSON.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">Il profilo di avvio non è un oggetto JSON.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ The current {1} is '{2}'.</source>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">起動プロファイルが JSON オブジェクトではありません。</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">起動プロファイルが JSON オブジェクトではありません。</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ The current {1} is '{2}'.</source>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">시작 프로필이 JSON 개체가 아닙니다.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">시작 프로필이 JSON 개체가 아닙니다.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ Bieżący element {1}: „{2}”.</target>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">Profil uruchamiania nie jest obiektem JSON.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">Profil uruchamiania nie jest obiektem JSON.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ O {1} atual é '{2}'.</target>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">O perfil de inicialização não é um objeto JSON.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">O perfil de inicialização não é um objeto JSON.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ The current {1} is '{2}'.</source>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">Профиль запуска не является объектом JSON.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">Профиль запуска не является объектом JSON.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ Geçerli {1}: '{2}'.</target>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">Başlatma profili bir JSON nesnesi değil.</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">Başlatma profili bir JSON nesnesi değil.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ The current {1} is '{2}'.</source>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">启动配置文件不是 JSON 对象。</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">启动配置文件不是 JSON 对象。</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -103,8 +103,8 @@ The current {1} is '{2}'.</source>
|
|||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileIsNotAJsonObject">
|
||||
<source>Launch profile is not a JSON object.</source>
|
||||
<target state="translated">啟動設定檔並非 JSON 物件。</target>
|
||||
<source>A profile with the specified name could not be found or is not a valid JSON object.</source>
|
||||
<target state="needs-review-translation">啟動設定檔並非 JSON 物件。</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="LaunchProfileHandlerCannotBeLocated">
|
||||
|
|
|
@ -17,15 +17,16 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NETCore.App" Version="$(CLI_SharedFrameworkVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Runtime" Version="$(CLI_MSBuild_Version)" />
|
||||
<PackageReference Include="NuGet.Build.Tasks" Version="$(CLI_NuGet_Version)" />
|
||||
<PackageReference Include="Microsoft.TestPlatform.CLI" Version="$(CLI_TestPlatform_Version)" />
|
||||
<PackageReference Include="Microsoft.TestPlatform.Build" Version="$(CLI_TestPlatform_Version)" />
|
||||
<PackageReference Include="NuGet.ProjectModel" Version="$(CLI_NuGet_Version)" />
|
||||
<!-- The project json migration commands depend on an older version of Roslyn.
|
||||
Lift the version here to match what tool_roslyn depends on (otherwise an older version will
|
||||
be added to the TPA when we crossgen and we won't be able to crossgen tool_roslyn -->
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(CLI_Roslyn_Version)" />
|
||||
<PackageReference Include="Microsoft.NETCore.Compilers" Version="$(CLI_Roslyn_Version)">
|
||||
<ExcludeAssets>All</ExcludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="CliDeps.Satellites.Roslyn" Version="$(CLI_Roslyn_Satellites_Version)">
|
||||
<ExcludeAssets>All</ExcludeAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -74,9 +75,25 @@
|
|||
<Target Name="PublishRoslyn"
|
||||
BeforeTargets="Publish">
|
||||
|
||||
<DotNetPublish ToolPath="$(Stage0Directory)"
|
||||
Configuration="$(Configuration)"
|
||||
ProjectPath="$(SrcDirectory)/tool_roslyn/tool_roslyn.csproj" />
|
||||
<ItemGroup>
|
||||
<RoslynBits Include="$(NuGetPackagesDir)/microsoft.netcore.compilers/$(CLI_Roslyn_Version)/tools/**/*" />
|
||||
<RoslynSatelliteBits Include="$(NuGetPackagesDir)/clideps.satellites.roslyn/$(CLI_Roslyn_Satellites_Version)/lib/netstandard1.0/**/*" />
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(RoslynBits)" DestinationFiles="@(RoslynBits->'$(RoslynDirectory)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(RoslynSatelliteBits)" DestinationFiles="@(RoslynSatelliteBits->'$(RoslynDirectory)/bincore/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<ItemGroup>
|
||||
<RetargetRuntimeConfigPaths Include="$(RoslynDirectory)/bincore/csc.runtimeconfig.json" />
|
||||
<RetargetRuntimeConfigPaths Include="$(RoslynDirectory)/bincore/vbc.runtimeconfig.json" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<ReplacementPattern>"version": ".*"</ReplacementPattern>
|
||||
<ReplacementString>"version": "$(CLI_SharedFrameworkVersion)"</ReplacementString>
|
||||
</PropertyGroup>
|
||||
<ReplaceFileContents
|
||||
InputFile="%(RetargetRuntimeConfigPaths.Identity)"
|
||||
DestinationFile="%(RetargetRuntimeConfigPaths.Identity)"
|
||||
ReplacementPatterns="$(ReplacementPattern)"
|
||||
ReplacementStrings="$(ReplacementString)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PublishFSharp"
|
||||
|
@ -200,41 +217,72 @@
|
|||
Condition=" '$(DISABLE_CROSSGEN)' == '' "
|
||||
AfterTargets="PublishMSBuildExtensions">
|
||||
<ItemGroup>
|
||||
<RoslynFiles Include="$(PublishDir)Roslyn\bincore\**\*" />
|
||||
<FSharpFiles Include="$(PublishDir)FSharp\**\*" Exclude="$(PublishDir)FSharp\FSharp.Build.dll" />
|
||||
<RemainingFiles Include="$(PublishDir)**\*" Exclude="@(RoslynFiles);@(FSharpFiles)" />
|
||||
|
||||
<!-- Removing Full CLR built TestHost assemblies from getting Crossgen as it is throwing error -->
|
||||
<SdkFiles Include="$(PublishDir)/**/*" Exclude="$(PublishDir)/TestHost*/**/*;$(PublishDir)/Sdks/**/*" />
|
||||
<RemainingFiles Remove="$(PublishDir)TestHost*\**\*" />
|
||||
<RemainingFiles Remove="$(PublishDir)Sdks\**\*" />
|
||||
|
||||
<!-- Don't try to CrossGen .NET Framework support assemblies for .NET Standard -->
|
||||
<SdkFiles Remove="$(PublishDir)/Microsoft\Microsoft.NET.Build.Extensions\net*\**\*" />
|
||||
<RemainingFiles Remove="$(PublishDir)Microsoft\Microsoft.NET.Build.Extensions\net*\**\*" />
|
||||
|
||||
<!-- Don't try to CrossGen tasks and supporting DLLs compiled for .NET Framework -->
|
||||
<SdkFiles Remove="$(PublishDir)/Microsoft\Microsoft.NET.Build.Extensions\tools\net*\**\*" />
|
||||
<RemainingFiles Remove="$(PublishDir)Microsoft\Microsoft.NET.Build.Extensions\tools\net*\**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<AddMetadataIsPE Items="@(SdkFiles)">
|
||||
<Output TaskParameter="ResultItems" ItemName="SdkFilesWithPEMarker" />
|
||||
<AddMetadataIsPE Items="@(RoslynFiles)">
|
||||
<Output TaskParameter="ResultItems" ItemName="RoslynFilesWithPEMarker" />
|
||||
</AddMetadataIsPE>
|
||||
<AddMetadataIsPE Items="@(FSharpFiles)">
|
||||
<Output TaskParameter="ResultItems" ItemName="FSharpFilesWithPEMarker" />
|
||||
</AddMetadataIsPE>
|
||||
<AddMetadataIsPE Items="@(RemainingFiles)">
|
||||
<Output TaskParameter="ResultItems" ItemName="RemainingFilesWithPEMarker" />
|
||||
</AddMetadataIsPE>
|
||||
|
||||
<ItemGroup>
|
||||
<CrossgenTargets Include="%(SdkFilesWithPEMarker.FullPath)" Condition=" '%(SdkFilesWithPEMarker.IsPE)' == 'True' " />
|
||||
</ItemGroup>
|
||||
<RoslynTargets Include="%(RoslynFilesWithPEMarker.FullPath)" Condition=" '%(RoslynFilesWithPEMarker.IsPE)' == 'True' " />
|
||||
<FSharpTargets Include="%(FSharpFilesWithPEMarker.FullPath)" Condition=" '%(FSharpFilesWithPEMarker.IsPE)' == 'True' " />
|
||||
<RemainingTargets Include="%(RemainingFilesWithPEMarker.FullPath)" Condition=" '%(RemainingFilesWithPEMarker.IsPE)' == 'True' " />
|
||||
|
||||
<RemoveDuplicates Inputs="@(SdkFiles->'%(RootDir)%(Directory)')">
|
||||
<Output TaskParameter="Filtered" ItemName="PublishDirSubDirectories" />
|
||||
</RemoveDuplicates>
|
||||
<RoslynFolders Include="@(RoslynTargets->DirectoryName()->Distinct())" />
|
||||
<FSharpFolders Include="@(FSharpTargets->DirectoryName()->Distinct())" />
|
||||
<RemainingFolders Include="@(RemainingTargets->DirectoryName()->Distinct())" />
|
||||
|
||||
<!-- FSharp.Build.dll causes the FSharp folder to be included. Remove it, as we don't want other FSharp dlls being included in the crossgen. -->
|
||||
<RemainingFolders Remove="$(PublishDir)FSharp\**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Ensure crossgen tool is executable. See https://github.com/NuGet/Home/issues/4424 -->
|
||||
<Chmod Condition=" '$(OSName)' != 'win' "
|
||||
Glob="$(CrossgenPath)"
|
||||
Mode="u+x" />
|
||||
|
||||
<Crossgen SourceAssembly="%(CrossgenTargets.FullPath)"
|
||||
DestinationPath="%(CrossgenTargets.FullPath)"
|
||||
JITPath="$(LibCLRJitPath)"
|
||||
CrossgenPath="$(CrossgenPath)"
|
||||
ReadyToRun="True"
|
||||
PlatformAssemblyPaths="@(PlatformAssemblies);
|
||||
@(PublishDirSubDirectories);
|
||||
$(SharedFrameworkNameVersionPath)" />
|
||||
<Crossgen
|
||||
SourceAssembly="%(RoslynTargets.FullPath)"
|
||||
DestinationPath="%(RoslynTargets.FullPath)"
|
||||
JITPath="$(LibCLRJitPath)"
|
||||
CrossgenPath="$(CrossgenPath)"
|
||||
ReadyToRun="True"
|
||||
PlatformAssemblyPaths="@(PlatformAssemblies);@(RoslynFolders);$(SharedFrameworkNameVersionPath)" />
|
||||
|
||||
<Crossgen
|
||||
SourceAssembly="%(FSharpTargets.FullPath)"
|
||||
DestinationPath="%(FSharpTargets.FullPath)"
|
||||
JITPath="$(LibCLRJitPath)"
|
||||
CrossgenPath="$(CrossgenPath)"
|
||||
ReadyToRun="True"
|
||||
PlatformAssemblyPaths="@(PlatformAssemblies);@(FSharpFolders);$(SharedFrameworkNameVersionPath)" />
|
||||
|
||||
<Crossgen
|
||||
SourceAssembly="%(RemainingTargets.FullPath)"
|
||||
DestinationPath="%(RemainingTargets.FullPath)"
|
||||
JITPath="$(LibCLRJitPath)"
|
||||
CrossgenPath="$(CrossgenPath)"
|
||||
ReadyToRun="True"
|
||||
PlatformAssemblyPaths="@(PlatformAssemblies);@(RemainingFolders);$(SharedFrameworkNameVersionPath)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="ChmodPublishDir"
|
||||
|
@ -243,8 +291,6 @@
|
|||
|
||||
<Exec Command="find $(SdkOutputDirectory) -type d -exec chmod 755 {} \;" />
|
||||
<Exec Command="find $(SdkOutputDirectory) -type f -exec chmod 644 {} \;" />
|
||||
<Chmod Mode="755" Glob="$(SdkOutputDirectory)/Roslyn/RunCsc.sh" />
|
||||
<Chmod Mode="755" Glob="$(SdkOutputDirectory)/Roslyn/RunVbc.sh" />
|
||||
<Chmod Mode="755" Glob="$(SdkOutputDirectory)/FSharp/RunFsc.sh" />
|
||||
</Target>
|
||||
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
@echo off
|
||||
|
||||
REM Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
REM Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
"%~dp0..\..\..\dotnet" "%~dp0csc.exe" %*
|
|
@ -1,17 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]}"
|
||||
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||||
SOURCE="$(readlink "$SOURCE")"
|
||||
[[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
||||
done
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||||
|
||||
"$DIR/../../../dotnet" "$DIR/csc.exe" "$@"
|
|
@ -1,6 +0,0 @@
|
|||
@echo off
|
||||
|
||||
REM Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
REM Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
"%~dp0..\..\..\dotnet" "%~dp0vbc.exe" %*
|
|
@ -1,17 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]}"
|
||||
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||||
SOURCE="$(readlink "$SOURCE")"
|
||||
[[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
||||
done
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||||
|
||||
"$DIR/../../../dotnet" "$DIR/vbc.exe" "$@"
|
|
@ -1,68 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.tasks" />
|
||||
|
||||
<PropertyGroup>
|
||||
<VersionPrefix>$(CliVersionPrefix)</VersionPrefix>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<RuntimeFrameworkVersion>$(CLI_SharedFrameworkVersion)</RuntimeFrameworkVersion>
|
||||
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
|
||||
<PublishDir>$(RoslynDirectory)</PublishDir>
|
||||
<VersionSuffix>$(CommitCount)</VersionSuffix>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NetCore.App" Version="$(CLI_SharedFrameworkVersion)" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(CLI_Roslyn_Version)" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.Build.Tasks" Version="$(CLI_Roslyn_Version)" />
|
||||
<PackageReference Include="Microsoft.Net.Compilers.netcore" Version="$(CLI_Roslyn_Version)" />
|
||||
<PackageReference Include="Microsoft.DiaSymReader.Native" Version="$(CLI_DiaSymNative_Version)" Condition="'$(OSName)' == 'win'" />
|
||||
<PackageReference Include="CliDeps.Satellites.Roslyn" Version="$(CLI_Roslyn_Satellites_Version)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="RunCsc.sh;RunCsc.cmd;RunVbc.sh;RunVbc.cmd">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="MakeCscAndVbcRunnableAndMoveToPublishDir"
|
||||
AfterTargets="Publish"
|
||||
BeforeTargets="RemoveFilesAfterPublish">
|
||||
<ItemGroup>
|
||||
<AssetsToRemoveFromDeps Include="runtimes/any/native/csc.dll"
|
||||
SectionName="runtimeTargets" />
|
||||
<AssetsToRemoveFromDeps Include="runtimes/any/native/vbc.dll"
|
||||
SectionName="runtimeTargets" />
|
||||
<AssetsToRemoveFromDeps Include="tool_roslyn.dll"
|
||||
SectionName="runtime"/>
|
||||
</ItemGroup>
|
||||
|
||||
<RemoveAssetFromDepsPackages DepsFile="$(PublishDir)/$(TargetName).deps.json"
|
||||
SectionName="%(AssetsToRemoveFromDeps.SectionName)"
|
||||
AssetPath="%(AssetsToRemoveFromDeps.Identity)" />
|
||||
|
||||
<Copy SourceFiles="$(PublishDir)/runtimes/any/native/csc.dll;
|
||||
$(PublishDir)/$(TargetName).runtimeconfig.json;
|
||||
$(PublishDir)/$(TargetName).deps.json;"
|
||||
DestinationFiles="$(PublishDir)/csc.exe;
|
||||
$(PublishDir)/csc.runtimeconfig.json;
|
||||
$(PublishDir)/csc.deps.json;" />
|
||||
|
||||
<Copy SourceFiles="$(PublishDir)/runtimes/any/native/vbc.dll;
|
||||
$(PublishDir)/$(TargetName).runtimeconfig.json;
|
||||
$(PublishDir)/$(TargetName).deps.json;"
|
||||
DestinationFiles="$(PublishDir)/vbc.exe;
|
||||
$(PublishDir)/vbc.runtimeconfig.json;
|
||||
$(PublishDir)/vbc.deps.json;" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RemoveFilesAfterPublish"
|
||||
AfterTargets="Publish">
|
||||
<Delete Files="$(PublishDir)/$(TargetName).dll" />
|
||||
<Delete Files="$(PublishDir)/$(TargetName).pdb" />
|
||||
<Delete Files="$(PublishDir)/$(TargetName).runtimeconfig.json" />
|
||||
<Delete Files="$(PublishDir)/$(TargetName).deps.json" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -309,7 +309,7 @@ namespace Microsoft.DotNet.Tests
|
|||
|
||||
result.Should().NotBeNull();
|
||||
|
||||
result.Args.Should().Contain("--fx-version 2.0.1");
|
||||
result.Args.Should().Contain("--fx-version 2.0.0");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
@ -31,8 +31,6 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests
|
|||
|
||||
[Theory]
|
||||
[InlineData("MSBuildExtensionsPath")]
|
||||
[InlineData("CscToolExe")]
|
||||
[InlineData("VbcToolExe")]
|
||||
[InlineData("MSBuildSDKsPath")]
|
||||
[InlineData("DOTNET_CLI_TELEMETRY_SESSIONID")]
|
||||
public void ItSetsEnvironmentalVariables(string envVarName)
|
||||
|
@ -66,27 +64,6 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests
|
|||
.Exist();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ItSetsCscToolExePathToValidPath()
|
||||
{
|
||||
var msbuildPath = "<msbuildpath>";
|
||||
var envVar = "CscToolExe";
|
||||
new FileInfo(new MSBuildForwardingApp(new string[0], msbuildPath)
|
||||
.GetProcessStartInfo()
|
||||
.Environment[envVar])
|
||||
.Should().NotBeNull("constructor will throw on invalid path");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ItSetsVbcToolExePathToValidPath()
|
||||
{
|
||||
var msbuildPath = "<msbuildpath>";
|
||||
var envVar = "VbcToolExe";
|
||||
new FileInfo(new MSBuildForwardingApp(new string[0], msbuildPath)
|
||||
.GetProcessStartInfo()
|
||||
.Environment[envVar])
|
||||
.Should().NotBeNull("constructor will throw on invalid path");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ItSetsOrIgnoresTelemetrySessionId()
|
||||
|
|
|
@ -75,14 +75,14 @@ namespace Microsoft.DotNet.New.Tests
|
|||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("console", "RuntimeFrameworkVersion", "microsoft.netcore.app")]
|
||||
[InlineData("classlib", "NetStandardImplicitPackageVersion", "netstandard.library")]
|
||||
public void NewProjectRestoresCorrectPackageVersion(string type, string propertyName, string packageName)
|
||||
[InlineData("console", "microsoft.netcore.app")]
|
||||
[InlineData("classlib", "netstandard.library")]
|
||||
public void NewProjectRestoresCorrectPackageVersion(string type, string packageName)
|
||||
{
|
||||
var rootPath = TestAssets.CreateTestDirectory(identifier: $"_{type}").FullName;
|
||||
var packagesDirectory = Path.Combine(rootPath, "packages");
|
||||
var projectName = "Project";
|
||||
var expectedVersion = GetFrameworkPackageVersion();
|
||||
var expectedVersion = "2.0.0";
|
||||
var repoRootNuGetConfig = Path.Combine(RepoDirectoriesProvider.RepoRoot, "NuGet.Config");
|
||||
|
||||
new NewCommand()
|
||||
|
@ -98,32 +98,6 @@ namespace Microsoft.DotNet.New.Tests
|
|||
new DirectoryInfo(Path.Combine(packagesDirectory, packageName))
|
||||
.Should().Exist()
|
||||
.And.HaveDirectory(expectedVersion);
|
||||
|
||||
string GetFrameworkPackageVersion()
|
||||
{
|
||||
var dotnetDir = new FileInfo(DotnetUnderTest.FullName).Directory;
|
||||
var sharedFxDir = dotnetDir
|
||||
.GetDirectory("shared", "Microsoft.NETCore.App")
|
||||
.EnumerateDirectories()
|
||||
.Single(d => d.Name.StartsWith("2.0.0"));
|
||||
|
||||
if (packageName == "microsoft.netcore.app")
|
||||
{
|
||||
return sharedFxDir.Name;
|
||||
}
|
||||
|
||||
var depsFile = Path.Combine(sharedFxDir.FullName, "Microsoft.NETCore.App.deps.json");
|
||||
using (var stream = File.OpenRead(depsFile))
|
||||
using (var reader = new DependencyContextJsonReader())
|
||||
{
|
||||
var context = reader.Read(stream);
|
||||
var dependency = context
|
||||
.RuntimeLibraries
|
||||
.Single(library => string.Equals(library.Name, packageName, StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
return dependency.Version;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue