Merge branch 'master' into dev-ragrawal-updatenuget2484

This commit is contained in:
Livar 2017-04-26 10:38:02 -07:00 committed by GitHub
commit 6c8fa9dddd
78 changed files with 585 additions and 599 deletions

View file

@ -24,6 +24,7 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4-BC0F-443B-8ADF-691321F10108}"
ProjectSection(SolutionItems) = preProject
build\AzureInfo.props = build\AzureInfo.props
build\BackwardsCompatibilityRuntimes.props = build\BackwardsCompatibilityRuntimes.props
build\BranchInfo.props = build\BranchInfo.props
build\Branding.props = build\Branding.props
build\BuildDefaults.props = build\BuildDefaults.props
@ -165,6 +166,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet.Tests", "test\dotnet
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-build.Tests", "test\dotnet-build.Tests\dotnet-build.Tests.csproj", "{BBB5A4C8-CD2D-4A6A-9159-0FEAF84B745E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dotnet-help.Tests", "test\dotnet-help.Tests\dotnet-help.Tests.csproj", "{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-migrate.Tests", "test\dotnet-migrate.Tests\dotnet-migrate.Tests.csproj", "{726D2CB9-80E5-4496-9C86-910AC452C45E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-msbuild.Tests", "test\dotnet-msbuild.Tests\dotnet-msbuild.Tests.csproj", "{EF745C56-0350-4C42-AA22-86D592E1D8D5}"
@ -223,6 +226,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "templates", "templates", "{
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-back-compat.Tests", "test\dotnet-back-compat.Tests\dotnet-back-compat.Tests.csproj", "{A4C198B4-D46E-4CA8-87DF-B2B206DCCAE6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-outputsframeworkversion-netcoreapp1.0", "TestAssets\TestPackages\dotnet-outputsframeworkversion\dotnet-outputsframeworkversion-netcoreapp1.0\dotnet-outputsframeworkversion-netcoreapp1.0.csproj", "{3F7D56A3-A280-467E-8916-C18659C243BA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -959,6 +964,30 @@ Global
{BBB5A4C8-CD2D-4A6A-9159-0FEAF84B745E}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
{BBB5A4C8-CD2D-4A6A-9159-0FEAF84B745E}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
{BBB5A4C8-CD2D-4A6A-9159-0FEAF84B745E}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Debug|x64.ActiveCfg = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Debug|x64.Build.0 = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Debug|x86.ActiveCfg = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Debug|x86.Build.0 = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.MinSizeRel|x64.Build.0 = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.MinSizeRel|x86.Build.0 = Debug|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Release|Any CPU.Build.0 = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Release|x64.ActiveCfg = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Release|x64.Build.0 = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Release|x86.ActiveCfg = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.Release|x86.Build.0 = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
{726D2CB9-80E5-4496-9C86-910AC452C45E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{726D2CB9-80E5-4496-9C86-910AC452C45E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{726D2CB9-80E5-4496-9C86-910AC452C45E}.Debug|x64.ActiveCfg = Release|Any CPU
@ -1535,6 +1564,30 @@ Global
{A4C198B4-D46E-4CA8-87DF-B2B206DCCAE6}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
{A4C198B4-D46E-4CA8-87DF-B2B206DCCAE6}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
{A4C198B4-D46E-4CA8-87DF-B2B206DCCAE6}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Debug|x64.ActiveCfg = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Debug|x64.Build.0 = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Debug|x86.ActiveCfg = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Debug|x86.Build.0 = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.MinSizeRel|x64.Build.0 = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.MinSizeRel|x86.Build.0 = Debug|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Release|Any CPU.Build.0 = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Release|x64.ActiveCfg = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Release|x64.Build.0 = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Release|x86.ActiveCfg = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.Release|x86.Build.0 = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
{3F7D56A3-A280-467E-8916-C18659C243BA}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -1604,5 +1657,6 @@ Global
{3275D006-54C8-4C64-A537-B9941C5D2F0C} = {89905EC4-BC0F-443B-8ADF-691321F10108}
{DE4D1AEB-871B-4E7C-945A-453F9A490C06} = {89905EC4-BC0F-443B-8ADF-691321F10108}
{A4C198B4-D46E-4CA8-87DF-B2B206DCCAE6} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
{3F7D56A3-A280-467E-8916-C18659C243BA} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34}
EndGlobalSection
EndGlobal

View file

@ -6,6 +6,7 @@ This repo contains the source code for cross-platform [.NET Core](http://github.
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), head over to https://dot.net/core and download!
> **Note:** the master branch of the CLI repo is based on the upcoming v2 of .NET Core and is considered pre-release. For production-level usage, please use the
@ -22,7 +23,7 @@ This project has adopted the code of conduct defined by the [Contributor Covenan
Build Status
------------
|Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Debian 8.2 |Windows x64 |Windows x86 |Mac OS X |CentOS 7.1 / Oracle Linux 7.1 |RHEL 7.2 | Linux x64 |
|Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Debian 8.2 |Windows x64 |Windows x86 |macOS |CentOS 7.1 / Oracle Linux 7.1 |RHEL 7.2 | Linux x64 |
|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|
|[![][ubuntu-14.04-build-badge]][ubuntu-14.04-build]|[![][ubuntu-16.04-build-badge]][ubuntu-16.04-build]|[![][debian-8.2-build-badge]][debian-8.2-build]|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][centos-build-badge]][centos-build]|[![][rhel-build-badge]][rhel-build]|[![][linux-build-badge]][linux-build]|
@ -60,32 +61,6 @@ You can download .NET Core SDK as either an installer (MSI, PKG) or a zip (zip,
In order to download just the .NET Core runtime without the SDK, please visit https://github.com/dotnet/core-setup#daily-builds.
# Debian daily feed
Newest SDK binaries for 2.0.0 in debian feed may be delayed due to external issues by up to 24h.
## Obtaining binaries
Add debian feed:
```
sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
sudo apt-get update
```
Install:
```
sudo apt-get install <DebianPackageName>=<Version>
```
To list available packages:
```
apt-cache search dotnet-sdk | grep 2.0.0
```
> **Note:** please be aware that below installers are the **latest bits**. If you
> want to install the latest released versions, please check out the [section above](#looking-for-v1-of-the-net-core-tooling).
@ -96,7 +71,7 @@ apt-cache search dotnet-sdk | grep 2.0.0
| **Ubuntu 14.04 / Linux Mint 17** | [Installer][ubuntu-14.04-installer] - [Checksum][ubuntu-14.04-installer-checksum]<br>*See Installer Note Below<br>[tar.gz][ubuntu-14.04-targz] - [Checksum][ubuntu-14.04-targz-checksum] |
| **Ubuntu 16.04** | [tar.gz][ubuntu-16.04-targz] - [Checksum][ubuntu-16.04-targz-checksum] |
| **Debian 8.2** | [tar.gz][debian-8.2-targz] - [Checksum][debian-8.2-targz-checksum] |
| **Mac OS X** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]<br>[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] |
| **macOS** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]<br>[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] |
| **CentOS 7.1 / Oracle Linux 7** | [tar.gz][centos-targz] - [Checksum][centos-targz-checksum] |
| **RHEL 7.2** | [tar.gz][rhel-targz] - [Checksum][rhel-targz-checksum] |
| **Linux x64** | [tar.gz][linux-targz] - [Checksum][linux-targz-checksum] |
@ -142,6 +117,32 @@ apt-cache search dotnet-sdk | grep 2.0.0
[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-dev-linux-x64.latest.tar.gz
[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-dev-linux-x64.latest.tar.gz.sha
# Debian daily feed
Newest SDK binaries for 2.0.0 in debian feed may be delayed due to external issues by up to 24h.
## Obtaining binaries
Add debian feed:
```
sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
sudo apt-get update
```
Install:
```
sudo apt-get install <DebianPackageName>=<Version>
```
To list available packages:
```
apt-cache search dotnet-sdk | grep 2.0.0
```
Docker
------

View file

@ -0,0 +1,15 @@
// 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.
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main()
{
Console.WriteLine("netcoreapp1.0");
}
}
}

View file

@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), testAsset.props))\testAsset.props" />
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>
<AssemblyName>dotnet-outputsframeworkversion-netcoreapp1.0</AssemblyName>
<OutputType>Exe</OutputType>
<RuntimeFrameworkVersion>1.1.1</RuntimeFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<BuiltProjectOutputGroupOutput Include="$(ProjectRuntimeConfigFilePath)">
<FinalOutputPath>$(ProjectRuntimeConfigFilePath)</FinalOutputPath>
</BuiltProjectOutputGroupOutput>
</ItemGroup>
</Project>

View file

@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), testAsset.props))\testAsset.props" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<DotNetCliToolReference Include="dotnet-outputsframeworkversion-netcoreapp1.0" Version="1.0.0" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="test-packages" value="../../../artifacts/testpackages" />
</packageSources>
</configuration>

