Merge pull request #9575 from dotnet/merges/release/2.1.4xx-to-release/2.2.1xx

Merge release/2.1.4xx to release/2.2.1xx
This commit is contained in:
John Beisner 2018-07-16 18:55:16 -07:00 committed by GitHub
commit ba14bf27ef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
105 changed files with 1205 additions and 400 deletions

View file

@ -6,6 +6,6 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="$(MicrosoftAspNetCoreAllPackageVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="$(MicrosoftAspNetCoreMvcPackageVersion)" />
</ItemGroup>
</Project>

View file

@ -10,7 +10,7 @@
($(Rid.StartsWith('rhel.6'))
OR $(Rid.StartsWith('linux-musl'))
OR $(Rid.StartsWith('fedora.27'))
OR $(Rid.StartsWith('opensuse.43.2'))
OR $(Rid.StartsWith('opensuse.42.3'))
OR $(Rid.StartsWith('ubuntu.18.04')))">true</SkipBuildingInstallers>
<SkipBuildingInstallers Condition=" '$(SkipBuildingInstallers)' == '' ">false</SkipBuildingInstallers>
<UsePortableLinuxSharedFramework Condition=" '$(UsePortableLinuxSharedFramework)' == '' AND '$(OSPlatform)' == 'linux' AND '$(Rid)' != 'rhel.6-x64' AND '$(Rid)' != 'linux-musl-x64' ">true</UsePortableLinuxSharedFramework>
@ -19,16 +19,18 @@
AND '$(Rid)' != 'rhel.6-x64'
AND '$(Rid)' != 'linux-musl-x64'
AND '$(Rid)' != 'fedora.27-x64'
AND '$(Rid)' != 'opensuse.43.2-x64'
AND '$(Rid)' != 'opensuse.42.3-x64'
AND '$(Rid)' != 'ubuntu.18.04-x64'">true</IncludeSharedFrameworksForBackwardsCompatibilityTests>
<HighEntropyVA>true</HighEntropyVA>
<!-- Only use asset target fallback that we set (not implicit one to net461). -->
<DisableImplicitAssetTargetFallback>true</DisableImplicitAssetTargetFallback>
<!-- Disable asset target fallback warning globally since it does not work transitively on NoWarn of individual packages -->
<!-- NU1701: Disable asset target fallback warning globally since it does not work transitively on NoWarn of individual packages -->
<!-- Since we disabled the implict fallback to net461, this will only kick in when we have an explicit fallback and we don't need to be warned about it doing what we asked it to do. -->
<NoWarn>NU1701</NoWarn>
<!-- NU5104: Disable 'A stable release of a package should not have a prerelease dependency' warning globally -->
<!-- The "pack" command under 'buildCrossTargeting' for 'Microsoft.DotNet.MSBuildSdkResolver' throws a "NU5104" warning/error while using a "2.1.300" stage0 SDK. For: Linux-x64, Linux-arm, and Linux-arm64 -->
<NoWarn>NU1701;NU5104</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>

View file

@ -13,12 +13,11 @@
Condition="!Exists('$(DotnetToolsNuPkgPath)/$(TemplateFillInPackageName.ToLower())')">
<PropertyGroup>
<DotnetToolsRestoreAdditionalParameters>--runtime any</DotnetToolsRestoreAdditionalParameters>
<DotnetToolsRestoreAdditionalParameters>--runtime any /p:RestoreProjectStyle=DotnetToolReference</DotnetToolsRestoreAdditionalParameters>
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:TargetFramework=$(CliTargetFramework)</DotnetToolsRestoreAdditionalParameters>
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageName=$(TemplateFillInPackageName)</DotnetToolsRestoreAdditionalParameters>
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageVersion=$(TemplateFillInPackageVersion)</DotnetToolsRestoreAdditionalParameters>
<DotnetToolsRestoreAdditionalParameters>$(DotnetToolsRestoreAdditionalParameters) /p:RestorePackagesPath=$(DotnetToolsLayoutDirectory)</DotnetToolsRestoreAdditionalParameters>
<DotnetToolsRestoreAdditionalParameters Condition=" $(DotnetToolsRestoreProjectStyle) != '' " >$(DotnetToolsRestoreAdditionalParameters) /p:RestoreProjectStyle=$(DotnetToolsRestoreProjectStyle)</DotnetToolsRestoreAdditionalParameters>
</PropertyGroup>
<DotNetRestore ToolPath="$(PreviousStageDirectory)"

View file

@ -1,9 +1,9 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition=" '$(IncludeAspNetCoreRuntime)' != 'false' ">
<BundledDotnetTools Include="dotnet-dev-certs" Version="$(AspNetCoreVersion)" />
<BundledDotnetTools Include="dotnet-ef" Version="$(AspNetCoreVersion)" ObsoletesCliTool="Microsoft.EntityFrameworkCore.Tools.DotNet" />
<BundledDotnetTools Include="dotnet-sql-cache" Version="$(AspNetCoreVersion)" ObsoletesCliTool="Microsoft.Extensions.Caching.SqlConfig.Tools" />
<BundledDotnetTools Include="dotnet-user-secrets" Version="$(AspNetCoreVersion)" ObsoletesCliTool="Microsoft.Extensions.SecretManager.Tools" />
<BundledDotnetTools Include="dotnet-watch" Version="$(AspNetCoreVersion)" ObsoletesCliTool="Microsoft.DotNet.Watcher.Tools" />
<BundledDotnetTools Include="dotnet-dev-certs" Version="$(DotnetDevCertsPackageVersion)" />
<BundledDotnetTools Include="dotnet-ef" Version="$(DotnetEfPackageVersion)" ObsoletesCliTool="Microsoft.EntityFrameworkCore.Tools.DotNet" />
<BundledDotnetTools Include="dotnet-sql-cache" Version="$(DotnetSqlCachePackageVersion)" ObsoletesCliTool="Microsoft.Extensions.Caching.SqlConfig.Tools" />
<BundledDotnetTools Include="dotnet-user-secrets" Version="$(DotnetUserSecretsPackageVersion)" ObsoletesCliTool="Microsoft.Extensions.SecretManager.Tools" />
<BundledDotnetTools Include="dotnet-watch" Version="$(DotnetWatchPackageVersion)" ObsoletesCliTool="Microsoft.DotNet.Watcher.Tools" />
</ItemGroup>
</Project>

View file

@ -6,24 +6,21 @@
<!-- only the runtime OSX .pkgs have a `-internal` suffix -->
<InstallerStartSuffix Condition="'$(HostOSName)' == 'osx'">-internal</InstallerStartSuffix>
<!-- deb and rpm based installers have the `-upgrade` suffx -->
<InstallerEndSuffix Condition=" '$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true' ">-upgrade</InstallerEndSuffix>
<!-- Downloaded Installers + Archives -->
<DownloadedRuntimeDepsInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerEndSuffix)$(InstallerExtension)</DownloadedRuntimeDepsInstallerFileName>
<DownloadedRuntimeDepsInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerExtension)</DownloadedRuntimeDepsInstallerFileName>
<DownloadedRuntimeDepsInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedRuntimeDepsInstallerFileName)</DownloadedRuntimeDepsInstallerFile>
<!-- Use the "x64" Rid when downloading Linux shared framework 'DEB' installer files. -->
<SharedFrameworkInstallerFileRid>$(CoreSetupRid)</SharedFrameworkInstallerFileRid>
<SharedFrameworkInstallerFileRid Condition=" '$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true' ">x64</SharedFrameworkInstallerFileRid>
<DownloadedSharedHostInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)</DownloadedSharedHostInstallerFileName>
<DownloadedSharedHostInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedSharedHostInstallerFileName>
<DownloadedSharedHostInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName)</DownloadedSharedHostInstallerFile>
<DownloadedHostFxrInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)</DownloadedHostFxrInstallerFileName>
<DownloadedHostFxrInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedHostFxrInstallerFileName>
<DownloadedHostFxrInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName)</DownloadedHostFxrInstallerFile>
<DownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)</DownloadedSharedFrameworkInstallerFileName>
<DownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedSharedFrameworkInstallerFileName>
<DownloadedSharedFrameworkInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName)</DownloadedSharedFrameworkInstallerFile>
<!-- Use the portable "linux-x64" Rid when downloading Linux shared framework compressed file. -->
@ -37,7 +34,7 @@
<AspNetCoreSharedFxArchiveRid>$(AspNetCoreSharedFxInstallerRid)</AspNetCoreSharedFxArchiveRid>
<AspNetCoreSharedFxInstallerRid Condition="'$(InstallerExtension)' == '.deb' OR '$(InstallerExtension)' == '.rpm'">x64</AspNetCoreSharedFxInstallerRid>
<DownloadedAspNetCoreSharedFxInstallerFileName Condition=" '$(InstallerExtension)' != '' AND '$(HostOSName)' != 'osx' ">aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerEndSuffix)$(InstallerExtension)</DownloadedAspNetCoreSharedFxInstallerFileName>
<DownloadedAspNetCoreSharedFxInstallerFileName Condition=" '$(InstallerExtension)' != '' AND '$(HostOSName)' != 'osx' ">aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerExtension)</DownloadedAspNetCoreSharedFxInstallerFileName>
<!-- Note: we use the "-internal" archives and installers that contain only the aspnetcore shared framework, and shouldn't overlap with Microsoft.NETCore.App. -->
<DownloadedAspNetCoreSharedFxInstallerFileName Condition=" '$(InstallerExtension)' == '.msi' ">aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid).wixlib</DownloadedAspNetCoreSharedFxInstallerFileName>
<DownloadedAspNetCoreSharedFxInstallerFile Condition=" '$(InstallerExtension)' != '' AND '$(DownloadedAspNetCoreSharedFxInstallerFileName)' != '' ">$(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName)</DownloadedAspNetCoreSharedFxInstallerFile>

View file

@ -7,5 +7,7 @@
<BundledTemplate Include="Microsoft.DotNet.Web.ItemTemplates" Version="$(AspNetCoreVersion)" />
<BundledTemplate Include="Microsoft.DotNet.Web.ProjectTemplates.2.2" Version="$(AspNetCoreVersion)" />
<BundledTemplate Include="Microsoft.DotNet.Web.Spa.ProjectTemplates" Version="$(AspNetCoreVersion)" />
<BundledTemplate Include="NUnit3.DotNetNew.Template" Version="$(NUnit3TemplatesVersion)" />
</ItemGroup>
</Project>

View file

