diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml
index 2908d5bb869a..3dfabcd1ffe2 100644
--- a/.azure/pipelines/jobs/default-build.yml
+++ b/.azure/pipelines/jobs/default-build.yml
@@ -97,17 +97,17 @@ jobs:
vmImage: macOS-11
${{ if eq(parameters.agentOs, 'Linux') }}:
${{ if and(eq(parameters.useHostedUbuntu, true), or(ne(variables['System.TeamProject'], 'internal'), in(variables['Build.Reason'], 'Manual', 'PullRequest', 'Schedule'))) }}:
- vmImage: ubuntu-18.04
+ vmImage: ubuntu-20.04
${{ if or(eq(parameters.useHostedUbuntu, false), and(eq(variables['System.TeamProject'], 'internal'), notin(variables['Build.Reason'], 'Manual', 'PullRequest', 'Schedule'))) }}:
${{ if eq(variables['System.TeamProject'], 'public') }}:
- name: NetCore1ESPool-Svc-Public
+ name: NetCore-Svc-Public
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
${{ if eq(parameters.agentOs, 'Windows') }}:
${{ if eq(variables['System.TeamProject'], 'public') }}:
- name: NetCore1ESPool-Svc-Public
+ name: NetCore-Svc-Public
demands: ImageOverride -equals 1es-windows-2019-open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Svc-Internal
diff --git a/NuGet.config b/NuGet.config
index 63330d10bbf3..c302e3d4c299 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,10 +4,10 @@
-
+
-
+
@@ -27,10 +27,10 @@
-
+
-
+
diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props
index 28042e9d0222..7272cd196587 100644
--- a/eng/Baseline.Designer.props
+++ b/eng/Baseline.Designer.props
@@ -2,28 +2,28 @@
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
-
-
+
+
+
@@ -34,120 +34,120 @@
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
@@ -155,114 +155,114 @@
- 6.0.8
+ 6.0.9
-
-
+
+
-
-
+
+
-
-
+
+
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
-
-
-
+
+
+
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
-
+
+
@@ -270,81 +270,81 @@
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
@@ -352,58 +352,58 @@
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
@@ -411,71 +411,71 @@
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
- 6.0.8
+ 6.0.9
-
-
+
+
-
+
-
-
+
+
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
@@ -491,195 +491,195 @@
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
-
-
+
+
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
+
-
+
- 6.0.8
+ 6.0.9
-
-
+
+
-
-
+
+
-
-
+
+
- 6.0.8
+ 6.0.9
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
-
-
-
-
+
+
+
+
- 6.0.8
+ 6.0.9
@@ -688,69 +688,69 @@
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
-
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
@@ -769,7 +769,7 @@
- 6.0.8
+ 6.0.9
@@ -788,7 +788,7 @@
- 6.0.8
+ 6.0.9
@@ -804,46 +804,46 @@
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
-
-
+
+
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
@@ -853,7 +853,7 @@
- 6.0.8
+ 6.0.9
@@ -862,79 +862,79 @@
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
-
+
-
+
-
+
-
+
-
+
-
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
+
@@ -943,7 +943,7 @@
-
+
@@ -951,17 +951,17 @@
-
+
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
@@ -979,13 +979,13 @@
- 6.0.8
+ 6.0.9
- 6.0.8
+ 6.0.9
-
+
\ No newline at end of file
diff --git a/eng/Baseline.xml b/eng/Baseline.xml
index 549d55431ba9..5e40c7dfa06a 100644
--- a/eng/Baseline.xml
+++ b/eng/Baseline.xml
@@ -4,111 +4,111 @@ This file contains a list of all the packages and their versions which were rele
Update this list when preparing for a new patch.
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index bf05f45e33d6..c7f52d020c13 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -9,37 +9,37 @@
-->
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 33e3c950af2eb996c0b3c48e30eb4471138da675
+ f7333f1afa250ed33d3db52f0b531910b23a55b2
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 33e3c950af2eb996c0b3c48e30eb4471138da675
+ f7333f1afa250ed33d3db52f0b531910b23a55b2
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 33e3c950af2eb996c0b3c48e30eb4471138da675
+ f7333f1afa250ed33d3db52f0b531910b23a55b2
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 33e3c950af2eb996c0b3c48e30eb4471138da675
+ f7333f1afa250ed33d3db52f0b531910b23a55b2
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 33e3c950af2eb996c0b3c48e30eb4471138da675
+ f7333f1afa250ed33d3db52f0b531910b23a55b2
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 33e3c950af2eb996c0b3c48e30eb4471138da675
+ f7333f1afa250ed33d3db52f0b531910b23a55b2
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 33e3c950af2eb996c0b3c48e30eb4471138da675
+ f7333f1afa250ed33d3db52f0b531910b23a55b2
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 33e3c950af2eb996c0b3c48e30eb4471138da675
+ f7333f1afa250ed33d3db52f0b531910b23a55b2https://github.com/dotnet/runtime
@@ -93,9 +93,9 @@
https://github.com/dotnet/runtime4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
-
- https://github.com/dotnet/runtime
- 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
+ 5a400c212afdf8e675c9a1d38442e6d2f19f7b74https://github.com/dotnet/runtime
@@ -177,9 +177,9 @@
https://github.com/dotnet/runtime4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 163a63591cf9e9b682063cf3995948c2b885a042
+ 5a400c212afdf8e675c9a1d38442e6d2f19f7b74https://github.com/dotnet/runtime
@@ -245,57 +245,57 @@
https://github.com/dotnet/runtime4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 163a63591cf9e9b682063cf3995948c2b885a042
+ 5a400c212afdf8e675c9a1d38442e6d2f19f7b74
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 163a63591cf9e9b682063cf3995948c2b885a042
+ 5a400c212afdf8e675c9a1d38442e6d2f19f7b74
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 163a63591cf9e9b682063cf3995948c2b885a042
+ 5a400c212afdf8e675c9a1d38442e6d2f19f7b74
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 163a63591cf9e9b682063cf3995948c2b885a042
+ 5a400c212afdf8e675c9a1d38442e6d2f19f7b74
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 163a63591cf9e9b682063cf3995948c2b885a042
+ 5a400c212afdf8e675c9a1d38442e6d2f19f7b74
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 163a63591cf9e9b682063cf3995948c2b885a042
+ 5a400c212afdf8e675c9a1d38442e6d2f19f7b74
-
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- f316191dbb5782d76ceb457018dcd80ff8ce8692
+ 5a400c212afdf8e675c9a1d38442e6d2f19f7b74
-
+ https://github.com/dotnet/arcade
- fdd3a242bc813f371023adff4e4c05c0be705d2a
+ 2fbe602d12256bf82de53791ddcbb964c1541b4e
-
+ https://github.com/dotnet/arcade
- fdd3a242bc813f371023adff4e4c05c0be705d2a
+ 2fbe602d12256bf82de53791ddcbb964c1541b4e
-
+ https://github.com/dotnet/arcade
- fdd3a242bc813f371023adff4e4c05c0be705d2a
+ 2fbe602d12256bf82de53791ddcbb964c1541b4e
-
+ https://github.com/dotnet/arcade
- fdd3a242bc813f371023adff4e4c05c0be705d2a
+ 2fbe602d12256bf82de53791ddcbb964c1541b4e
diff --git a/eng/Versions.props b/eng/Versions.props
index bc3e57278226..b99a016b481b 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -8,7 +8,7 @@
60
- 9
+ 10true6.0.0
- 6.0.9
- 6.0.9
- 6.0.9
- 6.0.9
- 6.0.9
- 6.0.9-servicing.22419.5
+ 6.0.10
+ 6.0.10
+ 6.0.10
+ 6.0.10
+ 6.0.10
+ 6.0.10-servicing.22476.56.0.06.0.16.0.0
@@ -82,7 +82,7 @@
6.0.16.0.06.0.0
- 6.0.0
+ 6.0.16.0.06.0.06.0.0
@@ -103,7 +103,7 @@
6.0.06.0.06.0.0
- 6.0.9-servicing.22419.5
+ 6.0.10-servicing.22476.56.0.06.0.06.0.1
@@ -120,19 +120,19 @@
6.0.66.0.0
- 6.0.5
+ 6.0.6
- 6.0.9
- 6.0.9
- 6.0.9
- 6.0.9
- 6.0.9
- 6.0.9
- 6.0.9
- 6.0.9
+ 6.0.10
+ 6.0.10
+ 6.0.10
+ 6.0.10
+ 6.0.10
+ 6.0.10
+ 6.0.10
+ 6.0.10
- 6.0.0-beta.22314.7
- 6.0.0-beta.22314.7
+ 6.0.0-beta.22463.7
+ 6.0.0-beta.22463.72.1.12.2.0
- 3.1.28-servicing-22364-2
+ 3.1.29-servicing-22418-8$(MicrosoftAspNetCoreAzureAppServicesSiteExtension31Version)$(MicrosoftAspNetCoreAzureAppServicesSiteExtension31Version)5.0.17-servicing-22215-7
diff --git a/eng/common/generate-sbom-prep.ps1 b/eng/common/generate-sbom-prep.ps1
index a733a8885824..3e5c1c74a1c5 100644
--- a/eng/common/generate-sbom-prep.ps1
+++ b/eng/common/generate-sbom-prep.ps1
@@ -2,6 +2,8 @@ Param(
[Parameter(Mandatory=$true)][string] $ManifestDirPath # Manifest directory where sbom will be placed
)
+. $PSScriptRoot\pipeline-logging-functions.ps1
+
Write-Host "Creating dir $ManifestDirPath"
# create directory for sbom manifest to be placed
if (!(Test-Path -path $ManifestDirPath))
diff --git a/eng/common/generate-sbom-prep.sh b/eng/common/generate-sbom-prep.sh
index f6c77453142a..d5c76dc827b4 100644
--- a/eng/common/generate-sbom-prep.sh
+++ b/eng/common/generate-sbom-prep.sh
@@ -2,6 +2,18 @@
source="${BASH_SOURCE[0]}"
+# resolve $SOURCE until the file is no longer a symlink
+while [[ -h $source ]]; do
+ scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
+ source="$(readlink "$source")"
+
+ # if $source was a relative symlink, we need to resolve it relative to the path where the
+ # symlink file was located
+ [[ $source != /* ]] && source="$scriptroot/$source"
+done
+scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
+. $scriptroot/pipeline-logging-functions.sh
+
manifest_dir=$1
if [ ! -d "$manifest_dir" ] ; then
diff --git a/eng/common/init-tools-native.ps1 b/eng/common/init-tools-native.ps1
index db830c00a6f8..7428ef88084f 100644
--- a/eng/common/init-tools-native.ps1
+++ b/eng/common/init-tools-native.ps1
@@ -31,6 +31,10 @@ Wait time between retry attempts in seconds
.PARAMETER GlobalJsonFile
File path to global.json file
+.PARAMETER PathPromotion
+Optional switch to enable either promote native tools specified in the global.json to the path (in Azure Pipelines)
+or break the build if a native tool is not found on the path (on a local dev machine)
+
.NOTES
#>
[CmdletBinding(PositionalBinding=$false)]
@@ -41,7 +45,8 @@ Param (
[switch] $Force = $False,
[int] $DownloadRetries = 5,
[int] $RetryWaitTimeInSeconds = 30,
- [string] $GlobalJsonFile
+ [string] $GlobalJsonFile,
+ [switch] $PathPromotion
)
if (!$GlobalJsonFile) {
@@ -77,53 +82,100 @@ try {
ConvertFrom-Json |
Select-Object -Expand 'native-tools' -ErrorAction SilentlyContinue
if ($NativeTools) {
- $NativeTools.PSObject.Properties | ForEach-Object {
- $ToolName = $_.Name
- $ToolVersion = $_.Value
- $LocalInstallerArguments = @{ ToolName = "$ToolName" }
- $LocalInstallerArguments += @{ InstallPath = "$InstallBin" }
- $LocalInstallerArguments += @{ BaseUri = "$BaseUri" }
- $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" }
- $LocalInstallerArguments += @{ Version = "$ToolVersion" }
-
- if ($Verbose) {
- $LocalInstallerArguments += @{ Verbose = $True }
- }
- if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') {
- if($Force) {
- $LocalInstallerArguments += @{ Force = $True }
- }
- }
- if ($Clean) {
- $LocalInstallerArguments += @{ Clean = $True }
- }
-
- Write-Verbose "Installing $ToolName version $ToolVersion"
- Write-Verbose "Executing '$InstallerPath $($LocalInstallerArguments.Keys.ForEach({"-$_ '$($LocalInstallerArguments.$_)'"}) -join ' ')'"
- & $InstallerPath @LocalInstallerArguments
- if ($LASTEXITCODE -Ne "0") {
- $errMsg = "$ToolName installation failed"
- if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) {
- $showNativeToolsWarning = $true
- if ((Get-Variable 'DoNotDisplayNativeToolsInstallationWarnings' -ErrorAction 'SilentlyContinue') -and $DoNotDisplayNativeToolsInstallationWarnings) {
- $showNativeToolsWarning = $false
+ if ($PathPromotion -eq $True) {
+ if ($env:SYSTEM_TEAMPROJECT) { # check to see if we're in an Azure pipelines build
+ $NativeTools.PSObject.Properties | ForEach-Object {
+ $ToolName = $_.Name
+ $ToolVersion = $_.Value
+ $InstalledTools = @{}
+
+ if ((Get-Command "$ToolName" -ErrorAction SilentlyContinue) -eq $null) {
+ if ($ToolVersion -eq "latest") {
+ $ToolVersion = ""
+ }
+ $ArcadeToolsDirectory = "C:\arcade-tools"
+ if (-not (Test-Path $ArcadeToolsDirectory)) {
+ Write-Error "Arcade tools directory '$ArcadeToolsDirectory' was not found; artifacts were not properly installed."
+ exit 1
+ }
+ $ToolDirectory = (Get-ChildItem -Path "$ArcadeToolsDirectory" -Filter "$ToolName-$ToolVersion*" | Sort-Object -Descending)[0]
+ if ([string]::IsNullOrWhiteSpace($ToolDirectory)) {
+ Write-Error "Unable to find directory for $ToolName $ToolVersion; please make sure the tool is installed on this image."
+ exit 1
}
- if ($showNativeToolsWarning) {
- Write-Warning $errMsg
+ $BinPathFile = "$($ToolDirectory.FullName)\binpath.txt"
+ if (-not (Test-Path -Path "$BinPathFile")) {
+ Write-Error "Unable to find binpath.txt in '$($ToolDirectory.FullName)' ($ToolName $ToolVersion); artifact is either installed incorrectly or is not a bootstrappable tool."
+ exit 1
}
- $toolInstallationFailure = $true
- } else {
- # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
- Write-Host $errMsg
- exit 1
+ $BinPath = Get-Content "$BinPathFile"
+ $ToolPath = Convert-Path -Path $BinPath
+ Write-Host "Adding $ToolName to the path ($ToolPath)..."
+ Write-Host "##vso[task.prependpath]$ToolPath"
+ $InstalledTools += @{ $ToolName = $ToolDirectory.FullName }
+ }
}
+ return $InstalledTools
+ } else {
+ $NativeTools.PSObject.Properties | ForEach-Object {
+ $ToolName = $_.Name
+ $ToolVersion = $_.Value
+
+ if ((Get-Command "$ToolName" -ErrorAction SilentlyContinue) -eq $null) {
+ Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message "$ToolName not found on path. Please install $ToolName $ToolVersion before proceeding."
+ }
+ }
+ exit 0
+ }
+ } else {
+ $NativeTools.PSObject.Properties | ForEach-Object {
+ $ToolName = $_.Name
+ $ToolVersion = $_.Value
+ $LocalInstallerArguments = @{ ToolName = "$ToolName" }
+ $LocalInstallerArguments += @{ InstallPath = "$InstallBin" }
+ $LocalInstallerArguments += @{ BaseUri = "$BaseUri" }
+ $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" }
+ $LocalInstallerArguments += @{ Version = "$ToolVersion" }
+
+ if ($Verbose) {
+ $LocalInstallerArguments += @{ Verbose = $True }
+ }
+ if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') {
+ if($Force) {
+ $LocalInstallerArguments += @{ Force = $True }
+ }
+ }
+ if ($Clean) {
+ $LocalInstallerArguments += @{ Clean = $True }
+ }
+
+ Write-Verbose "Installing $ToolName version $ToolVersion"
+ Write-Verbose "Executing '$InstallerPath $($LocalInstallerArguments.Keys.ForEach({"-$_ '$($LocalInstallerArguments.$_)'"}) -join ' ')'"
+ & $InstallerPath @LocalInstallerArguments
+ if ($LASTEXITCODE -Ne "0") {
+ $errMsg = "$ToolName installation failed"
+ if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) {
+ $showNativeToolsWarning = $true
+ if ((Get-Variable 'DoNotDisplayNativeToolsInstallationWarnings' -ErrorAction 'SilentlyContinue') -and $DoNotDisplayNativeToolsInstallationWarnings) {
+ $showNativeToolsWarning = $false
+ }
+ if ($showNativeToolsWarning) {
+ Write-Warning $errMsg
+ }
+ $toolInstallationFailure = $true
+ } else {
+ # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
+ Write-Host $errMsg
+ exit 1
+ }
+ }
+ }
+
+ if ((Get-Variable 'toolInstallationFailure' -ErrorAction 'SilentlyContinue') -and $toolInstallationFailure) {
+ # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
+ Write-Host 'Native tools bootstrap failed'
+ exit 1
}
- }
-
- if ((Get-Variable 'toolInstallationFailure' -ErrorAction 'SilentlyContinue') -and $toolInstallationFailure) {
- # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
- Write-Host 'Native tools bootstrap failed'
- exit 1
}
}
else {
@@ -139,7 +191,7 @@ try {
Write-Host "##vso[task.prependpath]$(Convert-Path -Path $InstallBin)"
return $InstallBin
}
- else {
+ elseif (-not ($PathPromotion)) {
Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message 'Native tools install directory does not exist, installation failed'
exit 1
}
@@ -149,4 +201,4 @@ catch {
Write-Host $_.ScriptStackTrace
Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message $_
ExitWithExitCode 1
-}
+}
\ No newline at end of file
diff --git a/eng/common/internal/NuGet.config b/eng/common/internal/NuGet.config
new file mode 100644
index 000000000000..19d3d311b166
--- /dev/null
+++ b/eng/common/internal/NuGet.config
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/eng/common/internal/Tools.csproj b/eng/common/internal/Tools.csproj
index beb9c4648ea1..7f5ce6d60813 100644
--- a/eng/common/internal/Tools.csproj
+++ b/eng/common/internal/Tools.csproj
@@ -8,6 +8,9 @@
+
+
+
diff --git a/eng/common/templates/job/execute-sdl.yml b/eng/common/templates/job/execute-sdl.yml
index 24cec0424e5d..aaeb83b4dcbd 100644
--- a/eng/common/templates/job/execute-sdl.yml
+++ b/eng/common/templates/job/execute-sdl.yml
@@ -53,8 +53,8 @@ jobs:
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
- name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ name: NetCore1ESPool-Svc-Internal
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- checkout: self
clean: true
diff --git a/eng/common/templates/job/onelocbuild.yml b/eng/common/templates/job/onelocbuild.yml
index 9d1e3042d8a6..5b1b77d1c74a 100644
--- a/eng/common/templates/job/onelocbuild.yml
+++ b/eng/common/templates/job/onelocbuild.yml
@@ -40,8 +40,8 @@ jobs:
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
- name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ name: NetCore1ESPool-Svc-Internal
+ demands: ImageOverride -equals windows.vs2019.amd64
variables:
- group: OneLocBuildVariables # Contains the CeapexPat and GithubPat
diff --git a/eng/common/templates/job/source-build.yml b/eng/common/templates/job/source-build.yml
index 5cd5325d7b4e..b6137f44ada1 100644
--- a/eng/common/templates/job/source-build.yml
+++ b/eng/common/templates/job/source-build.yml
@@ -46,10 +46,10 @@ jobs:
# source-build builds run in Docker, including the default managed platform.
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
- name: NetCore1ESPool-Public
+ name: NetCore-Svc-Public
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
- name: NetCore1ESPool-Internal
+ name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
${{ if ne(parameters.platform.pool, '') }}:
pool: ${{ parameters.platform.pool }}
diff --git a/eng/common/templates/jobs/jobs.yml b/eng/common/templates/jobs/jobs.yml
index 554e71cfc436..9c4becbc8592 100644
--- a/eng/common/templates/jobs/jobs.yml
+++ b/eng/common/templates/jobs/jobs.yml
@@ -89,8 +89,8 @@ jobs:
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
- name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ name: NetCore1ESPool-Svc-Internal
+ demands: ImageOverride -equals windows.vs2019.amd64
runAsPublic: ${{ parameters.runAsPublic }}
publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }}
diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml
index 24e92a275a4f..fc022ca9b266 100644
--- a/eng/common/templates/post-build/post-build.yml
+++ b/eng/common/templates/post-build/post-build.yml
@@ -100,8 +100,8 @@ stages:
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
- name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ name: NetCore1ESPool-Svc-Internal
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- template: setup-maestro-vars.yml
@@ -137,8 +137,8 @@ stages:
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
- name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ name: NetCore1ESPool-Svc-Internal
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- template: setup-maestro-vars.yml
parameters:
@@ -197,8 +197,8 @@ stages:
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
- name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ name: NetCore1ESPool-Svc-Internal
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- template: setup-maestro-vars.yml
parameters:
@@ -254,8 +254,8 @@ stages:
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
- name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ name: NetCore1ESPool-Svc-Internal
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- template: setup-maestro-vars.yml
parameters:
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index f1e1cb53953b..81d7b0355e38 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -635,6 +635,10 @@ function InitializeNativeTools() {
InstallDirectory = "$ToolsDir"
}
}
+ if ($env:NativeToolsOnMachine) {
+ Write-Host "Variable NativeToolsOnMachine detected, enabling native tool path promotion..."
+ $nativeArgs += @{ PathPromotion = $true }
+ }
& "$PSScriptRoot/init-tools-native.ps1" @nativeArgs
}
}
diff --git a/eng/scripts/RunHelix.ps1 b/eng/scripts/RunHelix.ps1
index ebe46bd6fcef..8716f8443855 100644
--- a/eng/scripts/RunHelix.ps1
+++ b/eng/scripts/RunHelix.ps1
@@ -11,9 +11,7 @@
Debian.11.Amd64.Open
Mariner
Redhat.7.Amd64.Open
- Ubuntu.1804.Amd64.Open
Ubuntu.2004.Amd64.Open
- OSX.1015.Amd64.Open
OSX.1100.Amd64.Open
Windows.10.Amd64.Server20H2.Open
Windows.11.Amd64.Client.Open
diff --git a/eng/targets/CSharp.Common.props b/eng/targets/CSharp.Common.props
index 87c1a48d9900..dbe98181cf3e 100644
--- a/eng/targets/CSharp.Common.props
+++ b/eng/targets/CSharp.Common.props
@@ -1,7 +1,7 @@
- preview
+ 10.0strict
diff --git a/eng/targets/CSharp.Common.targets b/eng/targets/CSharp.Common.targets
index 18757af70ae9..04c0356b9a22 100644
--- a/eng/targets/CSharp.Common.targets
+++ b/eng/targets/CSharp.Common.targets
@@ -116,7 +116,7 @@
-->
+ (('$(TargetFrameworkIdentifier)' == '.NETStandard' AND $([MSBuild]::VersionLessThanOrEquals('$(TargetFrameworkVersion)', '2.1'))) OR '$(TargetFrameworkIdentifier)' == '.NETFramework')">
$(DefineConstants),INTERNAL_NULLABLE_ATTRIBUTES$(NoWarn);nullable
diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props
index 99b2ae03ea45..f55104073f91 100644
--- a/eng/targets/Helix.Common.props
+++ b/eng/targets/Helix.Common.props
@@ -1,10 +1,10 @@
- (Alpine.314.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-amd64-20210910135833-1848e19
- (Debian.11.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-amd64-20211001171307-0ece9b3
- (Fedora.34.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-34-helix-20210924174119-4f64125
- (Mariner)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-1.0-helix-20210528192219-92bf620
+ (Alpine.314.Amd64.Open)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-amd64-20210910135833-1848e19
+ (Debian.11.Amd64.Open)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-amd64-20211001171307-0ece9b3
+ (Fedora.34.Amd64.Open)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-34-helix-20210924174119-4f64125
+ (Mariner)Ubuntu.2004.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-1.0-helix-20210528192219-92bf620(Debian.11.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-arm64v8-20211001171229-97d8652
@@ -20,7 +20,7 @@
-
+
@@ -29,7 +29,6 @@
-
@@ -43,7 +42,6 @@
-
diff --git a/global.json b/global.json
index fe757ec1255f..8e0dfdb83692 100644
--- a/global.json
+++ b/global.json
@@ -1,9 +1,9 @@
{
"sdk": {
- "version": "6.0.108"
+ "version": "6.0.109"
},
"tools": {
- "dotnet": "6.0.108",
+ "dotnet": "6.0.109",
"runtimes": {
"dotnet/x64": [
"2.1.30",
@@ -29,7 +29,7 @@
},
"msbuild-sdks": {
"Yarn.MSBuild": "1.22.10",
- "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.22314.7",
- "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.22314.7"
+ "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.22463.7",
+ "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.22463.7"
}
}
diff --git a/src/DataProtection/DataProtection/src/Repositories/FileSystemXmlRepository.cs b/src/DataProtection/DataProtection/src/Repositories/FileSystemXmlRepository.cs
index e495f45e4725..dfbdf4a1e226 100644
--- a/src/DataProtection/DataProtection/src/Repositories/FileSystemXmlRepository.cs
+++ b/src/DataProtection/DataProtection/src/Repositories/FileSystemXmlRepository.cs
@@ -5,6 +5,7 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
+using System.Runtime.InteropServices;
using System.Xml.Linq;
using Microsoft.AspNetCore.DataProtection.Internal;
using Microsoft.Extensions.Logging;
@@ -131,9 +132,17 @@ private void StoreElementCore(XElement element, string filename)
// crashes mid-write, we won't end up with a corrupt .xml file.
Directory.Create(); // won't throw if the directory already exists
+
var tempFilename = Path.Combine(Directory.FullName, Guid.NewGuid().ToString() + ".tmp");
var finalFilename = Path.Combine(Directory.FullName, filename + ".xml");
+ // Create a temp file with the correct Unix file mode before moving it to the expected finalFilename.
+ if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ var tempTempFilename = Path.GetTempFileName();
+ File.Move(tempTempFilename, tempFilename);
+ }
+
try
{
using (var tempFileStream = File.OpenWrite(tempFilename))
diff --git a/src/DataProtection/DataProtection/test/Repositories/FileSystemXmlRepositoryTests.cs b/src/DataProtection/DataProtection/test/Repositories/FileSystemXmlRepositoryTests.cs
index 4a5fbd282bfd..fce9cdf15f1a 100644
--- a/src/DataProtection/DataProtection/test/Repositories/FileSystemXmlRepositoryTests.cs
+++ b/src/DataProtection/DataProtection/test/Repositories/FileSystemXmlRepositoryTests.cs
@@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System;
+using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
@@ -158,6 +159,39 @@ public void Logs_DockerEphemeralFolders()
});
}
+ [ConditionalFact]
+ [OSSkipCondition(OperatingSystems.Windows, SkipReason = "UnixFileMode is not supported on Windows.")]
+ public void StoreElement_CreatesFileWithUserOnlyUnixFileMode()
+ {
+ WithUniqueTempDirectory(dirInfo =>
+ {
+ // Arrange
+ var element = XElement.Parse("");
+ var repository = new FileSystemXmlRepository(dirInfo, NullLoggerFactory.Instance);
+
+ // Act
+ repository.StoreElement(element, "friendly-name");
+
+ // Assert
+ var fileInfo = Assert.Single(dirInfo.GetFiles());
+
+ //Assert.Equal(UnixFileMode.UserRead | UnixFileMode.UserWrite, fileInfo.UnixFileMode);
+ var processStartInfo = new ProcessStartInfo
+ {
+ FileName = "ls",
+ Arguments = $"-l {fileInfo.FullName}",
+ RedirectStandardOutput = true,
+ UseShellExecute = false
+ };
+ var process = Process.Start(processStartInfo);
+
+ Assert.NotNull(process);
+ var output = process!.StandardOutput.ReadToEnd();
+ process.WaitForExit();
+ Assert.StartsWith("-rw-------", output);
+ });
+ }
+
///
/// Runs a test and cleans up the temp directory afterward.
///
diff --git a/src/Http/WebUtilities/src/FileBufferingReadStream.cs b/src/Http/WebUtilities/src/FileBufferingReadStream.cs
index f66916c8ebff..f8873905c205 100644
--- a/src/Http/WebUtilities/src/FileBufferingReadStream.cs
+++ b/src/Http/WebUtilities/src/FileBufferingReadStream.cs
@@ -6,6 +6,7 @@
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.IO;
+using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Internal;
@@ -258,6 +259,14 @@ private Stream CreateTempFile()
}
_tempFileName = Path.Combine(_tempFileDirectory, "ASPNETCORE_" + Guid.NewGuid().ToString() + ".tmp");
+
+ // Create a temp file with the correct Unix file mode before moving it to the assigned _tempFileName in the _tempFileDirectory.
+ if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ var tempTempFileName = Path.GetTempFileName();
+ File.Move(tempTempFileName, _tempFileName);
+ }
+
return new FileStream(_tempFileName, FileMode.Create, FileAccess.ReadWrite, FileShare.Delete, 1024 * 16,
FileOptions.Asynchronous | FileOptions.DeleteOnClose | FileOptions.SequentialScan);
}
diff --git a/src/Http/WebUtilities/src/FileBufferingWriteStream.cs b/src/Http/WebUtilities/src/FileBufferingWriteStream.cs
index 28c4c27ab758..33ad86dc282a 100644
--- a/src/Http/WebUtilities/src/FileBufferingWriteStream.cs
+++ b/src/Http/WebUtilities/src/FileBufferingWriteStream.cs
@@ -7,6 +7,7 @@
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.IO.Pipelines;
+using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Internal;
@@ -271,6 +272,14 @@ private void EnsureFileStream()
{
var tempFileDirectory = _tempFileDirectoryAccessor();
var tempFileName = Path.Combine(tempFileDirectory, "ASPNETCORE_" + Guid.NewGuid() + ".tmp");
+
+ // Create a temp file with the correct Unix file mode before moving it to the assigned tempFileName in the _tempFileDirectory.
+ if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ var tempTempFileName = Path.GetTempFileName();
+ File.Move(tempTempFileName, tempFileName);
+ }
+
FileStream = new FileStream(
tempFileName,
FileMode.Create,
diff --git a/src/Http/WebUtilities/test/FileBufferingReadStreamTests.cs b/src/Http/WebUtilities/test/FileBufferingReadStreamTests.cs
index 640562b6c6a0..29ea59fd5471 100644
--- a/src/Http/WebUtilities/test/FileBufferingReadStreamTests.cs
+++ b/src/Http/WebUtilities/test/FileBufferingReadStreamTests.cs
@@ -3,9 +3,11 @@
using System;
using System.Buffers;
+using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Testing;
using Moq;
using Xunit;
@@ -598,6 +600,47 @@ public async Task PartialReadAsyncThenSeekReplaysBuffer()
Assert.Equal(data.AsMemory(0, read2).ToArray(), buffer2.AsMemory(0, read2).ToArray());
}
+ [ConditionalFact]
+ [OSSkipCondition(OperatingSystems.Windows, SkipReason = "UnixFileMode is not supported on Windows.")]
+ public void Read_BufferingContentToDisk_CreatesFileWithUserOnlyUnixFileMode()
+ {
+ var inner = MakeStream(1024 * 2);
+ string tempFileName;
+ using (var stream = new FileBufferingReadStream(inner, 1024, null, GetCurrentDirectory()))
+ {
+ var bytes = new byte[1024 * 2];
+ var read0 = stream.Read(bytes, 0, bytes.Length);
+ Assert.Equal(bytes.Length, read0);
+ Assert.Equal(read0, stream.Length);
+ Assert.Equal(read0, stream.Position);
+ Assert.False(stream.InMemory);
+ Assert.NotNull(stream.TempFileName);
+
+ var read1 = stream.Read(bytes, 0, bytes.Length);
+ Assert.Equal(0, read1);
+
+ tempFileName = stream.TempFileName!;
+ Assert.True(File.Exists(tempFileName));
+
+ //Assert.Equal(UnixFileMode.UserRead | UnixFileMode.UserWrite, File.GetUnixFileMode(tempFileName));
+ var processStartInfo = new ProcessStartInfo
+ {
+ FileName = "ls",
+ Arguments = $"-l {tempFileName}",
+ RedirectStandardOutput = true,
+ UseShellExecute = false
+ };
+ var process = Process.Start(processStartInfo);
+
+ Assert.NotNull(process);
+ var output = process!.StandardOutput.ReadToEnd();
+ process.WaitForExit();
+ Assert.StartsWith("-rw-------", output);
+ }
+
+ Assert.False(File.Exists(tempFileName));
+ }
+
private static string GetCurrentDirectory()
{
return AppContext.BaseDirectory;
diff --git a/src/Http/WebUtilities/test/FileBufferingWriteStreamTests.cs b/src/Http/WebUtilities/test/FileBufferingWriteStreamTests.cs
index 9459a192959d..3e326d267bc2 100644
--- a/src/Http/WebUtilities/test/FileBufferingWriteStreamTests.cs
+++ b/src/Http/WebUtilities/test/FileBufferingWriteStreamTests.cs
@@ -8,7 +8,9 @@
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration;
+using Microsoft.AspNetCore.Testing;
using Xunit;
+using System.Diagnostics;
namespace Microsoft.AspNetCore.WebUtilities
{
@@ -371,6 +373,37 @@ public async Task DrainBufferAsync_WithContentInDisk_CopiesContentFromMemoryStre
Assert.Equal(0, bufferingStream.Length);
}
+ [ConditionalFact]
+ [OSSkipCondition(OperatingSystems.Windows, SkipReason = "UnixFileMode is not supported on Windows.")]
+ public void Write_BufferingContentToDisk_CreatesFileWithUserOnlyUnixFileMode()
+ {
+ // Arrange
+ var input = new byte[] { 1, 2, 3, };
+ using var bufferingStream = new FileBufferingWriteStream(memoryThreshold: 2, tempFileDirectoryAccessor: () => TempDirectory);
+ bufferingStream.Write(input, 0, 2);
+
+ // Act
+ bufferingStream.Write(input, 2, 1);
+
+ // Assert
+ Assert.NotNull(bufferingStream.FileStream);
+
+ //Assert.Equal(UnixFileMode.UserRead | UnixFileMode.UserWrite, File.GetUnixFileMode(bufferingStream.FileStream.SafeFileHandle));
+ var processStartInfo = new ProcessStartInfo
+ {
+ FileName = "ls",
+ Arguments = $"-l {bufferingStream.FileStream!.Name}",
+ RedirectStandardOutput = true,
+ UseShellExecute = false
+ };
+ var process = Process.Start(processStartInfo);
+
+ Assert.NotNull(process);
+ var output = process!.StandardOutput.ReadToEnd();
+ process.WaitForExit();
+ Assert.StartsWith("-rw-------", output);
+ }
+
public void Dispose()
{
try
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/cs-CZ/strings.json
index 6bc6fe568bbc..49a7ea5459c2 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplikace Blazor Server",
- "description": "Šablona projektu pro vytvoření aplikace Blazor Server, která běží na straně serveru uvnitř aplikace ASP.NET Core a zpracovává interakce uživatele přes připojení SignalR. Tato šablona se dá využít pro webové aplikace s propracovanými dynamickými uživatelskými rozhraními (UI)."
+ "description": "Šablona projektu pro vytvoření aplikace Blazor Server, která běží na straně serveru uvnitř aplikace ASP.NET Core a zpracovává interakce uživatele přes připojení SignalR. Tato šablona se dá využít pro webové aplikace s propracovanými dynamickými uživatelskými rozhraními (UI).",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/de-DE/strings.json
index b2bef04f9e58..d762a9855a16 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor Server-App",
- "description": "Eine Projektvorlage für das Erstellen einer Blazor Server-App, die serverseitig innerhalb einer ASP.NET Core-App ausgeführt wird und die Benutzerinteraktionen über eine SignalR-Verbindung verarbeitet. Diese Vorlage kann für Web-Apps mit umfangreichen dynamischen Benutzeroberflächen verwendet werden."
+ "description": "Eine Projektvorlage für das Erstellen einer Blazor Server-App, die serverseitig innerhalb einer ASP.NET Core-App ausgeführt wird und die Benutzerinteraktionen über eine SignalR-Verbindung verarbeitet. Diese Vorlage kann für Web-Apps mit umfangreichen dynamischen Benutzeroberflächen verwendet werden.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/es-ES/strings.json
index 668e7ec0adcf..eb97df09336c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplicación Blazor Server",
- "description": "Plantilla de proyecto para crear una aplicación Blazor Server que se ejecuta del lado servidor dentro de una aplicación de ASP.NET Core y controla las interacciones de los usuarios a través de una conexión de SignalR. Esta plantilla se puede usar para las aplicaciones web con interfaces de usuario dinámicas enriquecidas."
+ "description": "Plantilla de proyecto para crear una aplicación Blazor Server que se ejecuta del lado servidor dentro de una aplicación de ASP.NET Core y controla las interacciones de los usuarios a través de una conexión de SignalR. Esta plantilla se puede usar para las aplicaciones web con interfaces de usuario dinámicas enriquecidas.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/fr-FR/strings.json
index 4f0813a30f66..55151234d66c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Application Blazor Server",
- "description": "Modèle de projet permettant de créer une application Blazor Server qui s'exécute côté serveur dans une application ASP.NET Core, et qui gère les interactions utilisateur via une connexion SignalR. Vous pouvez utiliser ce modèle pour les applications web ayant des IU (interfaces utilisateur) dynamiques riches."
+ "description": "Modèle de projet permettant de créer une application Blazor Server qui s'exécute côté serveur dans une application ASP.NET Core, et qui gère les interactions utilisateur via une connexion SignalR. Vous pouvez utiliser ce modèle pour les applications web ayant des IU (interfaces utilisateur) dynamiques riches.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/it-IT/strings.json
index 08b8d667bf6b..3f6fcb5b0c5f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "App Blazor Server",
- "description": "Modello di progetto per la creazione di un'app Blazor Server che viene eseguita lato server all'interno di un'app ASP.NET Core e gestisce le interazioni utente in una connessione SignalR. Questo modello può essere usato per app Web con interfacce utente dinamiche."
+ "description": "Modello di progetto per la creazione di un'app Blazor Server che viene eseguita lato server all'interno di un'app ASP.NET Core e gestisce le interazioni utente in una connessione SignalR. Questo modello può essere usato per app Web con interfacce utente dinamiche.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ja-JP/strings.json
index 392174b1c2f9..1f9168c91c78 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor Server アプリ",
- "description": "ASP.NET Core アプリ内のサーバー側で実行され、SignalR 接続を介してユーザー操作を処理する Blazor Server アプリを作成するためのプロジェクト テンプレート。このテンプレートは、高度でダイナミックなユーザー インターフェイス (UI) を備えた Web アプリに使用できます。"
+ "description": "ASP.NET Core アプリ内のサーバー側で実行され、SignalR 接続を介してユーザー操作を処理する Blazor Server アプリを作成するためのプロジェクト テンプレート。このテンプレートは、高度でダイナミックなユーザー インターフェイス (UI) を備えた Web アプリに使用できます。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ko-KR/strings.json
index dc7f47bd548f..6b8e499adcd6 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor Server 앱",
- "description": "ASP.NET Core 앱 내에서 서버 쪽을 실행하고 SignalR 연결을 통해 사용자 상호 작용을 처리하는 Blazor Server 앱을 만드는 데 사용되는 프로젝트 템플릿입니다. 이 템플릿을 사용하여 다양한 동적 UI(사용자 인터페이스)가 포함된 웹앱을 만들 수 있습니다."
+ "description": "ASP.NET Core 앱 내에서 서버 쪽을 실행하고 SignalR 연결을 통해 사용자 상호 작용을 처리하는 Blazor Server 앱을 만드는 데 사용되는 프로젝트 템플릿입니다. 이 템플릿을 사용하여 다양한 동적 UI(사용자 인터페이스)가 포함된 웹앱을 만들 수 있습니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/pl-PL/strings.json
index da4098435bb9..f2f9305fe556 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplikacja Blazor Server",
- "description": "Szablon projektu służący do tworzenia aplikacji Blazor Server działającej po stronie serwera wewnątrz aplikacji platformy ASP.NET Core i obsługującej interakcje z użytkownikami za pośrednictwem połączenia SignalR. Ten szablon może być używany dla aplikacji internetowych z rozbudowanymi, dynamicznymi interfejsami użytkowników."
+ "description": "Szablon projektu służący do tworzenia aplikacji Blazor Server działającej po stronie serwera wewnątrz aplikacji platformy ASP.NET Core i obsługującej interakcje z użytkownikami za pośrednictwem połączenia SignalR. Ten szablon może być używany dla aplikacji internetowych z rozbudowanymi, dynamicznymi interfejsami użytkowników.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/pt-BR/strings.json
index afe4215367d2..267daf551844 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplicativo Blazor Server",
- "description": "Um modelo de projeto para criar um aplicativo Blazor Server que é executado do lado do servidor em um aplicativo ASP.NET Core e manipula as interações com o usuário em uma conexão SignalR. Esse modelo pode ser usado para aplicativos Web com UIs (interfaces do usuário) completas e dinâmicas."
+ "description": "Um modelo de projeto para criar um aplicativo Blazor Server que é executado do lado do servidor em um aplicativo ASP.NET Core e manipula as interações com o usuário em uma conexão SignalR. Esse modelo pode ser usado para aplicativos Web com UIs (interfaces do usuário) completas e dinâmicas.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ru-RU/strings.json
index 40d1fe74b89b..ad50de55bc53 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Приложение Blazor Server",
- "description": "Шаблон проекта для создания серверного приложения Blazor Server, которое запускается на стороне сервера в приложении ASP.NET Core и обрабатывает взаимодействие с пользователем через подключение SignalR. Этот шаблон можно использовать для веб-приложений с полнофункциональными динамическими пользовательскими интерфейсами."
+ "description": "Шаблон проекта для создания серверного приложения Blazor Server, которое запускается на стороне сервера в приложении ASP.NET Core и обрабатывает взаимодействие с пользователем через подключение SignalR. Этот шаблон можно использовать для веб-приложений с полнофункциональными динамическими пользовательскими интерфейсами.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/tr-TR/strings.json
index 36821de2c05c..40f3f08c5f68 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor Server Uygulaması",
- "description": "Bir ASP.NET Core uygulaması içinde sunucu tarafında çalışan ve bir SignalR bağlantısı üzerinden kullanıcı etkileşimlerini işleyen bir Blazor Server uygulaması oluşturmaya yönelik proje şablonu. Bu şablon, zengin dinamik kullanıcı arabirimlerine (UI) sahip web uygulamaları için kullanılabilir."
+ "description": "Bir ASP.NET Core uygulaması içinde sunucu tarafında çalışan ve bir SignalR bağlantısı üzerinden kullanıcı etkileşimlerini işleyen bir Blazor Server uygulaması oluşturmaya yönelik proje şablonu. Bu şablon, zengin dinamik kullanıcı arabirimlerine (UI) sahip web uygulamaları için kullanılabilir.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/zh-CN/strings.json
index 168305c0b58e..ab64e9c297cc 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor Server 应用",
- "description": "用于创建 Blazor Server 应用的项目模板,该应用会在 ASP.NET Core 应用内运行服务器端并对通过 SignalR 连接进行用户交互进行处理。此模板可用于具有丰富动态用户界面(UI)的 Web 应用。"
+ "description": "用于创建 Blazor Server 应用的项目模板,该应用会在 ASP.NET Core 应用内运行服务器端并对通过 SignalR 连接进行用户交互进行处理。此模板可用于具有丰富动态用户界面(UI)的 Web 应用。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/zh-TW/strings.json
index a405138873a3..8899fee785f5 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor Server 應用程式",
- "description": "用來建立 Blazor Server 應用程式的專案範本,該應用程式會在 ASP.NET Core 應用程式內執行伺服器端,並透過 SignalR 連線處理使用者互動。Web 應用程式具有豐富且動態的使用者介面 (UI) 時,此範本最適用。"
+ "description": "用來建立 Blazor Server 應用程式的專案範本,該應用程式會在 ASP.NET Core 應用程式內執行伺服器端,並透過 SignalR 連線處理使用者互動。Web 應用程式具有豐富且動態的使用者介面 (UI) 時,此範本最適用。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/cs-CZ/strings.json
index 23ed3d8c14e8..5f4f7fea4e50 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/cs-CZ/strings.json
@@ -4,6 +4,8 @@
"name": "Aplikace Blazor WebAssembly",
"description": "Šablona projektu pro vytvoření aplikace Blazor, která běží ve WebAssembly a dá se volitelně hostovat v aplikaci ASP.NET. Tato šablona se dá použít pro webové aplikace s propracovanými dynamickými uživatelskými rozhraními (UI).",
"parameter.Hosted.name": "_Hostováno pomocí ASP.NET Core",
- "parameter.PWA.name": "_Progresivní webová aplikace"
+ "parameter.PWA.name": "_Progresivní webová aplikace",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/de-DE/strings.json
index 8997ad2889ef..a4b51b9b196e 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/de-DE/strings.json
@@ -4,6 +4,8 @@
"name": "Blazor-WebAssembly-App",
"description": "Eine Projektvorlage zum Erstellen einer Blazor-App, die auf WebAssembly ausgeführt und optional durch eine ASP.NET Core-App gehostet wird. Diese Vorlage kann für Web-Apps mit umfangreichen dynamischen Benutzeroberflächen verwendet werden.",
"parameter.Hosted.name": "ASP.NET Core, _gehostet",
- "parameter.PWA.name": "_Progressive Webanwendung"
+ "parameter.PWA.name": "_Progressive Webanwendung",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/es-ES/strings.json
index 8d9b78b93dff..66484b1d4b72 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/es-ES/strings.json
@@ -4,6 +4,8 @@
"name": "Aplicación Blazor para WebAssembly",
"description": "Plantilla de proyecto para crear una aplicación Blazor que se ejecuta en WebAssembly y que se hospeda de forma opcional en una aplicación de ASP.NET Core. Esta plantilla se puede usar para las aplicaciones web con interfaces de usuario dinámicas enriquecidas (IU).",
"parameter.Hosted.name": "ASP.NET Core _hospedado",
- "parameter.PWA.name": "Aplicación _web progresiva"
+ "parameter.PWA.name": "Aplicación _web progresiva",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/fr-FR/strings.json
index 3b0f9c88b723..857103d2d70c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/fr-FR/strings.json
@@ -4,6 +4,8 @@
"name": "Application WebAssembly Blazor",
"description": "Modèle de projet permettant de créer une application Blazor qui s'exécute sur WebAssembly et qui est éventuellement hébergée par une application ASP.NET Core. Vous pouvez utiliser ce modèle pour les applications web ayant des IU (interfaces utilisateur) dynamiques riches.",
"parameter.Hosted.name": "_Hébergé sur ASP.NET Core",
- "parameter.PWA.name": "_Application web progressive"
+ "parameter.PWA.name": "_Application web progressive",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/it-IT/strings.json
index 8ebc2f8bb73e..4cc82a6f5834 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/it-IT/strings.json
@@ -4,6 +4,8 @@
"name": "App WebAssembly Blazor",
"description": "Modello di progetto per la creazione di un'app Blazor eseguita in WebAssembly e ospitata facoltativamente da un'app ASP.NET Core. Questo modello può essere usato per app Web con interfacce utente dinamiche.",
"parameter.Hosted.name": "ASP.NET Core _ospitato",
- "parameter.PWA.name": "Applicazione Web _progressiva"
+ "parameter.PWA.name": "Applicazione Web _progressiva",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ja-JP/strings.json
index 553988d61167..13786ae3fa65 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ja-JP/strings.json
@@ -4,6 +4,8 @@
"name": "Blazor WebAssembly アプリ",
"description": "WebAssembly 上で実行され、オプションで ASP.NET Core アプリによってホストされる Blazor アプリを作成するためのプロジェクト テンプレート。このテンプレートは、機能豊富で動的なユーザー インターフェイス (UI) を備えた Web アプリに使用できます。",
"parameter.Hosted.name": "ASP.NET Core でホストされた(_h)",
- "parameter.PWA.name": "プログレッシブ Web アプリケーション(_P)"
+ "parameter.PWA.name": "プログレッシブ Web アプリケーション(_P)",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ko-KR/strings.json
index 5cd1f22c97d6..c425c2364f06 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ko-KR/strings.json
@@ -4,6 +4,8 @@
"name": "Blazor WebAssembly 앱",
"description": "WebAssembly에서 실행되고 ASP.NET Core 앱에서 선택적으로 호스트되는 Blazor 앱을 만들기 위한 프로젝트 템플릿입니다. 이 템플릿은 다양한 동적 UI(사용자 인터페이스)를 포함하는 웹앱에 사용할 수 있습니다.",
"parameter.Hosted.name": "ASP.NET Core 호스팅(_H)",
- "parameter.PWA.name": "프로그레시브 웹 애플리케이션(_P)"
+ "parameter.PWA.name": "프로그레시브 웹 애플리케이션(_P)",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/pl-PL/strings.json
index 939dedccad5e..966e51e7dbff 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/pl-PL/strings.json
@@ -4,6 +4,8 @@
"name": "Aplikacja zestawu WebAssembly platformy Blazor",
"description": "Szablon projektu służący do tworzenia aplikacji platformy Blazor, która działa w formacie WebAssembly i jest opcjonalnie hostowana przez aplikację platformy ASP.NET Core. Tego szablonu można używać dla aplikacji internetowych z rozbudowanymi dynamicznymi interfejsami użytkownika.",
"parameter.Hosted.name": "_Hostowane na platformie ASP.NET Core",
- "parameter.PWA.name": "_Progresywna aplikacja internetowa"
+ "parameter.PWA.name": "_Progresywna aplikacja internetowa",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/pt-BR/strings.json
index 3821b89d8ed7..822d2d8eb8e8 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/pt-BR/strings.json
@@ -4,6 +4,8 @@
"name": "Aplicativo Blazor no WebAssembly",
"description": "Um modelo de projeto para criar um aplicativo Blazor que é executado no WebAssembly e, opcionalmente, é hospedado por um aplicativo ASP.NET Core. Esse modelo pode ser usado para aplicativos Web com IUs (interfaces do usuário) completas e dinâmicas.",
"parameter.Hosted.name": "_hospedado no ASP.NET Core",
- "parameter.PWA.name": "Aplicativo Web _progressivo"
+ "parameter.PWA.name": "Aplicativo Web _progressivo",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ru-RU/strings.json
index cac0eb7c7ed4..f09272bf45fb 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/ru-RU/strings.json
@@ -4,6 +4,8 @@
"name": "Приложение WebAssembly Blazor",
"description": "Шаблон проекта для создания приложения Blazor, которое запускается в WebAssembly и может размещаться в приложении ASP.NET Core. Этот шаблон можно использовать для веб-приложений с расширенными динамическими пользовательскими интерфейсами (UI).",
"parameter.Hosted.name": "С _размещением в ASP.NET Core",
- "parameter.PWA.name": "_Прогрессивное веб-приложение"
+ "parameter.PWA.name": "_Прогрессивное веб-приложение",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/tr-TR/strings.json
index 51d93c62fd05..9455f5243553 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/tr-TR/strings.json
@@ -4,6 +4,8 @@
"name": "Blazor WebAssembly Uygulaması",
"description": "WebAssembly üzerinde çalışan ve isteğe bağlı olarak bir ASP.NET Core uygulamasında barındırılan Blazor uygulaması oluşturmaya yönelik proje şablonu. Bu şablon, zengin dinamik kullanıcı arabirimlerine (UI) sahip web uygulamaları için kullanılabilir.",
"parameter.Hosted.name": "ASP.NET Core tarafından _barındırılan",
- "parameter.PWA.name": "_Aşamalı Web Uygulaması"
+ "parameter.PWA.name": "_Aşamalı Web Uygulaması",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/zh-CN/strings.json
index b216681d3bbe..b327db5b6ecf 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/zh-CN/strings.json
@@ -4,6 +4,8 @@
"name": "Blazor WebAssembly 应用",
"description": "用于创建 Blazor 应用的项目模板,该应用在 WebAssembly 上运行且可选择由 ASP.NET Core 应用托管。此模板可用于具有丰富动态用户界面(UI)的 Web 应用。",
"parameter.Hosted.name": "ASP.NET Core 托管(_H)",
- "parameter.PWA.name": "渐进式 Web 应用程序(_P)"
+ "parameter.PWA.name": "渐进式 Web 应用程序(_P)",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/zh-TW/strings.json
index 0329e220a5be..252a5dc377d5 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/.template.config/zh-TW/strings.json
@@ -4,6 +4,8 @@
"name": "Blazor WebAssembly 應用程式",
"description": "此專案範本可用於建立在 WebAssembly 上執行的 Blazor 應用程式,並可選擇是否要裝載在 ASP.NET Core 應用程式上。此範本可供搭載豐富動態使用者介面 (UI) 的 Web 應用程式使用。",
"parameter.Hosted.name": "裝載在 ASP.NET Core 上(_H)",
- "parameter.PWA.name": "漸進式 Web 應用程式(_P)"
+ "parameter.PWA.name": "漸進式 Web 應用程式(_P)",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/cs-CZ/strings.json
index 92ce91c58c1a..e1d481921766 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core (prázdné)",
- "description": "Prázdná šablona projektu pro vytvoření aplikace ASP.NET Core. V této šabloně není žádný obsah."
+ "description": "Prázdná šablona projektu pro vytvoření aplikace ASP.NET Core. V této šabloně není žádný obsah.",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/de-DE/strings.json
index 67351092991a..708234f228fe 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core leer",
- "description": "Eine leere Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung. Diese Vorlage umfasst keine Inhalte."
+ "description": "Eine leere Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung. Diese Vorlage umfasst keine Inhalte.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/es-ES/strings.json
index 58c810b32812..9e4c2cc667fb 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core vacío",
- "description": "Una plantilla de proyecto vacía para crear una aplicación ASP.NET Core. Esta plantilla no incluye ningún contenido."
+ "description": "Una plantilla de proyecto vacía para crear una aplicación ASP.NET Core. Esta plantilla no incluye ningún contenido.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/fr-FR/strings.json
index 088a0a37d4ba..7855ffc17819 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core vide",
- "description": "Modèle de projet vide pour la création d'une application ASP.NET Core. Ce modèle n'a aucun contenu."
+ "description": "Modèle de projet vide pour la création d'une application ASP.NET Core. Ce modèle n'a aucun contenu.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/it-IT/strings.json
index c5aebd8a4437..e173d49eb031 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Progetto ASP.NET Core vuoto",
- "description": "Modello di progetto vuoto per la creazione di un'applicazione ASP.NET Core. Questo modello non include alcun contenuto."
+ "description": "Modello di progetto vuoto per la creazione di un'applicazione ASP.NET Core. Questo modello non include alcun contenuto.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ja-JP/strings.json
index 618e4c1fee27..0aac238d1c81 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core (空)",
- "description": "ASP.NET Core アプリケーションを作成するための空のプロジェクト テンプレートです。このテンプレートにはコンテンツが一切含まれていません。"
+ "description": "ASP.NET Core アプリケーションを作成するための空のプロジェクト テンプレートです。このテンプレートにはコンテンツが一切含まれていません。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ko-KR/strings.json
index 12c77a8a4f25..6d2a8f20cc3b 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core 비어 있음",
- "description": "ASP.NET Core 애플리케이션을 만들기 위한 빈 프로젝트 템플릿입니다. 이 템플릿에는 내용이 없습니다."
+ "description": "ASP.NET Core 애플리케이션을 만들기 위한 빈 프로젝트 템플릿입니다. 이 템플릿에는 내용이 없습니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/pl-PL/strings.json
index e8e3ba977773..c728817ece99 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core — puste",
- "description": "Pusty szablon projektu służący do tworzenia aplikacji platformy ASP.NET Core. Ten szablon nie ma żadnej zawartości."
+ "description": "Pusty szablon projektu służący do tworzenia aplikacji platformy ASP.NET Core. Ten szablon nie ma żadnej zawartości.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/pt-BR/strings.json
index 2c3afc1da3d6..89ab4937befa 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Vazio",
- "description": "Um modelo de projeto vazio para a criação de um aplicativo ASP.NET Core. Esse modelo não tem nenhum conteúdo."
+ "description": "Um modelo de projeto vazio para a criação de um aplicativo ASP.NET Core. Esse modelo não tem nenhum conteúdo.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ru-RU/strings.json
index 9c688d0dae19..6c062f4f8df3 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Пустой ASP.NET Core",
- "description": "Пустой шаблон проекта для создания приложения ASP.NET Core. Этот шаблон не имеет содержимого."
+ "description": "Пустой шаблон проекта для создания приложения ASP.NET Core. Этот шаблон не имеет содержимого.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/tr-TR/strings.json
index 948c8f1cb9d1..ca20aaf48552 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Boş",
- "description": "ASP.NET Core uygulaması oluşturmaya yönelik boş bir proje şablonu. Bu şablonda içerik yoktur."
+ "description": "ASP.NET Core uygulaması oluşturmaya yönelik boş bir proje şablonu. Bu şablonda içerik yoktur.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/zh-CN/strings.json
index 1d3d2da1db6d..818d761eae46 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core 空",
- "description": "用于创建 ASP.NET Core 应用程序的空项目模板。此模板中没有任何内容。"
+ "description": "用于创建 ASP.NET Core 应用程序的空项目模板。此模板中没有任何内容。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/zh-TW/strings.json
index cf146f3230b4..0f6b32eed3cb 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "空的 ASP.NET Core",
- "description": "可用於建立 ASP.NET Core 應用程式的空白專案範本。此範本不含任何內容。"
+ "description": "可用於建立 ASP.NET Core 應用程式的空白專案範本。此範本不含任何內容。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/cs-CZ/strings.json
index 92ce91c58c1a..e1d481921766 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core (prázdné)",
- "description": "Prázdná šablona projektu pro vytvoření aplikace ASP.NET Core. V této šabloně není žádný obsah."
+ "description": "Prázdná šablona projektu pro vytvoření aplikace ASP.NET Core. V této šabloně není žádný obsah.",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/de-DE/strings.json
index 67351092991a..708234f228fe 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core leer",
- "description": "Eine leere Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung. Diese Vorlage umfasst keine Inhalte."
+ "description": "Eine leere Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung. Diese Vorlage umfasst keine Inhalte.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/es-ES/strings.json
index 58c810b32812..9e4c2cc667fb 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core vacío",
- "description": "Una plantilla de proyecto vacía para crear una aplicación ASP.NET Core. Esta plantilla no incluye ningún contenido."
+ "description": "Una plantilla de proyecto vacía para crear una aplicación ASP.NET Core. Esta plantilla no incluye ningún contenido.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/fr-FR/strings.json
index 088a0a37d4ba..7855ffc17819 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core vide",
- "description": "Modèle de projet vide pour la création d'une application ASP.NET Core. Ce modèle n'a aucun contenu."
+ "description": "Modèle de projet vide pour la création d'une application ASP.NET Core. Ce modèle n'a aucun contenu.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/it-IT/strings.json
index c5aebd8a4437..e173d49eb031 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Progetto ASP.NET Core vuoto",
- "description": "Modello di progetto vuoto per la creazione di un'applicazione ASP.NET Core. Questo modello non include alcun contenuto."
+ "description": "Modello di progetto vuoto per la creazione di un'applicazione ASP.NET Core. Questo modello non include alcun contenuto.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ja-JP/strings.json
index 618e4c1fee27..0aac238d1c81 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core (空)",
- "description": "ASP.NET Core アプリケーションを作成するための空のプロジェクト テンプレートです。このテンプレートにはコンテンツが一切含まれていません。"
+ "description": "ASP.NET Core アプリケーションを作成するための空のプロジェクト テンプレートです。このテンプレートにはコンテンツが一切含まれていません。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ko-KR/strings.json
index 12c77a8a4f25..6d2a8f20cc3b 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core 비어 있음",
- "description": "ASP.NET Core 애플리케이션을 만들기 위한 빈 프로젝트 템플릿입니다. 이 템플릿에는 내용이 없습니다."
+ "description": "ASP.NET Core 애플리케이션을 만들기 위한 빈 프로젝트 템플릿입니다. 이 템플릿에는 내용이 없습니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/pl-PL/strings.json
index e8e3ba977773..c728817ece99 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core — puste",
- "description": "Pusty szablon projektu służący do tworzenia aplikacji platformy ASP.NET Core. Ten szablon nie ma żadnej zawartości."
+ "description": "Pusty szablon projektu służący do tworzenia aplikacji platformy ASP.NET Core. Ten szablon nie ma żadnej zawartości.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/pt-BR/strings.json
index 2c3afc1da3d6..89ab4937befa 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Vazio",
- "description": "Um modelo de projeto vazio para a criação de um aplicativo ASP.NET Core. Esse modelo não tem nenhum conteúdo."
+ "description": "Um modelo de projeto vazio para a criação de um aplicativo ASP.NET Core. Esse modelo não tem nenhum conteúdo.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ru-RU/strings.json
index 9c688d0dae19..6c062f4f8df3 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Пустой ASP.NET Core",
- "description": "Пустой шаблон проекта для создания приложения ASP.NET Core. Этот шаблон не имеет содержимого."
+ "description": "Пустой шаблон проекта для создания приложения ASP.NET Core. Этот шаблон не имеет содержимого.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/tr-TR/strings.json
index 948c8f1cb9d1..ca20aaf48552 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Boş",
- "description": "ASP.NET Core uygulaması oluşturmaya yönelik boş bir proje şablonu. Bu şablonda içerik yoktur."
+ "description": "ASP.NET Core uygulaması oluşturmaya yönelik boş bir proje şablonu. Bu şablonda içerik yoktur.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/zh-CN/strings.json
index 1d3d2da1db6d..818d761eae46 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core 空",
- "description": "用于创建 ASP.NET Core 应用程序的空项目模板。此模板中没有任何内容。"
+ "description": "用于创建 ASP.NET Core 应用程序的空项目模板。此模板中没有任何内容。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/zh-TW/strings.json
index cf146f3230b4..0f6b32eed3cb 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "空的 ASP.NET Core",
- "description": "可用於建立 ASP.NET Core 應用程式的空白專案範本。此範本不含任何內容。"
+ "description": "可用於建立 ASP.NET Core 應用程式的空白專案範本。此範本不含任何內容。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/cs-CZ/strings.json
index 304e8a64df73..74489dab15c9 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Služba ASP.NET Core gRPC",
- "description": "Šablona projektu pro vytvoření služby gRPC ASP.NET Core"
+ "description": "Šablona projektu pro vytvoření služby gRPC ASP.NET Core",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/de-DE/strings.json
index afb20f4e8aff..6a3e3b12b155 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core-gRPC-Dienst",
- "description": "Eine Projektvorlage für das Erstellen eines gRPC-ASP.NET Core-Diensts."
+ "description": "Eine Projektvorlage für das Erstellen eines gRPC-ASP.NET Core-Diensts.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/es-ES/strings.json
index 92adaa32d863..7a1f64ff12e6 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Servicio gRPC de ASP.NET Core",
- "description": "Plantilla de proyecto para crear un servicio gRPC de ASP.NET Core."
+ "description": "Plantilla de proyecto para crear un servicio gRPC de ASP.NET Core.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/fr-FR/strings.json
index d7fdebbf62b8..0d35f4f51220 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Service gRPC ASP.NET Core",
- "description": "Modèle de projet pour la création d'un service gRPC ASP.NET Core."
+ "description": "Modèle de projet pour la création d'un service gRPC ASP.NET Core.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/it-IT/strings.json
index aa13ec82b6c0..f043f09723a2 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Servizio gRPC ASP.NET Core",
- "description": "Modello di progetto per la creazione di un servizio ASP.NET Core gRPC."
+ "description": "Modello di progetto per la creazione di un servizio ASP.NET Core gRPC.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ja-JP/strings.json
index e3c0b06d428d..19030ba1a7f1 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core gRPC サービス",
- "description": "gRPC ASP.NET Core サービスを作成するためのプロジェクト テンプレート。"
+ "description": "gRPC ASP.NET Core サービスを作成するためのプロジェクト テンプレート。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ko-KR/strings.json
index 654520a565cf..7a40f273f5c3 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core gRPC 서비스",
- "description": "gRPC ASP.NET Core 서비스를 만들기 위한 프로젝트 템플릿입니다."
+ "description": "gRPC ASP.NET Core 서비스를 만들기 위한 프로젝트 템플릿입니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/pl-PL/strings.json
index 0a322d30c4d0..b78cf941a9f1 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Usługa gRPC platformy ASP.NET Core",
- "description": "Szablon projektu służący do tworzenia usługi gRPC platformy ASP.NET Core."
+ "description": "Szablon projektu służący do tworzenia usługi gRPC platformy ASP.NET Core.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/pt-BR/strings.json
index b67138f18537..1f5ab010b579 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Serviço gRPC do ASP.NET Core",
- "description": "Um modelo de projeto para criar um serviço gRPC ASP.NET Core."
+ "description": "Um modelo de projeto para criar um serviço gRPC ASP.NET Core.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ru-RU/strings.json
index d0e8046f8ba5..25056ea7740a 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Служба gRPC ASP.NET Core",
- "description": "Шаблон проекта для создания службы gRPC ASP.NET Core."
+ "description": "Шаблон проекта для создания службы gRPC ASP.NET Core.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/tr-TR/strings.json
index 2bb69d0d5820..88fd02b3cb02 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core gRPC Hizmeti",
- "description": "gRPC ASP.NET Core hizmeti oluşturmaya yönelik proje şablonu."
+ "description": "gRPC ASP.NET Core hizmeti oluşturmaya yönelik proje şablonu.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/zh-CN/strings.json
index 62a8d7bdb074..a4bd0cdd31b9 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core gRPC 服务",
- "description": "用于创建 gRPC ASP.NET Core 服务的项目模板。"
+ "description": "用于创建 gRPC ASP.NET Core 服务的项目模板。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/zh-TW/strings.json
index aea847221a99..b70768c79233 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core gRPC 服務",
- "description": "用來建立 gRPC ASP.NET Core 服務的專案範本。"
+ "description": "用來建立 gRPC ASP.NET Core 服務的專案範本。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/cs-CZ/strings.json
index 9a99015d9edf..e55162f574d0 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/cs-CZ/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Knihovna tříd Razor",
"description": "Projekt šablony pro vytvoření knihovny tříd Razor",
- "parameter.SupportPagesAndViews.name": "_Stránky podpory a zobrazení"
+ "parameter.SupportPagesAndViews.name": "_Stránky podpory a zobrazení",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/de-DE/strings.json
index 19ad3ed98c21..19167e8e9c81 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/de-DE/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Razor-Klassenbibliothek",
"description": "Eine Projektvorlage zum Erstellen einer Razor-Klassenbibliothek.",
- "parameter.SupportPagesAndViews.name": "_Supportseiten und -ansichten"
+ "parameter.SupportPagesAndViews.name": "_Supportseiten und -ansichten",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/es-ES/strings.json
index 63645de5aea0..33e98b47581c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/es-ES/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Biblioteca de clases de Razor",
"description": "Plantilla de proyecto para crear una biblioteca de clases de Razor.",
- "parameter.SupportPagesAndViews.name": "_Páginas y vistas de soporte técnico"
+ "parameter.SupportPagesAndViews.name": "_Páginas y vistas de soporte técnico",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/fr-FR/strings.json
index 70b03f2fa8c5..c862459ce3a7 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/fr-FR/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Bibliothèque de classes Razor",
"description": "Modèle de projet pour créer une bibliothèque de classes Razor.",
- "parameter.SupportPagesAndViews.name": "_Prendre en charge les pages et les vues"
+ "parameter.SupportPagesAndViews.name": "_Prendre en charge les pages et les vues",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/it-IT/strings.json
index dc75280f9f81..b2d6472e686b 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/it-IT/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Libreria di classi Razor",
"description": "Modello di progetto per la creazione di una libreria di classi Razor.",
- "parameter.SupportPagesAndViews.name": "_Supporta pagine e visualizzazioni"
+ "parameter.SupportPagesAndViews.name": "_Supporta pagine e visualizzazioni",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ja-JP/strings.json
index c89d555ec735..7bc2f3fdf33e 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ja-JP/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Razor クラス ライブラリ",
"description": "Razor クラス ライブラリを作成するためのプロジェクト テンプレートです。",
- "parameter.SupportPagesAndViews.name": "ページとビューのサポート(_S)"
+ "parameter.SupportPagesAndViews.name": "ページとビューのサポート(_S)",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ko-KR/strings.json
index f5d37428dd7c..6eeb92664445 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ko-KR/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Razor 클래스 라이브러리",
"description": "Razor 클래스 라이브러리를 만들기 위한 프로젝트 템플릿입니다.",
- "parameter.SupportPagesAndViews.name": "지원 페이지 및 보기(_S)"
+ "parameter.SupportPagesAndViews.name": "지원 페이지 및 보기(_S)",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/pl-PL/strings.json
index a0fd9fd29783..a8e2caaea497 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/pl-PL/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Biblioteka klas Razor",
"description": "Szablon projektu do tworzenia biblioteki klas Razor.",
- "parameter.SupportPagesAndViews.name": "_Obsługa stron i widoków"
+ "parameter.SupportPagesAndViews.name": "_Obsługa stron i widoków",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/pt-BR/strings.json
index 7183895cf2dd..95c86bfc69a1 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/pt-BR/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Biblioteca de Classes Razor",
"description": "Um modelo de projeto para criar uma biblioteca de classes Razor.",
- "parameter.SupportPagesAndViews.name": "Páginas e exibições do _suporte"
+ "parameter.SupportPagesAndViews.name": "Páginas e exibições do _suporte",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ru-RU/strings.json
index efe043fde6d3..7c6cedfcd7d0 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/ru-RU/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Библиотека классов Razor",
"description": "Шаблон проекта для создания библиотеки классов Razor.",
- "parameter.SupportPagesAndViews.name": "_Представления и страницы поддержки"
+ "parameter.SupportPagesAndViews.name": "_Представления и страницы поддержки",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/tr-TR/strings.json
index 4ef1c24edc4f..94d3c1842a1e 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/tr-TR/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Razor Sınıf Kitaplığı",
"description": "Razor sınıf kütüphanesi yaratma projesi şablonu.",
- "parameter.SupportPagesAndViews.name": "_Destek sayfaları ve görünümler"
+ "parameter.SupportPagesAndViews.name": "_Destek sayfaları ve görünümler",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/zh-CN/strings.json
index 961e5ca4961d..b9257c9d5ea5 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/zh-CN/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Razor 类库",
"description": "用于创建 Razor 类库的项目模板。",
- "parameter.SupportPagesAndViews.name": "支持页面和视图(_S)"
+ "parameter.SupportPagesAndViews.name": "支持页面和视图(_S)",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/zh-TW/strings.json
index ed86c524aabc..422f49d8cc4c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/zh-TW/strings.json
@@ -3,6 +3,8 @@
"strings": {
"name": "Razor 類別庫",
"description": "用於建立 Razor 類別庫的專案範本。",
- "parameter.SupportPagesAndViews.name": "_Support 頁面與檢視"
+ "parameter.SupportPagesAndViews.name": "_Support 頁面與檢視",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/cs-CZ/strings.json
index d9e0ef4f69f9..a3bc1c7ebe03 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Serverová aplikace Blazor",
- "description": "Šablona projektu pro vytvoření aplikace Blazor, která běží na straně serveru uvnitř aplikace ASP.NET Core. Tato šablona se dá využít pro webové aplikace s propracovanými dynamickými uživatelskými rozhraními (UI)."
+ "description": "Šablona projektu pro vytvoření aplikace Blazor, která běží na straně serveru uvnitř aplikace ASP.NET Core. Tato šablona se dá využít pro webové aplikace s propracovanými dynamickými uživatelskými rozhraními (UI).",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/de-DE/strings.json
index fbfd18918bc6..5d97f0d88f87 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor-Server-App",
- "description": "Eine Projektvorlage für das Erstellen einer Blazor-Anwendung, die serverseitig innerhalb einer ASP.NET Core-Anwendung ausgeführt wird. Diese Vorlage kann für Webanwendungen mit umfangreichen dynamischen Benutzeroberflächen verwendet werden."
+ "description": "Eine Projektvorlage für das Erstellen einer Blazor-Anwendung, die serverseitig innerhalb einer ASP.NET Core-Anwendung ausgeführt wird. Diese Vorlage kann für Webanwendungen mit umfangreichen dynamischen Benutzeroberflächen verwendet werden.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/es-ES/strings.json
index cab2e5fff713..df093c5e4e3f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplicación de servidor Blazor",
- "description": "Plantilla de proyecto para crear una aplicación Blazor que se ejecuta del lado servidor dentro de una aplicación de ASP.NET Core. Esta plantilla se puede usar para las aplicaciones web con interfaces de usuario dinámicas enriquecidas."
+ "description": "Plantilla de proyecto para crear una aplicación Blazor que se ejecuta del lado servidor dentro de una aplicación de ASP.NET Core. Esta plantilla se puede usar para las aplicaciones web con interfaces de usuario dinámicas enriquecidas.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/fr-FR/strings.json
index 8125fff887d8..0f5cb0c2dbe1 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Application serveur Blazor",
- "description": "Modèle de projet pour la création d'une application Blazor qui s'exécute côté serveur dans une application ASP.NET Core. Vous pouvez utiliser ce modèle pour les applications web ayant des IU (interfaces utilisateur) dynamiques riches."
+ "description": "Modèle de projet pour la création d'une application Blazor qui s'exécute côté serveur dans une application ASP.NET Core. Vous pouvez utiliser ce modèle pour les applications web ayant des IU (interfaces utilisateur) dynamiques riches.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/it-IT/strings.json
index 1ad3eb5ec993..433564f41de7 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "App server Blazor",
- "description": "Modello di progetto per la creazione di un'applicazione Blazor che viene eseguita lato server all'interno di un'applicazione ASP.NET Core. Questo modello può essere usato per applicazioni Web con interfacce utente dinamiche."
+ "description": "Modello di progetto per la creazione di un'applicazione Blazor che viene eseguita lato server all'interno di un'applicazione ASP.NET Core. Questo modello può essere usato per applicazioni Web con interfacce utente dinamiche.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ja-JP/strings.json
index e61ed0364935..11f86ecba15e 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor サーバー アプリ",
- "description": "ASP.NET Core アプリケーション内のサーバー側で実行される Blazor アプリケーションを作成するためのプロジェクト テンプレート。このテンプレートは、リッチでダイナミックなユーザー インターフェイス (UI) を備えた Web アプリケーションに使用できます。"
+ "description": "ASP.NET Core アプリケーション内のサーバー側で実行される Blazor アプリケーションを作成するためのプロジェクト テンプレート。このテンプレートは、リッチでダイナミックなユーザー インターフェイス (UI) を備えた Web アプリケーションに使用できます。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ko-KR/strings.json
index 92444cf0c0d2..0d5b55a7dae5 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor 서버 앱",
- "description": "ASP.NET Core 애플리케이션 내에서 서버 쪽을 실행하는 Blazor 애플리케이션을 만들기 위한 프로젝트 템플릿입니다. 이 템플릿을 사용하여 다양한 동적 UI(사용자 인터페이스)가 포함된 웹 애플리케이션을 만들 수 있습니다."
+ "description": "ASP.NET Core 애플리케이션 내에서 서버 쪽을 실행하는 Blazor 애플리케이션을 만들기 위한 프로젝트 템플릿입니다. 이 템플릿을 사용하여 다양한 동적 UI(사용자 인터페이스)가 포함된 웹 애플리케이션을 만들 수 있습니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/pl-PL/strings.json
index 3339fc337806..41db7ca8830b 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplikacja serwera Blazor",
- "description": "Szablon projektu służący do tworzenia aplikacji Blazor działającej po stronie serwera wewnątrz aplikacji platformy ASP.NET Core. Ten szablon może być używany dla aplikacji internetowych z rozbudowanymi, dynamicznymi interfejsami użytkowników."
+ "description": "Szablon projektu służący do tworzenia aplikacji Blazor działającej po stronie serwera wewnątrz aplikacji platformy ASP.NET Core. Ten szablon może być używany dla aplikacji internetowych z rozbudowanymi, dynamicznymi interfejsami użytkowników.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/pt-BR/strings.json
index 76edb169fafe..775222067cbe 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplicativo de Servidor Blazor",
- "description": "Um modelo de projeto para criar um aplicativo Blazor que é executado no lado do servidor de um aplicativo ASP.NET Core. Esse modelo pode ser usado para aplicativos Web com interfaces do usuário completas e dinâmicas."
+ "description": "Um modelo de projeto para criar um aplicativo Blazor que é executado no lado do servidor de um aplicativo ASP.NET Core. Esse modelo pode ser usado para aplicativos Web com interfaces do usuário completas e dinâmicas.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ru-RU/strings.json
index 3356df6fd144..46f21bdd7f5c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Серверное приложение Blazor",
- "description": "Шаблон проекта для создания приложения Blazor, которое запускается на стороне сервера в приложении ASP.NET Core. Этот шаблон можно использовать для веб-приложений с полнофункциональными динамическими пользовательскими интерфейсами."
+ "description": "Шаблон проекта для создания приложения Blazor, которое запускается на стороне сервера в приложении ASP.NET Core. Этот шаблон можно использовать для веб-приложений с полнофункциональными динамическими пользовательскими интерфейсами.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/tr-TR/strings.json
index 2816c2991281..204012c1012c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor Sunucu Uygulaması",
- "description": "Bir ASP.NET Core uygulaması içinde sunucu tarafında çalışan bir Blazor uygulaması oluşturmaya yönelik proje şablonu. Bu şablon, zengin dinamik kullanıcı arabirimlerine (UI) sahip web uygulamaları için kullanılabilir."
+ "description": "Bir ASP.NET Core uygulaması içinde sunucu tarafında çalışan bir Blazor uygulaması oluşturmaya yönelik proje şablonu. Bu şablon, zengin dinamik kullanıcı arabirimlerine (UI) sahip web uygulamaları için kullanılabilir.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/zh-CN/strings.json
index 99bda9b27608..b5ea33655594 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor Server 应用",
- "description": "用于创建 ASP.NET Core 应用程序内运行服务器端的 Blazor 应用程序的项目模板。此模板可用于具有丰富动态用户界面(UI)的 web 应用程序。"
+ "description": "用于创建 ASP.NET Core 应用程序内运行服务器端的 Blazor 应用程序的项目模板。此模板可用于具有丰富动态用户界面(UI)的 web 应用程序。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/zh-TW/strings.json
index 0281c56dd8ae..9ea6dcde347f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Blazor 伺服器應用程式",
- "description": "用來建立 ASP.NET Core 應用程式內執行伺服器端之 Blazor 應用程式的專案範本。具有豐富動態使用者介面 (UI) 的 Web 應用程式可使用此範本。"
+ "description": "用來建立 ASP.NET Core 應用程式內執行伺服器端之 Blazor 應用程式的專案範本。具有豐富動態使用者介面 (UI) 的 Web 應用程式可使用此範本。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/cs-CZ/strings.json
index 12b30913d55e..332eec3dd943 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Webová aplikace ASP.NET Core",
- "description": "Šablona projektu pro vytvoření aplikace ASP.NET Core s ukázkovým obsahem stránek ASP.NET Razor"
+ "description": "Šablona projektu pro vytvoření aplikace ASP.NET Core s ukázkovým obsahem stránek ASP.NET Razor",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/de-DE/strings.json
index de3aaa43a890..c8cec5e0f45f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core-Web-App",
- "description": "Eine Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung mit Beispielinhalt für ASP.NET-Razor-Seiten."
+ "description": "Eine Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung mit Beispielinhalt für ASP.NET-Razor-Seiten.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/es-ES/strings.json
index b68e68c21047..133a5d3e0e31 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplicación web de ASP.NET Core",
- "description": "Una plantilla de proyecto para crear una aplicación ASP.NET Core con contenido de páginas de Razor de ASP.NET de ejemplo."
+ "description": "Una plantilla de proyecto para crear una aplicación ASP.NET Core con contenido de páginas de Razor de ASP.NET de ejemplo.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/fr-FR/strings.json
index e52de1ae5e16..1fee4b744e41 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Application web ASP.NET Core",
- "description": "Modèle de projet permettant de créer une application ASP.NET Core avec des exemples de contenus basés sur des pages Razor en ASP.NET."
+ "description": "Modèle de projet permettant de créer une application ASP.NET Core avec des exemples de contenus basés sur des pages Razor en ASP.NET.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/it-IT/strings.json
index 9ce611c1c5b0..183019dc151f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "App Web ASP.NET Core",
- "description": "Modello di progetto per la creazione di un'applicazione ASP.NET Core con contenuto di pagine Razor ASP.NET di esempio."
+ "description": "Modello di progetto per la creazione di un'applicazione ASP.NET Core con contenuto di pagine Razor ASP.NET di esempio.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ja-JP/strings.json
index 6049a17f9146..d8e4d9c36661 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web アプリ",
- "description": "サンプルの ASP.NET Razor Pages コンテンツで ASP.NET Core アプリケーションを作成するためのプロジェクト テンプレートです。"
+ "description": "サンプルの ASP.NET Razor Pages コンテンツで ASP.NET Core アプリケーションを作成するためのプロジェクト テンプレートです。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ko-KR/strings.json
index 405228b8b355..241ceef9410f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core 웹앱",
- "description": "예제 ASP.NET Razor 페이지 콘텐츠를 사용하여 ASP.NET Core 애플리케이션을 만드는 데 사용되는 프로젝트 템플릿입니다."
+ "description": "예제 ASP.NET Razor 페이지 콘텐츠를 사용하여 ASP.NET Core 애플리케이션을 만드는 데 사용되는 프로젝트 템플릿입니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/pl-PL/strings.json
index 286c720cba77..66b6b73c4249 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplikacja internetowa ASP.NET Core",
- "description": "Szablon projektu na potrzeby tworzenia aplikacji ASP.NET Core z przykładem zawartości strony ASP.NET Razor."
+ "description": "Szablon projektu na potrzeby tworzenia aplikacji ASP.NET Core z przykładem zawartości strony ASP.NET Razor.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/pt-BR/strings.json
index 527ae51ffec5..29937dc3be1e 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplicativo Web ASP.NET Core",
- "description": "Um modelo de projeto para a criação de um aplicativo ASP.NET Core, com conteúdo de páginas do ASP.NET Razor de exemplo."
+ "description": "Um modelo de projeto para a criação de um aplicativo ASP.NET Core, com conteúdo de páginas do ASP.NET Razor de exemplo.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ru-RU/strings.json
index 5ed29afae6f8..1480e0d4955e 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Веб-приложение ASP.NET Core",
- "description": "Шаблон проекта для создания приложения ASP.NET Core с примером содержимого Razor Pages ASP.NET."
+ "description": "Шаблон проекта для создания приложения ASP.NET Core с примером содержимого Razor Pages ASP.NET.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/tr-TR/strings.json
index a136b3696a33..23cf4674f29a 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web Uygulaması",
- "description": "Örnek ASP.NET Razor Sayfaları içeriğine sahip bir ASP.NET Core uygulaması oluşturmaya yönelik proje şablonu."
+ "description": "Örnek ASP.NET Razor Sayfaları içeriğine sahip bir ASP.NET Core uygulaması oluşturmaya yönelik proje şablonu.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/zh-CN/strings.json
index 1dcb91a8f39b..e51a4d6ee565 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web 应用",
- "description": "用于创建 ASP.NET Core 应用程序的项目模板,其中包含示例 ASP.NET Razor 页面内容。"
+ "description": "用于创建 ASP.NET Core 应用程序的项目模板,其中包含示例 ASP.NET Razor 页面内容。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/zh-TW/strings.json
index b2f69443f0aa..07b63573188e 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web 應用程式",
- "description": "可用於使用範例 ASP.NET Razor 頁面內容建立 ASP.NET Core 應用程式的專案範本。"
+ "description": "可用於使用範例 ASP.NET Razor 頁面內容建立 ASP.NET Core 應用程式的專案範本。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/cs-CZ/strings.json
index 7d3224a6e976..aa04e844b39d 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Webová aplikace ASP.NET Core (Model-View-Controller)",
- "description": "Šablona projektu pro vytvoření aplikace ASP.NET Core s ukázkovými zobrazeními a kontrolery ASP.NET Core MVC. Tato šablona se dá použít i pro služby RESTful HTTP."
+ "description": "Šablona projektu pro vytvoření aplikace ASP.NET Core s ukázkovými zobrazeními a kontrolery ASP.NET Core MVC. Tato šablona se dá použít i pro služby RESTful HTTP.",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/de-DE/strings.json
index 248b941caa5e..a161c7cfad6f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core-Web-App (Model View Controller)",
- "description": "Eine Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung mit Beispielen für ASP.NET Core-MVC-Ansichten und -Controller. Diese Vorlage kann auch für RESTful HTTP-Dienste verwendet werden."
+ "description": "Eine Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung mit Beispielen für ASP.NET Core-MVC-Ansichten und -Controller. Diese Vorlage kann auch für RESTful HTTP-Dienste verwendet werden.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/es-ES/strings.json
index 38d563ddf345..1ac0532937ea 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplicación web de ASP.NET Core (Modelo-Vista-Controlador)",
- "description": "Una plantilla de proyecto para crear una aplicación ASP.NET Core con controladores y vistas de ASP.NET Core MVC de ejemplo. Esta plantilla también puede usarse para servicios RESTful HTTP."
+ "description": "Una plantilla de proyecto para crear una aplicación ASP.NET Core con controladores y vistas de ASP.NET Core MVC de ejemplo. Esta plantilla también puede usarse para servicios RESTful HTTP.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/fr-FR/strings.json
index e365bb62dd6a..5e79149920ff 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Application web ASP.NET Core (modèle-vue-contrôleur)",
- "description": "Modèle de projet permettant de créer une application ASP.NET Core avec des exemples de vues et de contrôleurs ASP.NET Core MVC. Vous pouvez également utiliser ce modèle pour les services HTTP RESTful."
+ "description": "Modèle de projet permettant de créer une application ASP.NET Core avec des exemples de vues et de contrôleurs ASP.NET Core MVC. Vous pouvez également utiliser ce modèle pour les services HTTP RESTful.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/it-IT/strings.json
index f168272b380f..aa3172daa4eb 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "App Web ASP.NET Core (Model-View-Controller)",
- "description": "Modello di progetto per la creazione di un'applicazione ASP.NET Core con viste e controller ASP.NET Core MVC di esempio. È possibile usare questo modello anche per i servizi HTTP RESTful."
+ "description": "Modello di progetto per la creazione di un'applicazione ASP.NET Core con viste e controller ASP.NET Core MVC di esempio. È possibile usare questo modello anche per i servizi HTTP RESTful.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ja-JP/strings.json
index ef9461bb985f..ea43c5022d08 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web アプリ (Model-View-Controller)",
- "description": "ASP.NET Core MVC のサンプル ビューとコントローラーで ASP.NET Core アプリケーションを作成するためのプロジェクト テンプレートです。このテンプレートは RESTful HTTP サービスでも使用できます。"
+ "description": "ASP.NET Core MVC のサンプル ビューとコントローラーで ASP.NET Core アプリケーションを作成するためのプロジェクト テンプレートです。このテンプレートは RESTful HTTP サービスでも使用できます。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ko-KR/strings.json
index 1f3952fd118b..584fc86d69f7 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core 웹앱(Model-View-Controller)",
- "description": "예제 ASP.NET Core MVC 뷰 및 컨트롤러를 사용하여 ASP.NET Core 애플리케이션을 만드는 데 사용되는 프로젝트 템플릿입니다. 이 템플릿은 RESTful HTTP 서비스에도 사용할 수 있습니다."
+ "description": "예제 ASP.NET Core MVC 뷰 및 컨트롤러를 사용하여 ASP.NET Core 애플리케이션을 만드는 데 사용되는 프로젝트 템플릿입니다. 이 템플릿은 RESTful HTTP 서비스에도 사용할 수 있습니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/pl-PL/strings.json
index f7c97db51cb4..06b8f298f543 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplikacja internetowa ASP.NET Core (Model-View-Controller)",
- "description": "Szablon projektu służący do tworzenia aplikacji platformy ASP.NET Core z przykładowymi widokami i kontrolerami platformy ASP.NET Core MVC. Tego szablonu można także użyć dla usług HTTP RESTful."
+ "description": "Szablon projektu służący do tworzenia aplikacji platformy ASP.NET Core z przykładowymi widokami i kontrolerami platformy ASP.NET Core MVC. Tego szablonu można także użyć dla usług HTTP RESTful.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/pt-BR/strings.json
index 797a481624b8..3d24414ba44f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Aplicativo Web do ASP.NET Core (Model-View-Controller)",
- "description": "Um modelo de projeto para criar um aplicativo ASP.NET Core com Controladores e Exibições do ASP.NET Core MVC de exemplo. Esse modelo também pode ser usado para serviços HTTP RESTful."
+ "description": "Um modelo de projeto para criar um aplicativo ASP.NET Core com Controladores e Exibições do ASP.NET Core MVC de exemplo. Esse modelo também pode ser usado para serviços HTTP RESTful.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ru-RU/strings.json
index 75b1bcaa4655..cf50769d39e4 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Веб-приложение ASP.NET Core (модель-представление-контроллер)",
- "description": "Шаблон проекта для создания приложения ASP.NET Core с образцом представлений MVC и контроллеров ASP.NET Core. Этот шаблон можно также использовать для служб HTTP RESTful."
+ "description": "Шаблон проекта для создания приложения ASP.NET Core с образцом представлений MVC и контроллеров ASP.NET Core. Этот шаблон можно также использовать для служб HTTP RESTful.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/tr-TR/strings.json
index 9e7fbb0f541f..62837feed841 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web Uygulaması (Model-Görünüm-Denetleyici)",
- "description": "Örnek ASP.NET Core MVC Görünümleri ve Denetleyicileri içeren bir ASP.NET Core uygulaması oluşturmaya yönelik proje şablonu. Bu şablon aynı zamanda RESTful HTTP hizmetleri için de kullanılabilir."
+ "description": "Örnek ASP.NET Core MVC Görünümleri ve Denetleyicileri içeren bir ASP.NET Core uygulaması oluşturmaya yönelik proje şablonu. Bu şablon aynı zamanda RESTful HTTP hizmetleri için de kullanılabilir.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/zh-CN/strings.json
index c39a84cd1b3b..dca2bc5d0ed6 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web 应用(模型-视图-控制器)",
- "description": "用于创建包含示例 ASP.NET Core MVC 视图和控制器的 ASP.NET Core 应用程序的项目模板。此模板还可以用于 RESTful HTTP 服务。"
+ "description": "用于创建包含示例 ASP.NET Core MVC 视图和控制器的 ASP.NET Core 应用程序的项目模板。此模板还可以用于 RESTful HTTP 服务。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/zh-TW/strings.json
index a5879030f0d4..2315b016b036 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web 應用程式 (Model-View-Controller)",
- "description": "用於建立 ASP.NET Core 應用程式的專案範本,附有 ASP.NET Core MVC 的檢視及控制器範例。此範本也可用於 RESTful HTTP 服務。"
+ "description": "用於建立 ASP.NET Core 應用程式的專案範本,附有 ASP.NET Core MVC 的檢視及控制器範例。此範本也可用於 RESTful HTTP 服務。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/cs-CZ/strings.json
index 746e19f9fcd3..ee8f2801fb02 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/cs-CZ/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "Povolit podporu _OpenAPI",
"parameter.DisableOpenAPI.description": "Povolení podpory OpenAPI (Swagger)",
"parameter.UseMinimalAPIs.name": "Používání kontrolérů (pokud chcete používat minimální rozhraní API, zrušte zaškrtnutí)",
- "parameter.UseMinimalAPIs.description": "Určuje, jestli se místo kontrolérů mají používat minimální rozhraní API."
+ "parameter.UseMinimalAPIs.description": "Určuje, jestli se místo kontrolérů mají používat minimální rozhraní API.",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/de-DE/strings.json
index 27d30199bc8b..0fb78dd27d14 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/de-DE/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "_OpenAPI-Unterstützung aktivieren",
"parameter.DisableOpenAPI.description": "Aktiviert OpenAPI-Unterstützung (Swagger)",
"parameter.UseMinimalAPIs.name": "Controller verwenden (deaktivieren, um minimale APIs zu verwenden)",
- "parameter.UseMinimalAPIs.description": "Gibt an, ob minimale APIs anstelle von Controllern verwendet werden sollen."
+ "parameter.UseMinimalAPIs.description": "Gibt an, ob minimale APIs anstelle von Controllern verwendet werden sollen.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/es-ES/strings.json
index 7967b75e05a6..7bddf25a6c1d 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/es-ES/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "Habilitar compatibilidad con _OpenAPI",
"parameter.DisableOpenAPI.description": "Habilitar la compatibilidad con OpenAPI (Swagger)",
"parameter.UseMinimalAPIs.name": "Usar controladores (desactivar para usar API mínimas)",
- "parameter.UseMinimalAPIs.description": "Indica si se deben usar API minimas en lugar de controladores."
+ "parameter.UseMinimalAPIs.description": "Indica si se deben usar API minimas en lugar de controladores.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/fr-FR/strings.json
index fdb68ea3696d..942dffb98917 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/fr-FR/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "Activer la prise en charge d'_OpenAPI",
"parameter.DisableOpenAPI.description": "Active la prise en charge d'OpenAPI (Swagger)",
"parameter.UseMinimalAPIs.name": "Utiliser des contrôleurs (décocher pour utiliser un minimum d'API)",
- "parameter.UseMinimalAPIs.description": "S'il faut utiliser des API minimales au lieu de contrôleurs."
+ "parameter.UseMinimalAPIs.description": "S'il faut utiliser des API minimales au lieu de contrôleurs.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/it-IT/strings.json
index 9945ffaec5bc..d4f598d0b0d2 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/it-IT/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "Abilita supporto _OpenAPI",
"parameter.DisableOpenAPI.description": "Abilita supporto OpenAPI (Swagger)",
"parameter.UseMinimalAPIs.name": "Usa i controller (deseleziona per usare il numero minimo di API)",
- "parameter.UseMinimalAPIs.description": "Indica se usare le API minimal invece dei controller."
+ "parameter.UseMinimalAPIs.description": "Indica se usare le API minimal invece dei controller.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ja-JP/strings.json
index f399c2bffe31..93539d010cdc 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ja-JP/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "OpenAPI サポートを有効にする(_O)",
"parameter.DisableOpenAPI.description": "OpenAPI (Swagger) サポートを有効にする",
"parameter.UseMinimalAPIs.name": "コントローラーを使用する (最小限の API を使用する場合はオフにします)",
- "parameter.UseMinimalAPIs.description": "コントローラーの代わりに最小限の API を使用するかどうか。"
+ "parameter.UseMinimalAPIs.description": "コントローラーの代わりに最小限の API を使用するかどうか。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ko-KR/strings.json
index 3c9bfeaf589e..88eff917fce2 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ko-KR/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "OpenAPI 지원 사용(_O)",
"parameter.DisableOpenAPI.description": "OpenAPI(Swagger) 지원 사용",
"parameter.UseMinimalAPIs.name": "컨트롤러 사용(최소 API 사용 선택 취소)",
- "parameter.UseMinimalAPIs.description": "컨트롤러 대신 최소 API를 사용할지 여부"
+ "parameter.UseMinimalAPIs.description": "컨트롤러 대신 최소 API를 사용할지 여부",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/pl-PL/strings.json
index b343560037e9..eeef1026141d 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/pl-PL/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "Włącz obsługę interfejsu _OpenAPI",
"parameter.DisableOpenAPI.description": "Włącza obsługę interfejsu OpenAPI (Swagger)",
"parameter.UseMinimalAPIs.name": "Użyj kontrolerów (usuń zaznaczenie, aby używać minimalnej ilości interfejsów API)",
- "parameter.UseMinimalAPIs.description": "Określa, czy używać minimalnej ilości interfejsów API zamiast kontrolerów."
+ "parameter.UseMinimalAPIs.description": "Określa, czy używać minimalnej ilości interfejsów API zamiast kontrolerów.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/pt-BR/strings.json
index 2c07afece218..3587683102cd 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/pt-BR/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "Habilitar o suporte a _OpenAPI",
"parameter.DisableOpenAPI.description": "Habilita o suporte a OpenAPI (Swagger)",
"parameter.UseMinimalAPIs.name": "Usar controladores (desmarque para usar APIs mínimas)",
- "parameter.UseMinimalAPIs.description": "Se usar APIs mínimas em vez de controladores."
+ "parameter.UseMinimalAPIs.description": "Se usar APIs mínimas em vez de controladores.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ru-RU/strings.json
index bb529502b9e7..5e9161080cbe 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/ru-RU/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "Включить поддержку _OpenAPI",
"parameter.DisableOpenAPI.description": "Включает поддержку OpenAPI (Swagger)",
"parameter.UseMinimalAPIs.name": "Использовать контроллеры (снимите флажок, чтобы использовать минимальные API)",
- "parameter.UseMinimalAPIs.description": "Использование минимальных API вместо контроллеров."
+ "parameter.UseMinimalAPIs.description": "Использование минимальных API вместо контроллеров.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/tr-TR/strings.json
index 8583f1337385..eeb312f21f99 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/tr-TR/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "_OpenAPI desteğini etkinleştir",
"parameter.DisableOpenAPI.description": "OpenAPI (Swagger) desteğini etkinleştirir",
"parameter.UseMinimalAPIs.name": "Denetleyicileri kullan (minimal API’leri kullanmak için onay işaretini kaldırın)",
- "parameter.UseMinimalAPIs.description": "Denetleyiciler yerine minimal API’lerin kullanılıp kullanılmayacağını belirtir."
+ "parameter.UseMinimalAPIs.description": "Denetleyiciler yerine minimal API’lerin kullanılıp kullanılmayacağını belirtir.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/zh-CN/strings.json
index 72cb6d8591b0..18c57c75a7ad 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/zh-CN/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "启用 OpenAPI 支持(_O)",
"parameter.DisableOpenAPI.description": "启用 OpenAPI (Swagger)支持",
"parameter.UseMinimalAPIs.name": "使用控制器(取消选中以使用最小 API)",
- "parameter.UseMinimalAPIs.description": "是否使用最小 API 而不是控制器。"
+ "parameter.UseMinimalAPIs.description": "是否使用最小 API 而不是控制器。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/zh-TW/strings.json
index b4faea763fcf..ce2ef022d34e 100755
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/.template.config/zh-TW/strings.json
@@ -6,6 +6,8 @@
"parameter.DisableOpenAPI.name": "啟用 OpenAPI 支援(_O)",
"parameter.DisableOpenAPI.description": "啟用 OpenAPI (Swagger) 支援",
"parameter.UseMinimalAPIs.name": "使用控制器 (取消勾選以使用最低 API)",
- "parameter.UseMinimalAPIs.description": "是否要使用迷你 API 而不是控制器。"
+ "parameter.UseMinimalAPIs.description": "是否要使用迷你 API 而不是控制器。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/cs-CZ/strings.json
index 3e3b9dda187d..b7943cdde094 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Webové rozhraní API pro ASP.NET Core",
- "description": "Šablona projektu pro vytvoření aplikace ASP.NET Core s ukázkovým kontrolerem pro službu RESTful HTTP. Tato šablona se dá použít i pro zobrazení a kontrolery ASP.NET Core MVC."
+ "description": "Šablona projektu pro vytvoření aplikace ASP.NET Core s ukázkovým kontrolerem pro službu RESTful HTTP. Tato šablona se dá použít i pro zobrazení a kontrolery ASP.NET Core MVC.",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/de-DE/strings.json
index 4b6cd6bfba11..5440dfac0aae 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core-Web-API",
- "description": "Eine Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung mit einem Beispielcontroller für einen RESTful HTTP-Dienst. Diese Vorlage kann auch für ASP.NET Core-MVC-Ansichten und -Controller verwendet werden."
+ "description": "Eine Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung mit einem Beispielcontroller für einen RESTful HTTP-Dienst. Diese Vorlage kann auch für ASP.NET Core-MVC-Ansichten und -Controller verwendet werden.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/es-ES/strings.json
index 3ac4c20ecfa9..6f5bc9f79052 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web API",
- "description": "Una plantilla de proyecto para crear una aplicación ASP.NET Core con un controlador de ejemplo para un servicio RESTful HTTP. Esta plantilla también puede usarse para controladores y vistas de ASP.NET Core MVC."
+ "description": "Una plantilla de proyecto para crear una aplicación ASP.NET Core con un controlador de ejemplo para un servicio RESTful HTTP. Esta plantilla también puede usarse para controladores y vistas de ASP.NET Core MVC.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/fr-FR/strings.json
index 82aa38a1668a..28280b6b8581 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "API web ASP.NET Core",
- "description": "Modèle de projet permettant de créer une application ASP.NET Core avec un exemple de contrôleur pour un service HTTP RESTful. Vous pouvez également utiliser ce modèle pour les vues et contrôleurs ASP.NET Core MVC."
+ "description": "Modèle de projet permettant de créer une application ASP.NET Core avec un exemple de contrôleur pour un service HTTP RESTful. Vous pouvez également utiliser ce modèle pour les vues et contrôleurs ASP.NET Core MVC.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/it-IT/strings.json
index a4d944ccbe9a..5bf756b54d24 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "API Web ASP.NET Core",
- "description": "Modello di progetto per la creazione di un'applicazione ASP.NET Core con un controller di esempio per un servizio HTTP RESTful. È possibile usare questo modello anche per i controller e le viste di ASP.NET Core MVC."
+ "description": "Modello di progetto per la creazione di un'applicazione ASP.NET Core con un controller di esempio per un servizio HTTP RESTful. È possibile usare questo modello anche per i controller e le viste di ASP.NET Core MVC.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ja-JP/strings.json
index 65d2d566b989..0273b9af0859 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web API",
- "description": "RESTful HTTP サービスのサンプル コントローラーで ASP.NET Core アプリケーションを作成するためのプロジェクト テンプレートです。このテンプレートは ASP.NET Core MVC のビューとコントローラーでも使用できます。"
+ "description": "RESTful HTTP サービスのサンプル コントローラーで ASP.NET Core アプリケーションを作成するためのプロジェクト テンプレートです。このテンプレートは ASP.NET Core MVC のビューとコントローラーでも使用できます。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ko-KR/strings.json
index e6ec364e86b4..64a6da5c8ba3 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web API",
- "description": "RESTful HTTP 서비스용 예제 컨트롤러를 사용하여 ASP.NET Core 애플리케이션을 만드는 데 사용되는 프로젝트 템플릿입니다. 이 템플릿은 ASP.NET Core MVC 뷰 및 컨트롤러에도 사용할 수 있습니다."
+ "description": "RESTful HTTP 서비스용 예제 컨트롤러를 사용하여 ASP.NET Core 애플리케이션을 만드는 데 사용되는 프로젝트 템플릿입니다. 이 템플릿은 ASP.NET Core MVC 뷰 및 컨트롤러에도 사용할 수 있습니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/pl-PL/strings.json
index 64005d498390..e6b2cfc478e5 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Internetowy interfejs API platformy ASP.NET Core",
- "description": "Szablon projektu służący do tworzenia aplikacji platformy ASP.NET Core z przykładowym kontrolerem obsługującym usługę HTTP RESTful. Tego szablonu można także użyć dla widoków i kontrolerów platformy ASP.NET Core MVC."
+ "description": "Szablon projektu służący do tworzenia aplikacji platformy ASP.NET Core z przykładowym kontrolerem obsługującym usługę HTTP RESTful. Tego szablonu można także użyć dla widoków i kontrolerów platformy ASP.NET Core MVC.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/pt-BR/strings.json
index 03c68db26b48..094f5229aa2a 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "API Web do ASP.NET Core",
- "description": "Um modelo de projeto para criar um aplicativo ASP.NET Core com um Controlador de exemplo para um serviço HTTP RESTful. Esse modelo também pode ser usado para Controladores e Exibições do ASP.NET Core MVC."
+ "description": "Um modelo de projeto para criar um aplicativo ASP.NET Core com um Controlador de exemplo para um serviço HTTP RESTful. Esse modelo também pode ser usado para Controladores e Exibições do ASP.NET Core MVC.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ru-RU/strings.json
index 2c714fc9b5fe..c8cc70c54723 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Веб-API ASP.NET Core",
- "description": "Шаблон проекта для создания приложения ASP.NET Core с образцом контроллера для службы HTTP RESTful. Этот шаблон можно также использовать для представлений MVC и контроллеров ASP.NET Core."
+ "description": "Шаблон проекта для создания приложения ASP.NET Core с образцом контроллера для службы HTTP RESTful. Этот шаблон можно также использовать для представлений MVC и контроллеров ASP.NET Core.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/tr-TR/strings.json
index 0d16af9631d3..f9a4026ba93e 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web API'si",
- "description": "RESTful HTTP hizmetine ait örnek bir Denetleyici içeren bir ASP.NET Core uygulaması oluşturmaya yönelik proje şablonu. Bu şablon aynı zamanda ASP.NET Core MVC Görünümleri ve Denetleyicileri için de kullanılabilir."
+ "description": "RESTful HTTP hizmetine ait örnek bir Denetleyici içeren bir ASP.NET Core uygulaması oluşturmaya yönelik proje şablonu. Bu şablon aynı zamanda ASP.NET Core MVC Görünümleri ve Denetleyicileri için de kullanılabilir.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/zh-CN/strings.json
index 9b33c17715d8..12df1e884925 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web API",
- "description": "用于创建包含 RESTful HTTP 服务示例控制器的 ASP.NET Core 应用程序的项目模板。此模板还可以用于 ASP.NET Core MVC 视图和控制器。"
+ "description": "用于创建包含 RESTful HTTP 服务示例控制器的 ASP.NET Core 应用程序的项目模板。此模板还可以用于 ASP.NET Core MVC 视图和控制器。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/zh-TW/strings.json
index 1b901cbe8a86..7ab57d6321ee 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ASP.NET Core Web API",
- "description": "用於建立 ASP.NET Core 應用程式的專案範本,附有 RESTful HTTP 服務的控制器範例。此範本也可用於 ASP.NET Core MVC 的檢視及控制器。"
+ "description": "用於建立 ASP.NET Core 應用程式的專案範本,附有 RESTful HTTP 服務的控制器範例。此範本也可用於 ASP.NET Core MVC 的檢視及控制器。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/cs-CZ/strings.json
index 13105e4de6f3..acecfe1181f9 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Šablona prázdného projektu pro vytvoření služby Worker Service"
+ "description": "Šablona prázdného projektu pro vytvoření služby Worker Service",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/de-DE/strings.json
index ecec87715648..1f5dfa7a1a9b 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Workerdienst",
- "description": "Eine leere Projektvorlage zum Erstellen eines Workerdiensts."
+ "description": "Eine leere Projektvorlage zum Erstellen eines Workerdiensts.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/es-ES/strings.json
index b580b6a5c1b2..d7aa1d90a250 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Una plantilla de proyecto vacía para crear un servicio Worker."
+ "description": "Una plantilla de proyecto vacía para crear un servicio Worker.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/fr-FR/strings.json
index fd4416d5fe3c..4a1ceaefaaf4 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Service Worker",
- "description": "Modèle de projet vide pour la création d'un service Worker."
+ "description": "Modèle de projet vide pour la création d'un service Worker.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/it-IT/strings.json
index a672d8c54174..d0a2d29c1365 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Modello di progetto vuoto per la creazione di un'istanza di Worker Service."
+ "description": "Modello di progetto vuoto per la creazione di un'istanza di Worker Service.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ja-JP/strings.json
index 3b1075214d09..8183d2a906ad 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ワーカー サービス",
- "description": "Worker Service を作成するための空のプロジェクト テンプレート。"
+ "description": "Worker Service を作成するための空のプロジェクト テンプレート。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ko-KR/strings.json
index 260988cca48c..70aa07b3414c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "작업자 서비스",
- "description": "Worker Service를 만드는 데 사용하는 빈 프로젝트 템플릿입니다."
+ "description": "Worker Service를 만드는 데 사용하는 빈 프로젝트 템플릿입니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/pl-PL/strings.json
index 899bb59795af..47f74a45374f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Usługa robocza",
- "description": "Szablon pustego projektu służący do tworzenia usługi procesu roboczego."
+ "description": "Szablon pustego projektu służący do tworzenia usługi procesu roboczego.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/pt-BR/strings.json
index c1afee3d7a60..a1b3bd416fc1 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Um modelo de projeto vazio para criar um worker service."
+ "description": "Um modelo de projeto vazio para criar um worker service.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ru-RU/strings.json
index fc61e21c59ff..8417343c4fba 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Шаблон пустого проекта для создания службы Worker Service."
+ "description": "Шаблон пустого проекта для создания службы Worker Service.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/tr-TR/strings.json
index 26194f3c5d19..27f95e1dcf95 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Çalışan Hizmeti",
- "description": "Çalışan hizmeti oluşturmaya yönelik boş proje şablonu."
+ "description": "Çalışan hizmeti oluşturmaya yönelik boş proje şablonu.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/zh-CN/strings.json
index b7b92c4d6df9..35a40ba37f46 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "用于创建 worker service 的空项目模板。"
+ "description": "用于创建 worker service 的空项目模板。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/zh-TW/strings.json
index 02be5cb00edc..7e950d7e33ca 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-CSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "用於建立 Worker Service 的空白專案範本。"
+ "description": "用於建立 Worker Service 的空白專案範本。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/cs-CZ/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/cs-CZ/strings.json
index 13105e4de6f3..acecfe1181f9 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/cs-CZ/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/cs-CZ/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Šablona prázdného projektu pro vytvoření služby Worker Service"
+ "description": "Šablona prázdného projektu pro vytvoření služby Worker Service",
+ "parameter.UseProgramMain.name": "Nepoužívat _příkazy nejvyšší úrovně",
+ "parameter.UseProgramMain.description": "Určuje, jestli se má místo příkazů nejvyšší úrovně generovat explicitní třída Program a metoda Main."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/de-DE/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/de-DE/strings.json
index ecec87715648..1f5dfa7a1a9b 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/de-DE/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/de-DE/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Workerdienst",
- "description": "Eine leere Projektvorlage zum Erstellen eines Workerdiensts."
+ "description": "Eine leere Projektvorlage zum Erstellen eines Workerdiensts.",
+ "parameter.UseProgramMain.name": "Keine Anweisungen_der obersten Ebene verwenden",
+ "parameter.UseProgramMain.description": "Gibt an, ob anstelle von Anweisungen der obersten Ebene eine explizite Programmklasse und eine Main-Methode generiert werden soll."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/es-ES/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/es-ES/strings.json
index b580b6a5c1b2..d7aa1d90a250 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/es-ES/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/es-ES/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Una plantilla de proyecto vacía para crear un servicio Worker."
+ "description": "Una plantilla de proyecto vacía para crear un servicio Worker.",
+ "parameter.UseProgramMain.name": "No usar instrucciones de _nivel superior",
+ "parameter.UseProgramMain.description": "Indica si se debe generar una clase Program explícita y un método Main en lugar de instrucciones de nivel superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/fr-FR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/fr-FR/strings.json
index fd4416d5fe3c..4a1ceaefaaf4 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/fr-FR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/fr-FR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Service Worker",
- "description": "Modèle de projet vide pour la création d'un service Worker."
+ "description": "Modèle de projet vide pour la création d'un service Worker.",
+ "parameter.UseProgramMain.name": "N’utilisez pas _d’instructions de niveau supérieur.",
+ "parameter.UseProgramMain.description": "Indique s’il faut générer une classe Programme explicite et une méthode Main au lieu d’instructions de niveau supérieur."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/it-IT/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/it-IT/strings.json
index a672d8c54174..d0a2d29c1365 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/it-IT/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/it-IT/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Modello di progetto vuoto per la creazione di un'istanza di Worker Service."
+ "description": "Modello di progetto vuoto per la creazione di un'istanza di Worker Service.",
+ "parameter.UseProgramMain.name": "Non usare_istruzioni di primo livello",
+ "parameter.UseProgramMain.description": "Indica se generare una classe Program esplicita e un metodo Main anziché istruzioni di primo livello."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ja-JP/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ja-JP/strings.json
index 3b1075214d09..8183d2a906ad 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ja-JP/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ja-JP/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "ワーカー サービス",
- "description": "Worker Service を作成するための空のプロジェクト テンプレート。"
+ "description": "Worker Service を作成するための空のプロジェクト テンプレート。",
+ "parameter.UseProgramMain.name": "最上位レベルのステートメントを使用しない(_T)",
+ "parameter.UseProgramMain.description": "最上位レベルのステートメントではなく、明示的な Program クラスと Main メソッドを生成するかどうか。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ko-KR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ko-KR/strings.json
index 260988cca48c..70aa07b3414c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ko-KR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ko-KR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "작업자 서비스",
- "description": "Worker Service를 만드는 데 사용하는 빈 프로젝트 템플릿입니다."
+ "description": "Worker Service를 만드는 데 사용하는 빈 프로젝트 템플릿입니다.",
+ "parameter.UseProgramMain.name": "최상위 문 사용 안 함(_T)",
+ "parameter.UseProgramMain.description": "최상위 문 대신 명시적 Program 클래스 및 Main 메서드를 생성할지 여부입니다."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/pl-PL/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/pl-PL/strings.json
index 899bb59795af..47f74a45374f 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/pl-PL/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/pl-PL/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Usługa robocza",
- "description": "Szablon pustego projektu służący do tworzenia usługi procesu roboczego."
+ "description": "Szablon pustego projektu służący do tworzenia usługi procesu roboczego.",
+ "parameter.UseProgramMain.name": "Nie używaj ins_trukcji najwyższego poziomu",
+ "parameter.UseProgramMain.description": "Określa, czy wygenerować jawną klasę Program i metodę Main zamiast instrukcji najwyższego poziomu."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/pt-BR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/pt-BR/strings.json
index c1afee3d7a60..a1b3bd416fc1 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/pt-BR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/pt-BR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Um modelo de projeto vazio para criar um worker service."
+ "description": "Um modelo de projeto vazio para criar um worker service.",
+ "parameter.UseProgramMain.name": "Não use ins_truções de nível superior",
+ "parameter.UseProgramMain.description": "Se deve gerar uma classe de Programa explícita e um método principal em vez de instruções de nível superior."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ru-RU/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ru-RU/strings.json
index fc61e21c59ff..8417343c4fba 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ru-RU/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/ru-RU/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "Шаблон пустого проекта для создания службы Worker Service."
+ "description": "Шаблон пустого проекта для создания службы Worker Service.",
+ "parameter.UseProgramMain.name": "Не использовать _операторы верхнего уровня",
+ "parameter.UseProgramMain.description": "Следует ли создавать явный класс Program и метод Main вместо операторов верхнего уровня."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/tr-TR/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/tr-TR/strings.json
index 26194f3c5d19..27f95e1dcf95 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/tr-TR/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/tr-TR/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Çalışan Hizmeti",
- "description": "Çalışan hizmeti oluşturmaya yönelik boş proje şablonu."
+ "description": "Çalışan hizmeti oluşturmaya yönelik boş proje şablonu.",
+ "parameter.UseProgramMain.name": "_Üst düzey deyimler kullanmayın",
+ "parameter.UseProgramMain.description": "Üst düzey deyimler yerine açık bir Program sınıfı ve Ana yöntem oluşturup oluşturulmayacağını belirtir."
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/zh-CN/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/zh-CN/strings.json
index b7b92c4d6df9..35a40ba37f46 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/zh-CN/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/zh-CN/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "Worker Service",
- "description": "用于创建 worker service 的空项目模板。"
+ "description": "用于创建 worker service 的空项目模板。",
+ "parameter.UseProgramMain.name": "不使用顶级语句(_T)",
+ "parameter.UseProgramMain.description": "是否生成显式程序类和主方法,而不是顶级语句。"
}
}
\ No newline at end of file
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/zh-TW/strings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/zh-TW/strings.json
index 53b9607b3ae5..c66711a44f5d 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/zh-TW/strings.json
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/Worker-FSharp/.template.config/zh-TW/strings.json
@@ -2,6 +2,8 @@
"version": "1.0.0.0",
"strings": {
"name": "背景工作服務",
- "description": "用於建立 Worker Service 的空白專案範本。"
+ "description": "用於建立 Worker Service 的空白專案範本。",
+ "parameter.UseProgramMain.name": "不要使用最上層陳述式(_T)",
+ "parameter.UseProgramMain.description": "是否要產生明確的 Program 類別和 Main 方法,而非最上層語句。"
}
}
\ No newline at end of file
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs b/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs
index ccf85081f344..ad1ffff50e52 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs
@@ -16,6 +16,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{
internal partial class Http1Connection : HttpProtocol, IRequestProcessor, IHttpOutputAborter
{
+ private const byte ByteCR = (byte)'\r';
+ private const byte ByteLF = (byte)'\n';
private const byte ByteAsterisk = (byte)'*';
private const byte ByteForwardSlash = (byte)'/';
private const string Asterisk = "*";
@@ -146,6 +148,13 @@ public bool ParseRequest(ref SequenceReader reader)
switch (_requestProcessingStatus)
{
case RequestProcessingStatus.RequestPending:
+ // Skip any empty lines (\r or \n) between requests.
+ // Peek first as a minor performance optimization; it's a quick inlined check.
+ if (reader.TryPeek(out byte b) && (b == ByteCR || b == ByteLF))
+ {
+ reader.AdvancePastAny(ByteCR, ByteLF);
+ }
+
if (reader.End)
{
break;
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.cs
index 3a9382333c25..ad57499dacf7 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.cs
@@ -564,6 +564,14 @@ public static TransferCoding GetFinalTransferCoding(StringValues transferEncodin
offset += sizeof(uint) / 2;
transferEncodingOptions = TransferCoding.Chunked;
}
+ else
+ {
+ transferEncodingOptions = TransferCoding.Other;
+ }
+ }
+ else
+ {
+ transferEncodingOptions = TransferCoding.Other;
}
if ((uint)offset >= (uint)values.Length)
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http/HttpParser.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpParser.cs
index 7cce863b4d52..899465819199 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http/HttpParser.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http/HttpParser.cs
@@ -17,20 +17,22 @@ public class HttpParser : IHttpParser where TR
{
private readonly bool _showErrorDetails;
private readonly bool _allowSpaceAfterRequestLine;
+ private readonly bool _enableHttp1LineFeedTerminators;
public HttpParser() : this(showErrorDetails: true)
{
}
public HttpParser(bool showErrorDetails)
- : this (showErrorDetails, CheckAllowSpaceAfterRequestLine())
+ : this (showErrorDetails, CheckAllowSpaceAfterRequestLine(), CheckEnableHttp1LineFeedTerminators())
{
}
- internal HttpParser(bool showErrorDetails, bool allowSpaceAfterRequestLine)
+ internal HttpParser(bool showErrorDetails, bool allowSpaceAfterRequestLine, bool enableHttp1LineFeedTerminators)
{
_showErrorDetails = showErrorDetails;
_allowSpaceAfterRequestLine = allowSpaceAfterRequestLine;
+ _enableHttp1LineFeedTerminators = enableHttp1LineFeedTerminators;
}
private static bool CheckAllowSpaceAfterRequestLine()
@@ -40,6 +42,12 @@ private static bool CheckAllowSpaceAfterRequestLine()
return allowSpaceAfterRequestLine;
}
+ private static bool CheckEnableHttp1LineFeedTerminators()
+ {
+ AppContext.TryGetSwitch("Microsoft.AspNetCore.Server.Kestrel.EnableHttp1LineFeedTerminators", out var enableHttp1LineFeedTerminators);
+ return enableHttp1LineFeedTerminators;
+ }
+
// byte types don't have a data type annotation so we pre-cast them; to avoid in-place casts
private const byte ByteCR = (byte)'\r';
private const byte ByteLF = (byte)'\n';
@@ -52,14 +60,6 @@ private static bool CheckAllowSpaceAfterRequestLine()
public bool ParseRequestLine(TRequestHandler handler, ref SequenceReader reader)
{
- // Skip any leading \r or \n on the request line. This is not technically allowed,
- // but apparently there are enough clients relying on this that it's worth allowing.
- // Peek first as a minor performance optimization; it's a quick inlined check.
- if (reader.TryPeek(out byte b) && (b == ByteCR || b == ByteLF))
- {
- reader.AdvancePastAny(ByteCR, ByteLF);
- }
-
if (reader.TryReadTo(out ReadOnlySpan requestLine, ByteLF, advancePastDelimiter: true))
{
if (_allowSpaceAfterRequestLine)
@@ -156,11 +156,25 @@ private void ParseRequestLine(TRequestHandler handler, ReadOnlySpan reques
// Consume space
offset++;
+ while ((uint)offset < (uint)requestLine.Length
+ && requestLine[offset] == ByteSpace)
+ {
+ // It's invalid to have multiple spaces between the url resource and version
+ // but some clients do it. Skip them.
+ offset++;
+ }
+
// Version + CR is 9 bytes which should take us to .Length
// LF should have been dropped prior to method call
- if ((uint)offset + 9 != (uint)requestLine.Length || requestLine[offset + sizeof(ulong)] != ByteCR)
+ if ((uint)offset + 9 != (uint)requestLine.Length || requestLine[offset + 8] != ByteCR)
{
- RejectRequestLine(requestLine);
+ // LF should have been dropped prior to method call
+ // If _enableHttp1LineFeedTerminators and offset + 8 is .Length,
+ // then requestLine is valid since it means LF was the next char
+ if (!_enableHttp1LineFeedTerminators || (uint)offset + 8 != (uint)requestLine.Length)
+ {
+ RejectRequestLine(requestLine);
+ }
}
// Version
@@ -183,140 +197,146 @@ public bool ParseHeaders(TRequestHandler handler, ref SequenceReader reade
{
while (!reader.End)
{
+ // Check if the reader's span contains an LF to skip the reader if possible
var span = reader.UnreadSpan;
- while (span.Length > 0)
+
+ // Fast path, CR/LF at the beginning
+ if (span.Length >= 2 && span[0] == ByteCR && span[1] == ByteLF)
{
- var ch1 = (byte)0;
- var ch2 = (byte)0;
- var readAhead = 0;
+ reader.Advance(2);
+ handler.OnHeadersComplete(endStream: false);
+ return true;
+ }
- // Fast path, we're still looking at the same span
- if (span.Length >= 2)
- {
- ch1 = span[0];
- ch2 = span[1];
- }
- else if (reader.TryRead(out ch1)) // Possibly split across spans
- {
- // Note if we read ahead by 1 or 2 bytes
- readAhead = (reader.TryRead(out ch2)) ? 2 : 1;
- }
+ var foundCrlf = false;
- if (ch1 == ByteCR)
+ var lfOrCrIndex = span.IndexOfAny(ByteCR, ByteLF);
+ if (lfOrCrIndex >= 0)
+ {
+ if (span[lfOrCrIndex] == ByteCR)
{
- // Check for final CRLF.
- if (ch2 == ByteLF)
- {
- // If we got 2 bytes from the span directly so skip ahead 2 so that
- // the reader's state matches what we expect
- if (readAhead == 0)
- {
- reader.Advance(2);
- }
+ // We got a CR. Is this a CR/LF sequence?
+ var crIndex = lfOrCrIndex;
+ reader.Advance(crIndex + 1);
- // Double CRLF found, so end of headers.
- handler.OnHeadersComplete(endStream: false);
- return true;
+ bool hasDataAfterCr;
+
+ if ((uint)span.Length > (uint)(crIndex + 1) && span[crIndex + 1] == ByteLF)
+ {
+ // CR/LF in the same span (common case)
+ span = span.Slice(0, crIndex);
+ foundCrlf = true;
}
- else if (readAhead == 1)
+ else if ((hasDataAfterCr = reader.TryPeek(out byte lfMaybe)) && lfMaybe == ByteLF)
{
- // Didn't read 2 bytes, reset the reader so we don't consume anything
- reader.Rewind(1);
- return false;
+ // CR/LF but split between spans
+ span = span.Slice(0, span.Length - 1);
+ foundCrlf = true;
}
-
- Debug.Assert(readAhead == 0 || readAhead == 2);
- // Headers don't end in CRLF line.
-
- KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidRequestHeadersNoCRLF);
- }
-
- var length = 0;
- // We only need to look for the end if we didn't read ahead; otherwise there isn't enough in
- // in the span to contain a header.
- if (readAhead == 0)
- {
- length = span.IndexOfAny(ByteCR, ByteLF);
- // If not found length with be -1; casting to uint will turn it to uint.MaxValue
- // which will be larger than any possible span.Length. This also serves to eliminate
- // the bounds check for the next lookup of span[length]
- if ((uint)length < (uint)span.Length)
+ else
{
- // Early memory read to hide latency
- var expectedCR = span[length];
- // Correctly has a CR, move to next
- length++;
-
- if (expectedCR != ByteCR)
+ // What's after the CR?
+ if (!hasDataAfterCr)
{
- // Sequence needs to be CRLF not LF first.
- RejectRequestHeader(span[..length]);
+ // No more chars after CR? Don't consume an incomplete header
+ reader.Rewind(crIndex + 1);
+ return false;
}
-
- if ((uint)length < (uint)span.Length)
+ else if (crIndex == 0)
{
- // Early memory read to hide latency
- var expectedLF = span[length];
- // Correctly has a LF, move to next
- length++;
-
- if (expectedLF != ByteLF ||
- length < 5 ||
- // Exclude the CRLF from the headerLine and parse the header name:value pair
- !TryTakeSingleHeader(handler, span[..(length - 2)]))
- {
- // Sequence needs to be CRLF and not contain an inner CR not part of terminator.
- // Less than min possible headerSpan of 5 bytes a:b\r\n
- // Not parsable as a valid name:value header pair.
- RejectRequestHeader(span[..length]);
- }
-
- // Read the header successfully, skip the reader forward past the headerSpan.
- span = span.Slice(length);
- reader.Advance(length);
+ // CR followed by something other than LF
+ KestrelBadHttpRequestException.Throw(RequestRejectionReason.InvalidRequestHeadersNoCRLF);
}
else
{
- // No enough data, set length to 0.
- length = 0;
+ // Include the thing after the CR in the rejection exception.
+ var stopIndex = crIndex + 2;
+ RejectRequestHeader(span[..stopIndex]);
}
}
- }
- // End found in current span
- if (length > 0)
- {
- continue;
- }
+ if (foundCrlf)
+ {
+ // Advance past the LF too
+ reader.Advance(1);
- // We moved the reader to look ahead 2 bytes so rewind the reader
- if (readAhead > 0)
- {
- reader.Rewind(readAhead);
+ // Empty line?
+ if (crIndex == 0)
+ {
+ handler.OnHeadersComplete(endStream: false);
+ return true;
+ }
+ }
}
+ else
+ {
+ // We got an LF with no CR before it.
+ var lfIndex = lfOrCrIndex;
+ if (!_enableHttp1LineFeedTerminators)
+ {
+ RejectRequestHeader(AppendEndOfLine(span[..lfIndex], lineFeedOnly: true));
+ }
+
+ // Consume the header including the LF
+ reader.Advance(lfIndex + 1);
- length = ParseMultiSpanHeader(handler, ref reader);
+ span = span.Slice(0, lfIndex);
+ if (span.Length == 0)
+ {
+ handler.OnHeadersComplete(endStream: false);
+ return true;
+ }
+ }
+ }
+ else
+ {
+ // No CR or LF. Is this a multi-span header?
+ int length = ParseMultiSpanHeader(handler, ref reader);
if (length < 0)
{
- // Not there
+ // Not multi-line, just bad.
return false;
}
+ // This was a multi-line header. Advance the reader.
reader.Advance(length);
- // As we crossed spans set the current span to default
- // so we move to the next span on the next iteration
- span = default;
+
+ continue;
+ }
+
+ // We got to a point where we believe we have a header.
+ if (!TryTakeSingleHeader(handler, span))
+ {
+ // Sequence needs to be CRLF and not contain an inner CR not part of terminator.
+ // Not parsable as a valid name:value header pair.
+ RejectRequestHeader(AppendEndOfLine(span, lineFeedOnly: !foundCrlf));
}
}
return false;
}
+ private static byte[] AppendEndOfLine(ReadOnlySpan span, bool lineFeedOnly)
+ {
+ var array = new byte[span.Length + (lineFeedOnly ? 1 : 2)];
+
+ span.CopyTo(array);
+ array[^1] = ByteLF;
+
+ if (!lineFeedOnly)
+ {
+ array[^2] = ByteCR;
+ }
+
+ return array;
+ }
+
+ // Parse a header that might cross multiple spans, and return the length of the header
+ // or -1 if there was a failure during parsing.
private int ParseMultiSpanHeader(TRequestHandler handler, ref SequenceReader reader)
{
var currentSlice = reader.UnreadSequence;
var lineEndPosition = currentSlice.PositionOfAny(ByteCR, ByteLF);
-
if (lineEndPosition == null)
{
// Not there.
@@ -324,44 +344,84 @@ private int ParseMultiSpanHeader(TRequestHandler handler, ref SequenceReader headerSpan;
+ ReadOnlySequence header;
+
+ var firstLineEndCharPos = lineEndPosition.Value;
+ currentSlice.TryGet(ref firstLineEndCharPos, out var s);
+ var firstEolChar = s.Span[0];
+
+ // Is the first EOL char the last of the current slice?
if (currentSlice.Slice(reader.Position, lineEndPosition.Value).Length == currentSlice.Length - 1)
{
- // No enough data, so CRLF can't currently be there.
- // However, we need to check the found char is CR and not LF
-
- // Advance 1 to include CR/LF in lineEnd
- lineEnd = currentSlice.GetPosition(1, lineEndPosition.Value);
- headerSpan = currentSlice.Slice(reader.Position, lineEnd).ToSpan();
- if (headerSpan[^1] != ByteCR)
+ // Get the EOL char
+ if (firstEolChar == ByteCR)
{
- RejectRequestHeader(headerSpan);
+ // CR without LF, can't read the header
+ return -1;
+ }
+ else
+ {
+ if (!_enableHttp1LineFeedTerminators)
+ {
+ // LF only but disabled
+
+ // Advance 1 to include LF in result
+ lineEnd = currentSlice.GetPosition(1, lineEndPosition.Value);
+ RejectRequestHeader(currentSlice.Slice(reader.Position, lineEnd).ToSpan());
+ }
}
+ }
+
+ // At this point the first EOL char is not the last byte in the current slice
+
+ // Offset 1 to include the first EOL char.
+ firstLineEndCharPos = currentSlice.GetPosition(1, lineEndPosition.Value);
+
+ if (firstEolChar == ByteCR)
+ {
+ // First EOL char is CR, include the char after CR
+ lineEnd = currentSlice.GetPosition(2, lineEndPosition.Value);
+ header = currentSlice.Slice(reader.Position, lineEnd);
+ }
+ else if (!_enableHttp1LineFeedTerminators)
+ {
+ // The terminator is an LF and we don't allow it.
+ RejectRequestHeader(currentSlice.Slice(reader.Position, firstLineEndCharPos).ToSpan());
return -1;
}
+ else
+ {
+ // First EOL char is LF. only include this one
+ lineEnd = currentSlice.GetPosition(1, lineEndPosition.Value);
+ header = currentSlice.Slice(reader.Position, lineEnd);
+ }
- // Advance 2 to include CR{LF?} in lineEnd
- lineEnd = currentSlice.GetPosition(2, lineEndPosition.Value);
- headerSpan = currentSlice.Slice(reader.Position, lineEnd).ToSpan();
+ var headerSpan = header.ToSpan();
- if (headerSpan.Length < 5)
+ // 'a:b\n' or 'a:b\r\n'
+ var minHeaderSpan = !_enableHttp1LineFeedTerminators ? 5 : 4;
+ if (headerSpan.Length < minHeaderSpan)
{
- // Less than min possible headerSpan is 5 bytes a:b\r\n
RejectRequestHeader(headerSpan);
}
- if (headerSpan[^2] != ByteCR)
+ var terminatorSize = -1;
+
+ if (headerSpan[^1] == ByteLF)
{
- // Sequence needs to be CRLF not LF first.
- RejectRequestHeader(headerSpan[..^1]);
+ if (headerSpan[^2] == ByteCR)
+ {
+ terminatorSize = 2;
+ }
+ else if (_enableHttp1LineFeedTerminators)
+ {
+ terminatorSize = 1;
+ }
}
- if (headerSpan[^1] != ByteLF ||
- // Exclude the CRLF from the headerLine and parse the header name:value pair
- !TryTakeSingleHeader(handler, headerSpan[..^2]))
+ // Last chance to bail if the terminator size is not valid or the header doesn't parse.
+ if (terminatorSize == -1 || !TryTakeSingleHeader(handler, headerSpan.Slice(0, headerSpan.Length - terminatorSize)))
{
- // Sequence needs to be CRLF and not contain an inner CR not part of terminator.
- // Not parsable as a valid name:value header pair.
RejectRequestHeader(headerSpan);
}
diff --git a/src/Servers/Kestrel/Core/test/HttpHeadersTests.cs b/src/Servers/Kestrel/Core/test/HttpHeadersTests.cs
index b12dbefcf4f9..f6e1dc00d0c1 100644
--- a/src/Servers/Kestrel/Core/test/HttpHeadersTests.cs
+++ b/src/Servers/Kestrel/Core/test/HttpHeadersTests.cs
@@ -174,6 +174,9 @@ public void TestParseConnectionMultipleValues(string value1, string value2, int
[InlineData(",, ", (int)(TransferCoding.None))]
[InlineData(" , ,", (int)(TransferCoding.None))]
[InlineData(" , , ", (int)(TransferCoding.None))]
+ [InlineData("c", (int)(TransferCoding.Other))]
+ [InlineData("z", (int)(TransferCoding.Other))]
+ [InlineData("chunk", (int)(TransferCoding.Other))]
[InlineData("chunked,", (int)(TransferCoding.Chunked))]
[InlineData("chunked,,", (int)(TransferCoding.Chunked))]
[InlineData("chunked, ", (int)(TransferCoding.Chunked))]
@@ -191,6 +194,14 @@ public void TestParseConnectionMultipleValues(string value1, string value2, int
[InlineData("deflate, chunked", (int)(TransferCoding.Chunked))]
[InlineData("gzip,chunked", (int)(TransferCoding.Chunked))]
[InlineData("compress,,chunked", (int)(TransferCoding.Chunked))]
+ [InlineData("chunked,c", (int)(TransferCoding.Other))]
+ [InlineData("chunked,z", (int)(TransferCoding.Other))]
+ [InlineData("chunked,zz", (int)(TransferCoding.Other))]
+ [InlineData("chunked, z", (int)(TransferCoding.Other))]
+ [InlineData("chunked, zz", (int)(TransferCoding.Other))]
+ [InlineData("chunked,chunk", (int)(TransferCoding.Other))]
+ [InlineData("z,chunked", (int)(TransferCoding.Chunked))]
+ [InlineData("z, chunked", (int)(TransferCoding.Chunked))]
[InlineData("chunkedchunked", (int)(TransferCoding.Other))]
[InlineData("chunked2", (int)(TransferCoding.Other))]
[InlineData("chunked 2", (int)(TransferCoding.Other))]
diff --git a/src/Servers/Kestrel/Core/test/HttpParserTests.cs b/src/Servers/Kestrel/Core/test/HttpParserTests.cs
index 7cb66af28170..17374c0a8f02 100644
--- a/src/Servers/Kestrel/Core/test/HttpParserTests.cs
+++ b/src/Servers/Kestrel/Core/test/HttpParserTests.cs
@@ -558,8 +558,8 @@ private void VerifyRawHeaders(string rawHeaders, IEnumerable expectedHea
Assert.True(buffer.Slice(reader.Position).IsEmpty);
}
- private IHttpParser CreateParser(IKestrelTrace log, bool allowSpaceAfterRequestLine = false)
- => new HttpParser(log.IsEnabled(LogLevel.Information), allowSpaceAfterRequestLine);
+ private IHttpParser CreateParser(IKestrelTrace log, bool allowSpaceAfterRequestLine = false, bool enableHttp1LineFeedTerminators = false)
+ => new HttpParser(log.IsEnabled(LogLevel.Information), allowSpaceAfterRequestLine, enableHttp1LineFeedTerminators);
public static IEnumerable