View file

@ -0,0 +1,15 @@
// 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.
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}

View file

@ -4,7 +4,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeIdentifiers>win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64</RuntimeIdentifiers>
<RuntimeIdentifiers>win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64</RuntimeIdentifiers>
<RuntimeFrameworkVersion>$(CLI_SharedFrameworkVersion)</RuntimeFrameworkVersion>
<DotnetCliToolTargetFramework>netcoreapp2.0</DotnetCliToolTargetFramework>
</PropertyGroup>

View file

@ -9,6 +9,10 @@ namespace MSBuildTestApp
{
public static void Main(string[] args)
{
if (args.Length > 0)
{
Console.WriteLine("echo args:" + string.Join(";", args));
}
Console.WriteLine("Hello World!");
}
}

View file

@ -2,7 +2,6 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), testAsset.props))\testAsset.props" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net46;netcoreapp2.0</TargetFrameworks>
<RuntimeIdentifiers>win7-x86</RuntimeIdentifiers>
<RuntimeIdentifier Condition=" '$(TargetFramework)' == 'net46' ">win7-x86</RuntimeIdentifier>

View file

@ -4,7 +4,9 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<IncludeNuGetPackageArchive Condition=" '$(IncludeNuGetPackageArchive)' == '' ">true</IncludeNuGetPackageArchive>
<SkipBuildingInstallers Condition=" '$(SkipBuildingInstallers)' == '' ">false</SkipBuildingInstallers>
<UsePortableLinuxSharedFramework Condition=" '$(UsePortableLinuxSharedFramework)' == '' AND '$(OSPlatform)' == 'linux' ">true</UsePortableLinuxSharedFramework>
<UsePortableSharedFramework Condition=" '$(UsePortableSharedFramework)' == '' ">true</UsePortableSharedFramework>
<UsePortableLinuxSharedFramework Condition=" '$(UsePortableLinuxSharedFramework)' == '' AND '$(UsePortableSharedFramework)' == 'true' AND '$(OSPlatform)' == 'linux' ">true</UsePortableLinuxSharedFramework>
<IncludeSharedFrameworksForBackwardsCompatibilityTests Condition=" $(IncludeSharedFrameworksForBackwardsCompatibilityTests) == '' AND '$(Rid)' != 'linux-x64' ">true</IncludeSharedFrameworksForBackwardsCompatibilityTests>
<HighEntropyVA>true</HighEntropyVA>
</PropertyGroup>
</Project>

View file

@ -1,20 +1,23 @@
<Project>
<PropertyGroup>
<ArchivePortableSuffix Condition=" '$(UsePortableSharedFramework)' == 'true' ">-portable</ArchivePortableSuffix>
<InstallerPortableSuffix Condition=" '$(UsePortableSharedFramework)' == 'true' AND '$(OSName)' != 'ubuntu' ">-portable</InstallerPortableSuffix>
<!-- Downloaded Installers + Archives -->
<DownloadedSharedHostInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-host-$(ProductMonikerRid).$(SharedHostVersion)$(InstallerExtension)</DownloadedSharedHostInstallerFileName>
<DownloadedSharedHostInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-host-$(ProductMonikerRid).$(SharedHostVersion)$(InstallerPortableSuffix)$(InstallerExtension)</DownloadedSharedHostInstallerFileName>
<DownloadedSharedHostInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName)</DownloadedSharedHostInstallerFile>
<DownloadedHostFxrInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-hostfxr-$(ProductMonikerRid).$(HostFxrVersion)$(InstallerExtension)</DownloadedHostFxrInstallerFileName>
<DownloadedHostFxrInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-hostfxr-$(ProductMonikerRid).$(HostFxrVersion)$(InstallerPortableSuffix)$(InstallerExtension)</DownloadedHostFxrInstallerFileName>
<DownloadedHostFxrInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName)</DownloadedHostFxrInstallerFile>
<DownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-sharedframework-$(ProductMonikerRid).$(SharedFrameworkVersion)$(InstallerExtension)</DownloadedSharedFrameworkInstallerFileName>
<DownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-sharedframework-$(ProductMonikerRid).$(SharedFrameworkVersion)$(InstallerPortableSuffix)$(InstallerExtension)</DownloadedSharedFrameworkInstallerFileName>
<DownloadedSharedFrameworkInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName)</DownloadedSharedFrameworkInstallerFile>
<!-- Use the portable linux-x64 Rid when downloading the shared framework compressed file.
NOTE: There isn't a 'linux-x64' version of the installers or the additional shared framweork. -->
<SharedFrameworkRid>$(ProductMonikerRid)</SharedFrameworkRid>
<SharedFrameworkRid Condition=" '$(UsePortableLinuxSharedFramework)' == 'true' ">linux-x64</SharedFrameworkRid>
<CombinedFrameworkHostCompressedFileName>dotnet-$(SharedFrameworkRid).$(SharedFrameworkVersion)$(ArchiveExtension)</CombinedFrameworkHostCompressedFileName>
<CombinedFrameworkHostCompressedFileName>dotnet-$(SharedFrameworkRid).$(SharedFrameworkVersion)$(ArchivePortableSuffix)$(ArchiveExtension)</CombinedFrameworkHostCompressedFileName>
</PropertyGroup>
<PropertyGroup>

View file

@ -1,6 +1,7 @@
<Project ToolsVersion="15.0">
<ItemGroup>
<BundledTemplate Include="Microsoft.DotNet.Common.ItemTemplates" Version="$(TemplateEngineTemplateVersion)" />
<BundledTemplate Include="Microsoft.DotNet.Web.ItemTemplates" Version="$(TemplateEngineTemplateVersion)" />
<BundledTemplate Include="Microsoft.DotNet.Common.ProjectTemplates.2.0" Version="$(TemplateEngineTemplate2_0Version)" />
<BundledTemplate Include="Microsoft.DotNet.Test.ProjectTemplates.2.0" Version="$(TemplateEngineTemplateVersion)" />
<BundledTemplate Include="Microsoft.DotNet.Web.ProjectTemplates.2.0" Version="$(TemplateEngineTemplateVersion)" />

View file

@ -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.0-preview1-001915-00</CLI_SharedFrameworkVersion>
<CLI_SharedFrameworkVersion>2.0.0-preview2-002081-00</CLI_SharedFrameworkVersion>
<CLI_MSBuild_Version>15.2.0-preview-000093-02</CLI_MSBuild_Version>
<CLI_Roslyn_Version>2.0.0-rc4-61325-08</CLI_Roslyn_Version>
<CLI_NETSDK_Version>2.0.0-preview2-20170425-7</CLI_NETSDK_Version>
<CLI_NuGet_Version>4.3.0-preview1-2500</CLI_NuGet_Version>
<CLI_WEBSDK_Version>1.0.0-rel-20170410-441</CLI_WEBSDK_Version>
<CLI_TestPlatform_Version>15.1.0-preview-20170316-05</CLI_TestPlatform_Version>
<CLI_WEBSDK_Version>1.0.0-rel-20170413-451</CLI_WEBSDK_Version>
<CLI_TestPlatform_Version>15.1.0-preview-20170414-04</CLI_TestPlatform_Version>
<SharedFrameworkVersion>$(CLI_SharedFrameworkVersion)</SharedFrameworkVersion>
<SharedHostVersion>$(CLI_SharedFrameworkVersion)</SharedHostVersion>
<HostFxrVersion>$(CLI_SharedFrameworkVersion)</HostFxrVersion>
<TemplateEngineVersion>1.0.0-beta2-20170405-182</TemplateEngineVersion>
<TemplateEngineTemplateVersion>1.0.0-beta2-20170405-182</TemplateEngineTemplateVersion>
<TemplateEngineTemplate2_0Version>1.0.0-beta2-20170405-182</TemplateEngineTemplate2_0Version>
<PlatformAbstractionsVersion>1.0.3</PlatformAbstractionsVersion>
<DependencyModelVersion>1.0.3</DependencyModelVersion>
<CliCommandLineParserVersion>0.1.0-alpha-138</CliCommandLineParserVersion>
<TemplateEngineVersion>1.0.0-beta2-20170421-198</TemplateEngineVersion>
<TemplateEngineTemplateVersion>1.0.0-beta2-20170421-198</TemplateEngineTemplateVersion>
<TemplateEngineTemplate2_0Version>1.0.0-beta2-20170421-198</TemplateEngineTemplate2_0Version>
<PlatformAbstractionsVersion>2.0.0-preview2-002081</PlatformAbstractionsVersion>
<DependencyModelVersion>2.0.0-preview2-002081</DependencyModelVersion>
<CliCommandLineParserVersion>0.1.0-alpha-142</CliCommandLineParserVersion>
</PropertyGroup>
<!-- infrastructure and test only dependencies -->