@ -3,14 +3,21 @@
<PropertyGroup>
<MicrosoftAspNetCoreAllPackageVersion>2.2.0-preview1-34355</MicrosoftAspNetCoreAllPackageVersion>
<MicrosoftAspNetCoreAppPackageVersion>$(MicrosoftAspNetCoreAllPackageVersion)</MicrosoftAspNetCoreAppPackageVersion>
<MicrosoftAspNetCoreDeveloperCertificatesXPlatPackageVersion>2.1.1</MicrosoftAspNetCoreDeveloperCertificatesXPlatPackageVersion>
<MicrosoftAspNetCoreMvcPackageVersion>2.1.1</MicrosoftAspNetCoreMvcPackageVersion>
<DotnetEfPackageVersion>2.1.1</DotnetEfPackageVersion>
<DotnetDevCertsPackageVersion>2.1.1</DotnetDevCertsPackageVersion>
<DotnetSqlCachePackageVersion>2.1.1</DotnetSqlCachePackageVersion>
<DotnetUserSecretsPackageVersion>2.1.1</DotnetUserSecretsPackageVersion>
<DotnetWatchPackageVersion>2.1.1</DotnetWatchPackageVersion>
<MicrosoftNETCoreAppPackageVersion>2.2.0-preview1-26609-02</MicrosoftNETCoreAppPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>$(MicrosoftNETCoreAppPackageVersion)</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<MicrosoftBuildPackageVersion>15.8.0-preview-000078</MicrosoftBuildPackageVersion>
<MicrosoftBuildPackageVersion>15.8.0-preview-000138</MicrosoftBuildPackageVersion>
<MicrosoftBuildFrameworkPackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildFrameworkPackageVersion>
<MicrosoftBuildRuntimePackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildRuntimePackageVersion>
<MicrosoftBuildLocalizationPackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildLocalizationPackageVersion>
<MicrosoftBuildUtilitiesCorePackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildUtilitiesCorePackageVersion>
<MicrosoftFSharpCompilerPackageVersion>10.1.4-rtm-180515-0</MicrosoftFSharpCompilerPackageVersion>
<MicrosoftFSharpCompilerPackageVersion>10.2.0-rtm-180620-0</MicrosoftFSharpCompilerPackageVersion>
<MicrosoftCodeAnalysisCSharpPackageVersion>2.8.3-beta6-62923-07</MicrosoftCodeAnalysisCSharpPackageVersion>
<MicrosoftCodeAnalysisBuildTasksPackageVersion>$(MicrosoftCodeAnalysisCSharpPackageVersion)</MicrosoftCodeAnalysisBuildTasksPackageVersion>
<MicrosoftNETCoreCompilersPackageVersion>$(MicrosoftCodeAnalysisCSharpPackageVersion)</MicrosoftNETCoreCompilersPackageVersion>
@ -19,12 +26,12 @@
<MicrosoftNETSdkPackageVersion>1.0.0-preview1-62924-06</MicrosoftNETSdkPackageVersion>
<MicrosoftNETBuildExtensionsPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftNETBuildExtensionsPackageVersion>
<MicrosoftNETSdkRazorPackageVersion>$(MicrosoftAspNetCoreAppPackageVersion)</MicrosoftNETSdkRazorPackageVersion>
<MicrosoftNETSdkWebPackageVersion>2.1.300</MicrosoftNETSdkWebPackageVersion>
<MicrosoftNETSdkWebPackageVersion>2.1.400-preview1-20180614-1774926</MicrosoftNETSdkWebPackageVersion>
<MicrosoftNETSdkPublishPackageVersion>$(MicrosoftNETSdkWebPackageVersion)</MicrosoftNETSdkPublishPackageVersion>
<MicrosoftNETSdkWebProjectSystemPackageVersion>$(MicrosoftNETSdkWebPackageVersion)</MicrosoftNETSdkWebProjectSystemPackageVersion>
<MicrosoftDotNetCommonItemTemplatesPackageVersion>1.0.2-beta3</MicrosoftDotNetCommonItemTemplatesPackageVersion>
<MicrosoftDotNetCommonProjectTemplates20PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonProjectTemplates20PackageVersion>
<MicrosoftDotNetTestProjectTemplates20PackageVersion>1.0.2-beta3</MicrosoftDotNetTestProjectTemplates20PackageVersion>
<MicrosoftDotNetTestProjectTemplates20PackageVersion>1.0.2-beta3-20180614-1775839</MicrosoftDotNetTestProjectTemplates20PackageVersion>
<MicrosoftTemplateEngineCliPackageVersion>1.0.2-beta3</MicrosoftTemplateEngineCliPackageVersion>
<MicrosoftTemplateEngineAbstractionsPackageVersion>$(MicrosoftTemplateEngineCliPackageVersion)</MicrosoftTemplateEngineAbstractionsPackageVersion>
<MicrosoftTemplateEngineCliLocalizationPackageVersion>$(MicrosoftTemplateEngineCliPackageVersion)</MicrosoftTemplateEngineCliLocalizationPackageVersion>
@ -36,7 +43,7 @@
<MicrosoftDotNetProjectJsonMigrationPackageVersion>1.3.1</MicrosoftDotNetProjectJsonMigrationPackageVersion>
<MicrosoftDotNetToolsMigrateCommandPackageVersion>$(MicrosoftDotNetProjectJsonMigrationPackageVersion)</MicrosoftDotNetToolsMigrateCommandPackageVersion>
<MicrosoftDotNetArchivePackageVersion>0.2.0-beta-62628-01</MicrosoftDotNetArchivePackageVersion>
<NuGetBuildTasksPackageVersion>4.8.0-preview3.5244</NuGetBuildTasksPackageVersion>
<NuGetBuildTasksPackageVersion>4.8.0-preview3.5278</NuGetBuildTasksPackageVersion>
<NuGetBuildTasksPackPackageVersion>$(NuGetBuildTasksPackageVersion)</NuGetBuildTasksPackPackageVersion>
<NuGetCommonPackageVersion>$(NuGetBuildTasksPackageVersion)</NuGetCommonPackageVersion>
<NuGetCommandLineXPlatPackageVersion>$(NuGetBuildTasksPackageVersion)</NuGetCommandLineXPlatPackageVersion>
@ -46,11 +53,12 @@
<NuGetProjectModelPackageVersion>$(NuGetBuildTasksPackageVersion)</NuGetProjectModelPackageVersion>
<NuGetVersioningPackageVersion>$(NuGetBuildTasksPackageVersion)</NuGetVersioningPackageVersion>
<NuGetSdkResolverPackageVersion>$(NuGetBuildTasksPackageVersion)</NuGetSdkResolverPackageVersion>
<MicrosoftNETTestSdkPackageVersion>15.8.0-preview-20180510-03</MicrosoftNETTestSdkPackageVersion>
<MicrosoftNETTestSdkPackageVersion>15.8.0-preview-20180605-02</MicrosoftNETTestSdkPackageVersion>
<MicrosoftTestPlatformCLIPackageVersion>$(MicrosoftNETTestSdkPackageVersion)</MicrosoftTestPlatformCLIPackageVersion>
<MicrosoftTestPlatformBuildPackageVersion>$(MicrosoftNETTestSdkPackageVersion)</MicrosoftTestPlatformBuildPackageVersion>
<XliffTasksPackageVersion>0.2.0-beta-000042</XliffTasksPackageVersion>
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
<NUnit3TemplatesVersion>1.5.1</NUnit3TemplatesVersion>
</PropertyGroup>
<!-- NOTE: The property group above is in alignment with orchestrated build version naming conventions. -->

View file

@ -116,6 +116,13 @@
<_AspNetCoreAllPackageVersion>$(MicrosoftAspNetCoreAllPackageVersion)</_AspNetCoreAllPackageVersion>
<_AspNetCoreAppPackageVersion>$(MicrosoftAspNetCoreAppPackageVersion)</_AspNetCoreAppPackageVersion>
<!-- Default aspnetcore patch versions, specified as a stabilized version -->
<_DefaultPatchVersionForAspNetCoreAll2_1>2.1.1</_DefaultPatchVersionForAspNetCoreAll2_1>
<_DefaultPatchVersionForAspNetCoreApp2_1>$(_DefaultPatchVersionForAspNetCoreAll2_1)</_DefaultPatchVersionForAspNetCoreApp2_1>
<!-- If we are currently building a prerelease of the version that we intend to lock to, set the default version to the ingested version instead of the stabilized version. -->
<_DefaultPatchVersionForAspNetCoreAll2_1 Condition="$(_AspNetCoreAllPackageVersion.StartsWith('$(_DefaultPatchVersionForAspNetCoreAll2_1)-'))">$(_AspNetCoreAllPackageVersion)</_DefaultPatchVersionForAspNetCoreAll2_1>
<_DefaultPatchVersionForAspNetCoreApp2_1 Condition="$(_AspNetCoreAppPackageVersion.StartsWith('$(_DefaultPatchVersionForAspNetCoreApp2_1)-'))">$(_AspNetCoreAppPackageVersion)</_DefaultPatchVersionForAspNetCoreApp2_1>
<!-- Use only major and minor in target framework version -->
<_NETCoreAppTargetFrameworkVersion>$(_NETCoreAppPackageVersion.Split('.')[0]).$(_NETCoreAppPackageVersion.Split('.')[1])</_NETCoreAppTargetFrameworkVersion>
<_NETStandardTargetFrameworkVersion>$(_NETStandardLibraryPackageVersion.Split('.')[0]).$(_NETStandardLibraryPackageVersion.Split('.')[1])</_NETStandardTargetFrameworkVersion>
@ -125,6 +132,16 @@
<_NETCoreSdkIsPreview Condition=" '$(DropSuffix)' != 'true' ">true</_NETCoreSdkIsPreview>
</PropertyGroup>
<!--
Setting the property to true if patch == 0 and preview == true. SDK will set DefaultNetCorePatchVersion according to this flag.
So that we don't need to manually update the version selection logic between when we ship a final release and when we ship the first patch
-->
<GetUseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion
BundledNETCoreAppPackageVersion="$(BundledNETCoreAppPackageVersion)">
<Output TaskParameter="UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion"
PropertyName="_UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion" />
</GetUseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion>
<ItemGroup>
<BundledVersionsVariable Include="BundledAspNetCoreAllTargetFrameworkVersion" Value="$(_AspNetCoreAllTargetFrameworkVersion)" />
<BundledVersionsVariable Include="BundledAspNetCoreAllPackageVersion" Value="$(_AspNetCoreAllPackageVersion)" />
@ -163,6 +180,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<PropertyGroup>
<BundledNETCoreAppTargetFrameworkVersion>$(_NETCoreAppTargetFrameworkVersion)</BundledNETCoreAppTargetFrameworkVersion>
<BundledNETCoreAppPackageVersion>$(_NETCoreAppPackageVersion)</BundledNETCoreAppPackageVersion>
<UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion>$(_UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion)</UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion>
<BundledNETStandardTargetFrameworkVersion>$(_NETStandardTargetFrameworkVersion)</BundledNETStandardTargetFrameworkVersion>
<BundledNETStandardPackageVersion>$(_NETStandardLibraryPackageVersion)</BundledNETStandardPackageVersion>
<BundledNETCorePlatformsPackageVersion>$(_NETCorePlatformsPackageVersion)</BundledNETCorePlatformsPackageVersion>
@ -170,10 +188,14 @@ Copyright (c) .NET Foundation. All rights reserved.
<NETCoreSdkVersion>$(SdkVersion)</NETCoreSdkVersion>
<_NETCoreSdkIsPreview>$(_NETCoreSdkIsPreview)</_NETCoreSdkIsPreview>
<!-- Default patch versions for each minor version of ASP.NET Core -->
<DefaultPatchVersionForAspNetCoreAll2_1>$(_DefaultPatchVersionForAspNetCoreAll2_1)</DefaultPatchVersionForAspNetCoreAll2_1>
<DefaultPatchVersionForAspNetCoreApp2_1>$(_DefaultPatchVersionForAspNetCoreApp2_1)</DefaultPatchVersionForAspNetCoreApp2_1>
<!-- Latest patch versions for each minor version of .NET Core -->
<LatestPatchVersionForNetCore1_0 Condition="'$(LatestPatchVersionForNetCore1_0)' == ''">1.0.11</LatestPatchVersionForNetCore1_0>
<LatestPatchVersionForNetCore1_1 Condition="'$(LatestPatchVersionForNetCore1_1)' == ''">1.1.8</LatestPatchVersionForNetCore1_1>
<LatestPatchVersionForNetCore2_0 Condition="'$(LatestPatchVersionForNetCore2_0)' == ''">2.0.7</LatestPatchVersionForNetCore2_0>
<LatestPatchVersionForNetCore1_0 Condition="'%24(LatestPatchVersionForNetCore1_0)' == ''">1.0.12</LatestPatchVersionForNetCore1_0>
<LatestPatchVersionForNetCore1_1 Condition="'%24(LatestPatchVersionForNetCore1_1)' == ''">1.1.9</LatestPatchVersionForNetCore1_1>
<LatestPatchVersionForNetCore2_0 Condition="'%24(LatestPatchVersionForNetCore2_0)' == ''">2.0.9</LatestPatchVersionForNetCore2_0>
</PropertyGroup>
</Project>
]]>