View file

@ -5,8 +5,8 @@
<DotnetStage0>$(Stage0Directory)/dotnet$(ExeExtension)</DotnetStage0>
<IsDesktopAvailable>False</IsDesktopAvailable>
<IsDesktopAvailable Condition=" '$(OSName)' == 'win' ">True</IsDesktopAvailable>
<CoreCLRRid Condition=" '$(OSName)' == 'win' ">win7-$(Architecture)</CoreCLRRid>
<CoreCLRRid Condition=" '$(OSName)' == 'osx' ">osx.10.12-x64</CoreCLRRid>
<CoreCLRRid Condition=" '$(OSName)' == 'win' ">win-$(Architecture)</CoreCLRRid>
<CoreCLRRid Condition=" '$(OSName)' == 'osx' ">osx-x64</CoreCLRRid>
<CoreCLRRid Condition=" '$(CoreCLRRid)' == '' ">linux-x64</CoreCLRRid>
</PropertyGroup>
</Project>

View file

@ -3,7 +3,7 @@
<VersionMajor>2</VersionMajor>
<VersionMinor>0</VersionMinor>
<VersionPatch>0</VersionPatch>
<ReleaseSuffix>preview1</ReleaseSuffix>
<ReleaseSuffix>preview2</ReleaseSuffix>
<CliVersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix)</CliVersionPrefix>
<SimpleVersion Condition=" '$(DropSuffix)' == '' ">$(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount)</SimpleVersion>

View file

@ -78,7 +78,7 @@
<FilesToClean Include="$(NuGetPackagesArchiveProject)/**/*" />
<FilesToClean Include="$(NuGetPackagesArchiveFolder)/**/*" />
<NuGetPackagesArchiveDirectory Include="$(NuGetPackagesArchiveProject)/Console" />
<NuGetPackagesArchiveDirectory Include="$(NuGetPackagesArchiveProject)/MvcIndividual" />
<NuGetPackagesArchiveDirectory Include="$(NuGetPackagesArchiveFolder)" />
</ItemGroup>
@ -91,15 +91,16 @@
Lines="$(NuGetConfigContent)" />
<DotNetNew ToolPath="$(OutputDirectory)"
TemplateType="console"
TemplateArgs="--debug:ephemeral-hive --skip-restore"
WorkingDirectory="$(NuGetPackagesArchiveProject)/Console" />
TemplateType="mvc"
TemplateArgs="-au Individual --debug:ephemeral-hive --no-restore"
WorkingDirectory="$(NuGetPackagesArchiveProject)/MvcIndividual" />
<DotNetRestore ToolPath="$(OutputDirectory)"
Packages="$(NuGetPackagesArchiveFolder)"
ConfigFile="$(LZMANuGetConfigFilePath)"
SkipInvalidConfigurations="True"
WorkingDirectory="$(NuGetPackagesArchiveProject)/Console" />
WorkingDirectory="$(NuGetPackagesArchiveProject)/MvcIndividual" />
<Delete Files="$(IntermediateArchive);$(IntermediateArchive).zip;$(NuGetPackagesArchiveFolder)/**/*.nupkg" />

View file

@ -118,6 +118,15 @@
<VersionSuffix></VersionSuffix>
<Clean>True</Clean>
</BaseTestPackageProject>
<BaseTestPackageProject Include="TestAssets/TestPackages/dotnet-outputsframeworkversion/dotnet-outputsframeworkversion-netcoreapp1.0">
<Name>dotnet-outputsframeworkversion-netcoreapp1.0</Name>
<ProjectName>dotnet-outputsframeworkversion-netcoreapp1.0.csproj</ProjectName>
<IsTool>True</IsTool>
<IsApplicable>True</IsApplicable>
<VersionPrefix>1.0.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
<Clean>True</Clean>
</BaseTestPackageProject>
<BaseTestPackageProject Include="TestAssets/TestPackages/dotnet-portable">
<Name>dotnet-portable</Name>
<ProjectName>dotnet-portable.csproj</ProjectName>

View file

@ -29,7 +29,7 @@ namespace Microsoft.DotNet.Cli.Build
private static string[][] _templatesAndArgs = new string[][]
{
new string[] { "console", "" },
new string[] { "mvc", "-au individual" },
};
public override bool Execute()
@ -47,7 +47,7 @@ namespace Microsoft.DotNet.Cli.Build
{
ToolPath = ToolPath,
TemplateType = newArgs[0],
TemplateArgs = newArgs[1] + $" --debug:ephemeral-hive -n TempProject -o \"{outputDir}\" --skip-restore",
TemplateArgs = newArgs[1] + $" --debug:ephemeral-hive -n TempProject -o \"{outputDir}\" --no-restore",
HostObject = HostObject,
BuildEngine = BuildEngine
};

View file

@ -81,7 +81,10 @@ namespace Microsoft.DotNet.Scripts
private static IEnumerable<IDependencyUpdater> GetUpdaters()
{
yield return CreateRegexUpdater(Path.Combine("build", "DependencyVersions.props"), "CLI_SharedFrameworkVersion", "Microsoft.NETCore.App");
string dependencyVersionsPath = Path.Combine("build", "DependencyVersions.props");
yield return CreateRegexUpdater(dependencyVersionsPath, "CLI_SharedFrameworkVersion", "Microsoft.NETCore.App");
yield return CreateRegexUpdater(dependencyVersionsPath, "PlatformAbstractionsVersion", "Microsoft.DotNet.PlatformAbstractions");
yield return CreateRegexUpdater(dependencyVersionsPath, "DependencyModelVersion", "Microsoft.Extensions.DependencyModel");
}
private static IDependencyUpdater CreateRegexUpdater(string repoRelativePath, string propertyName, string packageId)

View file

@ -5,6 +5,7 @@
<Description>Updates the repos dependencies</Description>
<OutputType>Exe</OutputType>
<TargetFramework>$(CliTargetFramework)</TargetFramework>
<DisableImplicitFrameworkReferences>false</DisableImplicitFrameworkReferences>
</PropertyGroup>
<ItemGroup>
@ -12,7 +13,6 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETCore.App" Version="$(CLI_SharedFrameworkVersion)" />
<PackageReference Include="Microsoft.DotNet.VersionTools" Version="$(VersionToolsVersion)" />
</ItemGroup>

View file

@ -5,10 +5,9 @@
<background file="dotnetbackground.png" mime-type="image/png"/>
<options customize="never" require-scripts="false" />
<welcome file="welcome.html" mime-type="text/html" />
<conclusion file="conclusion.html" mime-type="text/html" />
<volume-check>
<allowed-os-version>
<os-version min="10.10" />
<os-version min="10.12" />
</allowed-os-version>
</volume-check>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title styles="color:white">Congratulations! You've successfully installed .NET Core CLI!</title>
</head>
<body>
<div align="center" style="font-family: Helvetica;">
<h1>The installation was successful.</h1>
<p>.NET Core CLI was successfully installed.</p>
<h2>
Install dependencies
</h2>
<p>
In order to be able to use .NET Core on OS X, you need to install <b>OpenSSL</b> version <b>1.0.1/1.0.2</b>.
There are many ways to install/update your libssl. Using <a href="http://www.brew.sh">Homebrew</a> is the easiest.
You can view the instructions <a href="http://brewformulas.org/Openssl">here</a> or if you're updating, <a href="https://github.com/dotnet/coreclr/blob/63766f74c4a641a274cd2933b9b7fd7bbddef2dd/Documentation/building/osx-instructions.md#openssl">on this page</a>.
</p>
</div>
</body>
</html>

View file

@ -31,17 +31,6 @@
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
</Page>
<Page Name="Options">
<Image X="0" Y="0" Width="620" Height="418" ImageFile="bg.png" />
<Text X="0" Y="0" Width="620" Height="75" FontId="1" />
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
<Text X="11" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OptionsLocationLabel)</Text>
<Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
<Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
<Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
</Page>
<Page Name="FilesInUse">
<Text X="0" Y="0" Width="620" Height="75" FontId="1" />