View file

@ -23,6 +23,7 @@
<UsingTask TaskName="GenerateMsiVersion" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="GenerateNuGetPackagesArchiveVersion" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="GetCurrentRuntimeInformation" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="GetUseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion" AssemblyFile="$(CLIBuildDll)"/>
<UsingTask TaskName="MakeRelative" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="RemoveAssetFromDepsPackages" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="ReplaceFileContents" AssemblyFile="$(CLIBuildDll)" />

View file

@ -22,6 +22,8 @@
<add key="aspnetcore-release" value="https://dotnet.myget.org/F/aspnetcore-release/api/v3/index.json" />
<add key="aspnetcore-dev" value="https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json" />
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
<add key="templating" value="https://dotnet.myget.org/F/templating/api/v3/index.json" />
<add key="websdk" value="https://dotnet.myget.org/F/dotnet-web/api/v3/index.json" />
<add key="roslyn" value="https://dotnet.myget.org/f/roslyn/api/v3/index.json" />
<add key="nuget-build" value="https://dotnet.myget.org/F/nuget-build/api/v3/index.json" />
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />

View file

@ -54,6 +54,8 @@
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
<ForPublishing Include="$(PackagesDirectory)/VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.swr"
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
<ForPublishing Include="$(PackagesDirectory)/nuGetPackagesArchive.lzma"
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/>
</ItemGroup>
<ItemGroup>

View file

@ -89,7 +89,7 @@
</Target>
<Target Name="TestsForBuildItself">
<DotNetMSBuild Arguments="/v:diag $(RepoRoot)/test/MsBuildScript.Tests/runtests.target"
<DotNetMSBuild Arguments="/v:diag $(RepoRoot)/test/MsBuildScript.Tests/runtests.target /p:PB_AssetRootUrl=$(PB_AssetRootUrl)"
ToolPath="$(PreviousStageDirectory)" />
</Target>

View file

@ -3,6 +3,7 @@
<PropertyGroup>
<FinalArchive>$(SdkOutputDirectory)/nuGetPackagesArchive.lzma</FinalArchive>
<PackagesArchive>$(PackagesDirectory)/nuGetPackagesArchive.lzma</PackagesArchive>
<NugetPackagesArchiveName>nuGetPackagesArchive-$(AspNetCoreVersion).lzma</NugetPackagesArchiveName>
<IntermediateArchive>$(IntermediateDirectory)/$(NugetPackagesArchiveName)</IntermediateArchive>
<NugetPackagesArchiveBlobUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName)</NugetPackagesArchiveBlobUrl>
@ -17,5 +18,6 @@
ContinueOnError="WarnAndContinue" />
<Copy SourceFiles="$(IntermediateArchive)" DestinationFiles="$(FinalArchive)" />
<Copy SourceFiles="$(IntermediateArchive)" DestinationFiles="$(PackagesArchive)" />
</Target>
</Project>

View file

@ -94,12 +94,12 @@
UseHardlinksIfPossible="False" />
<!-- Remove Shared Framework and Debian Packages -->
<Exec Command="sudo dpkg -r $(SdkDebianPackageName)" />
<Exec Command="sudo dpkg -r $(AspNetCoreSharedFxDebianPackageName)" />
<Exec Command="sudo dpkg -r $(SharedFxDebianPackageName)" />
<Exec Command="sudo dpkg -r $(HostFxrDebianPackageName)" />
<Exec Command="sudo dpkg -r $(HostDebianPackageName)" />
<Exec Command="sudo dpkg -r $(RuntimeDepsPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(SdkDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(AspNetCoreSharedFxDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(SharedFxDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(HostFxrDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(HostDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(RuntimeDepsPackageName)" />
</Target>
<Target Name="TestSdkDeb"
@ -129,12 +129,12 @@
ToolPath="$(DebianInstalledDirectory)" />
<!-- Clean up Packages -->
<Exec Command="sudo dpkg -r $(SdkDebianPackageName)" />
<Exec Command="sudo dpkg -r $(AspNetCoreSharedFxDebianPackageName)" />
<Exec Command="sudo dpkg -r $(SharedFxDebianPackageName)" />
<Exec Command="sudo dpkg -r $(HostFxrDebianPackageName)" />
<Exec Command="sudo dpkg -r $(HostDebianPackageName)" />
<Exec Command="sudo dpkg -r $(RuntimeDepsPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(SdkDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(AspNetCoreSharedFxDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(SharedFxDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(HostFxrDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(HostDebianPackageName)" />
<Exec ContinueOnError="WarnAndContinue" Command="sudo dpkg -r $(RuntimeDepsPackageName)" />
</Target>
<Target Name="PrepareDotnetDebDirectories">

View file

@ -30,7 +30,11 @@
<SharedFxDebianPackageVersion>$(MicrosoftNETCoreAppMajorMinorVersion)</SharedFxDebianPackageVersion>
<SharedFxDebianPackageFileName>dotnet-runtime-$(SharedFxDebianPackageFileVersion)</SharedFxDebianPackageFileName>
<SharedFxDebianPackageFileName>$(SharedFxDebianPackageFileName.ToLower())</SharedFxDebianPackageFileName>
<SharedFxDebianPackageName>dotnet-runtime-$(SharedFxDebianPackageVersion)</SharedFxDebianPackageName>
<!--Replace the line below with this line when the following issue is resolved: https://github.com/dotnet/cli/issues/9672
<SharedFxDebianPackageName>dotnet-runtime-$(SharedFxDebianPackageVersion)</SharedFxDebianPackageName>-->
<SharedFxDebianPackageName>dotnet-runtime-$(SharedFxDebianPackageFileVersion)</SharedFxDebianPackageName>
<SharedFxDebianPackageName>$(SharedFxDebianPackageName.ToLower())</SharedFxDebianPackageName>
<HostFxrDebianPackageVersion>$(HostFxrMajorMinorVersion)</HostFxrDebianPackageVersion>
<HostFxrDebianPackageName>dotnet-hostfxr-$(HostFxrDebianPackageVersion)</HostFxrDebianPackageName>
@ -38,7 +42,11 @@
<HostDebianPackageName>dotnet-host</HostDebianPackageName>
<AspNetCoreSharedFxDebianPackageFileName>aspnetcore-runtime-$(AspNetCoreVersion)</AspNetCoreSharedFxDebianPackageFileName>
<AspNetCoreSharedFxDebianPackageFileName>$(AspNetCoreSharedFxDebianPackageFileName.ToLower())</AspNetCoreSharedFxDebianPackageFileName>
<AspNetCoreSharedFxDebianPackageName>aspnetcore-runtime-$(AspNetCoreMajorMinorVersion)</AspNetCoreSharedFxDebianPackageName>
<!--Replace the line below with this line when the following issue is resolved: https://github.com/dotnet/cli/issues/9672
<AspNetCoreSharedFxDebianPackageName>aspnetcore-runtime-$(AspNetCoreMajorMinorVersion)</AspNetCoreSharedFxDebianPackageName>-->
<AspNetCoreSharedFxDebianPackageName>aspnetcore-runtime-$(AspNetCoreVersion)</AspNetCoreSharedFxDebianPackageName>
<AspNetCoreSharedFxDebianPackageName>$(AspNetCoreSharedFxDebianPackageName.ToLower())</AspNetCoreSharedFxDebianPackageName>
</PropertyGroup>

View file

@ -0,0 +1,30 @@
// 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.IO;
using Microsoft.Build.Utilities;
using Microsoft.Build.Framework;
using Microsoft.DotNet.Cli.Build.Framework;
using NuGet.Versioning;
namespace Microsoft.DotNet.Cli.Build
{
public class GetUseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion : Task
{
[Required]
public string BundledNETCoreAppPackageVersion { get; set; }
[Output]
public string UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion { get; set; }
public override bool Execute()
{
var parsedVersion = NuGetVersion.Parse(BundledNETCoreAppPackageVersion);
UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion =
(parsedVersion.Patch == 0) && parsedVersion.IsPrerelease ? "true" : "false";
return true;
}
}
}

View file