View file

@ -21,11 +21,6 @@ Ready? Set? Let's go!</String>
<String Id="InstallOptionsButton">&amp;Options</String>
<String Id="InstallInstallButton">&amp;Install</String>
<String Id="InstallCloseButton">&amp;Close</String>
<String Id="OptionsHeader">Setup Options</String>
<String Id="OptionsLocationLabel">Install location:</String>
<String Id="OptionsBrowseButton">&amp;Browse</String>
<String Id="OptionsOkButton">&amp;OK</String>
<String Id="OptionsCancelButton">&amp;Cancel</String>
<String Id="ProgressHeader">Setup Progress</String>
<String Id="ProgressLabel">Processing:</String>
<String Id="OverallProgressPackageText">Initializing...</String>

View file

@ -4,7 +4,6 @@
xmlns:swid="http://schemas.microsoft.com/wix/TagExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<?include "Variables.wxi" ?>
<?include "..\inc\crtvariables.wxi" ?>
<Bundle Name="$(var.ProductName)" Manufacturer="$(var.Manufacturer)"
Version="$(var.DisplayVersion)" UpgradeCode="$(var.UpgradeCode)"
@ -27,22 +26,6 @@
<Variable Name="BUNDLEMONIKER" Type="string" Value="$(var.ProductMoniker)" bal:Overridable="no" />
<Chain DisableSystemRestore="yes" ParallelCache="yes">
<ExePackage Name="VC_redist.$(var.Platform).exe"
DownloadUrl="$(var.Crt_DownloadUrl)"
DetectCondition='(VCRedist_KeyExists AND VCRedist_KeyValue &gt;= "v14.0.23506.00")'
InstallCommand="/q /norestart"
PerMachine="yes"
Vital="yes"
Permanent="yes"
Compressed="no">
<RemotePayload CertificatePublicKey="$(var.Crt_CertificatePublicKey)"
CertificateThumbprint="$(var.Crt_CertificateThumbprint)"
Description="$(var.Crt_Description)"
Hash="$(var.Crt_Hash)"
ProductName="$(var.Crt_ProductName)"
Size="$(var.Crt_Size)"
Version="$(var.Crt_Version)" />
</ExePackage>
<MsiPackage SourceFile="$(var.CLISDKMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
@ -59,23 +42,6 @@
</Bundle>
<Fragment>
<util:RegistrySearch
Id="VCRedist_KeyExists"
Variable="VCRedist_KeyExists"
Root="HKLM"
Key="SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\$(var.Platform)"
Value="Version"
Win64="no"
Result="exists" />
<util:RegistrySearch
Id="VCRedist_KeyValue"
Variable="VCRedist_KeyValue"
Root="HKLM"
Key="SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\$(var.Platform)"
Value="Version"
Win64="no"
Result="value" />
<PayloadGroup Id="DotnetCoreBAPayloads">
<Payload Name="thm.xml" Compressed="yes" SourceFile="bundle.thm" />
<Payload Name="thm.wxl" Compressed="yes" SourceFile="bundle.wxl" />

View file

@ -24,9 +24,6 @@
<WixVariable Id="WixUILicenseRtf" Value="$(var.MicrosoftEula)" />
<Property Id="WIXUI_INSTALLDIR" Value="DOTNETHOME"/>
<UIRef Id="WixUI_InstallDir" />
<CustomActionRef Id="WixBroadcastEnvironmentChange" />
</Product>
<Fragment>

View file

@ -1,26 +0,0 @@
<?xml version="1.0"?>
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
<!-- These values were generated by running 'heat payload' against the CRTs downloaded from the download center links(DLC) -->
<!-- The DLC links are owned by the .Net Core team (contact leecow@microsoft.com) and CRTs that they point to should never be changed -->
<?define Crt_CertificatePublicKey="371DD003A37769487A2A89A5A9DDB3026451B906"?>
<?define Crt_CertificateThumbprint="98ED99A67886D020C564923B7DF25E9AC019DF26"?>
<?define Crt_Description="Microsoft Visual C++ 2015 Redistributable ($(var.Platform)) - 14.0.24215"?>
<?define Crt_ProductName="Microsoft Visual C++ 2015 Redistributable ($(var.Platform)) - 14.0.24215"?>
<?define Crt_Version="14.0.24215.1"?>
<?define Crt_VersionRegistyKeyValue="v14.0.24215.01"?>
<?if $(var.Platform)=x86?>
<?define Crt_DownloadUrl="https://download.microsoft.com/download/1/F/0/1F01DD22-748C-41A7-89DE-54D64355CDA6/vc_redist.x86.exe"?>
<?define Crt_Hash="72211BD2E7DFC91EA7C8FAC549C49C0543BA791B"?>
<?define Crt_Size="14456872"?>
<?elseif $(var.Platform)=x64?>
<?define Crt_DownloadUrl="https://download.microsoft.com/download/1/F/0/1F01DD22-748C-41A7-89DE-54D64355CDA6/vc_redist.x64.exe"?>
<?define Crt_Hash="10B1683EA3FF5F36F225769244BF7E7813D54AD0"?>
<?define Crt_Size="15301888"?>
<?else?>
<?error Invalid Platform ($(var.Platform))?>
<?endif?>
</Include>

View file

@ -166,18 +166,19 @@ if [ ! -f $bootStrapperPath ]; then
fi
$bootStrapperPath --dotNetInstallBranch master --repositoryRoot "$REPOROOT" --toolsLocalPath "$toolsLocalPath" --cliInstallPath $DOTNET_INSTALL_DIR_PJ --architecture $ARCHITECTURE > bootstrap.log
if [ $? != 0 ]; then
echo "run-build: Error: Boot-strapping failed with exit code $?, see bootstrap.log for more information." >&2
exit $?
EXIT_CODE=$?
if [ $EXIT_CODE != 0 ]; then
echo "run-build: Error: Boot-strapping failed with exit code $EXIT_CODE, see bootstrap.log for more information." >&2
exit $EXIT_CODE
fi
# now execute the script
echo "installing CLI: $dotnetInstallPath --channel \"master\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\" $LINUX_PORTABLE_INSTALL_ARGS"
$dotnetInstallPath --channel "master" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS
if [ $? != 0 ]; then
echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $?." >&2
exit $?
EXIT_CODE=$?
if [ $EXIT_CODE != 0 ]; then
echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $EXIT_CODE." >&2
exit $EXIT_CODE
fi
# Put stage 0 on the PATH (for this shell only)

View file

@ -49,6 +49,9 @@
This parameter should not be usually changed by user. It allows to change URL for the Azure feed used by this installer.
.PARAMETER ProxyAddress
If set, the installer will use the proxy when making web requests
.PARAMETER ProxyUseDefaultCredentials
Default: false
Use default credentials, when using proxy address.
#>
[cmdletbinding()]
param(
@ -62,7 +65,8 @@ param(
[switch]$NoPath,
[string]$AzureFeed="https://dotnetcli.azureedge.net/dotnet",
[string]$UncachedFeed="https://dotnetcli.blob.core.windows.net/dotnet",
[string]$ProxyAddress
[string]$ProxyAddress,
[switch]$ProxyUseDefaultCredentials
)
Set-StrictMode -Version Latest
@ -138,7 +142,7 @@ function GetHTTPResponse([Uri] $Uri)
Load-Assembly -Assembly System.Net.Http
if($ProxyAddress){
$HttpClientHandler = New-Object System.Net.Http.HttpClientHandler
$HttpClientHandler.Proxy = New-Object System.Net.WebProxy -Property @{Address=$ProxyAddress}
$HttpClientHandler.Proxy = New-Object System.Net.WebProxy -Property @{Address=$ProxyAddress;UseDefaultCredentials=$ProxyUseDefaultCredentials}
$HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler
}
else {

View file

@ -2,6 +2,7 @@
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using Microsoft.DotNet.Cli.CommandLine;
using Microsoft.DotNet.Tools.Help;
using static System.Environment;
using static Microsoft.DotNet.Cli.CommandLine.LocalizableStrings;
using LocalizableStrings = Microsoft.DotNet.Tools.Run.LocalizableStrings;
@ -47,6 +48,7 @@ namespace Microsoft.DotNet.Cli
ListCommandParser.List(),
NuGetCommandParser.NuGet(),
StoreCommandParser.Store(),
HelpCommandParser.Help(),
Create.Command("msbuild", ""),
Create.Command("vstest", ""),
CompleteCommandParser.Complete(),

View file

@ -94,6 +94,12 @@ namespace Microsoft.DotNet.Tools.Add.PackageReference
// Pass Dependency Graph file output path
args.Add($"/p:RestoreGraphOutputPath=\"{dgFilePath}\"");
// Turn off recursive restore
args.Add($"/p:RestoreRecursive=false");
// Turn off restore for Dotnet cli tool references so that we do not generate extra dg specs
args.Add($"/p:RestoreDotnetCliToolReferences=false");
var result = new MSBuildForwardingApp(args).Execute();
if (result != 0)

View file

@ -1,4 +1,4 @@
using System;
using System;
using System.Linq;
using Microsoft.DotNet.Cli.CommandLine;
using Microsoft.DotNet.Cli.Utils;
@ -24,6 +24,12 @@ namespace Microsoft.DotNet.Cli
Console.WriteLine(result.Diagram());
if (result.UnparsedTokens.Any())
{
Console.WriteLine("Unparsed Tokens: ");
Console.WriteLine(string.Join(" ", result.UnparsedTokens));
}
var optionValuesToBeForwarded = result.AppliedCommand()
.OptionValuesToBeForwarded();
if (optionValuesToBeForwarded.Any())

View file

@ -1,107 +1,66 @@
// 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.
using System;
using System.Diagnostics;
using System.Reflection;
using System.Linq;
using System.Runtime.InteropServices;
using Microsoft.DotNet.Cli;
using Microsoft.DotNet.Cli.CommandLine;
using Microsoft.DotNet.Cli.Utils;
using Microsoft.DotNet.Cli;
using Command = Microsoft.DotNet.Cli.CommandLine.Command;
using Parser = Microsoft.DotNet.Cli.Parser;
namespace Microsoft.DotNet.Tools.Help
{
public class HelpCommand
{
private static readonly string UsageText = $@"{LocalizableStrings.Usage}: dotnet [host-options] [command] [arguments] [common-options]
private readonly AppliedOption _appliedOption;
{LocalizableStrings.Arguments}:
[command] {LocalizableStrings.CommandDefinition}
[arguments] {LocalizableStrings.ArgumentsDefinition}
[host-options] {LocalizableStrings.HostOptionsDefinition}
[common-options] {LocalizableStrings.OptionsDescription}
{LocalizableStrings.CommonOptions}:
-v|--verbose {LocalizableStrings.VerboseDefinition}
-h|--help {LocalizableStrings.HelpDefinition}
{LocalizableStrings.HostOptions}:
-d|--diagnostics {LocalizableStrings.DiagnosticsDefinition}
--version {LocalizableStrings.VersionDescription}
--info {LocalizableStrings.InfoDescription}
{LocalizableStrings.Commands}:
new {LocalizableStrings.NewDefinition}
restore {LocalizableStrings.RestoreDefinition}
build {LocalizableStrings.BuildDefinition}
publish {LocalizableStrings.PublishDefinition}
run {LocalizableStrings.RunDefinition}
test {LocalizableStrings.TestDefinition}
pack {LocalizableStrings.PackDefinition}
migrate {LocalizableStrings.MigrateDefinition}
clean {LocalizableStrings.CleanDefinition}
sln {LocalizableStrings.SlnDefinition}
Project modification commands:
add Add items to the project
remove Remove items from the project
list List items in the project
{LocalizableStrings.AdvancedCommands}:
nuget {LocalizableStrings.NugetDefinition}
msbuild {LocalizableStrings.MsBuildDefinition}
vstest {LocalizableStrings.VsTestDefinition}";
public HelpCommand(AppliedOption appliedOption)
{
_appliedOption = appliedOption;
}
public static int Run(string[] args)
{
DebugHelper.HandleDebugSwitch(ref args);
CommandLineApplication app = new CommandLineApplication(throwOnUnexpectedArg: false);
app.Name = "dotnet help";
app.FullName = LocalizableStrings.AppFullName;
app.Description = LocalizableStrings.AppDescription;
var parser = Parser.Instance;
var result = parser.ParseFrom("dotnet help", args);
var helpAppliedOption = result["dotnet"]["help"];
CommandArgument commandNameArgument = app.Argument($"<{LocalizableStrings.CommandArgumentName}>", LocalizableStrings.CommandArgumentDescription);
result.ShowHelpIfRequested();
app.OnExecute(() =>
HelpCommand cmd;
try
{
BuiltInCommandMetadata builtIn;
if (BuiltInCommandsCatalog.Commands.TryGetValue(commandNameArgument.Value, out builtIn))
{
var process = ConfigureProcess(builtIn.DocLink);
process.Start();
process.WaitForExit();
}
else
{
Reporter.Error.WriteLine(String.Format(LocalizableStrings.CommandDoesNotExist, commandNameArgument.Value));
Reporter.Output.WriteLine(UsageText);
return 1;
}
return 0;
});
if (args.Length == 0)
cmd = new HelpCommand(helpAppliedOption);
}
catch (CommandCreationException e)
{
PrintHelp();
return 0;
return e.ExitCode;
}
if (helpAppliedOption.Arguments.Any())
{
return cmd.Execute();
}
else
{
return app.Execute(args);
PrintHelp();
return 0;
}
}
public static void PrintHelp()
{
PrintVersionHeader();
Reporter.Output.WriteLine(UsageText);
Reporter.Output.WriteLine(HelpUsageText.UsageText);
}
public static void PrintVersionHeader()
{
var versionString = string.IsNullOrEmpty(Product.Version) ?
string.Empty :
$" ({Product.Version})";
var versionString = string.IsNullOrEmpty(Product.Version) ? string.Empty : $" ({Product.Version})";
Reporter.Output.WriteLine(Product.LongName + versionString);
}
@ -132,11 +91,34 @@ Project modification commands:
Arguments = docUrl
};
}
return new Process
{
StartInfo = psInfo
};
}
public int Execute()
{
if (BuiltInCommandsCatalog.Commands.TryGetValue(
_appliedOption.Arguments.Single(),
out BuiltInCommandMetadata builtIn))
{
var process = ConfigureProcess(builtIn.DocLink);
process.Start();
process.WaitForExit();
return 0;
}
else
{
Reporter.Error.WriteLine(
string.Format(
LocalizableStrings.CommandDoesNotExist,
_appliedOption.Arguments.Single()));
Reporter.Output.WriteLine(HelpUsageText.UsageText);
return 1;
}
}
}
}

View file

@ -0,0 +1,21 @@
using Microsoft.DotNet.Cli;
using Microsoft.DotNet.Cli.CommandLine;
namespace Microsoft.DotNet.Tools.Help
{
internal static class HelpCommandParser
{
public static Command Help()
{
return Create.Command(
"help",
LocalizableStrings.AppFullName,
Accept.ZeroOrOneArgument()
.With(
LocalizableStrings.CommandArgumentDescription,
LocalizableStrings.CommandArgumentName),
CommonOptions.HelpOption());
}
}
}

View file

@ -0,0 +1,45 @@
using Microsoft.DotNet.Tools.Help;
internal static class HelpUsageText
{
public static readonly string UsageText =
$@"{LocalizableStrings.Usage}: dotnet [host-options] [command] [arguments] [common-options]
{LocalizableStrings.Arguments}:
[command] {LocalizableStrings.CommandDefinition}
[arguments] {LocalizableStrings.ArgumentsDefinition}
[host-options] {LocalizableStrings.HostOptionsDefinition}
[common-options] {LocalizableStrings.OptionsDescription}
{LocalizableStrings.CommonOptions}:
-v|--verbose {LocalizableStrings.VerboseDefinition}
-h|--help {LocalizableStrings.HelpDefinition}
{LocalizableStrings.HostOptions}:
-d|--diagnostics {LocalizableStrings.DiagnosticsDefinition}
--version {LocalizableStrings.VersionDescription}
--info {LocalizableStrings.InfoDescription}
{LocalizableStrings.Commands}:
new {LocalizableStrings.NewDefinition}
restore {LocalizableStrings.RestoreDefinition}
build {LocalizableStrings.BuildDefinition}
publish {LocalizableStrings.PublishDefinition}
run {LocalizableStrings.RunDefinition}
test {LocalizableStrings.TestDefinition}
pack {LocalizableStrings.PackDefinition}
migrate {LocalizableStrings.MigrateDefinition}
clean {LocalizableStrings.CleanDefinition}
sln {LocalizableStrings.SlnDefinition}
{LocalizableStrings.ProjectModificationCommands}:
add {LocalizableStrings.AddDefinition}
remove {LocalizableStrings.RemoveDefinition}
list {LocalizableStrings.ListDefinition}
{LocalizableStrings.AdvancedCommands}:
nuget {LocalizableStrings.NugetDefinition}
msbuild {LocalizableStrings.MsBuildDefinition}
vstest {LocalizableStrings.VsTestDefinition}";
}