@ -18,7 +18,9 @@ def platformList = [
'Linux:arm64:Debug',
'Linux-musl:x64:Debug',
'Linux:x64:Release',
'opensuse.43.2:x64:Debug',
'Linux_NoSuffix:arm:Release',
'Linux_NoSuffix:x64:Release',
'opensuse.42.3:x64:Debug',
'OSX10.12:x64:Release',
'RHEL6:x64:Debug',
'RHEL7.2:x64:Release',
@ -27,7 +29,8 @@ def platformList = [
'ubuntu.18.04:x64:Debug',
'Windows_NT:x64:Release',
'Windows_NT:x86:Debug',
'Windows_NT_ES:x64:Debug'
'Windows_NT_ES:x64:Debug',
'Windows_NT_NoSuffix:x64:Release'
]
def static getBuildJobName(def configuration, def os, def architecture) {
@ -42,50 +45,62 @@ platformList.each { platform ->
// Calculate job name
def jobName = getBuildJobName(configuration, os, architecture)
def buildCommand = '';
def baseBatchBuildCommand = ".\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -Targets Default";
def baseShellBuildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --targets Default";
// Calculate the build command
if (os == 'Windows_NT') {
buildCommand = ".\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -Targets Default"
if (os.startsWith("Windows_NT")) {
osUsedForMachineAffinity = 'Windows_NT'
buildCommand = "${baseBatchBuildCommand}"
if (os == 'Windows_NT_ES') {
buildCommand = """
set DOTNET_CLI_UI_LANGUAGE=es
${buildCommand}
"""
}
else if (os == 'Windows_NT_NoSuffix') {
buildCommand = """
set DropSuffix=true
${buildCommand}
"""
}
}
else if (os == 'Windows_2016') {
buildCommand = ".\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -RunInstallerTestsInDocker -Targets Default"
buildCommand = "${baseBatchBuildCommand} -RunInstallerTestsInDocker"
}
else if (os == 'Windows_NT_ES') {
osUsedForMachineAffinity = 'Windows_NT'
buildCommand = """
set DOTNET_CLI_UI_LANGUAGE=es
.\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -Targets Default
else if (os.startsWith("Linux")) {
osUsedForMachineAffinity = 'Ubuntu16.04';
if (os == 'Linux-musl') {
buildCommand = "${baseShellBuildCommand} --runtime-id linux-musl-x64 --docker alpine.3.6"
}
else
{
buildCommand = "${baseShellBuildCommand} --linux-portable"
if ((architecture == 'arm') || (architecture == 'arm64')) {
buildCommand = "${buildCommand} --architecture ${architecture} /p:CLIBUILD_SKIP_TESTS=true"
}
if (os == 'Linux_NoSuffix') {
buildCommand = """
export DropSuffix=true
${buildCommand}
"""
}
}
}
else if (os == 'Ubuntu') {
buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --docker ubuntu.14.04 --targets Default"
}
else if (os == 'Linux') {
osUsedForMachineAffinity = 'Ubuntu16.04';
if ((architecture == 'arm') || (architecture == 'arm64')) {
buildCommand = "./build.sh --linux-portable --skip-prereqs --architecture ${architecture} --configuration ${configuration} --targets Default /p:CLIBUILD_SKIP_TESTS=true"
}
else {
buildCommand = "./build.sh --linux-portable --skip-prereqs --configuration ${configuration} --targets Default"
}
buildCommand = "${baseShellBuildCommand} --docker ubuntu.14.04"
}
else if (os == 'RHEL6') {
osUsedForMachineAffinity = 'Ubuntu16.04';
buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --runtime-id rhel.6-x64 --docker rhel.6 --targets Default"
buildCommand = "${baseShellBuildCommand} --runtime-id rhel.6-x64 --docker rhel.6"
}
else if (os == 'Linux-musl') {
osUsedForMachineAffinity = 'Ubuntu16.04';
buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --runtime-id linux-musl-x64 --docker alpine.3.6 --targets Default"
}
else if (os == 'ubuntu.18.04' || os == 'fedora.27' || os == 'opensuse.43.2') {
else if (os == 'ubuntu.18.04' || os == 'fedora.27' || os == 'opensuse.42.3') {
osUsedForMachineAffinity = 'Ubuntu16.04'
osVersionUsedForMachineAffinity = 'latest-docker'
buildCommand = "./build.sh --linux-portable --skip-prereqs --configuration ${configuration} --docker ${os} --targets Default"
buildCommand = "${baseShellBuildCommand} --docker ${os} --linux-portable"
}
else {
// Jenkins non-Ubuntu CI machines don't have docker
buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --targets Default"
buildCommand = "${baseShellBuildCommand}"
}
def newJob = job(Utilities.getFullJobName(project, jobName, isPR)) {
@ -110,10 +125,10 @@ set DOTNET_CLI_UI_LANGUAGE=es
}
Utilities.addGithubPRTriggerForBranch(newJob, branch, "${os} ${architecture} ${configuration} Build")
def archiveSettings = new ArchivalSettings()
archiveSettings.addFiles("test/**/*.trx")
archiveSettings.setFailIfNothingArchived()
archiveSettings.setArchiveOnFailure()
def archiveSettings = new ArchivalSettings()
archiveSettings.addFiles("test/**/*.trx")
archiveSettings.setFailIfNothingArchived()
archiveSettings.setArchiveOnFailure()
Utilities.addArchival(newJob, archiveSettings)
}

View file

@ -89,8 +89,8 @@ if($Architecture.StartsWith("arm", [StringComparison]::OrdinalIgnoreCase))
$InstallArchitecture = "x64"
}
Write-Output "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture"""
Invoke-Expression "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture"""
Write-Output "$dotnetInstallPath -version ""2.1.300"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture"""
Invoke-Expression "$dotnetInstallPath -version ""2.1.300"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture"""
if ($LastExitCode -ne 0)
{

View file

@ -162,7 +162,7 @@ if [[ $archlower == 'arm'* ]]; then
fi
if [ "$STAGE0_SOURCE_DIR" == "" ]; then
(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$INSTALL_ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS)
(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.1.300" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$INSTALL_ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS)
else
echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR"
cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR"

View file

@ -9,6 +9,15 @@ FROM microsoft/dotnet-buildtools-prereqs:alpine-3.6-3148f11-20171119021156
# This Dockerfile doesn't use the USER_ID, but the parameter needs to be declared to prevent docker
# from issuing a warning
ARG USER_ID=0
RUN adduser code_executor -u ${USER_ID} -G root -D
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# With the User Change, we need to change permssions on these directories
RUN chmod -R a+rwx /usr/local
RUN chmod -R a+rwx /home
# Set user to the one we just created
USER ${USER_ID}
# Set working directory
WORKDIR /opt/code

View file

@ -10,8 +10,17 @@ namespace Microsoft.Extensions.EnvironmentAbstractions
{
public string Value { get; }
/// <summary>
/// Create DirectoryPath to repesent a absolute directory path. Note it may not exist.
/// </summary>
/// <param name="value">If the value is not rooted. Path.GetFullPath will be called during the consturctor.</param>
public DirectoryPath(string value)
{
if (!Path.IsPathRooted(value))
{
value = Path.GetFullPath(value);
}
Value = value;
}
@ -46,7 +55,7 @@ namespace Microsoft.Extensions.EnvironmentAbstractions
public DirectoryPath GetParentPath()
{
return new DirectoryPath(Directory.GetParent(Path.GetFullPath(Value)).FullName);
return new DirectoryPath(Path.GetDirectoryName(Value));
}
}
}

View file

@ -9,8 +9,17 @@ namespace Microsoft.Extensions.EnvironmentAbstractions
{
public string Value { get; }
/// <summary>
/// Create FilePath to repesent a absolute file path. Note it may not exist.
/// </summary>
/// <param name="value">If the value is not rooted. Path.GetFullPath will be called during the consturctor.</param>
public FilePath(string value)
{
if (!Path.IsPathRooted(value))
{
value = Path.GetFullPath(value);
}
Value = value;
}

View file

@ -9,6 +9,7 @@ using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("dotnet-add-package.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-add-reference.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-help.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-publish.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-list-reference.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-remove-reference.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-remove-package.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]

View file

@ -135,6 +135,7 @@ namespace Microsoft.DotNet.ToolPackage
var tempProjectContent = new XDocument(
new XElement("Project",
new XElement("PropertyGroup",
// due to https://github.com/Microsoft/msbuild/issues/1603 -- import SDK after setting MsBuildProjectExtensionsPath
new XElement("MsBuildProjectExtensionsPath", assetJsonOutputDirectory.Value)), // change the output directory of asset.json
new XElement(("Import"),
new XAttribute("Project", "Sdk.props"),
@ -154,7 +155,7 @@ namespace Microsoft.DotNet.ToolPackage
new XElement("PackageReference",
new XAttribute("Include", packageId.ToString()),
new XAttribute("Version",
versionRange?.ToString("S", new VersionRangeFormatter()) ?? "*"))), // nuget will restore latest stable for *
versionRange?.ToString("N", new VersionRangeFormatter()) ?? "*"))), // nuget will restore latest stable for * and format N is the normalization format
new XElement(("Import"),
new XAttribute("Project", "Sdk.targets"),
new XAttribute("Sdk", "Microsoft.NET.Sdk"))));

View file

@ -47,7 +47,11 @@ namespace Microsoft.DotNet.Cli
LocalizableStrings.CmdPackageDirectoryDescription,
Accept.ExactlyOneArgument()
.With(name: LocalizableStrings.CmdPackageDirectory)
.ForwardAsSingle(o => $"--package-directory {o.Arguments.Single()}")));
.ForwardAsSingle(o => $"--package-directory {o.Arguments.Single()}")),
Create.Option("--interactive",
LocalizableStrings.CmdInteractiveRestoreDescription,
Accept.NoArguments()
.ForwardAs("--interactive")));
}
public static IEnumerable<string> QueryNuGet(string match)

View file

@ -165,4 +165,7 @@
<data name="CmdDGFileIOException" xml:space="preserve">
<value>Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again.</value>
</data>
<data name="CmdInteractiveRestoreDescription" xml:space="preserve">
<value>Allows the command to stop and wait for user input or action (for example to complete authentication).</value>
</data>
</root>

View file

@ -82,6 +82,11 @@
<target state="translated">Nejde generovat dočasný soubor pro projekt {0}. Není možné přidat odkaz na balíček. Vyprázdněte prosím dočasný adresář a zkuste to znovu.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">Für das Projekt "{0}" kann keine temporäre Datei generiert werden. Ein Paketverweis kann nicht hinzugefügt werden. Löschen Sie das temporäre Verzeichnis, und versuchen Sie es noch mal.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">No se puede generar un archivo temporal para el proyecto "{0}". No se puede agregar la referencia del paquete. Borre el directorio temporal e inténtelo de nuevo.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">Impossible de générer un fichier temporaire pour le projet '{0}'. Impossible d'ajouter une référence de package. Effacez le répertoire temporaire et réessayez.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">Non è possibile generare un file temporaneo per il progetto '{0}'. Non è possibile aggiungere il riferimento al pacchetto. Cancellare la directory temp e riprovare.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">プロジェクト '{0}' の一時ファイルを生成できません。パッケージ参照を追加できません。一時ディレクトリをクリアして、もう一度お試しください。</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">'{0}' 프로젝트에 대한 임시 파일을 생성할 수 없습니다. 패키지 참조를 추가할 수 없습니다. 임시 디렉터리를 지우고 다시 시도하세요.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">Nie można wygenerować pliku tymczasowego dla projektu „{0}”. Nie można dodać odwołania do pakietu. Wyczyść katalog tymczasowy i spróbuj ponownie.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">Não é possível gerar um arquivo temporário para o projeto '{0}'. Não é possível adicionar a referência do pacote. Limpe i diretório temporário e tente novamente.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">Не удалось создать временный файл для проекта "{0}". Невозможно добавить ссылку на пакет. Очистите временный каталог и повторите попытку.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">'{0}' projesi için bir geçici dosya oluşturulamıyor. Paket başvurusu eklenemiyor. Lütfen geçici dizini temizleyin ve yeniden deneyin.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">未能为项目“{0}”生成临时文件。无法添加包引用。请清除临时目录,再重试。</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -82,6 +82,11 @@
<target state="translated">無法產生專案 '{0}' 的暫存檔案。無法新增套件參考。請清除暫存目錄並再試一次。</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -35,9 +35,14 @@ namespace Microsoft.DotNet.Tools.NuGet
public int Run(string[] args)
{
var nugetApp = new NuGetForwardingApp(args);
nugetApp.WithEnvironmentVariable("DOTNET_HOST_PATH", GetDotnetPath());
return nugetApp.Execute();
}
}
private static string GetDotnetPath()
{
return new Muxer().MuxerPath;
}
}
}

View file

@ -135,9 +135,16 @@
<data name="ManifestOptionDescription" xml:space="preserve">
<value>The path to a target manifest file that contains the list of packages to be excluded from the publish step.</value>
</data>
<data name="SelfContainedOptionDescription" xml:space="preserve">
<value>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</value>
<data name="ModeOptionDescription" xml:space="preserve">
<value>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</value>
</data>
<data name="ModeOptionName" xml:space="preserve">
<value>MODE</value>
</data>
<data name="NoBuildOptionDescription" xml:space="preserve">
<value>Do not build the project before publishing. Implies --no-restore.</value>
@ -146,10 +153,16 @@ The default is 'true' if a runtime identifier is specified.</value>
<value>The target framework to publish for. The target framework has to be specified in the project file.</value>
</data>
<data name="RuntimeOptionDescription" xml:space="preserve">
<value>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</value>
<value>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</value>
</data>
<data name="ConfigurationOptionDescription" xml:space="preserve">
<value>The configuration to publish for. The default for most projects is 'Debug'.</value>
</data>
<data name="PublishModeAndSelfContainedOptionsConflict" xml:space="preserve">
<value>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</value>
</data>
<data name="UnsupportedPublishMode" xml:space="preserve">
<value>The specified publish mode '{0}' is not supported.</value>
</data>
</root>

View file

@ -39,6 +39,37 @@ namespace Microsoft.DotNet.Tools.Publish
var appliedPublishOption = result["dotnet"]["publish"];
if (appliedPublishOption.HasOption("mode") && appliedPublishOption.HasOption("self-contained"))
{
throw new GracefulException(LocalizableStrings.PublishModeAndSelfContainedOptionsConflict);
}
var mode = appliedPublishOption.ValueOrDefault<string>("mode");
switch (mode)
{
case null:
break;
case PublishCommandParser.SelfContainedMode:
msbuildArgs.Add("-p:SelfContained=true");
break;
case PublishCommandParser.FxDependentMode:
msbuildArgs.Add("-p:SelfContained=false");
break;
case PublishCommandParser.FxDependentNoExeMode:
msbuildArgs.Add("-p:SelfContained=false");
msbuildArgs.Add("-p:UseAppHost=false");
break;
default:
throw new GracefulException(
string.Format(
LocalizableStrings.UnsupportedPublishMode,
mode));
}
msbuildArgs.AddRange(appliedPublishOption.OptionValuesToBeForwarded());
msbuildArgs.AddRange(appliedPublishOption.Arguments);

View file

@ -10,6 +10,10 @@ namespace Microsoft.DotNet.Cli
{
internal static class PublishCommandParser
{
public const string SelfContainedMode = "self-contained";
public const string FxDependentMode = "fx-dependent";
public const string FxDependentNoExeMode = "fx-dependent-no-exe";
public static Command Publish() =>
CreateWithRestoreOptions.Command(
"publish",
@ -40,7 +44,7 @@ namespace Microsoft.DotNet.Cli
Accept.NoArguments().ForwardAs("-property:NoBuild=true")),
Create.Option(
"--self-contained",
LocalizableStrings.SelfContainedOptionDescription,
"", // Hidden option for backwards-compatibility (now '--mode self-contained').
Accept.ZeroOrOneArgument()
.WithSuggestionsFrom("true", "false")
.ForwardAsSingle(o =>
@ -48,6 +52,14 @@ namespace Microsoft.DotNet.Cli
string value = o.Arguments.Any() ? o.Arguments.Single() : "true";
return $"-property:SelfContained={value}";
})),
Create.Option(
"--mode",
LocalizableStrings.ModeOptionDescription,
Accept.AnyOneOf(
SelfContainedMode,
FxDependentMode,
FxDependentNoExeMode)
.With(name: LocalizableStrings.ModeOptionName)),
CommonOptions.NoRestoreOption(),
CommonOptions.VerbosityOption());
}

View file