View file

@ -55,6 +55,8 @@ namespace Microsoft.DotNet.Tools.Help
public const string RemoveDefinition = "Remove items from the project.";
public const string ListDefinition = "List items in the project.";
public const string AdvancedCommands = "Advanced Commands";
public const string NugetDefinition = "Provides additional NuGet commands.";

View file

@ -53,7 +53,7 @@ namespace Microsoft.DotNet.Tools.Migrate
}
Directory.CreateDirectory(tempDir);
RunCommand("new", new string[] { "console", "-o", tempDir, "--debug:ephemeral-hive", "--skip-restore" }, tempDir);
RunCommand("new", new string[] { "console", "-o", tempDir, "--debug:ephemeral-hive", "--no-restore" }, tempDir);
return tempDir;
}

View file

@ -6,7 +6,10 @@ using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using Microsoft.DotNet.Cli;
using Microsoft.DotNet.Cli.Utils;
using Microsoft.DotNet.Configurer;
using Microsoft.DotNet.Tools.MSBuild;
using Microsoft.TemplateEngine.Abstractions;
using Microsoft.TemplateEngine.Cli;
using Microsoft.TemplateEngine.Edge;
@ -24,7 +27,16 @@ namespace Microsoft.DotNet.Tools.New
public static int Run(string[] args)
{
return New3Command.Run(CommandName, CreateHost(), new TelemetryLogger(null), FirstRun, args);
var sessionId = Environment.GetEnvironmentVariable(MSBuildForwardingApp.TelemetrySessionIdEnvironmentVariableName);
var telemetry = new Telemetry(new NuGetCacheSentinel(new CliFallbackFolderPathCalculator()), sessionId);
var logger = new TelemetryLogger((name, props, measures) =>
{
if (telemetry.Enabled)
{
telemetry.TrackEvent(name, props, measures);
}
});
return New3Command.Run(CommandName, CreateHost(), logger, FirstRun, args);
}
private static ITemplateEngineHost CreateHost()

View file

@ -15,9 +15,9 @@ namespace Microsoft.DotNet.Tools.Publish
public const string OutputOptionDescription = "Output directory in which to place the published artifacts.";
public const string TargetOption = "target.xml";
public const string ManifestOption = "manifest.xml";
public const string TargetOptionDescription = "The path to a target manifest file that contains the list of packages to be excluded from the publish step.";
public const string ManifestOptionDescription = "The path to a target manifest file that contains the list of packages to be excluded from the publish step.";
public const string SelfContainedOptionDescription = "Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified.";
}

View file