@ -37,22 +37,15 @@
<target state="translated">Cesta k cílovému souboru manifestu obsahujícímu seznam balíčků, které se mají vyloučit z kroku publikování</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">Publikuje spolu s aplikací modul runtime .NET Core, aby se tento modul nemusel instalovat na cílový počítač.
Výchozí hodnota je True, pokud je zadaný identifikátor modulu runtime.</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">Nesestavujte projekt, dokud ho nepublikujete. Implikuje možnost --no-restore.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">Cílový modul runtime pro publikování. Používá se při vytváření nezávislého nasazení.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">Cílový modul runtime pro publikování. Používá se při vytváření nezávislého nasazení.
Ve výchozím nastavení se publikuje aplikace závislá na architektuře.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ Ve výchozím nastavení se publikuje aplikace závislá na architektuře.</targ
<target state="translated">Konfigurace pro publikování. Výchozí možností pro většinu projektů je Debug.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">Der Pfad zu einer Zielmanifestdatei, die die Liste der von der Veröffentlichung auszuschließenden Pakete enthält.</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">Veröffentlichen Sie die .NET Core-Runtime mit Ihrer Anwendung, damit die Runtime nicht auf dem Zielcomputer installiert werden muss.
Der Standardwert ist "true", wenn ein Runtimebezeichner angegeben ist.</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">Erstellt das Projekt nicht vor dem Veröffentlichen. Impliziert "--no-restore".</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">Die Zielruntime für die Veröffentlichung. Diese wird zum Erstellen einer eigenständigen Bereitstellung verwendet.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">Die Zielruntime für die Veröffentlichung. Diese wird zum Erstellen einer eigenständigen Bereitstellung verwendet.
Standardmäßig wird eine frameworkabhängige Anwendung veröffentlicht.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ Standardmäßig wird eine frameworkabhängige Anwendung veröffentlicht.</target
<target state="translated">Die Konfiguration für die Veröffentlichung. Der Standardwert für die meisten Projekte ist "Debug".</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">La ruta de acceso a un archivo de manifiesto de destino que contiene la lista de paquetes que se excluirán del paso de publicación.</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">Publica el tiempo de ejecución de .NET Core con su aplicación para que no sea necesario instalarlo en la máquina de destino.
Si se especifica un identificador de tiempo de ejecución, se toma como predeterminado el valor "true".</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">No compile el proyecto antes de publicarlo. Implica --no-restore.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">El tiempo de ejecución de destino para el que se publica. Se usa cuando se crea una implementación autocontenida.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">El tiempo de ejecución de destino para el que se publica. Se usa cuando se crea una implementación autocontenida.
El valor predeterminado es publicar una aplicación dependiente de la plataforma.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ El valor predeterminado es publicar una aplicación dependiente de la plataforma
<target state="translated">La configuración para la que se publica. El valor predeterminado para la mayoría de los proyectos es "Debug".</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">Chemin d'un fichier manifeste cible contenant la liste des packages à exclure de l'étape de publication.</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">Publiez le runtime .NET Core avec votre application pour éviter à l'utilisateur de l'installer sur la machine cible.
La valeur par défaut est 'true' si un identificateur de runtime est spécifié.</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">Ne pas générer le projet avant la publication. Implique --no-restore.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">Runtime cible pour lequel la publication est effectuée. S'utilise pour la création d'un déploiement autonome.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">Runtime cible pour lequel la publication est effectuée. S'utilise pour la création d'un déploiement autonome.
L'action par défaut consiste à publier une application qui dépend d'un framework.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ L'action par défaut consiste à publier une application qui dépend d'un framew
<target state="translated">Configuration pour laquelle la publication est effectuée. La valeur par défaut pour la plupart des projets est 'Debug'.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">Percorso di un file manifesto di destinazione che contiene l'elenco di pacchetti da escludere dal passaggio di pubblicazione.</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">Pubblica il runtime di .NET Core con l'applicazione in modo che non sia necessario installarlo nel computer di destinazione.
Se si specifica un identificatore di runtime, l'impostazione predefinita è 'true'.</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">Non compila il progetto prima della pubblicazione. Implica --no-restore.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">Runtime di destinazione per cui eseguire la pubblicazione. Viene usata durante la creazione della distribuzione indipendente.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">Runtime di destinazione per cui eseguire la pubblicazione. Viene usata durante la creazione della distribuzione indipendente.
Per impostazione predefinita, viene pubblicata un'applicazione dipendente dal framework.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ Per impostazione predefinita, viene pubblicata un'applicazione dipendente dal fr
<target state="translated">Configurazione per cui eseguire la pubblicazione. L'impostazione predefinita per la maggior parte dei progetti è 'Debug'.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">発行ステップから除外されるパッケージのリストを含むターゲット マニフェスト ファイルへのパス。</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">ランタイムをターゲット マシンにインストールしなくてもよいよう、.NET Core ランタイムをアプリケーションと一緒に発行します。
ランタイム ID が指定された場合、既定値は 'true' です。</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">発行する前にプロジェクトをビルドしないでください。--no-restore を意味します。</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">発行する対象のターゲット ランタイム。これは、自己完結型の配置を作成する際に使用します。
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">発行する対象のターゲット ランタイム。これは、自己完結型の配置を作成する際に使用します。
既定では、フレームワーク依存アプリケーションを発行します。</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ The default is to publish a framework-dependent application.</source>
<target state="translated">発行する対象の構成。大部分のプロジェクトで、既定値は 'Debug' です。</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">게시 단계에서 제외할 패키지 목록이 들어 있는 대상 매니페스트 파일의 경로입니다.</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">런타임은 대상 컴퓨터에 설치할 필요가 없으므로 응용 프로그램과 함께 .NET Core 런타임을 게시합니다.
런타임 식별자가 지정된 경우 기본값은 'true'입니다.</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">게시하기 전에 프로젝트를 빌드하지 않습니다. 복원 없음을 의미합니다.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">게시할 대상 런타임입니다. 자체 포함 배포를 만들 때 사용됩니다.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">게시할 대상 런타임입니다. 자체 포함 배포를 만들 때 사용됩니다.
기본값은 프레임워크 종속 응용 프로그램을 게시하는 것입니다.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ The default is to publish a framework-dependent application.</source>
<target state="translated">게시할 구성입니다. 대부분의 프로젝트에서 기본값은 'Debug'입니다.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">Ścieżka do docelowego pliku manifestu zawierającego listę pakietów, które mają zostać wykluczone z kroku publikowania.</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">Opublikuj środowisko uruchomieniowe programu .NET Core z aplikacją, aby nie trzeba było go instalować na maszynie docelowej.
Ustawieniem domyślnym jest wartość „true” w przypadku określenia identyfikatora środowiska uruchomieniowego.</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">Nie kompiluj tego projektu przed opublikowaniem. Powoduje przyjęcie, że podano parametr --no-restore.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">Docelowe środowisko uruchomieniowe na potrzeby publikacji. Ustawienie stosowane w przypadku tworzenia wdrożenia autonomicznego.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">Docelowe środowisko uruchomieniowe na potrzeby publikacji. Ustawienie stosowane w przypadku tworzenia wdrożenia autonomicznego.
Ustawieniem domyślnym jest opublikowanie aplikacji zależnej od platformy.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ Ustawieniem domyślnym jest opublikowanie aplikacji zależnej od platformy.</tar
<target state="translated">Konfiguracja, dla której ma być wykonane publikowanie. W przypadku większości projektów ustawienie domyślne to „Debugowanie”.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">O caminho para um arquivo de manifesto de destino que contém a lista de pacotes a serem excluídos da etapa de publicação.</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">Publique o tempo de execução do .NET Core com seu aplicativo para que o tempo de execução não precise ser instalado no computador de destino.
O padrão será 'true' se um identificador de tempo de execução for especificado.</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">Não compile o projeto antes de publicar. Implica em --no-restore.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">O tempo de execução de destino da publicação. Ele é usado ao criar uma implantação autossuficiente.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">O tempo de execução de destino da publicação. Ele é usado ao criar uma implantação autossuficiente.
O padrão é publicar um aplicativo dependente da estrutura.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ O padrão é publicar um aplicativo dependente da estrutura.</target>
<target state="translated">A configuração para a qual a publicação ocorrerá. O padrão para a maioria dos projetos é 'Debug'.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">Путь к целевому файлу манифеста, содержащему список пакетов, исключаемых из публикации.</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">Опубликуйте среду выполнения .NET Core вместе с приложением, чтобы ее не нужно было устанавливать на целевом компьютере.
Если указан идентификатор среды выполнения, этот параметр по умолчанию имеет значение "true" (истина).</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">Сборка проекта перед публикацией не выполняется. Подразумевает --no-restore.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">Целевая среда выполнения публикации. Используется при создании автономного развертывания.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">Целевая среда выполнения публикации. Используется при создании автономного развертывания.
По умолчанию публикуется платформозависимое приложение.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ The default is to publish a framework-dependent application.</source>
<target state="translated">Конфигурация для публикации. По умолчанию для большинства проектов используется "Debug".</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">Yayımlama adımının dışında tutulacak paketlerin listesini içeren bir hedef bildirim dosyasının yolu.</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">Çalışma zamanının hedef makineye yüklenmesine gerek kalmaması için, .NET Core çalışma zamanını uygulamanızla birlikte yayımlayın.
Bir çalışma zamanı tanımlayıcısı belirtilmişse, varsayılan olarak 'true' değerine ayarlanır.</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">Yayımlamadan önce projeyi derlemeyin. --no-restore anlamına gelir.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">Yayımlamanın yapılacağı hedef çalışma zamanı. Kendi içinde dağıtımlar oluşturulurken kullanılır.
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">Yayımlamanın yapılacağı hedef çalışma zamanı. Kendi içinde dağıtımlar oluşturulurken kullanılır.
Varsayılan seçenek, çerçeveye bağımlı bir proje yayımlamaktır.</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ Varsayılan seçenek, çerçeveye bağımlı bir proje yayımlamaktır.</target>
<target state="translated">Yayımlanacak yapılandırma. Çoğu proje için varsayılan, Hata Ayıklama seçeneğidir.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">指向目标清单文件的路径,该文件包含要通过发布步骤执行的包的列表。</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">随附应用程序发布 .NET Core 运行时,免除在目标计算机上安装运行时的需求。
如果指定了运行时标识符,则默认为 "true"。</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">发布之前不要生成项目。Implies --no-restore.</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">要发布的目标运行时。创建自包含部署时使用此项。
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">要发布的目标运行时。创建自包含部署时使用此项。
默认操作为发布依赖框架的应用程序。</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ The default is to publish a framework-dependent application.</source>
<target state="translated">要发布的配置。大多数项目的默认值是 "Debug"。</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -37,22 +37,15 @@
<target state="translated">目標資訊清單檔案的路徑,其包含要從發行步驟中排除的套件清單。</target>
<note />
</trans-unit>
<trans-unit id="SelfContainedOptionDescription">
<source>Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.</source>
<target state="translated">隨著應用程式一併發行 .NET Core 執行階段,因而不需要在目標電腦上安裝此執行階段。
若指定了執行階段識別碼,則預設為 'true'。</target>
<note />
</trans-unit>
<trans-unit id="NoBuildOptionDescription">
<source>Do not build the project before publishing. Implies --no-restore.</source>
<target state="translated">請勿在執行之前建置專案。提示:-no-restore。</target>
<note />
</trans-unit>
<trans-unit id="RuntimeOptionDescription">
<source>The target runtime to publish for. This is used when creating self-contained deployment.
The default is to publish a framework-dependent application.</source>
<target state="translated">對其進行發行的目標執行階段。建立獨立的部署時,將會使用。
<source>The target runtime to publish the application for.
The default is to publish a framework-dependent application without an executable.</source>
<target state="needs-review-translation">對其進行發行的目標執行階段。建立獨立的部署時,將會使用。
預設會發行與架構相依的應用程式。</target>
<note />
</trans-unit>
@ -61,6 +54,36 @@ The default is to publish a framework-dependent application.</source>
<target state="translated">要為其進行發行的組態。大部分的專案預設為「偵錯」。</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionDescription">
<source>The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</source>
<target state="new">The mode to use when publishing the application.
The 'self-contained' mode publishes the application with the .NET Core runtime.
The 'fx-dependent' mode publishes the application as framework-dependent. If a target runtime is specified, it is published with an executable.
The 'fx-dependent-no-exe' mode publishes the application as framework-dependent without an executable.
The default is 'fx-dependent-no-exe' when a target runtime is not specified.
The default is 'self-contained' when a target runtime is specified.</target>
<note />
</trans-unit>
<trans-unit id="ModeOptionName">
<source>MODE</source>
<target state="new">MODE</target>
<note />
</trans-unit>
<trans-unit id="PublishModeAndSelfContainedOptionsConflict">
<source>The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</source>
<target state="new">The '--mode' and '--self-contained' options cannot be used together. Specify only one of the options.</target>
<note />
</trans-unit>
<trans-unit id="UnsupportedPublishMode">
<source>The specified publish mode '{0}' is not supported.</source>
<target state="new">The specified publish mode '{0}' is not supported.</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -169,4 +169,7 @@
<value>Force all dependencies to be resolved even if the last restore was successful.
This is equivalent to deleting project.assets.json.</value>
</data>
<data name="CmdInteractiveRestoreOptionDescription" xml:space="preserve">
<value>Allows the command to stop and wait for user input or action (for example to complete authentication).</value>
</data>
</root>

View file

@ -24,7 +24,14 @@ namespace Microsoft.DotNet.Cli
{
var fullRestoreOptions = AddImplicitRestoreOptions(new Option[] { CommonOptions.HelpOption() }, true, true);
return fullRestoreOptions.Concat(new Option[] { CommonOptions.VerbosityOption() }).ToArray();
return fullRestoreOptions.Concat(
new Option[] {
CommonOptions.VerbosityOption(),
Create.Option(
"--interactive",
LocalizableStrings.CmdInteractiveRestoreOptionDescription,
Accept.NoArguments()
.ForwardAs("-property:NuGetInteractive=true")) }).ToArray();
}
public static Option[] AddImplicitRestoreOptions(
@ -98,4 +105,4 @@ namespace Microsoft.DotNet.Cli
};
}
}
}
}

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
Jedná se o ekvivalent odstranění project.assets.json.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
Dies entspricht dem Löschen von "project.assets.json".</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
Esta acción es equivalente a eliminar project.assets.json.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
Cela équivaut à supprimer project.assets.json.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
Equivale a eliminare project.assets.json.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
これは、project.assets.json を削除することと同じです。</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
project.assets.json을 삭제하는 것과 동일합니다.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
Jest to równoważne usunięciu pliku project.assets.json.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
Isso equivale a excluir o project.assets.json.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
Эквивалентно удалению файла project.assets.json.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
project.assets.json öğesini silmeyle eşdeğerdir.</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
这等效于删除 project.assets.json。</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -89,6 +89,11 @@ This is equivalent to deleting project.assets.json.</source>
如此等同於刪除 project.assets.json。</target>
<note />
</trans-unit>
<trans-unit id="CmdInteractiveRestoreOptionDescription">
<source>Allows the command to stop and wait for user input or action (for example to complete authentication).</source>
<target state="new">Allows the command to stop and wait for user input or action (for example to complete authentication).</target>
<note />
</trans-unit>
</body>
</file>
</xliff>

View file

@ -145,7 +145,7 @@
<value>PROJECT_PATH</value>
</data>
<data name="RemoveProjectPathArgumentDescription" xml:space="preserve">
<value>The paths to the projects to from from the solution.</value>
<value>The paths to the projects to remove from the solution.</value>
</data>
<data name="RemoveAppFullName" xml:space="preserve">
<value>Remove one or more projects from a solution file.</value>

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">Cesty k projektům, které se mají odebrat z řešení</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">Cesty k projektům, které se mají odebrat z řešení</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">Die Pfade zu den Projekten, die von der Projektmappe entfernt werden sollen.</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">Die Pfade zu den Projekten, die von der Projektmappe entfernt werden sollen.</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">Las rutas a los proyectos desde la solución.</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">Las rutas a los proyectos desde la solución.</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">Chemins des projets à supprimer de la solution.</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">Chemins des projets à supprimer de la solution.</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">Percorsi dei progetti da rimuovere dalla soluzione.</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">Percorsi dei progetti da rimuovere dalla soluzione.</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">ソリューションから削除するプロジェクトへのパス。</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">ソリューションから削除するプロジェクトへのパス。</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">솔루션에서 제거할 프로젝트의 경로입니다.</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">솔루션에서 제거할 프로젝트의 경로입니다.</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">Ścieżki do projektów, które mają zostać usunięte z rozwiązania.</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">Ścieżki do projektów, które mają zostać usunięte z rozwiązania.</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">Os caminhos para os projetos da solução.</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">Os caminhos para os projetos da solução.</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">Пути к проектам, которые необходимо удалить из решения.</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">Пути к проектам, которые необходимо удалить из решения.</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">Çözümden kaldırılacak projelerin yolları.</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">Çözümden kaldırılacak projelerin yolları.</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">从解决方案到项目的路径。</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">从解决方案到项目的路径。</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -68,8 +68,8 @@
<note />
</trans-unit>
<trans-unit id="RemoveProjectPathArgumentDescription">
<source>The paths to the projects to from from the solution.</source>
<target state="translated">從解決方案到達要專案的路徑。</target>
<source>The paths to the projects to remove from the solution.</source>
<target state="needs-review-translation">從解決方案到達要專案的路徑。</target>
<note />
</trans-unit>
<trans-unit id="ProjectsHeader">

View file

@ -76,7 +76,7 @@
</ItemGroup>
<ItemGroup Condition=" '$(IncludeAspNetCoreRuntime)' != 'false' ">
<PackageReference Include="Microsoft.AspNetCore.DeveloperCertificates.XPlat" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.DeveloperCertificates.XPlat" Version="$(MicrosoftAspNetCoreDeveloperCertificatesXPlatPackageVersion)" />
</ItemGroup>
<ItemGroup>

View file

@ -0,0 +1,90 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Xml.Linq;
using FluentAssertions;
using Microsoft.DotNet.PlatformAbstractions;
using Microsoft.DotNet.TestFramework;
using Microsoft.DotNet.Tools.Test.Utilities;
using NuGet.ProjectModel;
using NuGet.Versioning;
using Xunit;
namespace EndToEnd
{
public class GivenFrameworkDependentApps : TestBase
{
[Theory]
[ClassData(typeof(SupportedNetCoreAppVersions))]
public void ItDoesNotRollForwardToTheLatestVersion(string minorVersion)
{
var _testInstance = TestAssets.Get("TestAppSimple")
.CreateInstance(identifier: minorVersion)
// scope the feed to only dotnet-core feed to avoid flaky when different feed has a newer / lower version
.WithNuGetConfig(new RepoDirectoriesProvider().TestPackages)
.WithSourceFiles();
string projectDirectory = _testInstance.Root.FullName;
string projectPath = Path.Combine(projectDirectory, "TestAppSimple.csproj");
var project = XDocument.Load(projectPath);
var ns = project.Root.Name.Namespace;
// Update TargetFramework to the right version of .NET Core
project.Root.Element(ns + "PropertyGroup")
.Element(ns + "TargetFramework")
.Value = "netcoreapp" + minorVersion;
project.Save(projectPath);
// Get the resolved version of .NET Core
new RestoreCommand()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should().Pass();
string assetsFilePath = Path.Combine(projectDirectory, "obj", "project.assets.json");
var assetsFile = new LockFileFormat().Read(assetsFilePath);
var versionInAssertsJson = GetNetCoreAppVersion(assetsFile);
versionInAssertsJson.Should().NotBeNull();
if (versionInAssertsJson.IsPrerelease && versionInAssertsJson.Patch == 0)
{
// if the bundled version is, for example, a prerelease of
// .NET Core 2.1.1, that we don't roll forward to that prerelease
// version for framework-dependent deployments.
return;
}
versionInAssertsJson.ToNormalizedString().Should().BeEquivalentTo(GetExpectedVersion(minorVersion));
}
private NuGetVersion GetNetCoreAppVersion(LockFile lockFile)
{
return lockFile?.Targets?.SingleOrDefault(t => t.RuntimeIdentifier == null)
?.Libraries?.SingleOrDefault(l =>
string.Compare(l.Name, "Microsoft.NETCore.App", StringComparison.CurrentCultureIgnoreCase) == 0)
?.Version;
}
public string GetExpectedVersion(string minorVersion)
{
if (minorVersion.StartsWith("1.0"))
{
return "1.0.5"; // special case for 1.0
}
else if (minorVersion.StartsWith("1.1"))
{
return "1.1.2"; // special case for 1.1
}
else
{
var parsed = NuGetVersion.Parse(minorVersion);
return new NuGetVersion(parsed.Major, parsed.Minor, 0).ToNormalizedString();
}
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
@ -13,15 +12,22 @@ using Xunit;
namespace EndToEnd
{
public class GivenSelfContainedAppsRollForward : TestBase
public partial class GivenSelfContainedAppsRollForward : TestBase
{
[Theory(Skip = "Runtime 1.1 support for openSUSE and Fedora 27 needed")]
[Theory]
// MemberData is used instead of InlineData here so we can access it in another test to
// verify that we are covering the latest release of .NET Core
[MemberData(nameof(SupportedNetCoreAppVersions))]
[ClassData(typeof(SupportedNetCoreAppVersions))]
public void ItRollsForwardToTheLatestVersion(string minorVersion)
{
// https://github.com/dotnet/cli/issues/9661: remove this once the ASP.NET version bump
// merges from 2.1.3xx -> 2.1.4xx -> 2.2.1xx
if (minorVersion == "2.1")
{
return;
}
var _testInstance = TestAssets.Get("TestAppSimple")
.CreateInstance(identifier: minorVersion)
.WithSourceFiles();
@ -118,25 +124,11 @@ namespace EndToEnd
.Element(ns + "TargetFramework")
.Value;
SupportedNetCoreAppVersions.Select(v => $"netcoreapp{v[0]}")
.Should().Contain(targetFramework, $"the {nameof(SupportedNetCoreAppVersions)} property should include the default version " +
SupportedNetCoreAppVersions.Versions.Select(v => $"netcoreapp{v[0]}")
.Should().Contain(targetFramework, $"the {nameof(SupportedNetCoreAppVersions)}.{nameof(SupportedNetCoreAppVersions.Versions)} property should include the default version " +
"of .NET Core created by \"dotnet new\"");
}
}
public static IEnumerable<object[]> SupportedNetCoreAppVersions
{
get
{
return new[]
{
"1.0",
"1.1",
"2.0",
"2.1"
}.Select(version => new object[] { version });
}
}
}
}

View file

@ -0,0 +1,26 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Xunit;
namespace EndToEnd
{
public class SupportedNetCoreAppVersions : IEnumerable<object[]>
{
public IEnumerator<object[]> GetEnumerator() => Versions.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
public static IEnumerable<object[]> Versions
{
get
{
return new[]
{
"1.0",
"1.1",
"2.0",
"2.1"
}.Select(version => new object[] { version });
}
}
}
}

View file

@ -30,8 +30,7 @@
TemplateFillInPackageName=%(BundledDotnetTools.Identity);
TemplateFillInPackageVersion=%(BundledDotnetTools.Version);
PreviousStageDirectory=$(PreviousStageDirectory);
DotnetToolsLayoutDirectory=$(testAssetSourceRoot);
DotnetToolsRestoreProjectStyle=DotnetToolReference
DotnetToolsLayoutDirectory=$(testAssetSourceRoot)
</Properties>
</TestDotnetTools>
</ItemGroup>

View file

@ -52,10 +52,9 @@
<Properties>
DotnetToolsLayoutDirectory=$(SdkOutputDirectory)/DotnetTools;
TemplateFillInPackageName=dotnet-watch;
TemplateFillInPackageVersion=$(AspNetCoreVersion);
TemplateFillInPackageVersion=$(DotnetWatchPackageVersion);
PreviousStageDirectory=$(PreviousStageDirectory);
DotnetToolsLayoutDirectory=$(testAssetSourceRoot);
DotnetToolsRestoreProjectStyle=DotnetToolReference
DotnetToolsLayoutDirectory=$(testAssetSourceRoot)
</Properties>
</TestDotnetTools>
</ItemGroup>

View file

@ -117,7 +117,7 @@ namespace Microsoft.DotNet.TestFramework
var content = @"<?xml version=""1.0"" encoding=""utf-8""?>
<configuration>
<packageSources>
<add key=""dotnet-core"" value=""https://dotnet.myget.org/F/dotnet-core/api/v3/index.json"" />
<add key=""dotnet-core"" value=""https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json"" />
<add key=""test-packages"" value=""$fullpath$"" />
</packageSources>
</configuration>";

View file

@ -1,8 +1,9 @@
// 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;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
@ -16,8 +17,10 @@ using Microsoft.DotNet.Tools.Tool.Install;
using Microsoft.DotNet.Tools.Tests.ComponentMocks;
using Microsoft.Extensions.DependencyModel.Tests;
using Microsoft.Extensions.EnvironmentAbstractions;
using Microsoft.TemplateEngine.Cli;
using NuGet.Versioning;
using Xunit;
using LocalizableStrings = Microsoft.DotNet.Tools.Tool.Install.LocalizableStrings;
namespace Microsoft.DotNet.ToolPackage.Tests
{
@ -598,7 +601,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests
var package = installer.InstallPackage(
packageId: TestPackageId,
versionRange: VersionRange.Parse("1.0.*"),
versionRange: VersionRange.Parse("1.0.0"),
targetFramework: _testTargetframework,
nugetConfig: nugetConfigPath);
@ -612,6 +615,60 @@ namespace Microsoft.DotNet.ToolPackage.Tests
package.Uninstall();
}
[Fact]
public void GivenARootWithNonAsciiCharactorInstallSucceeds()
{
var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed();
var surrogate = char.ConvertFromUtf32(int.Parse("2A601", NumberStyles.HexNumber));
string nonAscii = "ab Ṱ̺̺̕o 田中さん åä," + surrogate;
var root = new DirectoryPath(Path.Combine(TempRoot.Root, nonAscii, Path.GetRandomFileName()));
var reporter = new BufferedReporter();
var fileSystem = new FileSystemWrapper();
var store = new ToolPackageStore(root);
var installer = new ToolPackageInstaller(
store: store,
projectRestorer: new ProjectRestorer(reporter),
tempProject: GetUniqueTempProjectPathEachTest(),
offlineFeed: new DirectoryPath("does not exist"));
var package = installer.InstallPackage(
packageId: TestPackageId,
versionRange: VersionRange.Parse(TestPackageVersion),
targetFramework: _testTargetframework,
nugetConfig: nugetConfigPath);
AssertPackageInstall(reporter, fileSystem, package, store);
package.Uninstall();
}
[Theory]
[InlineData(false)]
[InlineData(true)]
// repro https://github.com/dotnet/cli/issues/9409
public void GivenAComplexVersionRangeInstallSucceeds(bool testMockBehaviorIsInSync)
{
var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed();
var emptySource = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
Directory.CreateDirectory(emptySource);
var (store, installer, reporter, fileSystem) = Setup(
useMock: testMockBehaviorIsInSync,
feeds: GetMockFeedsForSource(emptySource));
var package = installer.InstallPackage(
packageId: TestPackageId,
versionRange: VersionRange.Parse("1.0.0-rc*"),
targetFramework: _testTargetframework,
nugetConfig: nugetConfigPath, additionalFeeds: new[] { emptySource });
AssertPackageInstall(reporter, fileSystem, package, store);
package.Uninstall();
}
private static void AssertPackageInstall(
BufferedReporter reporter,
IFileSystem fileSystem,

View file

@ -13,7 +13,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities
private string _output;
private string _runtime;
private List<string> _targetManifests = new List<string>();
private bool? _selfContained;
private string _mode;
public PublishCommand WithFramework(string framework)
{
@ -44,9 +44,9 @@ namespace Microsoft.DotNet.Tools.Test.Utilities
return this;
}
public PublishCommand WithSelfContained(bool value)
public PublishCommand WithMode(string value)
{
_selfContained = value;
_mode = value;
return this;
}
@ -69,7 +69,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities
OutputOption,
TargetOption,
RuntimeOption,
SelfContainedOption);
ModeOption);
}
private string FrameworkOption => string.IsNullOrEmpty(_framework) ? "" : $"-f {_framework}";
@ -80,6 +80,6 @@ namespace Microsoft.DotNet.Tools.Test.Utilities
private string TargetOption => string.Join(" ", _targetManifests);
private string SelfContainedOption => _selfContained.HasValue ? $"--self-contained:{_selfContained.Value}" : "";
private string ModeOption => string.IsNullOrEmpty(_mode) ? "" : $"--mode {_mode}";
}
}