@ -26,10 +26,10 @@ namespace Microsoft.DotNet.Cli
CommonOptions.ConfigurationOption(),
CommonOptions.VersionSuffixOption(),
Create.Option(
"--target",
LocalizableStrings.TargetOptionDescription,
"--manifest",
LocalizableStrings.ManifestOptionDescription,
Accept.OneOrMoreArguments()
.With(name: LocalizableStrings.TargetOption)
.With(name: LocalizableStrings.ManifestOption)
.ForwardAsSingle(o => $"/p:TargetManifestFiles={string.Join("%3B", o.Arguments)}")),
Create.Option(
"--self-contained",

View file

@ -1,8 +1,8 @@
// 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.
using System;
using Microsoft.DotNet.Cli.CommandLine;
using System.Collections.Generic;
using System.Linq;
using Microsoft.DotNet.Cli.Utils;
using Microsoft.DotNet.Cli;
using Parser = Microsoft.DotNet.Cli.Parser;
@ -13,13 +13,22 @@ namespace Microsoft.DotNet.Tools.Run
{
public static RunCommand FromArgs(string[] args, string msbuildPath = null)
{
var parser = Parser.Instance;
var result = parser.ParseFrom("dotnet run", args);
var result = Parser.Instance.ParseFrom("dotnet run", args);
result.ShowHelpOrErrorIfAppropriate();
return result["dotnet"]["run"].Value<RunCommand>();
var runCommand = result["dotnet"]["run"].Value<RunCommand>();
return IncludingArgumentsAfterDoubleDash(runCommand, result.UnparsedTokens);
}
private static RunCommand IncludingArgumentsAfterDoubleDash(
RunCommand runCommand,
IEnumerable<string> unparsedTokens)
{
return runCommand.MakeNewWithReplaced(
args: runCommand.Args
.Concat(unparsedTokens)
.ToList());
}
public static int Run(string[] args)
@ -27,7 +36,7 @@ namespace Microsoft.DotNet.Tools.Run
DebugHelper.HandleDebugSwitch(ref args);
RunCommand cmd;
try
{
cmd = FromArgs(args);

View file

@ -13,11 +13,11 @@ namespace Microsoft.DotNet.Tools.Run
{
public partial class RunCommand
{
public string Configuration { get; set; }
public string Framework { get; set; }
public bool NoBuild { get; set; }
public string Project { get; set; }
public IReadOnlyCollection<string> Args { get; set; }
public string Configuration { get; private set; }
public string Framework { get; private set; }
public bool NoBuild { get; private set; }
public string Project { get; private set; }
public IReadOnlyCollection<string> Args { get; private set; }
private List<string> _args;
private bool ShouldBuild => !NoBuild;
@ -38,6 +38,34 @@ namespace Microsoft.DotNet.Tools.Run
.ExitCode;
}
public RunCommand(string configuration,
string framework,
bool noBuild,
string project,
IReadOnlyCollection<string> args)
{
Configuration = configuration;
Framework = framework;
NoBuild = noBuild;
Project = project;
Args = args;
}
public RunCommand MakeNewWithReplaced(string configuration = null,
string framework = null,
bool? noBuild = null,
string project = null,
IReadOnlyCollection<string> args = null)
{
return new RunCommand(
configuration ?? this.Configuration,
framework ?? this.Framework,
noBuild ?? this.NoBuild,
project ?? this.Project,
args ?? this.Args
);
}
private void EnsureProjectIsBuilt()
{
List<string> buildArgs = new List<string>();

View file

@ -15,14 +15,14 @@ namespace Microsoft.DotNet.Cli
LocalizableStrings.AppFullName,
treatUnmatchedTokensAsErrors: false,
arguments: Accept.ZeroOrMoreArguments()
.MaterializeAs(o => new RunCommand
{
Configuration = o.SingleArgumentOrDefault("--configuration"),
Framework = o.SingleArgumentOrDefault("--framework"),
NoBuild = o.HasOption("--no-build"),
Project = o.SingleArgumentOrDefault("--project"),
Args = o.Arguments
}),
.MaterializeAs(o => new RunCommand
(
configuration: o.SingleArgumentOrDefault("--configuration"),
framework: o.SingleArgumentOrDefault("--framework"),
noBuild: o.HasOption("--no-build"),
project: o.SingleArgumentOrDefault("--project"),
args: o.Arguments
)),
options: new[]
{
CommonOptions.HelpOption(),

View file

@ -19,7 +19,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd
{
string projectDirectory = directory.Path;
string newArgs = "console -f netcoreapp2.0 --debug:ephemeral-hive --skip-restore";
string newArgs = "console -f netcoreapp2.0 --debug:ephemeral-hive --no-restore";
new NewCommandShim()
.WithWorkingDirectory(projectDirectory)
.Execute(newArgs)

View file

@ -9,8 +9,17 @@ namespace Microsoft.DotNet.Tools.Test.Utilities
{
public override CommandResult Execute(string args = "")
{
args = $"help {args}";
return base.Execute(args);
return base.Execute(AppendHelp(args));
}
public override CommandResult ExecuteWithCapturedOutput(string args = "")
{
return base.ExecuteWithCapturedOutput(AppendHelp(args));
}
private string AppendHelp(string args)
{
return args = $"help {args}";
}
}
}

View file

@ -38,9 +38,9 @@ namespace Microsoft.DotNet.Tools.Test.Utilities
return this;
}
public PublishCommand WithTargetManifest(string target)
public PublishCommand WithTargetManifest(string manifest)
{
_targetManifests.Add( $"--target {target}");
_targetManifests.Add( $"--manifest {manifest}");
return this;
}

View file

@ -56,7 +56,7 @@ Options:
try
{
string args = $"classlib -o \"{projDir.Path}\" --debug:ephemeral-hive --skip-restore";
string args = $"classlib -o \"{projDir.Path}\" --debug:ephemeral-hive --no-restore";
new NewCommandShim()
.WithWorkingDirectory(projDir.Path)
.ExecuteWithCapturedOutput(args)

View file

@ -78,6 +78,24 @@ namespace Microsoft.DotNet.Cli.Build.Tests
.Should().Pass();
}
[RequiresSpecificFrameworkFact("netcoreapp1.0")] // https://github.com/dotnet/cli/issues/6087
public void ItRunsABackwardsVersionedTool()
{
var testInstance = TestAssets.Get("11TestAppWith10CLIToolReferences")
.CreateInstance()
.WithSourceFiles()
.WithRestoreFiles();
var testProjectDirectory = testInstance.Root;
new DotnetCommand(DotnetUnderTest.WithBackwardsCompatibleRuntimes)
.WithWorkingDirectory(testInstance.Root)
.ExecuteWithCapturedOutput("outputsframeworkversion-netcoreapp1.0")
.Should()
.Pass()
.And
.HaveStdOutContaining("netcoreapp1.0");
}
void ChangeProjectTargetFramework(FileInfo projectFile, string target)
{

View file

@ -46,7 +46,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests
string dir = "pkgs";
string args = $"--packages {dir}";
string newArgs = $"console -f netcoreapp2.0 -o \"{rootPath}\" --debug:ephemeral-hive --skip-restore";
string newArgs = $"console -f netcoreapp2.0 -o \"{rootPath}\" --debug:ephemeral-hive --no-restore";
new NewCommandShim()
.WithWorkingDirectory(rootPath)
.Execute(newArgs)

View file

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// 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.
using System;
@ -25,7 +25,7 @@ Arguments:
Common options:
-v|--verbose Enable verbose output
-h|--help Show help
-h|--help Show help
Host options (passed before the command):
-d|--diagnostics Enable diagnostic output
@ -45,9 +45,9 @@ Commands:
sln Modify solution (SLN) files.
Project modification commands:
add Add items to the project
remove Remove items from the project
list List items in the project
add Add items to the project.
remove Remove items from the project.
list List items in the project.
Advanced Commands:
nuget Provides additional NuGet commands.
@ -67,12 +67,21 @@ Advanced Commands:
cmd.StdOut.Should().ContainVisuallySameFragment(HelpText);
}
[Fact]
public void WhenHelpCommandIsPassedToDotnetItPrintsUsage()
{
var cmd = new HelpCommand()
.ExecuteWithCapturedOutput();
cmd.Should().Pass();
cmd.StdOut.Should().ContainVisuallySameFragment(HelpText);
}
[Fact]
public void WhenInvalidCommandIsPassedToDotnetHelpItPrintsError()
{
var cmd = new DotnetCommand()
.ExecuteWithCapturedOutput("help invalid");
cmd.Should().Fail();
cmd.StdErr.Should().ContainVisuallySameFragment($"Specified command 'invalid' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help.");
cmd.StdOut.Should().ContainVisuallySameFragment(HelpText);
@ -92,7 +101,7 @@ Advanced Commands:
var proc = HelpActual.HelpCommand.ConfigureProcess("https://aka.ms/dotnet-build");
Assert.Equal("xdg-open", proc.StartInfo.FileName);
Assert.Equal("https://aka.ms/dotnet-build", proc.StartInfo.Arguments);
}
[MacOsOnlyFact]
public void WhenRunOnMacOsDotnetHelpCommandShouldContainProperProcessInformation()

View file

@ -0,0 +1,37 @@
// 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.
using Microsoft.DotNet.Tools.Test.Utilities;
using Xunit;
using FluentAssertions;
using HelpActual = Microsoft.DotNet.Tools.Help;
namespace Microsoft.DotNet.Help.Tests
{
public class GivenThatIWantToShowHelpForDotnetHelpCommand : TestBase
{
private const string HelpText =
@".NET CLI help utility
Usage: dotnet help [options] <COMMAND_NAME>
Arguments:
<COMMAND_NAME> CLI command for which to view more detailed help.
Options:
-h, --help Show help information";
[Theory]
[InlineData("--help")]
[InlineData("-h")]
[InlineData("-?")]
[InlineData("/?")]
public void WhenHelpOptionIsPassedToDotnetHelpCommandItPrintsUsage(string helpArg)
{
var cmd = new HelpCommand()
.ExecuteWithCapturedOutput($"{helpArg}");
cmd.Should().Pass();
cmd.StdOut.Should().ContainVisuallySameFragment(HelpText);
}
}
}

View file

@ -195,7 +195,7 @@ Options:
try
{
string newArgs = $"classlib -o \"{dir.Path}\" --debug:ephemeral-hive --skip-restore";
string newArgs = $"classlib -o \"{dir.Path}\" --debug:ephemeral-hive --no-restore";
new NewCommandShim()
.WithWorkingDirectory(dir.Path)
.ExecuteWithCapturedOutput(newArgs)

View file

@ -33,7 +33,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests
[InlineData(new string[] { "-c", "<config>" }, "/p:Configuration=<config>")]
[InlineData(new string[] { "--configuration", "<config>" }, "/p:Configuration=<config>")]
[InlineData(new string[] { "--version-suffix", "<versionsuffix>" }, "/p:VersionSuffix=<versionsuffix>")]
[InlineData(new string[] { "--target", "<targetfiles>" }, "/p:TargetManifestFiles=<targetfiles>")]
[InlineData(new string[] { "--manifest", "<manifestfiles>" }, "/p:TargetManifestFiles=<manifestfiles>")]
[InlineData(new string[] { "-v", "minimal" }, "/verbosity:minimal")]
[InlineData(new string[] { "--verbosity", "minimal" }, "/verbosity:minimal")]
[InlineData(new string[] { "<project>" }, "<project>")]
@ -60,7 +60,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests
[InlineData(new string[] { "-c", "<config>" }, "/p:Configuration=<config>")]
[InlineData(new string[] { "--configuration", "<config>" }, "/p:Configuration=<config>")]
[InlineData(new string[] { "--version-suffix", "<versionsuffix>" }, "/p:VersionSuffix=<versionsuffix>")]
[InlineData(new string[] { "--target", "<targetfiles>" }, "/p:TargetManifestFiles=<targetfiles>")]
[InlineData(new string[] { "--manifest", "<manifestfiles>" }, "/p:TargetManifestFiles=<manifestfiles>")]
[InlineData(new string[] { "-v", "minimal" }, "/verbosity:minimal")]
[InlineData(new string[] { "--verbosity", "minimal" }, "/verbosity:minimal")]
public void OptionForwardingIsCorrect(string[] args, string expectedAdditionalArgs)

View file

@ -21,13 +21,13 @@ namespace Microsoft.DotNet.New.Tests
new NewCommand()
.WithWorkingDirectory(rootPath)
.Execute($"console --debug:ephemeral-hive --skip-restore");
.Execute($"console --debug:ephemeral-hive --no-restore");
DateTime expectedState = Directory.GetLastWriteTime(rootPath);
var result = new NewCommand()
.WithWorkingDirectory(rootPath)
.ExecuteWithCapturedOutput($"console --debug:ephemeral-hive --skip-restore");
.ExecuteWithCapturedOutput($"console --debug:ephemeral-hive --no-restore");
DateTime actualState = Directory.GetLastWriteTime(rootPath);
@ -64,7 +64,7 @@ namespace Microsoft.DotNet.New.Tests
new NewCommand()
.WithWorkingDirectory(projectFolder)
.Execute($"{projectType} --debug:ephemeral-hive --skip-restore")
.Execute($"{projectType} --debug:ephemeral-hive --no-restore")
.Should().Pass();
new RestoreCommand()
@ -86,7 +86,7 @@ namespace Microsoft.DotNet.New.Tests
new NewCommand()
.WithWorkingDirectory(rootPath)
.Execute($"{type} --name {projectName} -o . --debug:ephemeral-hive --skip-restore")
.Execute($"{type} --name {projectName} -o . --debug:ephemeral-hive --no-restore")
.Should().Pass();
new RestoreCommand()

View file

@ -44,7 +44,7 @@ namespace Microsoft.DotNet.New.Tests
string rootPath = TestAssets.CreateTestDirectory(identifier: $"{language}_{projectType}").FullName;
new TestCommand("dotnet") { WorkingDirectory = rootPath }
.Execute($"new {projectType} -lang {language} -o {rootPath} --debug:ephemeral-hive --skip-restore")
.Execute($"new {projectType} -lang {language} -o {rootPath} --debug:ephemeral-hive --no-restore")
.Should().Pass();
if (useNuGetConfigForAspNet)

View file

@ -216,7 +216,7 @@ namespace Microsoft.DotNet.Tools.Pack.Tests
string dir = "pkgs";
string args = $"--packages {dir}";
string newArgs = $"console -o \"{rootPath}\" --skip-restore";
string newArgs = $"console -o \"{rootPath}\" --no-restore";
new NewCommandShim()
.WithWorkingDirectory(rootPath)
.Execute(newArgs)

View file

@ -155,7 +155,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests
string dir = "pkgs";
string args = $"--packages {dir}";
string newArgs = $"console -o \"{rootPath}\" --skip-restore";
string newArgs = $"console -o \"{rootPath}\" --no-restore";
new NewCommandShim()
.WithWorkingDirectory(rootPath)
.Execute(newArgs)

View file

@ -53,7 +53,7 @@ Options:
try
{
string newArgs = $"classlib -o \"{projDir.Path}\" --skip-restore";
string newArgs = $"classlib -o \"{projDir.Path}\" --no-restore";
new NewCommandShim()
.WithWorkingDirectory(projDir.Path)
.ExecuteWithCapturedOutput(newArgs)

View file

@ -24,7 +24,7 @@ namespace Microsoft.DotNet.Restore.Tests
string dir = "pkgs";
string fullPath = Path.GetFullPath(Path.Combine(rootPath, dir));
string newArgs = $"console -o \"{rootPath}\" --skip-restore";
string newArgs = $"console -o \"{rootPath}\" --no-restore";
new NewCommandShim()
.WithWorkingDirectory(rootPath)
.Execute(newArgs)
@ -51,7 +51,7 @@ namespace Microsoft.DotNet.Restore.Tests
string dir = "pkgs";
string fullPath = Path.GetFullPath(Path.Combine(rootPath, dir));
string newArgs = $"classlib -o \"{rootPath}\" --skip-restore";
string newArgs = $"classlib -o \"{rootPath}\" --no-restore";
new NewCommandShim()
.WithWorkingDirectory(rootPath)
.Execute(newArgs)

View file

@ -144,7 +144,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests
string dir = "pkgs";
string args = $"--packages {dir}";
string newArgs = $"console -o \"{rootPath}\" --skip-restore";
string newArgs = $"console -o \"{rootPath}\" --no-restore";
new NewCommandShim()
.WithWorkingDirectory(rootPath)
.Execute(newArgs)
@ -181,5 +181,24 @@ namespace Microsoft.DotNet.Cli.Run.Tests
.Should().Fail()
.And.HaveStdErrContaining("--framework");
}
[Fact]
public void ItCanPassArgumentsToSubjectAppByDoubleDash()
{
const string testAppName = "MSBuildTestApp";
var testInstance = TestAssets.Get(testAppName)
.CreateInstance()
.WithSourceFiles()
.WithRestoreFiles();
var testProjectDirectory = testInstance.Root.FullName;
new RunCommand()
.WithWorkingDirectory(testProjectDirectory)
.ExecuteWithCapturedOutput("-- foo bar baz")
.Should()
.Pass()
.And.HaveStdOutContaining("echo args:foo;bar;baz");
}
}
}

View file

@ -61,7 +61,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests
var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, _tfm, "publish", $"{testAppName}.dll");
new DotnetCommand()
.WithEnvironmentVariable("DOTNET_SHARED_PACKAGES", localAssemblyCache)
.WithEnvironmentVariable("DOTNET_SHARED_STORE", localAssemblyCache)
.ExecuteWithCapturedOutput(outputDll)
.Should().Pass()
.And.HaveStdOutContaining("{}");
@ -72,6 +72,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests
{
var testAppName = "NewtonSoftDependentProject";
var profileProjectName = "NewtonsoftProfile";
var targetManifestFileName = "NewtonsoftFilterProfile.xml";
var testInstance = TestAssets.Get(testAppName)
.CreateInstance()
@ -80,7 +81,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests
var testProjectDirectory = testInstance.Root.ToString();
var profileProjectPath = TestAssets.Get(profileProjectName).Root.FullName;
var profileFilter = Path.Combine(profileProjectPath, "NewtonsoftFilterProfile.xml");
var profileFilter = Path.Combine(profileProjectPath, targetManifestFileName);
new RestoreCommand()
.WithWorkingDirectory(testProjectDirectory)
@ -101,7 +102,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests
new DotnetCommand()
.ExecuteWithCapturedOutput(outputDll)
.Should().Fail()
.And.HaveStdErrContaining("assembly specified in the dependencies manifest was not found -- package: 'newtonsoft.json',");
.And.HaveStdErrContaining($"Error: assembly specified in the dependencies manifest was not found probably due to missing runtime store associated with {targetManifestFileName} -- package: 'Newtonsoft.Json',");
}
[Fact]
@ -158,7 +159,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests
var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, _tfm, "publish", $"{testAppName}.dll");
new DotnetCommand()
.WithEnvironmentVariable("DOTNET_SHARED_PACKAGES", localAssemblyCache)
.WithEnvironmentVariable("DOTNET_SHARED_STORE", localAssemblyCache)
.ExecuteWithCapturedOutput(outputDll)
.Should().Pass()
.And.HaveStdOutContaining("{}");

View file

@ -8,6 +8,7 @@ using Microsoft.DotNet.TestFramework;
using Microsoft.DotNet.Cli.Utils;
using System.IO;
using System;
using System.Runtime.CompilerServices;
namespace Microsoft.DotNet.Cli.Test.Tests
{
@ -89,7 +90,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests
.ExecuteWithCapturedOutput("--no-build");
// Verify
result.StdOut.Should().Contain(expectedError);
result.StdErr.Should().Contain(expectedError);
}
[Fact]
@ -185,11 +186,12 @@ namespace Microsoft.DotNet.Cli.Test.Tests
result.StdOut.Should().Contain("Failed TestNamespace.VSTestTests.VSTestFailTest");
}
private string CopyAndRestoreVSTestDotNetCoreTestApp(){
private string CopyAndRestoreVSTestDotNetCoreTestApp([CallerMemberName] string callingMethod = "")
{
// Copy VSTestDotNetCore project in output directory of project dotnet-vstest.Tests
string testAppName = "VSTestDotNetCore";
var testInstance = TestAssets.Get(testAppName)
.CreateInstance()
.CreateInstance(callingMethod)
.WithSourceFiles();
var testProjectDirectory = testInstance.Root.FullName;

View file

@ -97,11 +97,6 @@ A command is running to initially populate your local package cache, to improve
"microsoft.netcore.app",
"microsoft.netcore.platforms",
"netstandard.library",
};
// https://github.com/dotnet/cli/issues/5505 - add the "2.0" asp.net packages into the offline cache
List<string> unexpectedDirectories = new List<string>()
{
"microsoft.aspnetcore.diagnostics",
"microsoft.aspnetcore.mvc",
"microsoft.aspnetcore.routing",
@ -114,16 +109,13 @@ A command is running to initially populate your local package cache, to improve
"microsoft.extensions.logging.console",
"microsoft.extensions.logging.debug",
"microsoft.extensions.options.configurationextensions",
"microsoft.visualstudio.web.browserlink",
//BrowserLink has been temporarily disabled until https://github.com/dotnet/templating/issues/644 is resolved
//"microsoft.visualstudio.web.browserlink",
};
_nugetFallbackFolder
.Should()
.HaveDirectories(expectedDirectories);
_nugetFallbackFolder
.Should()
.NotHaveDirectories(unexpectedDirectories);
}
private string GetDotnetVersion()

View file

@ -0,0 +1,29 @@
// 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.
using System.Linq;
using FluentAssertions;
using Microsoft.DotNet.Tools.Run;
using Xunit;
using Xunit.Abstractions;
using System;
namespace Microsoft.DotNet.Tests.ParserTests
{
public class RunParserTests
{
public RunParserTests(ITestOutputHelper output)
{
this.output = output;
}
private readonly ITestOutputHelper output;
[Fact]
public void RunParserCanGetArguementFromDoubleDash()
{
var runCommand = RunCommand.FromArgs(new[]{ "--", "foo" });
runCommand.Args.Single().Should().Be("foo");
}
}
}