View file

@ -39,6 +39,17 @@ namespace Microsoft.Extensions.DependencyModel.Tests
return this;
}
/// <summary>
/// Just a "home" means different path on Windows and Unix.
/// Create a platform dependent Temporary directory path and use it to avoid further mis interpretation in
/// later tests. Like "c:/home vs /home". Instead always use Path.Combine(TempraryDirectory, "home")
/// </summary>
internal FileSystemMockBuilder UseCurrentSystemTemporaryDirectory()
{
TemporaryFolder = Path.GetTempPath();
return this;
}
internal IFileSystem Build()
{
return new FileSystemMock(_files, TemporaryFolder);

View file

@ -19,6 +19,7 @@ namespace Microsoft.DotNet.New.Tests
[InlineData("C#", "console", false)]
[InlineData("C#", "classlib", false)]
[InlineData("C#", "mstest", false)]
[InlineData("C#", "nunit", false)]
[InlineData("C#", "xunit", false)]
[InlineData("C#", "web", false)]
[InlineData("C#", "mvc", false)]
@ -30,11 +31,13 @@ namespace Microsoft.DotNet.New.Tests
// re-enable when this bug is resolved: https://github.com/dotnet/cli/issues/7574
//[InlineData("F#", "classlib", false)]
[InlineData("F#", "mstest", false)]
[InlineData("F#", "nunit", false)]
[InlineData("F#", "xunit", false)]
[InlineData("F#", "mvc", false)]
[InlineData("VB", "console", false)]
[InlineData("VB", "classlib", false)]
[InlineData("VB", "mstest", false)]
[InlineData("VB", "nunit", false)]
[InlineData("VB", "xunit", false)]
public void TemplateRestoresAndBuildsWithoutWarnings(
string language,

View file

@ -11,6 +11,7 @@ using Microsoft.DotNet.PlatformAbstractions;
using Microsoft.DotNet.TestFramework;
using Microsoft.DotNet.Tools.Test.Utilities;
using Xunit;
using LocalizableStrings = Microsoft.DotNet.Tools.Publish.LocalizableStrings;
namespace Microsoft.DotNet.Cli.Publish.Tests
{
@ -95,62 +96,54 @@ namespace Microsoft.DotNet.Cli.Publish.Tests
.And.HaveStdOutContaining("project.assets.json");
}
[Fact]
public void ItPublishesARunnableSelfContainedApp()
[Theory]
[InlineData(null)]
[InlineData("--self-contained")]
[InlineData("--self-contained=true")]
public void ItPublishesSelfContainedWithRid(string args)
{
var testAppName = "MSBuildTestApp";
var testInstance = TestAssets.Get(testAppName)
.CreateInstance()
.WithSourceFiles()
.WithRestoreFiles();
var testProjectDirectory = testInstance.Root;
var rid = DotnetLegacyRuntimeIdentifiers.InferLegacyRestoreRuntimeIdentifier();
new PublishCommand()
.WithFramework("netcoreapp2.2")
.WithRuntime(rid)
.WithWorkingDirectory(testProjectDirectory)
.Execute()
.Should().Pass();
var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug";
var outputProgram = testProjectDirectory
.GetDirectory("bin", configuration, "netcoreapp2.2", rid, "publish", $"{testAppName}{Constants.ExeSuffix}")
.FullName;
EnsureProgramIsRunnable(outputProgram);
new TestCommand(outputProgram)
.ExecuteWithCapturedOutput()
.Should().Pass()
.And.HaveStdOutContaining("Hello World");
}
[Fact]
public void ItPublishesARidSpecificAppSettingSelfContainedToTrue()
{
var testAppName = "MSBuildTestApp";
var outputDirectory = PublishAppWithSelfContained(testAppName, true);
var outputDirectory = PublishApp(testAppName, rid, args);
var outputProgram = Path.Combine(outputDirectory.FullName, $"{testAppName}{Constants.ExeSuffix}");
EnsureProgramIsRunnable(outputProgram);
new TestCommand(outputProgram)
.ExecuteWithCapturedOutput()
.Should().Pass()
.And.HaveStdOutContaining("Hello World");
}
[Fact]
public void ItPublishesARidSpecificAppSettingSelfContainedToFalse()
[Theory]
[InlineData("--self-contained=false")]
public void ItPublishesFrameworkDependentWithRid(string args)
{
var testAppName = "MSBuildTestApp";
var outputDirectory = PublishAppWithSelfContained(testAppName, false);
var rid = DotnetLegacyRuntimeIdentifiers.InferLegacyRestoreRuntimeIdentifier();
var outputDirectory = PublishApp(testAppName, rid, args);
outputDirectory.Should().OnlyHaveFiles(new[] {
$"{testAppName}.dll",
$"{testAppName}.pdb",
$"{testAppName}.deps.json",
$"{testAppName}.runtimeconfig.json",
});
var outputProgram = Path.Combine(outputDirectory.FullName, $"{testAppName}{Constants.ExeSuffix}");
new DotnetCommand()
.ExecuteWithCapturedOutput(Path.Combine(outputDirectory.FullName, $"{testAppName}.dll"))
.Should().Pass()
.And.HaveStdOutContaining("Hello World");
}
[Theory]
[InlineData("--self-contained=false")]
[InlineData(null)]
public void ItPublishesFrameworkDependentWithoutRid(string args)
{
var testAppName = "MSBuildTestApp";
var outputDirectory = PublishApp(testAppName, rid: null, args: args);
outputDirectory.Should().OnlyHaveFiles(new[] {
$"{testAppName}.dll",
@ -165,36 +158,24 @@ namespace Microsoft.DotNet.Cli.Publish.Tests
.And.HaveStdOutContaining("Hello World");
}
private DirectoryInfo PublishAppWithSelfContained(string testAppName, bool selfContained)
private DirectoryInfo PublishApp(string testAppName, string rid, string args = null)
{
var testInstance = TestAssets.Get(testAppName)
.CreateInstance($"PublishesSelfContained{selfContained}")
.CreateInstance($"PublishApp_{rid ?? "none"}_{args ?? "none"}")
.WithSourceFiles()
.WithRestoreFiles();
var testProjectDirectory = testInstance.Root;
var rid = DotnetLegacyRuntimeIdentifiers.InferLegacyRestoreRuntimeIdentifier();
new PublishCommand()
.WithRuntime(rid)
.WithSelfContained(selfContained)
.WithWorkingDirectory(testProjectDirectory)
.Execute()
.Execute(args ?? "")
.Should().Pass();
var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug";
return testProjectDirectory
.GetDirectory("bin", configuration, "netcoreapp2.2", rid, "publish");
}
private static void EnsureProgramIsRunnable(string path)
{
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
//Workaround for https://github.com/dotnet/corefx/issues/15516
Process.Start("chmod", $"u+x {path}").WaitForExit();
}
.GetDirectory("bin", configuration, "netcoreapp2.2", rid ?? "", "publish");
}
[Fact]

View file

@ -4,6 +4,9 @@
<RuntimeFrameworkVersion>$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<AssemblyName>dotnet-publish.Tests</AssemblyName>
<AssemblyOriginatorKeyFile>../../tools/Key.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
<AssetTargetFallback>$(AssetTargetFallback);dotnet5.4;portable-net451+win8</AssetTargetFallback>
</PropertyGroup>
@ -16,6 +19,7 @@
<ItemGroup>
<ProjectReference Include="..\Microsoft.DotNet.Tools.Tests.Utilities\Microsoft.DotNet.Tools.Tests.Utilities.csproj" />
<ProjectReference Include="..\..\src\dotnet\dotnet.csproj" />
</ItemGroup>
<ItemGroup>

View file

@ -19,7 +19,7 @@ namespace Microsoft.DotNet.Cli.Sln.Remove.Tests
Arguments:
<SLN_FILE> The solution file to operate on. If not specified, the command will search the current directory for one.
<PROJECT_PATH> The paths to the projects to from from the solution.
<PROJECT_PATH> The paths to the projects to remove from the solution.
Options:
-h, --help Show command line help.";

Some files were not shown because too many files have changed in this diff Show more