diff --git a/azure-pipelines-integration.yml b/azure-pipelines-integration.yml index 06611877fff0c..73d5e3967c43a 100644 --- a/azure-pipelines-integration.yml +++ b/azure-pipelines-integration.yml @@ -20,18 +20,26 @@ pr: jobs: - job: Windows_VisualStudio_Integration_Tests - pool: dotnet-external-temp-vs2017 + pool: dotnet-external-vs2019-preview strategy: - maxParallel: 2 + maxParallel: 4 matrix: debug: _configuration: Debug + _useLegacyCompletion: false release: _configuration: Release + _useLegacyCompletion: false + debug_legacy: + _configuration: Debug + _useLegacyCompletion: true + release_legacy: + _configuration: Release + _useLegacyCompletion: true timeoutInMinutes: 135 steps: - - script: eng/cibuild.cmd -configuration $(_configuration) -prepareMachine -testVsi + - script: eng/cibuild.cmd -configuration $(_configuration) -prepareMachine -testVsi -testLegacyCompletion:$$(_useLegacyCompletion) displayName: Build and Test - task: PublishTestResults@2 @@ -40,14 +48,14 @@ jobs: testRunner: XUnit testResultsFiles: $(Build.SourcesDirectory)\artifacts\TestResults\$(_configuration)\*.xml mergeTestResults: true - testRunTitle: 'Windows Visual Studio Integration $(_configuration)' + testRunTitle: 'Windows Visual Studio Integration $(_configuration)_$(_useLegacyCompletion)' condition: always() - task: PublishBuildArtifacts@1 displayName: Publish Logs inputs: PathtoPublish: '$(Build.SourcesDirectory)\artifacts\log\$(_configuration)' - ArtifactName: 'Windows Visual Studio Integration $(_configuration)' + ArtifactName: 'Windows Visual Studio Integration $(_configuration)_$(_useLegacyCompletion)' publishLocation: Container continueOnError: true condition: not(succeeded()) @@ -56,7 +64,7 @@ jobs: displayName: Publish Screenshots inputs: PathtoPublish: '$(Build.SourcesDirectory)\artifacts\bin\Microsoft.VisualStudio.LanguageServices.IntegrationTests\$(_configuration)\net472\xUnitResults' - ArtifactName: 'Screenshots $(_configuration)' + ArtifactName: 'Screenshots $(_configuration)_$(_useLegacyCompletion)' publishLocation: Container continueOnError: true condition: not(succeeded()) diff --git a/azure-pipelines-official.yml b/azure-pipelines-official.yml index 6fcf4bc4f97fb..a2cfdcae2021e 100644 --- a/azure-pipelines-official.yml +++ b/azure-pipelines-official.yml @@ -93,6 +93,15 @@ jobs: displayName: 'OptProf - Publish to Artifact Services - ProfilingInputs' condition: succeeded() + # Publish OptProf generated JSON files as a build artifact. This allows for easy inspection from + # a build execution. + - task: PublishBuildArtifacts@1 + displayName: Publish OptProf Data Files + inputs: + PathtoPublish: '$(Build.SourcesDirectory)\artifacts\OptProf\$(BuildConfiguration)\Data' + ArtifactName: 'OptProf Data Files' + condition: succeeded() + # Build VS bootstrapper # Generates $(Build.StagingDirectory)\MicroBuild\Output\BootstrapperInfo.json - task: ms-vseng.MicroBuildTasks.0e9d0d4d-71ec-4e4e-ae40-db9896f1ae74.MicroBuildBuildVSBootstrapper@2 diff --git a/docs/contributing/Building, Debugging, and Testing on Windows.md b/docs/contributing/Building, Debugging, and Testing on Windows.md index eac1065085190..842521f5914f2 100644 --- a/docs/contributing/Building, Debugging, and Testing on Windows.md +++ b/docs/contributing/Building, Debugging, and Testing on Windows.md @@ -15,9 +15,9 @@ The minimal required version of .NET Framework is 4.7.2. ## Developing with Visual Studio 2019 -1. [Visual Studio 2019 Preview 4](https://www.visualstudio.com/vs/preview/) +1. [Visual Studio 2019 RC](https://visualstudio.microsoft.com/downloads/#2019rc) - Ensure C#, VB, MSBuild, .NET Core and Visual Studio Extensibility are included in the selected work loads - - Ensure Visual Studio is on Version "Preview 4" or greater + - Ensure Visual Studio is on Version "RC1" or greater 1. [.NET Core SDK 2.1.401](https://www.microsoft.com/net/download/core) (the installers are: [Windows x64 installer](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/2.1.401/dotnet-sdk-2.1.401-win-x64.exe), [Windows x86 installer](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/2.1.401/dotnet-sdk-2.1.401-win-x86.exe)) 1. [PowerShell 5.0 or newer](https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell). If you are on Windows 10, you are fine; you'll only need to upgrade if you're on Windows 7. The download link is under the "upgrading existing Windows PowerShell" heading. 1. Run Restore.cmd diff --git a/eng/Versions.props b/eng/Versions.props index 3ba18ca8aee54..e1ebdf5b2d6f8 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -75,36 +75,39 @@ 2.0.0 15.9.0-dev2 + 1.1.0 1.0.3 + 1.0.0-alpha-004 + 2.0.0-alpha-20170405-2 + 0.1.0 + 0.1.2-dev 1.3.23 4.5.24 10.1.0 15.8.27812-alpha 15.8.27812-alpha 1.1.20180503.2 - 15.7.27703 + 16.0.198-g52de9c2988 15.5.23 - 15.8.414-preview - 15.0.27309-vsucorediag - 15.0.27309-vsucorediag + 16.0.447-gf552fea787 15.0.27309-vsucorediag 15.7.2082401 15.7.2082401 1.1.4322 - 15.8.27812-alpha - 15.0.17 - 15.8.414-preview - 15.8.27812-alpha + 16.0.28226-alpha + 15.0.27 + 16.0.447-gf552fea787 + 16.0.28226-alpha 15.0.26730-alpha - 15.8.27828 + 16.0.28226-pre 2.0.0-rc3-61304-01 - 15.8.414-preview + 16.0.447-gf552fea787 15.8.27812-alpha - 15.8.414-preview - 15.8.414-preview - 15.8.414-preview + 16.0.447-gf552fea787 + 16.0.447-gf552fea787 + 16.0.447-gf552fea787 7.10.6071 - 15.8.414-preview + 16.0.447-gf552fea787 15.8.27812-alpha 15.8.27812-alpha 15.8.27812-alpha @@ -113,8 +116,8 @@ 14.0.249-master2E2DC10C 15.7.7 1.15.103 - 15.8.27828 - 15.8.27828 + 16.0.28226-pre + 16.0.28226-pre 15.7.27703 15.0.25415 15.0.25415 @@ -126,17 +129,18 @@ 8.0.50728 15.8.27812-alpha 8.0.0.0-alpha - 15.8.414-preview - 15.8.414-preview - 15.8.414-preview - 15.8.414-preview - 15.8.414-preview + 16.0.447-gf552fea787 + 16.0.447-gf552fea787 + 16.0.447-gf552fea787 + 16.0.447-gf552fea787 + 16.0.447-gf552fea787 7.10.6071 10.0.30320 12.0.30110 12.1.30328 - 15.8.168 - 15.8.99-rc + 16.0.0 + 15.8.192 + 15.8.192 15.3.23 2.0.0-rc3-61304-01 4.3.0 @@ -151,6 +155,8 @@ 4.8.0 1.1.0-beta1-62506-02 105.2.3 + 0.9.8-beta + 3.0.0-beta2-19053-01 $(RoslynDiagnosticsNugetPackageVersion) 1.0.0-beta2-63222-01 1.0.0-beta3.19057.1 @@ -208,64 +214,67 @@ to the projects that reference Roslyn packages. --> - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true diff --git a/eng/build-utils.ps1 b/eng/build-utils.ps1 index f2e4222e7f287..aef85174d4f35 100644 --- a/eng/build-utils.ps1 +++ b/eng/build-utils.ps1 @@ -287,3 +287,30 @@ function Make-BootstrapBuild() { return $dir } + +Add-Type -AssemblyName 'System.Drawing' +Add-Type -AssemblyName 'System.Windows.Forms' +function Capture-Screenshot($path) { + $width = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds.Width + $height = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds.Height + + $bitmap = New-Object System.Drawing.Bitmap $width, $height + try { + $graphics = [System.Drawing.Graphics]::FromImage($bitmap) + try { + $graphics.CopyFromScreen( ` + [System.Windows.Forms.Screen]::PrimaryScreen.Bounds.X, ` + [System.Windows.Forms.Screen]::PrimaryScreen.Bounds.Y, ` + 0, ` + 0, ` + $bitmap.Size, ` + [System.Drawing.CopyPixelOperation]::SourceCopy) + } finally { + $graphics.Dispose() + } + + $bitmap.Save($path, [System.Drawing.Imaging.ImageFormat]::Png) + } finally { + $bitmap.Dispose() + } +} diff --git a/eng/build.ps1 b/eng/build.ps1 index ad2cde97f0864..26305fbc93408 100644 --- a/eng/build.ps1 +++ b/eng/build.ps1 @@ -57,6 +57,7 @@ param ( [switch][Alias('test')]$testDesktop, [switch]$testCoreClr, [switch]$testIOperation, + [switch]$testLegacyCompletion, [parameter(ValueFromRemainingArguments=$true)][string[]]$properties) @@ -92,6 +93,7 @@ function Print-Usage() { Write-Host " -testCoreClr Run CoreClr unit tests" Write-Host " -testVsi Run all integration tests" Write-Host " -testIOperation Run extra checks to validate IOperations" + Write-Host " -testLegacyCompletion Run integration tests with legacy completion" Write-Host "" Write-Host "Advanced settings:" Write-Host " -ci Set when running on CI server" @@ -334,6 +336,10 @@ function TestUsingOptimizedRunner() { $env:ROSLYN_TEST_IOPERATION = "true" } + if ($testLegacyCompletion) { + $env:ROSLYN_TEST_LEGACY_COMPLETION = "true" + } + $testResultsDir = Join-Path $ArtifactsDir "TestResults\$configuration" $binDir = Join-Path $ArtifactsDir "bin" $runTests = GetProjectOutputBinary "RunTests.exe" @@ -379,7 +385,7 @@ function TestUsingOptimizedRunner() { if ($ci) { $args += " -xml" if ($testVsi) { - $args += " -timeout:120" + $args += " -timeout:110" } else { $args += " -timeout:65" } @@ -406,6 +412,9 @@ function TestUsingOptimizedRunner() { if ($testIOperation) { Remove-Item env:\ROSLYN_TEST_IOPERATION } + if ($testLegacyCompletion) { + Remove-Item env:\ROSLYN_TEST_LEGACY_COMPLETION + } } } @@ -514,6 +523,47 @@ try { if ($ci) { List-Processes Prepare-TempDir + + if ($testVsi) { + $screenshotPath = (Join-Path $LogDir "StartingBuild.png") + try { + Capture-Screenshot $screenshotPath + } + catch { + Write-Host "Screenshot failed; attempting to connect to the console" + + # Keep the session open so we have a UI to interact with + $quserItems = ((quser $env:USERNAME | select -Skip 1) -split '\s+') + $sessionid = $quserItems[2] + if ($sessionid -eq 'Disc') { + # When the session isn't connected, the third value is 'Disc' instead of the ID + $sessionid = $quserItems[1] + } + + if ($quserItems[1] -eq 'console') { + Write-Host "Disconnecting from console before attempting reconnection" + try { + tsdiscon + } catch { + # ignore + } + + # Disconnection is asynchronous, so wait a few seconds for it to complete + Start-Sleep -Seconds 3 + query user + } + + Write-Host "tscon $sessionid /dest:console" + tscon $sessionid /dest:console + + # Connection is asynchronous, so wait a few seconds for it to complete + Start-Sleep 3 + query user + + # Make sure we can capture a screenshot. An exception at this point will fail-fast the build. + Capture-Screenshot $screenshotPath + } + } } if ($bootstrap) { diff --git a/eng/targets/Imports.targets b/eng/targets/Imports.targets index 8686167e6e886..7b17b924f813d 100644 --- a/eng/targets/Imports.targets +++ b/eng/targets/Imports.targets @@ -14,7 +14,7 @@ - false + false $(DevDivPackagesDir) diff --git a/eng/targets/VisualStudio.targets b/eng/targets/VisualStudio.targets index 078a89aa78ded..9b3ab3ea49be2 100644 --- a/eng/targets/VisualStudio.targets +++ b/eng/targets/VisualStudio.targets @@ -101,10 +101,6 @@ or '%(FileName)' == 'Microsoft.VisualStudio.Shell.Interop.11.0'"> false - - - true - \ No newline at end of file diff --git a/global.json b/global.json index 82b0c22cfdbbc..6f51f4ae55456 100644 --- a/global.json +++ b/global.json @@ -2,9 +2,9 @@ "tools": { "dotnet": "2.1.401", "vs": { - "version": "15.8" + "version": "16.0" }, - "xcopy-msbuild": "15.9.0-alpha" + "xcopy-msbuild": "16.0.0-rc1-alpha" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19157.23" diff --git a/src/CodeStyle/CSharp/Analyzers/PublicAPI.Unshipped.txt b/src/CodeStyle/CSharp/Analyzers/PublicAPI.Unshipped.txt index 0b44063d53690..f6f2660004716 100644 --- a/src/CodeStyle/CSharp/Analyzers/PublicAPI.Unshipped.txt +++ b/src/CodeStyle/CSharp/Analyzers/PublicAPI.Unshipped.txt @@ -43,13 +43,13 @@ static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBef static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBetweenEmptyMethodCallParentheses.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBetweenEmptyMethodDeclarationParentheses.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBetweenEmptySquareBrackets.get -> Microsoft.CodeAnalysis.Options.Option +static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacesIgnoreAroundVariableDeclaration.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinCastParentheses.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinExpressionParentheses.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinMethodCallParentheses.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinMethodDeclarationParenthesis.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinOtherParentheses.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinSquareBrackets.get -> Microsoft.CodeAnalysis.Options.Option -static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacesIgnoreAroundVariableDeclaration.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacingAfterMethodDeclarationName.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacingAroundBinaryOperator.get -> Microsoft.CodeAnalysis.Options.Option static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.WrappingKeepStatementsOnSingleLine.get -> Microsoft.CodeAnalysis.Options.Option diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.cs.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.cs.xlf index 5da3574862c85..2d96a25c0d3c4 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.cs.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.cs.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + Předvolby odsazení Space preferences - Space preferences + Předvolby mezer Wrapping preferences - Wrapping preferences + Předvolby zalamování diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.de.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.de.xlf index 1c945caa9390f..297db0ca95ba6 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.de.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.de.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + Einstellungen für Einrückung Space preferences - Space preferences + Einstellungen für Abstände Wrapping preferences - Wrapping preferences + Einstellungen für Umbrüche diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.es.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.es.xlf index d7b80397cda36..77af241413a49 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.es.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.es.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + Preferencias de indentación Space preferences - Space preferences + Preferencias de espacio Wrapping preferences - Wrapping preferences + Preferencias de ajuste diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.fr.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.fr.xlf index 0a87c8e344d39..dfd9941894d66 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.fr.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.fr.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + Préférences de mise en retrait Space preferences - Space preferences + Préférences d'espace Wrapping preferences - Wrapping preferences + Préférences d'inclusion dans un wrapper diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.it.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.it.xlf index 6dc3d216a2e58..27c12bd4e0b95 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.it.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.it.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + Preferenze per rientro Space preferences - Space preferences + Preferenze per spazi Wrapping preferences - Wrapping preferences + Preferenze per ritorno a capo diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ja.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ja.xlf index 1d894b3257bed..83fe539cd4cb7 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ja.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ja.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + インデント設定 Space preferences - Space preferences + スペース設定 Wrapping preferences - Wrapping preferences + 折り返しの設定 diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ko.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ko.xlf index b0f50e7daf3f9..427037794e3bc 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ko.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ko.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + 들여쓰기 기본 설정 Space preferences - Space preferences + 공간 기본 설정 Wrapping preferences - Wrapping preferences + 기본 설정 줄 바꿈 diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.pl.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.pl.xlf index 39668924c2c33..ad210539f8db8 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.pl.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.pl.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + Preferencje wcięć Space preferences - Space preferences + Preferencje dotyczące odstępów Wrapping preferences - Wrapping preferences + Preferencje dotyczące opakowywania diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.pt-BR.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.pt-BR.xlf index 982a133596a43..b9359dfef663d 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.pt-BR.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.pt-BR.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + Preferências de recuo Space preferences - Space preferences + Preferências de espaço Wrapping preferences - Wrapping preferences + Preferências de disposição diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ru.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ru.xlf index a9bd5bc4d06ff..68895f7fb96d2 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ru.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.ru.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + Параметры отступов Space preferences - Space preferences + Предпочтения для интервалов Wrapping preferences - Wrapping preferences + Параметры свертывания diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.tr.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.tr.xlf index d66215da58805..494145da415f3 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.tr.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.tr.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + Girinti tercihleri Space preferences - Space preferences + Boşluk tercihleri Wrapping preferences - Wrapping preferences + Kaydırma tercihleri diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.zh-Hans.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.zh-Hans.xlf index ab5227d3e9bd3..1a9702dd40ad3 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.zh-Hans.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.zh-Hans.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + 缩进首选项 Space preferences - Space preferences + 空格键首选项 Wrapping preferences - Wrapping preferences + 包装首选项 diff --git a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.zh-Hant.xlf b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.zh-Hant.xlf index 4245344c9e03b..0135365fa24e6 100644 --- a/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.zh-Hant.xlf +++ b/src/CodeStyle/CSharp/Analyzers/xlf/CSharpCodeStyleResources.zh-Hant.xlf @@ -4,17 +4,17 @@ Indentation preferences - Indentation preferences + 縮排喜好設定 Space preferences - Space preferences + 空格喜好設定 Wrapping preferences - Wrapping preferences + 換行喜好設定 diff --git a/src/CodeStyle/Core/Analyzers/PublicAPI.Unshipped.txt b/src/CodeStyle/Core/Analyzers/PublicAPI.Unshipped.txt index c13b5e243ad0e..293623cb92821 100644 --- a/src/CodeStyle/Core/Analyzers/PublicAPI.Unshipped.txt +++ b/src/CodeStyle/Core/Analyzers/PublicAPI.Unshipped.txt @@ -71,4 +71,4 @@ static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Error -> Mic static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.None -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Silent -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Suggestion -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption -static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Warning -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption \ No newline at end of file +static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Warning -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.cs.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.cs.xlf index e1e9b3738f86e..10dbd2bbb8a88 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.cs.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.cs.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + Pro tuto možnost se nesmí zadat název jazyka. A language name must be specified for this option. - A language name must be specified for this option. + Pro tuto možnost se musí zadat název jazyka. Error - Error + Chyba @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + Odsazení a mezery New line preferences - New line preferences + Předvolby nových řádků None - None + žádné Refactoring Only - Refactoring Only + Pouze refaktoring @@ -49,12 +49,12 @@ Suggestion - Suggestion + Návrh Warning - Warning + Upozornění diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.de.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.de.xlf index 29f7e0a058826..73ac14430a348 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.de.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.de.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + Für diese Option kann kein Sprachenname angegeben werden. A language name must be specified for this option. - A language name must be specified for this option. + Für diese Option muss ein Sprachenname angegeben werden. Error - Error + Fehler @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + Einzüge und Abstände New line preferences - New line preferences + Einstellungen für neue Zeilen None - None + NONE Refactoring Only - Refactoring Only + Nur Refactoring @@ -49,12 +49,12 @@ Suggestion - Suggestion + Vorschlag Warning - Warning + Warnung diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.es.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.es.xlf index 78e54f55d8a63..10ca53d233d8d 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.es.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.es.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + No se puede especificar ningún nombre de idioma para esta opción. A language name must be specified for this option. - A language name must be specified for this option. + Se debe especificar un nombre de lenguaje para esta opción. Error - Error + Error @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + Sangría y espaciado New line preferences - New line preferences + Nuevas preferencias de línea None - None + NONE Refactoring Only - Refactoring Only + Solo refactorización @@ -49,12 +49,12 @@ Suggestion - Suggestion + Sugerencia Warning - Warning + Advertencia diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.fr.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.fr.xlf index 83fa8cfc591d1..9b29cd66345a8 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.fr.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.fr.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + Impossible de spécifier un nom de langage pour cette option. A language name must be specified for this option. - A language name must be specified for this option. + Un nom de langage doit être spécifié pour cette option. Error - Error + Erreur @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + Indentation et espacement New line preferences - New line preferences + Préférences de nouvelle ligne None - None + Aucun(e) Refactoring Only - Refactoring Only + Refactoring Only @@ -49,12 +49,12 @@ Suggestion - Suggestion + Suggestion Warning - Warning + Avertissement diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.it.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.it.xlf index 219a40195442a..a48906af90763 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.it.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.it.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + Non è possibile specificare un nome di linguaggio per questa opzione. A language name must be specified for this option. - A language name must be specified for this option. + È necessario specificare un nome di linguaggio per questa opzione. Error - Error + Errore @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + Rientro e spaziatura New line preferences - New line preferences + Preferenze per nuova riga None - None + Nessuno Refactoring Only - Refactoring Only + Refactoring Only @@ -49,12 +49,12 @@ Suggestion - Suggestion + Suggerimento Warning - Warning + Avviso diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ja.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ja.xlf index f62b795ad35a7..2802b05f1f668 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ja.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ja.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + 言語名は、このオプションでは指定できません。 A language name must be specified for this option. - A language name must be specified for this option. + このオプションの言語名を指定する必要があります。 Error - Error + エラー @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + インデントと間隔 New line preferences - New line preferences + 改行設定 None - None + なし Refactoring Only - Refactoring Only + リファクタリングのみ @@ -49,12 +49,12 @@ Suggestion - Suggestion + 提案事項 Warning - Warning + 警告 diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ko.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ko.xlf index 5a2db66677dcd..168c20f8a8a9d 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ko.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ko.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + 이 옵션에 대한 언어 이름을 지정할 수 없습니다. A language name must be specified for this option. - A language name must be specified for this option. + 이 옵션에 대한 언어 이름을 지정해야 합니다. Error - Error + 오류 @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + 들여쓰기 및 간격 New line preferences - New line preferences + 새 줄 기본 설정 None - None + None Refactoring Only - Refactoring Only + 리팩터링만 @@ -49,12 +49,12 @@ Suggestion - Suggestion + 제안 Warning - Warning + 경고 diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.pl.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.pl.xlf index e05315f7da630..ca963dbc24d5a 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.pl.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.pl.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + Nie można określić nazwy języka dla tej opcji. A language name must be specified for this option. - A language name must be specified for this option. + Nazwa języka musi zostać określona dla tej opcji. Error - Error + Błąd @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + Wcięcia i odstępy New line preferences - New line preferences + Preferencje nowego wiersza None - None + brak Refactoring Only - Refactoring Only + Tylko refaktoryzacja @@ -49,12 +49,12 @@ Suggestion - Suggestion + Sugestia Warning - Warning + Ostrzeżenie diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.pt-BR.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.pt-BR.xlf index f9797ff33c1cc..a948e3a171f2e 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.pt-BR.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.pt-BR.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + Um nome de idioma não pode ser especificado para essa opção. A language name must be specified for this option. - A language name must be specified for this option. + Um nome de idioma deve ser especificado para esta opção. Error - Error + Erro @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + Recuo e espaçamento New line preferences - New line preferences + Preferências de nova linha None - None + NENHUM Refactoring Only - Refactoring Only + Somente Refatoração @@ -49,12 +49,12 @@ Suggestion - Suggestion + Sugestão Warning - Warning + Aviso diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ru.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ru.xlf index 399daf5f91983..6ab8b6b65cee2 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ru.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.ru.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + Для данного параметра невозможно указать имя языка. A language name must be specified for this option. - A language name must be specified for this option. + Для данного параметра необходимо указать имя языка. Error - Error + Ошибка @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + Отступы и интервалы New line preferences - New line preferences + Предпочтения для новых строк None - None + NONE Refactoring Only - Refactoring Only + Только рефакторинг @@ -49,12 +49,12 @@ Suggestion - Suggestion + Рекомендация Warning - Warning + Предупреждение diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.tr.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.tr.xlf index 2cb84ad62ae12..540fed7ed4cd5 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.tr.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.tr.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + Bu seçenek için bir dil adı belirtilemiyor. A language name must be specified for this option. - A language name must be specified for this option. + Bu seçenek için bir dil adı belirtilmelidir. Error - Error + Hata @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + Girinti ve aralığı New line preferences - New line preferences + Yeni satır tercihleri None - None + yok Refactoring Only - Refactoring Only + Sadece Yeniden Düzenlenme @@ -49,12 +49,12 @@ Suggestion - Suggestion + Öneri Warning - Warning + Uyarı diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.zh-Hans.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.zh-Hans.xlf index f5e8382bedd9e..ed918e183085b 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.zh-Hans.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.zh-Hans.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + 无法为此选项指定语言名称。 A language name must be specified for this option. - A language name must be specified for this option. + 必须为此选项指定语言名称。 Error - Error + 错误 @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + 缩进和间距 New line preferences - New line preferences + 新行首选项 None - None + 没有 Refactoring Only - Refactoring Only + 仅重构 @@ -49,12 +49,12 @@ Suggestion - Suggestion + 建议 Warning - Warning + 警告 diff --git a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.zh-Hant.xlf b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.zh-Hant.xlf index e2994c41d125f..e5e955d3b7cb3 100644 --- a/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.zh-Hant.xlf +++ b/src/CodeStyle/Core/Analyzers/xlf/CodeStyleResources.zh-Hant.xlf @@ -4,17 +4,17 @@ A language name cannot be specified for this option. - A language name cannot be specified for this option. + 無法指定此選項的語言名稱。 A language name must be specified for this option. - A language name must be specified for this option. + 必須指定此選項的語言名稱。 Error - Error + 錯誤 @@ -24,22 +24,22 @@ Indentation and spacing - Indentation and spacing + 縮排和間距 New line preferences - New line preferences + 新行喜好設定 None - None + Refactoring Only - Refactoring Only + 僅重構 @@ -49,12 +49,12 @@ Suggestion - Suggestion + 建議 Warning - Warning + 警告 diff --git a/src/Compilers/CSharp/Portable/PublicAPI.Unshipped.txt b/src/Compilers/CSharp/Portable/PublicAPI.Unshipped.txt index 5b7e4d48077d3..30b5c7fb38ae9 100644 --- a/src/Compilers/CSharp/Portable/PublicAPI.Unshipped.txt +++ b/src/Compilers/CSharp/Portable/PublicAPI.Unshipped.txt @@ -1,7 +1,10 @@ *REMOVED*static Microsoft.CodeAnalysis.CSharp.LanguageVersionFacts.TryParse(this string version, out Microsoft.CodeAnalysis.CSharp.LanguageVersion result) -> bool +abstract Microsoft.CodeAnalysis.CSharp.Syntax.CommonForEachStatementSyntax.AwaitKeyword.get -> Microsoft.CodeAnalysis.SyntaxToken Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions.CSharpCompilationOptions(Microsoft.CodeAnalysis.OutputKind outputKind, bool reportSuppressedDiagnostics = false, string moduleName = null, string mainTypeName = null, string scriptClassName = null, System.Collections.Generic.IEnumerable usings = null, Microsoft.CodeAnalysis.OptimizationLevel optimizationLevel = Microsoft.CodeAnalysis.OptimizationLevel.Debug, bool checkOverflow = false, bool allowUnsafe = false, string cryptoKeyContainer = null, string cryptoKeyFile = null, System.Collections.Immutable.ImmutableArray cryptoPublicKey = default(System.Collections.Immutable.ImmutableArray), bool? delaySign = null, Microsoft.CodeAnalysis.Platform platform = Microsoft.CodeAnalysis.Platform.AnyCpu, Microsoft.CodeAnalysis.ReportDiagnostic generalDiagnosticOption = Microsoft.CodeAnalysis.ReportDiagnostic.Default, int warningLevel = 4, System.Collections.Generic.IEnumerable> specificDiagnosticOptions = null, bool concurrentBuild = true, bool deterministic = false, Microsoft.CodeAnalysis.XmlReferenceResolver xmlReferenceResolver = null, Microsoft.CodeAnalysis.SourceReferenceResolver sourceReferenceResolver = null, Microsoft.CodeAnalysis.MetadataReferenceResolver metadataReferenceResolver = null, Microsoft.CodeAnalysis.AssemblyIdentityComparer assemblyIdentityComparer = null, Microsoft.CodeAnalysis.StrongNameProvider strongNameProvider = null, bool publicSign = false, Microsoft.CodeAnalysis.MetadataImportOptions metadataImportOptions = Microsoft.CodeAnalysis.MetadataImportOptions.Public, Microsoft.CodeAnalysis.CSharp.NullableContextOptions nullableContextOptions = Microsoft.CodeAnalysis.CSharp.NullableContextOptions.Disable) -> void +Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions.CSharpCompilationOptions(Microsoft.CodeAnalysis.OutputKind outputKind, bool reportSuppressedDiagnostics, string moduleName, string mainTypeName, string scriptClassName, System.Collections.Generic.IEnumerable usings, Microsoft.CodeAnalysis.OptimizationLevel optimizationLevel, bool checkOverflow, bool allowUnsafe, string cryptoKeyContainer, string cryptoKeyFile, System.Collections.Immutable.ImmutableArray cryptoPublicKey, bool? delaySign, Microsoft.CodeAnalysis.Platform platform, Microsoft.CodeAnalysis.ReportDiagnostic generalDiagnosticOption, int warningLevel, System.Collections.Generic.IEnumerable> specificDiagnosticOptions, bool concurrentBuild, bool deterministic, Microsoft.CodeAnalysis.XmlReferenceResolver xmlReferenceResolver, Microsoft.CodeAnalysis.SourceReferenceResolver sourceReferenceResolver, Microsoft.CodeAnalysis.MetadataReferenceResolver metadataReferenceResolver, Microsoft.CodeAnalysis.AssemblyIdentityComparer assemblyIdentityComparer, Microsoft.CodeAnalysis.StrongNameProvider strongNameProvider, bool publicSign, Microsoft.CodeAnalysis.MetadataImportOptions metadataImportOptions) -> void Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions.NullableContextOptions.get -> Microsoft.CodeAnalysis.CSharp.NullableContextOptions Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions.WithNullableContextOptions(Microsoft.CodeAnalysis.CSharp.NullableContextOptions options) -> Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions +Microsoft.CodeAnalysis.CSharp.LanguageVersion.CSharp8 = 800 -> Microsoft.CodeAnalysis.CSharp.LanguageVersion Microsoft.CodeAnalysis.CSharp.LanguageVersion.Preview = 2147483646 -> Microsoft.CodeAnalysis.CSharp.LanguageVersion Microsoft.CodeAnalysis.CSharp.LanguageVersion.LatestMajor = 2147483645 -> Microsoft.CodeAnalysis.CSharp.LanguageVersion Microsoft.CodeAnalysis.CSharp.NullableContextOptions @@ -10,27 +13,6 @@ Microsoft.CodeAnalysis.CSharp.NullableContextOptions.Enable = 1 -> Microsoft.Cod Microsoft.CodeAnalysis.CSharp.NullableContextOptions.SafeOnly = 2 -> Microsoft.CodeAnalysis.CSharp.NullableContextOptions Microsoft.CodeAnalysis.CSharp.NullableContextOptions.SafeOnlyWarnings = 4 -> Microsoft.CodeAnalysis.CSharp.NullableContextOptions Microsoft.CodeAnalysis.CSharp.NullableContextOptions.Warnings = 3 -> Microsoft.CodeAnalysis.CSharp.NullableContextOptions -Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword, Microsoft.CodeAnalysis.SyntaxToken forEachKeyword, Microsoft.CodeAnalysis.SyntaxToken openParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax type, Microsoft.CodeAnalysis.SyntaxToken identifier, Microsoft.CodeAnalysis.SyntaxToken inKeyword, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax expression, Microsoft.CodeAnalysis.SyntaxToken closeParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax statement) -> Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.ForEachVariableStatementSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword, Microsoft.CodeAnalysis.SyntaxToken forEachKeyword, Microsoft.CodeAnalysis.SyntaxToken openParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax variable, Microsoft.CodeAnalysis.SyntaxToken inKeyword, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax expression, Microsoft.CodeAnalysis.SyntaxToken closeParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax statement) -> Microsoft.CodeAnalysis.CSharp.Syntax.ForEachVariableStatementSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword, Microsoft.CodeAnalysis.SyntaxToken usingKeyword, Microsoft.CodeAnalysis.SyntaxTokenList modifiers, Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax declaration, Microsoft.CodeAnalysis.SyntaxToken semicolonToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax.WithAwaitKeyword(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax.AwaitKeyword.get -> Microsoft.CodeAnalysis.SyntaxToken -Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.NullableKeyword.get -> Microsoft.CodeAnalysis.SyntaxToken -Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.SettingToken.get -> Microsoft.CodeAnalysis.SyntaxToken -Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken hashToken, Microsoft.CodeAnalysis.SyntaxToken nullableKeyword, Microsoft.CodeAnalysis.SyntaxToken settingToken, Microsoft.CodeAnalysis.SyntaxToken endOfDirectiveToken, bool isActive) -> Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.WithNullableKeyword(Microsoft.CodeAnalysis.SyntaxToken nullableKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.WithSettingToken(Microsoft.CodeAnalysis.SyntaxToken settingToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax.NullableKeyword.get -> Microsoft.CodeAnalysis.SyntaxToken -Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken hashToken, Microsoft.CodeAnalysis.SyntaxToken pragmaKeyword, Microsoft.CodeAnalysis.SyntaxToken warningKeyword, Microsoft.CodeAnalysis.SyntaxToken disableOrRestoreKeyword, Microsoft.CodeAnalysis.SyntaxToken nullableKeyword, Microsoft.CodeAnalysis.SeparatedSyntaxList errorCodes, Microsoft.CodeAnalysis.SyntaxToken endOfDirectiveToken, bool isActive) -> Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken hashToken, Microsoft.CodeAnalysis.SyntaxToken pragmaKeyword, Microsoft.CodeAnalysis.SyntaxToken warningKeyword, Microsoft.CodeAnalysis.SyntaxToken disableOrRestoreKeyword, Microsoft.CodeAnalysis.SyntaxToken nullableKeyword, Microsoft.CodeAnalysis.SyntaxToken endOfDirectiveToken, bool isActive) -> Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax.WithNullableKeyword(Microsoft.CodeAnalysis.SyntaxToken nullableKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax -Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword, Microsoft.CodeAnalysis.SyntaxToken usingKeyword, Microsoft.CodeAnalysis.SyntaxToken openParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax declaration, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax expression, Microsoft.CodeAnalysis.SyntaxToken closeParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax statement) -> Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax -Microsoft.CodeAnalysis.CSharp.SyntaxKind.EnableKeyword = 8487 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind -Microsoft.CodeAnalysis.CSharp.SyntaxKind.SafeOnlyKeyword = 8488 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind -Microsoft.CodeAnalysis.CSharp.SyntaxKind.VarKeyword = 8490 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind -abstract Microsoft.CodeAnalysis.CSharp.Syntax.CommonForEachStatementSyntax.AwaitKeyword.get -> Microsoft.CodeAnalysis.SyntaxToken -Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions.CSharpCompilationOptions(Microsoft.CodeAnalysis.OutputKind outputKind, bool reportSuppressedDiagnostics, string moduleName, string mainTypeName, string scriptClassName, System.Collections.Generic.IEnumerable usings, Microsoft.CodeAnalysis.OptimizationLevel optimizationLevel, bool checkOverflow, bool allowUnsafe, string cryptoKeyContainer, string cryptoKeyFile, System.Collections.Immutable.ImmutableArray cryptoPublicKey, bool? delaySign, Microsoft.CodeAnalysis.Platform platform, Microsoft.CodeAnalysis.ReportDiagnostic generalDiagnosticOption, int warningLevel, System.Collections.Generic.IEnumerable> specificDiagnosticOptions, bool concurrentBuild, bool deterministic, Microsoft.CodeAnalysis.XmlReferenceResolver xmlReferenceResolver, Microsoft.CodeAnalysis.SourceReferenceResolver sourceReferenceResolver, Microsoft.CodeAnalysis.MetadataReferenceResolver metadataReferenceResolver, Microsoft.CodeAnalysis.AssemblyIdentityComparer assemblyIdentityComparer, Microsoft.CodeAnalysis.StrongNameProvider strongNameProvider, bool publicSign, Microsoft.CodeAnalysis.MetadataImportOptions metadataImportOptions) -> void -Microsoft.CodeAnalysis.CSharp.LanguageVersion.CSharp8 = 800 -> Microsoft.CodeAnalysis.CSharp.LanguageVersion Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousFunctionExpressionSyntax.WithAsyncKeyword(Microsoft.CodeAnalysis.SyntaxToken asyncKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousFunctionExpressionSyntax Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousFunctionExpressionSyntax.WithBody(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode body) -> Microsoft.CodeAnalysis.CSharp.Syntax.AnonymousFunctionExpressionSyntax Microsoft.CodeAnalysis.CSharp.Syntax.BaseArgumentListSyntax.AddArguments(params Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentSyntax[] items) -> Microsoft.CodeAnalysis.CSharp.Syntax.BaseArgumentListSyntax @@ -99,7 +81,9 @@ Microsoft.CodeAnalysis.CSharp.Syntax.PositionalPatternClauseSyntax.WithOpenParen Microsoft.CodeAnalysis.CSharp.Syntax.PositionalPatternClauseSyntax.WithSubpatterns(Microsoft.CodeAnalysis.SeparatedSyntaxList subpatterns) -> Microsoft.CodeAnalysis.CSharp.Syntax.PositionalPatternClauseSyntax Microsoft.CodeAnalysis.CSharp.Syntax.DirectiveTriviaSyntax.WithEndOfDirectiveToken(Microsoft.CodeAnalysis.SyntaxToken endOfDirectiveToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.DirectiveTriviaSyntax Microsoft.CodeAnalysis.CSharp.Syntax.DirectiveTriviaSyntax.WithHashToken(Microsoft.CodeAnalysis.SyntaxToken hashToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.DirectiveTriviaSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword, Microsoft.CodeAnalysis.SyntaxToken forEachKeyword, Microsoft.CodeAnalysis.SyntaxToken openParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax type, Microsoft.CodeAnalysis.SyntaxToken identifier, Microsoft.CodeAnalysis.SyntaxToken inKeyword, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax expression, Microsoft.CodeAnalysis.SyntaxToken closeParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax statement) -> Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax.WithAwaitKeyword(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.ForEachVariableStatementSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword, Microsoft.CodeAnalysis.SyntaxToken forEachKeyword, Microsoft.CodeAnalysis.SyntaxToken openParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax variable, Microsoft.CodeAnalysis.SyntaxToken inKeyword, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax expression, Microsoft.CodeAnalysis.SyntaxToken closeParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax statement) -> Microsoft.CodeAnalysis.CSharp.Syntax.ForEachVariableStatementSyntax Microsoft.CodeAnalysis.CSharp.Syntax.ForEachVariableStatementSyntax.WithAwaitKeyword(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.ForEachVariableStatementSyntax Microsoft.CodeAnalysis.CSharp.Syntax.DiscardPatternSyntax Microsoft.CodeAnalysis.CSharp.Syntax.DiscardPatternSyntax.UnderscoreToken.get -> Microsoft.CodeAnalysis.SyntaxToken @@ -108,10 +92,18 @@ Microsoft.CodeAnalysis.CSharp.Syntax.DiscardPatternSyntax.WithUnderscoreToken(Mi Microsoft.CodeAnalysis.CSharp.Syntax.LambdaExpressionSyntax.WithArrowToken(Microsoft.CodeAnalysis.SyntaxToken arrowToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.LambdaExpressionSyntax Microsoft.CodeAnalysis.CSharp.Syntax.LambdaExpressionSyntax.WithAsyncKeyword(Microsoft.CodeAnalysis.SyntaxToken asyncKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.LambdaExpressionSyntax Microsoft.CodeAnalysis.CSharp.Syntax.LambdaExpressionSyntax.WithBody(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode body) -> Microsoft.CodeAnalysis.CSharp.Syntax.LambdaExpressionSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword, Microsoft.CodeAnalysis.SyntaxToken usingKeyword, Microsoft.CodeAnalysis.SyntaxTokenList modifiers, Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax declaration, Microsoft.CodeAnalysis.SyntaxToken semicolonToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax.WithAwaitKeyword(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax.AwaitKeyword.get -> Microsoft.CodeAnalysis.SyntaxToken Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.NullableKeyword.get -> Microsoft.CodeAnalysis.SyntaxToken +Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.SettingToken.get -> Microsoft.CodeAnalysis.SyntaxToken +Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken hashToken, Microsoft.CodeAnalysis.SyntaxToken nullableKeyword, Microsoft.CodeAnalysis.SyntaxToken settingToken, Microsoft.CodeAnalysis.SyntaxToken endOfDirectiveToken, bool isActive) -> Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.WithEndOfDirectiveToken(Microsoft.CodeAnalysis.SyntaxToken endOfDirectiveToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.WithHashToken(Microsoft.CodeAnalysis.SyntaxToken hashToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.WithIsActive(bool isActive) -> Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.WithNullableKeyword(Microsoft.CodeAnalysis.SyntaxToken nullableKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax.WithSettingToken(Microsoft.CodeAnalysis.SyntaxToken settingToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax.LeftOperand.get -> Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax.OperatorToken.get -> Microsoft.CodeAnalysis.SyntaxToken @@ -120,6 +112,10 @@ Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax.Update(Microsoft.Code Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax.WithLeftOperand(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax leftOperand) -> Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax.WithOperatorToken(Microsoft.CodeAnalysis.SyntaxToken operatorToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax.WithRightOperand(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax rightOperand) -> Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax.NullableKeyword.get -> Microsoft.CodeAnalysis.SyntaxToken +Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken hashToken, Microsoft.CodeAnalysis.SyntaxToken pragmaKeyword, Microsoft.CodeAnalysis.SyntaxToken warningKeyword, Microsoft.CodeAnalysis.SyntaxToken disableOrRestoreKeyword, Microsoft.CodeAnalysis.SyntaxToken nullableKeyword, Microsoft.CodeAnalysis.SeparatedSyntaxList errorCodes, Microsoft.CodeAnalysis.SyntaxToken endOfDirectiveToken, bool isActive) -> Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken hashToken, Microsoft.CodeAnalysis.SyntaxToken pragmaKeyword, Microsoft.CodeAnalysis.SyntaxToken warningKeyword, Microsoft.CodeAnalysis.SyntaxToken disableOrRestoreKeyword, Microsoft.CodeAnalysis.SyntaxToken nullableKeyword, Microsoft.CodeAnalysis.SyntaxToken endOfDirectiveToken, bool isActive) -> Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax +Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax.WithNullableKeyword(Microsoft.CodeAnalysis.SyntaxToken nullableKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.PragmaWarningDirectiveTriviaSyntax Microsoft.CodeAnalysis.CSharp.Syntax.PropertyPatternClauseSyntax Microsoft.CodeAnalysis.CSharp.Syntax.PropertyPatternClauseSyntax.AddSubpatterns(params Microsoft.CodeAnalysis.CSharp.Syntax.SubpatternSyntax[] items) -> Microsoft.CodeAnalysis.CSharp.Syntax.PropertyPatternClauseSyntax Microsoft.CodeAnalysis.CSharp.Syntax.PropertyPatternClauseSyntax.CloseBraceToken.get -> Microsoft.CodeAnalysis.SyntaxToken @@ -193,6 +189,7 @@ Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax.WithOpenBraceToken(Mi Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax.WithSemicolonToken(Microsoft.CodeAnalysis.SyntaxToken semicolonToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax.WithTypeParameterList(Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax typeParameterList) -> Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax.AwaitKeyword.get -> Microsoft.CodeAnalysis.SyntaxToken +Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax.Update(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword, Microsoft.CodeAnalysis.SyntaxToken usingKeyword, Microsoft.CodeAnalysis.SyntaxToken openParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax declaration, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax expression, Microsoft.CodeAnalysis.SyntaxToken closeParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax statement) -> Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax.WithAwaitKeyword(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword) -> Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax Microsoft.CodeAnalysis.CSharp.Syntax.VarPatternSyntax Microsoft.CodeAnalysis.CSharp.Syntax.VarPatternSyntax.Designation.get -> Microsoft.CodeAnalysis.CSharp.Syntax.VariableDesignationSyntax @@ -206,12 +203,15 @@ Microsoft.CodeAnalysis.CSharp.Syntax.XmlAttributeSyntax.WithName(Microsoft.CodeA Microsoft.CodeAnalysis.CSharp.Syntax.XmlAttributeSyntax.WithStartQuoteToken(Microsoft.CodeAnalysis.SyntaxToken startQuoteToken) -> Microsoft.CodeAnalysis.CSharp.Syntax.XmlAttributeSyntax Microsoft.CodeAnalysis.CSharp.SyntaxKind.CoalesceAssignmentExpression = 8725 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind Microsoft.CodeAnalysis.CSharp.SyntaxKind.DotDotToken = 8222 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind +Microsoft.CodeAnalysis.CSharp.SyntaxKind.EnableKeyword = 8487 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind Microsoft.CodeAnalysis.CSharp.SyntaxKind.IndexExpression = 8741 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind Microsoft.CodeAnalysis.CSharp.SyntaxKind.NullableDirectiveTrivia = 9055 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind Microsoft.CodeAnalysis.CSharp.SyntaxKind.NullableKeyword = 8486 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind Microsoft.CodeAnalysis.CSharp.SyntaxKind.QuestionQuestionEqualsToken = 8284 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind Microsoft.CodeAnalysis.CSharp.SyntaxKind.RangeExpression = 8658 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind +Microsoft.CodeAnalysis.CSharp.SyntaxKind.SafeOnlyKeyword = 8488 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind Microsoft.CodeAnalysis.CSharp.SyntaxKind.SuppressNullableWarningExpression = 9054 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind +Microsoft.CodeAnalysis.CSharp.SyntaxKind.VarKeyword = 8490 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind override Microsoft.CodeAnalysis.CSharp.CSharpCompilation.ClassifyCommonConversion(Microsoft.CodeAnalysis.ITypeSymbol source, Microsoft.CodeAnalysis.ITypeSymbol destination) -> Microsoft.CodeAnalysis.Operations.CommonConversion override Microsoft.CodeAnalysis.CSharp.CSharpCompilation.ContainsSymbolsWithName(string name, Microsoft.CodeAnalysis.SymbolFilter filter = Microsoft.CodeAnalysis.SymbolFilter.TypeAndMember, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> bool override Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetSymbolsWithName(string name, Microsoft.CodeAnalysis.SymbolFilter filter = Microsoft.CodeAnalysis.SymbolFilter.TypeAndMember, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Collections.Generic.IEnumerable @@ -241,8 +241,8 @@ static Microsoft.CodeAnalysis.CSharp.SyntaxFactory.RangeExpression(Microsoft.Cod static Microsoft.CodeAnalysis.CSharp.SyntaxFactory.RangeExpression(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax leftOperand, Microsoft.CodeAnalysis.SyntaxToken operatorToken, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax rightOperand) -> Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax static Microsoft.CodeAnalysis.CSharp.SyntaxFactory.UsingStatement(Microsoft.CodeAnalysis.SyntaxToken awaitKeyword, Microsoft.CodeAnalysis.SyntaxToken usingKeyword, Microsoft.CodeAnalysis.SyntaxToken openParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax declaration, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax expression, Microsoft.CodeAnalysis.SyntaxToken closeParenToken, Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax statement) -> Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax virtual Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor.VisitNullableDirectiveTrivia(Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax node) -> void -virtual Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor.VisitNullableDirectiveTrivia(Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax node) -> TResult virtual Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor.VisitRangeExpression(Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax node) -> void +virtual Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor.VisitNullableDirectiveTrivia(Microsoft.CodeAnalysis.CSharp.Syntax.NullableDirectiveTriviaSyntax node) -> TResult virtual Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor.VisitRangeExpression(Microsoft.CodeAnalysis.CSharp.Syntax.RangeExpressionSyntax node) -> TResult Microsoft.CodeAnalysis.CSharp.SyntaxKind.PositionalPatternClause = 9023 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind Microsoft.CodeAnalysis.CSharp.SyntaxKind.DiscardPattern = 9024 -> Microsoft.CodeAnalysis.CSharp.SyntaxKind diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf index d035c2a60c12f..60e31dfc777ce 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + Ve výrazu as se nepovoluje použití typu odkazu s možnou hodnotou null {0}?; místo toho použijte základní typ {0}. @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + Funkce {0} je aktuálně ve verzi Preview a je *nepodporovaná*. Pokud chcete používat funkce Preview, použijte jazykovou verzi preview. @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + Operátor potlačení není v tomto kontextu povolený. @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + Ve výrazu is-type se nepovoluje použití typu odkazu s možnou hodnotou null {0}?; místo toho použijte základní typ {0}. @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + Metoda {0} s blokem iterátoru musí být asynchronní, aby vrátila {1}. @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - {0}: typ použitý v asynchronním příkazu using musí být implicitně převeditelný na System.IAsyncDisposable. Měli jste v úmyslu using místo await using? + {0}: typ použitý v příkazu async using musí být implicitně převoditelný na System.IAsyncDisposable nebo implementovat odpovídající metodu DisposeAsync. Neměli jste v úmyslu použít using místo await using? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - {0}: typ použitý v příkazu using musí být implicitně převeditelný na System.IDisposable. Měli jste v úmyslu await using místo using? + {0}: typ použitý v příkazu using musí být implicitně převoditelný na System.IDisposable nebo implementovat odpovídající metodu Dispose. Neměli jste v úmyslu použít await using místo using? @@ -504,151 +504,151 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Parametry kompilátoru Visual C# - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + – VÝSTUPNÍ SOUBORY – +-out:<soubor> Určuje název výstupního souboru (výchozí: základní název + souboru s hlavní třídou nebo prvního souboru). +-target:exe Vytvoří spustitelný soubor konzoly (výchozí). + (Krátký tvar: -t:exe) +-target:winexe Vytvoří spustitelný soubor Windows. (Krátký tvar: + -t:winexe) +-target:library Vytvoří knihovnu. (Krátký tvar: -t:library) +-target:module Vytvoří modul, který se dá přidat do jiného + sestavení. (Krátký tvar: -t:module) +-target:appcontainerexe Vytvoří spustitelný soubor kontejneru Appcontainer. (Krátký tvar: + -t:appcontainerexe) +-target:winmdobj Vytvoří pomocný soubor modulu Windows Runtime, který + využívá knihovna WinMDExp. (Krátký tvar: -t:winmdobj) +-doc:<soubor> Soubor dokumentace XML, který se má generovat. +-refout:<file> Výstup referenčního sestavení, který se bude generovat +-platform:<řetězec> Omezuje platformy, na kterých se dá tento kód spustit: x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred nebo + anycpu. Výchozí je anycpu. - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + – VSTUPNÍ SOUBORY– +-recurse:<zástupný znak> Zahrne všechny soubory v aktuálním adresáři + a podadresářích podle zadaného + zástupného znaku. +-reference:<alias>=<soubor> Odkazuje na metadata ze zadaného souboru + sestavení pomocí daného aliasu. (Krátký tvar: -r) +-reference:<seznam souborů> Odkazuje na metadata ze zadaných souborů + sestavení. (Krátký tvar: -r) +-addmodule:<seznam souborů> Připojí zadané moduly do tohoto sestavení. +-link:<seznam souborů> Vloží metadata ze zadaných souborů + definičních sestavení. (Krátký tvar: -l) +-analyzer:<seznam souborů> Spustí analyzátory z tohoto sestavení. + (Krátký tvar: -a) +-additionalfile:<sez.souborů> Další soubory, které přímo neovlivňují generování + kódu, ale analyzátory můžou jejich pomocí + produkovat chyby nebo upozornění. +-embed Vloží všechny zdrojové soubory do PDB. +-embed:<seznam souborů> Vloží konkrétní soubory do PDB. - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + – PROSTŘEDKY – +-win32res:<soubor> Určuje soubor prostředků Win32 (.res). +-win32icon:<soubor> Použije pro výstup zadanou ikonu. +-win32manifest:<soubor> Určuje soubor manifestu Win32 (.xml). +-nowin32manifest Nezahrne výchozí manifest Win32. +-resource:<resinfo> Vloží zadaný prostředek. (Krátký tvar: -res) +-linkresource:<resinfo> Propojí zadaný prostředek s tímto sestavením. + (Krátký tvar: -linkres) Prostředek má formát + <soubor>[,<název řetězce>[,public|private]]. - - CODE GENERATION - --debug[+|-] Emit debugging information + – GENEROVÁNÍ KÓDU – +-debug[+|-] Generuje ladicí informace. -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + Určuje typ ladění (výchozí je možnost full, + portable je formát napříč platformami, + embedded je formát napříč platformami vložený do + cílového souboru .dll nebo .exe). +-optimize[+|-] Povolí optimalizace. (Krátký tvar: -o) +-deterministic Vytvoří deterministické sestavení + (včetně GUID verze modulu a časového razítka). +-refonly Vytvoří referenční sestavení na místě hlavního výstupu. +-instrument:TestCoverage Vytvoří sestavení instrumentované ke shromažďování + informací o pokrytí. +-sourcelink:<soubor> Informace o zdrojovém odkazu vkládané do souboru PDB typu Portable. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + – CHYBY A UPOZORNĚNÍ – +-warnaserror[+|-] Hlásí všechna upozornění jako chyby. +-warnaserror[+|-]:<seznam upozornění> Hlásí zadaná upozornění jako chyby. +-warn:<n> Nastaví úroveň pro upozornění (0–4). (Krátký tvar: -w) +-nowarn:<seznam upozornění> Zakáže zadaná upozornění. +-ruleset:<soubor> Určuje soubor sady pravidel, která zakazuje + specifickou diagnostiku. +-errorlog:<soubor> Určuje soubor pro protokolování veškeré + diagnostiky kompilátoru a analyzátoru. +-reportanalyzer Hlásí další informace analyzátoru, např. + dobu spuštění. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + – JAZYK – +-checked[+|-] Generuje kontroly přetečení. +-unsafe[+|-] Povoluje nezabezpečený kód. +-define:<seznam symbolů> Definuje symboly podmíněné kompilace. (Krátký + tvar: -d) +-langversion:? Zobrazí povolené hodnoty jazykové verze. +-langversion:<řetězec> Určuje jazykovou verzi, například + default (nejnovější hlavní verze), nebo + latest (nejnovější verze včetně podverzí) nebo + konkrétní verze jako 6 nebo 7.1. +-nullable[+|-] Zadejte možnost pro kontext umožňující nastavení hodnoty null: enable|disable. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Zadejte možnost pro kontext umožňující nastavení hodnoty null: enable|disable|safeonly|warnings|safeonlywarnings. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + – ZABEZPEČENÍ – +-delaysign[+|-] Vytvoří zpožděný podpis sestavení s využitím + veřejné části klíče silného názvu. +-publicsign[+|-] Vytvoří veřejný podpis sestavení s využitím jenom veřejné + části klíče silného názvu. +-keyfile:<soubor> Určuje soubor klíče se silným názvem. +-keycontainer:<řetězec> Určuje kontejner klíče se silným názvem. +-highentropyva[+|-] Povolí ASLR s vysokou entropií. - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + – RŮZNÉ – + @<soubor> Načte další možnosti ze souboru odpovědí. +-help Zobrazí tuto zprávu o použití. (Krátký tvar: -?) +-nologo Potlačí zprávu o autorských právech kompilátoru. +-noconfig Nezahrnuje automaticky soubor CSC.RSP. +-parallel[+|-] Souběžné sestavení +-version Zobrazí číslo verze kompilátoru a ukončí se. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + – POKROČILÉ – +-baseaddress:<adresa> Základní adresa pro knihovnu, která se má sestavit +-checksumalgorithm:<alg> Určuje algoritmus pro výpočet kontrolního součtu + zdrojového souboru uloženého v PDB. Podporované hodnoty: + SHA1 nebo SHA256 (výchozí). +-codepage:<n> Určuje znakovou stránku, která se má použít + při otevírání zdrojových souborů. +-utf8output Určuje výstup zpráv kompilátoru v kódování UTF-8. +-main:<typ> Určuje typ obsahující vstupní bod (ignoruje + všechny ostatní potenciální vstupní body). (Krátký + tvar: -m) +-fullpaths Kompilátor generuje úplné cesty. +-filealign:<n> Určuje zarovnání použité pro oddíly výstupního + souboru. -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + Určuje mapování pro výstup zdrojových názvů cest + kompilátorem. +-pdb:<soubor> Určuje název souboru ladicích informací (výchozí: + název výstupního souboru s příponou .pdb). +-errorendlocation Vypíše řádek a sloupec koncového umístění + jednotlivých chyb. +-preferreduilang Určuje název upřednostňovaného výstupního jazyka. +-nosdkpath Zakáže hledání cesty k výchozí sadě SDK pro sestavení standardních knihoven. +-nostdlib[+|-] Neodkazuje na standardní knihovnu (mscorlib.dll). +-subsystemversion:<řetězec> Určuje verzi subsystému tohoto sestavení. +-lib:<seznam souborů> Určuje další adresáře, ve kterých se mají + hledat reference. +-errorreport:<řetězec> Určuje způsob zpracování interních chyb kompilátoru: + prompt, send, queue nebo none. Výchozí možnost + je queue (zařadit do fronty). +-appconfig:<soubor> Určuje konfigurační soubor aplikace, + který obsahuje nastavení vazby sestavení. +-moduleassemblyname:<řetězec> Určuje název sestavení, jehož součástí bude + tento modul. +-modulename:<řetězec> Určuje název zdrojového modulu. Visual C# Compiler Options @@ -699,7 +699,7 @@ name shadowing in nested functions - name shadowing in nested functions + skrývání názvů ve vnořených funkcích @@ -714,7 +714,7 @@ warning action enable or safeonly - warning action enable or safeonly + akce varování enable nebo safeonly @@ -1254,12 +1254,12 @@ Expected nullable - Expected nullable + Byl očekáván typ s možnou hodnotou null. Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + Po #pragma warning safeonly byl očekáván typ s možnou hodnotou null. @@ -5312,7 +5312,7 @@ Blok catch() po bloku catch (System.Exception e) může zachytit výjimky, kter XML comment has a param tag, but there is no parameter by that name - Komentár XML má značku param, ale neexistuje parametr s tímto názvem. + Komentář XML má značku param, ale neexistuje parametr s tímto názvem. @@ -5322,7 +5322,7 @@ Blok catch() po bloku catch (System.Exception e) může zachytit výjimky, kter XML comment has a paramref tag, but there is no parameter by that name - Komentár XML má značku paramref, ale neexistuje parametr s tímto názvem. + Komentář XML má značku paramref, ale neexistuje parametr s tímto názvem. @@ -5647,12 +5647,12 @@ Blok catch() po bloku catch (System.Exception e) může zachytit výjimky, kter Expected disable, restore, enable or safeonly - Očekávala se hodnota disable nebo restore. + Byla očekávána hodnota disable, restore, enable nebo safeonly. Expected disable, restore, enable or safeonly after #pragma warning - Po varování #pragma se očekávala hodnota disable nebo restore. + Po #pragma warning byla očekávána hodnota disable, restore, enable nebo safeonly. @@ -5897,7 +5897,7 @@ Blok catch() po bloku catch (System.Exception e) může zachytit výjimky, kter '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - {0}: Typ použitý v příkazu using musí být implicitně převeditelný na System.IDisposable. + {0}: typ použitý v příkazu using musí být implicitně převoditelný na System.IDisposable nebo implementovat odpovídající metodu Dispose. @@ -6142,7 +6142,7 @@ Blok catch() po bloku catch (System.Exception e) může zachytit výjimky, kter XML comment has a typeparam tag, but there is no type parameter by that name - Komentár XML má značku typeparam, ale neexistuje parametr typu s tímto názvem. + Komentář XML má značku typeparam, ale neexistuje parametr typu s tímto názvem. @@ -6152,7 +6152,7 @@ Blok catch() po bloku catch (System.Exception e) může zachytit výjimky, kter XML comment has a typeparamref tag, but there is no type parameter by that name - Komentár XML má značku typeparamref, ale neexistuje parametr typu s tímto názvem. + Komentář XML má značku typeparamref, ale neexistuje parametr typu s tímto názvem. @@ -8925,7 +8925,7 @@ Pokud chcete odstranit toto varování, můžete místo toho použít /reference Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - Větve tříhodnotového operátoru REF nemůžou odkazovat na proměnné s nekompatibilními obory deklarace. + Větve podmíněného operátoru REF nemůžou odkazovat na proměnné s nekompatibilními obory deklarace. @@ -9505,7 +9505,7 @@ Pokud chcete odstranit toto varování, můžete místo toho použít /reference '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - {0}: typ použitý v asynchronním příkazu using musí být implicitně převeditelný na System.IAsyncDisposable. + {0}: typ použitý v příkazu async using musí být implicitně převoditelný na System.IAsyncDisposable nebo implementovat odpovídající metodu DisposeAsync. diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf index b024643a85974..2b22b603e2112 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + Es ist unzulässig, den Nullable-Verweistyp "{0}?" in einem as-Ausdruck zu verwenden. Verwenden Sie stattdessen den zugrunde liegenden Typ "{0}". @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + Das Feature "{0}" befindet sich zurzeit in der Vorschau und wird *nicht unterstützt*. Um Previewfunktionen zu nutzen, verwenden Sie die Sprachversion "Preview". @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + Ein Unterdrückungsoperator ist in diesem Kontext unzulässig. @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + Es ist unzulässig, den Nullable-Verweistyp "{0}?" in einem is-Ausdruck zu verwenden. Verwenden Sie stattdessen den zugrunde liegenden Typ "{0}". @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + Die Methode "{0}" mit einem Iteratorblock muss "async" lauten, um "{1}" zurückzugeben. @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - "{0}": Der in einer asynchronen using-Anweisung verwendete Typ muss implizit in "System.IAsyncDisposable" konvertiert werden können. Meinten Sie "using" anstelle von "await using"? + "{0}": Der in einer asynchronen using-Anweisung verwendete Typ muss implizit in "System.IAsyncDisposable" konvertiert werden können oder eine geeignete DisposeAsync-Methode implementieren. Meinten Sie "using" anstelle von "await using"? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - "{0}": Der in einer using-Anweisung verwendete Typ muss implizit in "System.IDisposable" konvertiert werden können. Meinten Sie "await using" anstelle von "using"? + "{0}": Der in einer using-Anweisung verwendete Typ muss implizit in "System.IDisposable" konvertiert werden können oder eine geeignete Dispose-Methode implementieren. Meinten Sie "await using" anstelle von "using"? @@ -504,151 +504,151 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Visual C#-Compileroptionen - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - AUSGABEDATEIEN - +-out:< Datei > Gibt den Namen der Ausgabedatei an (Standardeinstellung: Basisname der + Datei mit der Hauptklasse oder der ersten Datei) +-target:exe Erstellt eine ausführbare Konsolendatei (Standardeinstellung) (Kurzform: + -t:exe) +-target:winexe winexe Erstellt eine ausführbare Windows-Datei (Kurzform: + -t:winexe) +-target:library Erstellt eine Bibliothek (Kurzform: -t:library) +-target:module Erstellt ein Modul, das einer anderen Assembly + hinzugefügt werden kann (Kurzform: -t:module) +-target:appcontainerexe Erstellt eine ausführbare App-Containerdatei (Kurzform: + -t:appcontainerexe) +-target:winmdobj Erstellt eine temporäre Windows-Runtime-Zwischendatei, die + von WinMDExp verwendet wird (Kurzform: -t:winmdobj) +-doc:< Datei > Die zu generierende XML-Dokumentationsdatei +-refout:<Datei> Die zu generierende Referenzverweisausgabe +-platform:< Zeichenfolge > Schränkt ein, auf welchen Plattformen dieser Code ausgeführt werden kann: x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred oder + anycpu. Die Standardeinstellung ist "anycpu". - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - EINGABEDATEIEN - +-recurse:< Platzhalter > Schließt alle Dateien im aktuellen Verzeichnis und + in Unterverzeichnissen gemäß Platzhalter- + spezifikationen ein +-reference:<Alias>=<Datei> Verweist auf Metadaten aus der angegebenen Assembly- + datei mithilfe eines angegebenen Alias (Kurzform: -r) +-reference:<Dateiliste> Verweist aus Metadaten der angegebenen Assembly- + dateien (Kurzform: -r) +-addmodule:<Dateiliste> Verknüpft die angegebenen Module in dieser Assembly. +-link:<Dateiliste> Bettet Metadaten der angegebenen Interop- + assemblydateien ein (Kurzform: -l) +-analyzer:< Dateiliste > Führt die Analyse aus dieser Assembly aus. + (Kurzform: -a) +-additionalfile:< Dateiliste > Zusätzliche Dateien, die sich nicht direkt auf die Code- + generierung auswirken, aber von der Analyse zum Erzeugen von + Fehlern oder Warnungen verwendet werden können. +-embed Bettet alle Quelldateien in die PDB-Datei ein. +-embed:<Dateiliste> Bettet bestimmte Dateien in die PDB-Datei ein. - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - RESSOURCEN - +-win32res:<Datei> Gibt eine Win32-Ressourcendatei (RES-Datei) an. +-win32icon:<Datei> Verwendet dieses Symbol für die Ausgabe. +-win32manifest:<Datei> Gibt eine Win32-Manifestdatei (XML-Datei) an. +-nowin32manifest Schließt das Win32-Standardmanifest nicht ein. +-resource:<resinfo> Bettet die angegebene Ressource ein (Kurzform: -res) +-linkresource:<resinfo> Verknüpft die angegebene Ressource mit dieser Assembly + (Kurzform: -linkres). Dabei ist das ResInfo-Format + <Datei>[,<Zeichenfolgenname>[,public|private]] - - CODE GENERATION - --debug[+|-] Emit debugging information + - CODEGENERIERUNG - +-debug[+|-] Gibt Debuginformationen aus -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + Gibt den Debugtyp an ("full" ist der Standardwert, + "portable" ist ein plattformübergreifendes Format, + "embedded" ist ein plattformübergreifendes Format, das in die + Ziel-DLL oder -EXE eingebettet ist). +-optimize[+|-] Aktiviert Optimierungen (Kurzform: -o) +-deterministic Generiert eine deterministische Assembly + (einschließlich Modulversion-GUID und Zeitstempel) +-refonly Erstellt eine Referenzassembly anstelle der Hauptausgabe. +-instrument:TestCoverage Generiert eine Assembly, die für die + Erfassung von Code Coverage-Informationen instrumentiert ist. +-sourcelink:<Datei> Quelllinkinformationen zum Einbetten in portable PDB-Dateien. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - FEHLER UND WARNUNGEN - +-warnaserror[+|-] Meldet alle Warnungen als Fehler. +-warnaserror[+|-]:<Warnungsliste> Meldet bestimmte Warnungen als Fehler. +-warn:<n> Legt die Warnstufe fest (0–4) (Kurzform: -w) +-nowarn:< Warnungsliste > Deaktiviert bestimmte Warnmeldungen. +-ruleset:<Datei> Gibt eine Rulesetdatei an, die bestimmte Diagnosevorgänge + deaktiviert. +-errorlog:<Datei> Gibt eine Datei zur Protokollierung aller Diagnosevorgänge von Compiler und + Analyzer an. +-reportanalyzer Berichtet zusätzliche Analyseinformationen wie etwa die + Ausführungszeit. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + - SPRACHE - +-checked[+|-] Generiert Überlaufüberprüfungen +-unsafe[+|-] Lässt "unsicheren" Code zu. +-define:<Symbolliste> Definiert bedingte Kompilationssymbole (Kurz- + form: -d) +-langversion:? Zeigt die zulässigen Werte für die Sprachversion an. +-langversion:<Zeichenfolge> Gibt die Sprachversion an: + "default" (neueste Hauptversion) oder + "latest" (neueste Version, einschließlich Nebenversionen) + oder bestimmte Versionen wie "6" oder "7.1". +-nullable[+|-] Geben Sie die Kontextoption für die NULL-Zulässigkeit an: enable|disable. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Geben Sie die Kontextoption für die NULL-Zulässigkeit an: enable|disable|safeonly|warnings|safeonlywarnings. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - SICHERHEIT - +-delaysign[+|-] Signiert die Assembly verzögert nur mit dem öffentlichen + Teil des starken Namensschlüssels. +-publicsign[+|-] Signiert die Assembly öffentlich nur mit dem öffentlichen + Teil des starken Namensschlüssels. +-keyfile:<Datei> Gibt eine Datei für den starken Namensschlüssel an. +-keycontainer:<Zeichenfolge> Gibt einen Container für den starken Namensschlüssel an. +-highentropyva[+|-] Aktiviert ASLR mit hoher Entropie. - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - VERSCHIEDENES - +@<Datei> Weitere Optionen finden Sie in der Antwortdatei. +-help Zeigt diese Syntaxmeldung an (Kurzform: -?) +-nologo Unterdrückt die Copyrightmeldung des Compilers. +-noconfig Schließt die CSC.RSP-Datei nicht automatisch ein. +-parallel[+|-] Gleichzeitige Erstellung. +-version Zeigt die Compilerversionsnummer und die Beendigung an. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + - ERWEITERT - +-baseaddress:<Adresse> Die Basisadresse für die zu erstellende Bibliothek. +-checksumalgorithm:<alg> Gibt einen Algorithmus für das Berechnen der Quelldatei- + prüfsumme an, die in der PDB-Datei gespeichert ist. Unterstützte Werte sind: + SHA1 oder SHA256 (Standard). +-codepage:<n> Gibt die beim Öffnen von Quelldateien zu verwendende + Codepage an. +-utf8output Ausgabecompilermeldungen in UTF-8-Codierung +-main:<Typ> Gibt den Typ an, der den Einstiegspunkt enthält + (alle anderen möglichen Einstiegspunkte werden ignoriert) (Kurz- + form: -m) +-fullpaths Der Compiler generiert vollqualifizierte Pfade. +-filealign:<n> Gibt die Ausrichtung an, die für Ausgabedateiabschnitte + verwendet werden soll. -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + Gibt eine Zuordnung für die Quellpfadnamen an, die vom + Compiler ausgegeben werden. +-pdb:<Datei> Gibt den Namen der Debuginformationsdatei an (Standard: + Ausgabedateiname mit der Erweiterung .pdb) +-errorendlocation Die Ausgabezeile und -spalte des Endpunkts + jedes Fehlers +-preferreduilang Gibt den bevorzugten Namen der Ausgabesprache an. +-nosdkpath Deaktivieren Sie das Durchsuchen des Standard-SDK-Pfads für Standardbibliotheksassemblys. +-nostdlib[+|-] Nicht auf Standardbibliothek (mscorlib.dll) verweisen +-subsystemversion:<Zeichenfolge> Verweist nicht auf die Standardbibliothek +-lib:<Dateiliste> Gibt zusätzliche Verzeichnisse an, in denen nach Verweisen + gesucht werden soll. +-errorreport:<Zeichenfolge> Gibt die Verarbeitung interner Compilerfehler an: + "prompt", "send", "queue" oder "none". Der Standardwert ist + "queue". +-appconfig:<Datei> Gibt eine Anwendungskonfigurationsdatei + mit Assemblybindungseinstellungen an. +-moduleassemblyname:<Zeichenfolge> Der Name der Assembly, zu der dieses Modul + gehören wird . +-modulename:<Zeichenfolge> Gibt den Quellmodulnamen an. Visual C# Compiler Options @@ -699,7 +699,7 @@ name shadowing in nested functions - name shadowing in nested functions + Namensshadowing in geschachtelten Funktionen @@ -714,7 +714,7 @@ warning action enable or safeonly - warning action enable or safeonly + Warnaktion: "enable" oder "safeonly" @@ -819,12 +819,12 @@ Include tag is invalid - Ungültige Include-Kennung + Ungültiges Include-Tag No matching elements were found for the following include tag - Für folgende Include-Kennung wurden keine übereinstimmenden Elemente gefunden. + Für folgendes Include-Tag wurden keine übereinstimmenden Elemente gefunden. @@ -1254,12 +1254,12 @@ Expected nullable - Expected nullable + Nullable erwartet Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + Nach "#pragma warning safeonly" Nullable erwartet @@ -1619,7 +1619,7 @@ Expected '>' or '/>' to close tag '{0}'. - ">" oder "/>" zum Schließen der Kennung "{0}" wurde erwartet. + ">" oder "/>" zum Schließen des Tags "{0}" wurde erwartet. @@ -1669,17 +1669,17 @@ End tag was not expected at this location. - An dieser Stelle wurde keine Endkennung erwartet. + An dieser Stelle wurde kein Endtag erwartet. End tag '{0}' does not match the start tag '{1}'. - Die Endkennung "{0}" stimmt nicht mit der Startkennung "{1}" überein. + Das Endtag "{0}" stimmt nicht mit dem Starttag "{1}" überein. Expected an end tag for element '{0}'. - Eine Endkennung für Element "{0}" wurde erwartet. + Ein Endtag für Element "{0}" wurde erwartet. @@ -5297,42 +5297,42 @@ Ein catch()-Block nach einem catch (System.Exception e)-Block kann nicht-CLS-Aus XML comment has a duplicate param tag for '{0}' - Der XML-Kommentar enthält eine doppelte param-Kennung für "{0}". + Der XML-Kommentar enthält ein doppeltes param-Tag für "{0}". XML comment has a duplicate param tag - XML-Kommentar enthält eine doppelte param-Kennung + XML-Kommentar enthält ein doppeltes param-Tag XML comment has a param tag for '{0}', but there is no parameter by that name - Der XML-Kommentar weist eine param-Kennung für "{0}" auf, es gibt aber keinen Parameter mit dem Namen. + Der XML-Kommentar weist ein param-Tag für "{0}" auf, es gibt aber keinen Parameter mit dem Namen. XML comment has a param tag, but there is no parameter by that name - XML-Kommentar besitzt eine param-Kennung, es gibt jedoch keinen Parameter mit diesem Namen + XML-Kommentar besitzt ein param-Tag, es gibt jedoch keinen Parameter mit diesem Namen XML comment on '{1}' has a paramref tag for '{0}', but there is no parameter by that name - Der XML-Kommentar für "{1}" weist eine paramref-Kennung für "{0}" auf, es gibt aber keinen Parameter mit dem Namen. + Der XML-Kommentar für "{1}" weist ein paramref-Tag für "{0}" auf, es gibt aber keinen Parameter mit dem Namen. XML comment has a paramref tag, but there is no parameter by that name - XML-Kommentar besitzt eine paramref-Kennung, es gibt jedoch keinen Parameter mit diesem Namen + XML-Kommentar besitzt ein paramref-Tag, es gibt jedoch keinen Parameter mit diesem Namen Parameter '{0}' has no matching param tag in the XML comment for '{1}' (but other parameters do) - Der {0}-Parameter hat (im Gegensatz zu anderen Parametern) keine entsprechende param-Kennung im XML-Kommentar für "{1}". + Der {0}-Parameter hat (im Gegensatz zu anderen Parametern) kein entsprechendes param-Tag im XML-Kommentar für "{1}". Parameter has no matching param tag in the XML comment (but other parameters do) - Parameter besitzt keine übereinstimmende param-Kennung im XML-Kommentar (andere Parameter jedoch schon) + Parameter besitzt kein übereinstimmendes param-Tag im XML-Kommentar (andere Parameter jedoch schon) @@ -5647,12 +5647,12 @@ Ein catch()-Block nach einem catch (System.Exception e)-Block kann nicht-CLS-Aus Expected disable, restore, enable or safeonly - "disable" oder "restore" erwartet. + "disable", "restore", "enable" oder "safeonly" erwartet Expected disable, restore, enable or safeonly after #pragma warning - "disable" oder " restore" erwartet nach der #pragma-Warnung + Nach "#pragma warning" wurde "disable", "restore", "enable" oder "safeonly" erwartet @@ -5897,7 +5897,7 @@ Ein catch()-Block nach einem catch (System.Exception e)-Block kann nicht-CLS-Aus '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - "{0}": Der in einer using-Anweisung verwendete Typ muss implizit in "System.IDisposable" konvertierbar sein. + "{0}": Der in einer using-Anweisung verwendete Typ muss implizit in "System.IDisposable" konvertiert werden können oder eine geeignete Dispose-Methode implementieren. @@ -6127,42 +6127,42 @@ Ein catch()-Block nach einem catch (System.Exception e)-Block kann nicht-CLS-Aus XML comment has a duplicate typeparam tag for '{0}' - Der XML-Kommentar enthält eine doppelte typeparam-Kennung für "{0}". + Der XML-Kommentar enthält ein doppeltes typeparam-Tag für "{0}". XML comment has a duplicate typeparam tag - XML-Kommentar enthält eine doppelte typeparam-Kennung + XML-Kommentar enthält ein doppeltes typeparam-Tag XML comment has a typeparam tag for '{0}', but there is no type parameter by that name - Der XML-Kommentar weist eine typeparam-Kennung für "{0}" auf, es gibt aber keinen Typparameter mit dem Namen. + Der XML-Kommentar weist ein typeparam-Tag für "{0}" auf, es gibt aber keinen Typparameter mit dem Namen. XML comment has a typeparam tag, but there is no type parameter by that name - XML-Kommentar besitzt eine typeparam-Kennung, es gibt jedoch keinen Typparameter mit diesem Namen + XML-Kommentar besitzt ein typeparam-Tag, es gibt jedoch keinen Typparameter mit diesem Namen XML comment on '{1}' has a typeparamref tag for '{0}', but there is no type parameter by that name - Der XML-Kommentar für "{1}" weist eine typeparamref-Kennung für "{0}" auf, es gibt aber keinen Typparameter mit dem Namen. + Der XML-Kommentar für "{1}" weist ein typeparamref-Tag für "{0}" auf, es gibt aber keinen Typparameter mit dem Namen. XML comment has a typeparamref tag, but there is no type parameter by that name - XML-Kommentar besitzt eine typeparamref-Kennung, es gibt jedoch keinen Typparameter mit diesem Namen + XML-Kommentar besitzt ein typeparamref-Tag, es gibt jedoch keinen Typparameter mit diesem Namen Type parameter '{0}' has no matching typeparam tag in the XML comment on '{1}' (but other type parameters do) - Der {0}-Typparameter hat (im Gegensatz zu anderen Typparametern) keine entsprechende typeparam-Kennung im XML-Kommentar für "{1}". + Der {0}-Typparameter hat (im Gegensatz zu anderen Typparametern) kein entsprechendes typeparam-Tag im XML-Kommentar für "{1}". Type parameter has no matching typeparam tag in the XML comment (but other type parameters do) - Typparameter besitzt keine übereinstimmende typeparam-Kennung im XML-Kommentar (andere type-Parameter jedoch schon) + Typparameter besitzt kein übereinstimmendes typeparam-Tag im XML-Kommentar (andere type-Parameter jedoch schon) @@ -8925,7 +8925,7 @@ Um die Warnung zu beheben, können Sie stattdessen /reference verwenden (Einbett Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - Branches eines ternären ref-Operators können nicht auf Variablen mit inkompatiblen Deklarationsbereichen verweisen. + Branches eines bedingten ref-Operators können nicht auf Variablen mit inkompatiblen Deklarationsbereichen verweisen. @@ -9505,7 +9505,7 @@ Um die Warnung zu beheben, können Sie stattdessen /reference verwenden (Einbett '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - "{0}": Der in einer asynchronen using-Anweisung verwendete Typ muss implizit in "System.IAsyncDisposable" konvertiert werden können. + "{0}": Der in einer asynchronen using-Anweisung verwendete Typ muss implizit in "System.IAsyncDisposable" konvertiert werden können oder eine geeignete DisposeAsync-Methode implementieren. diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf index 7f8d786d27558..a607b075c6cbf 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + No se puede usar el tipo "{0}?" que acepta valores NULL en una expresión as; use en su lugar el tipo "{0}" subyacente. @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + La característica "{0}" se encuentra actualmente en vista previa y *no se admite*. Para usar características en vista previa, utilice la versión de idioma "vista previa". @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + No se permite el operador de supresión en este contexto. @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + No se puede usar el tipo "{0}?" que acepta valores NULL en una expresión is-type; use en su lugar el tipo "{0}" subyacente. @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + El método "{0}" con un bloqueo de iterador debe ser "asincrónico" para devolver "{1}" @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - “{0}”: el tipo usado en una instrucción using asincrónica debe poder convertirse de forma implícita en “System.IAsyncDisposable”. ¿Quiso decir “using” en lugar de “await using”? + "{0}": el tipo usado en una instrucción using asincrónica debe poder convertirse de forma implícita en "System.IAsyncDisposable" o implemente un método "DisposeAsync" adecuado. ¿Quiso decir "using" en lugar de "await using"? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - “{0}”: el tipo usado en una instrucción using debe poder convertirse de forma implícita en “System.IDisposable”. ¿Quiso decir “await using” en lugar de “using”? + "{0}": el tipo usado en una instrucción using debe poder convertirse de forma implícita en "System.IDisposable" o implemente un método "Dispose" adecuado. ¿Quiso decir "await using" en lugar de "using"? @@ -504,151 +504,153 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Opciones del compilador de Visual C# - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - ARCHIVOS DE SALIDA - +-out:<archivo> Especificar el nombre del archivo de salida (predeterminado: nombre base del archivo + con clase principal o primer archivo) +-target:exe Compilar un archivo ejecutable de consola (predeterminado) (forma + corta: -t:exe) +-target:winexe Compilar un archivo ejecutable de Windows (forma corta: + -t:winexe) +-target:library Compilar una biblioteca (forma corta: -t:library) +-target:module Compilar un módulo que se puede agregar a otro + ensamblado (forma corta: -t:module) +-target:appcontainerexe Compilar un archivo ejecutable Appcontainer (forma corta: + -t:appcontainerexe) +-target:winmdobj Compilar un archivo intermedio de Windows Runtime que + WinMDExp consume (forma corta: -t:winmdobj) +-doc:<archivo> Archivo de documentación XML para generar +-refout:<archivo> Salida del ensamblado de referencia para generar +-platform:<cadena> Limitar en qué plataformas se puede ejecutar este código: x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred o + anycpu. El valor predeterminado es anycpu. - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - ARCHIVOS DE ENTRADA - +-recurse:<carácter comodín> Incluir todos los archivos en el directorio y los + subdirectorios actuales según las especificaciones del + carácter comodín +-reference:<alias>=<archivo> Metadatos de referencia del archivo de ensamblado + especificado mediante el alias dado (forma corta: -r) +-reference:<lista de archivos > Metadatos de referencia de los archivos de ensamblado + especificados (forma corta: -r) +-addmodule:<lista de archivos > Vincular los módulos especificados en este ensamblado +-link:<lista de archivos > Insertar metadatos de los archivos de ensamblado de + interoperabilidad especificados (forma corta: -l) +-analyzer:<lista de archivos> Ejecutar los analizadores de este ensamblado + (forma corta: -a) +-additionalfile:<lista de archivos> Archivos adicionales que no afectan directamente a la + generación de código, pero que pueden usar los analizadores para producir + errores o advertencias. +-embed Insertar todos los archivos de origen en el PDB. +-embed:<lista de archivos > Insertar archivos específicos en el PDB - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - RECURSOS - +-win32res:<archivo> Especificar un archivo de recursos Win32 (.res) +-win32icon:<archivo> Usar este icono para la salida +-win32manifest:<archivo> Especificar un archivo de manifiesto Win32 (.xml) +-nowin32manifest No incluir el manifiesto Win32 predeterminado +-resource:<info recurso> Insertar el recurso especificado (forma corta: -res) +-linkresource:<info recurso> Vincular el recurso especificado a este ensamblado + (forma corta: -linkres), donde el formato de la información del recurso + es <archivo>[,<nombre de cadena >[,public|private]] - - CODE GENERATION - --debug[+|-] Emit debugging information + - GENERACIÓN DE CÓDIGO - +-debug[+|-] Emitir información de depuración -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + Especificar tipo de depuración (“full” es el valor predeterminado, + “portable” es un formato multiplataforma, + “embedded” es un formato multiplataforma insertado en + el archivo.dll o .exe de destino) +-optimize[+|-] Habilitar optimizaciones (forma corta: -o) +-deterministic Producir un ensamblado determinista + (que incluya el GUID y la marca de tiempo de la versión del módulo) +-refonly Producir un ensamblado de referencia en lugar de la salida principal +-instrument:TestCoverage Producir un ensamblado instrumentado para recopilar + información de cobertura +-sourcelink:<archivo> Información del vínculo de origen para insertar en el PDB. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - ERRORES Y ADVERTENCIAS - +-warnaserror[+|-] Notificar todas las advertencias como errores +-warnaserror[+|-]:<lista de advertencias > Notificar advertencias específicas como errores +-warn:<n> Establecer nivel de advertencia (de 0 a 4) (forma corta: -w) +-nowarn:<lista de advertencias > Deshabilitar mensajes de advertencia específicos +-ruleset:<archivo> Especificar un archivo de conjunto de reglas que deshabilite + diagnósticos específicos. +-errorlog:<archivo> Especificar un archivo para registrar todos los diagnósticos del compilador y del + analizador. +-reportanalyzer Notificar información adicional del analizador, como el + tiempo de ejecución. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + - LENGUAJE - +-checked[+|-] Generar comprobaciones de desbordamiento +-unsafe[+|-] Permitir código “no seguro” +-define:<lista de símbolos > Definir símbolos de compilación condicional (forma + corta: -d) +-langversion:? Mostrar los valores permitidos para la versión del lenguaje +-langversion:<cadena> Especificar la versión del lenguaje como + “predeterminada” (versión principal más reciente) o + “última” (última versión, incluidas las versiones secundarias) + o versiones específicas como la “6” o “7.1” +-nullable[+|-] Especifica la opción de contexto que acepta valores NULL: enable|disable. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Especifica la opción de contexto que acepta valores NULL: enable|disable|safeonly|warnings|safeonlywarnings. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - SEGURIDAD - +-delaysign[+|-] Retrasar firma del ensamblado usando solo la parte pública + de la clave de nombre seguro +-publicsign[+|-] Publicar firma del ensamblado usando solo la parte pública + de la clave de nombre seguro +-keyfile:<archivo> Especificar un archivo de clave de nombre seguro +-keycontainer:<cadena> Especificar un contenedor de claves de nombres seguros +-highentropyva[+|-] Habilitar ASLR de alta entropía - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - VARIOS - + @<archivo> Leer archivo de respuesta para ver más opciones +-help Mostrar este mensaje de uso (forma corta: -?) +-nologo Suprimir mensaje de copyright del compilador +-noconfig No incluir automáticamente el archivo CSC.RSP +-parallel[+|-] Compilación simultánea. +-version Mostrar el número de versión del compilador y salir. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + - AVANZADO - +-baseaddress:<dirección> Dirección base de la biblioteca que se compilará +-checksumalgorithm:<algoritmo> Especificar el algoritmo para calcular la suma de comprobación + del archivo de origen que se almacena en PDB. Los valores admitidos son: + SHA1 o SHA256 (predeterminado). +-codepage:<n> Especificar la página de código que se usará al abrir los archivos de + código fuente +-utf8output Mensajes de compilador de salida en codificación UTF-8 +-main:<tipo> Especificar el tipo que contiene el punto de entrada + (ignorar todos los demás puntos de entrada posibles) (forma + corta: -m) + +-fullpaths El compilador genera rutas de acceso completas +-filealign:<n> Especificar la alineación usada para las secciones del + archivo de salida -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + Especificar una asignación para los nombres de rutas de acceso de origen + emitidos por el compilador. +-pdb:<archivo> Especificar nombre de archivo de información de depuración (valor predeterminado: + nombre del archivo de salida con la extensión .pdb) +-errorendlocation Línea y columna de salida de la ubicación final de + cada error +-preferreduilang Especificar el nombre del lenguaje de salida preferido. +-nosdkpath Deshabilite la búsqueda de la ruta de acceso del SDK predeterminado para ensamblados + de biblioteca estándar. +-nostdlib[+|-] No hacer referencia a la biblioteca estándar (mscorlib.dll) +-subsystemversion:<cadena> Especificar versión del subsistema de este ensamblado +-lib:<lista de archivos> Especificar directorios adicionales en los que buscar + referencias +-errorreport:<cadena> Especificar cómo tratar los errores internos del compilador: + avisar, enviar, poner en cola o ninguno. El valor predeterminado es + poner en cola. +-appconfig:<archivo> Especificar un archivo de configuración de aplicación + que contenga opciones de enlace de ensamblado +-moduleassemblyname:<cadena> Nombre del ensamblado del que este módulo + formará parte +-modulename:<cadena> Especificar el nombre del módulo de origen Visual C# Compiler Options @@ -699,7 +701,7 @@ name shadowing in nested functions - name shadowing in nested functions + sombreado de nombres en funciones anidadas @@ -714,7 +716,7 @@ warning action enable or safeonly - warning action enable or safeonly + acción de advertencia "enable" o "safeonly" @@ -1254,12 +1256,12 @@ Expected nullable - Expected nullable + Tipo que acepta valores NULL esperado Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + Tipo que acepta valores NULL esperado después de advertencia de #pragma "safeonly" @@ -1284,7 +1286,7 @@ Cannot convert null literal to non-nullable reference type. - No se puede convertir un literal nulo en un parámetro de tipo de referencia que no acepta valores NULL o un parámetro de tipo sin restricciones. + No se puede convertir un literal nulo en un parámetro de tipo de referencia que no acepta valores NULL o un parámetro de tipo sin restricciones @@ -5647,12 +5649,12 @@ Un bloque catch() después de un bloque catch (System.Exception e) puede abarcar Expected disable, restore, enable or safeonly - Se esperaba disable o restore + Se esperaba "disable", "restore", "enable" o "safeonly" Expected disable, restore, enable or safeonly after #pragma warning - Deshabilitación o recuperación después de la advertencia de #pragma esperada + Se esperaba "disable", "restore", "enable" o "safeonly" después de la advertencia de #pragma @@ -5897,7 +5899,7 @@ Un bloque catch() después de un bloque catch (System.Exception e) puede abarcar '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - "{0}": el tipo que se usa en una instrucción using debe poder convertirse en "System.IDisposable" de forma implícita. + "{0}": el tipo usado en una instrucción using debe poder convertirse de forma implícita en "System.IDisposable" o implemente un método "Dispose" adecuado. @@ -8925,7 +8927,7 @@ Para eliminar la advertencia puede usar /reference (establezca la propiedad Embe Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - Las ramas de un operador ternario ref no pueden hacer referencia a variables con ámbitos de declaración incompatibles. + Las ramas de un operador condicional ref no pueden hacer referencia a variables con ámbitos de declaración incompatibles. @@ -9505,7 +9507,7 @@ Para eliminar la advertencia puede usar /reference (establezca la propiedad Embe '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - "{0}": el tipo usado en una instrucción using asincrónica debe poderse convertir de forma implícita en "System.IAsyncDisposable". + "{0}": el tipo usado en una instrucción using debe poder convertirse de forma implícita en "System.IAsyncDisposable" o implemente un método "DisposeAsync" adecuado. diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf index f52acbe8febb6..9b17884810976 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + Il n'est pas correct d'utiliser le type de référence Nullable '{0}?' dans une expression as. Utilisez le type sous-jacent '{0}' à la place. @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + La fonctionnalité '{0}' est actuellement en préversion et *n'est pas prise en charge*. Pour utiliser les fonctionnalités en préversion, utilisez la version de langage 'preview'. @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + L'opérateur de suppression n'est pas autorisé dans ce contexte @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + Il n'est pas correct d'utiliser le type de référence Nullable '{0}?' dans une expression is-type. Utilisez le type sous-jacent '{0}' à la place. @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + La méthode '{0}' avec un bloc itérateur doit être 'async' pour retourner '{1}' @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - '{0}' : le type utilisé dans une instruction using asynchrone doit être implicitement convertible en 'System.IAsyncDisposable'. Vouliez-vous dire 'using' plutôt que 'await using' ? + '{0}' : le type utilisé dans une instruction using asynchrone doit être implicitement convertible en 'System.IAsyncDisposable' ou implémenter une méthode 'DisposeAsync' appropriée. Vouliez-vous dire 'using' plutôt que 'await using' ? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - '{0}' : le type utilisé dans une instruction using doit être implicitement convertible en 'System.Disposable'. Vouliez-vous dire 'await using' plutôt que 'using' ? + '{0}' : le type utilisé dans une instruction using doit être implicitement convertible en 'System.IDisposable' ou implémenter une méthode 'Dispose' appropriée. Vouliez-vous dire 'await using' plutôt que 'using' ? @@ -504,151 +504,152 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Options du compilateur Visual C# - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - FICHIERS DE SORTIE - +-out:<fichier> Spécifier un nom de fichier de sortie (par défaut : nom de base du + fichier avec classe principale ou premier fichier) +-target:exe Générer un fichier exécutable console (par défaut) (forme + abrégée : -t:exe) +-target:winexe Générer un fichier exécutable Windows (forme abrégée : + -t:winexe) +-target:library Générer une bibliothèque (forme abrégée : -t:library) +-target:module Générer un module qui peut être ajouté à un autre + assembly (forme abrégée : -t:module) +-target:appcontainerexe Générer un exécutable Appcontainer (forme abrégée : + -t:appcontainerexe) +-target:winmdobj Générer un fichier intermédiaire Windows Runtime + consommé par WinMDExp (forme abrégée : -t:winmdobj) +-doc:<fichier> Fichier de documentation XML à générer +-refout:<fichier> Référencer la sortie d'assembly à générer +-platform:<chaîne> Limiter les plateformes sur lesquelles ce code peut s'exécuter : x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred ou + anycpu. La valeur par défaut est anycpu. - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - FICHIERS D'ENTRÉE - +-recurse:<générique> Inclure tous les fichiers dans le répertoire et + les sous-répertoires actifs en fonction des + spécifications de caractères génériques +-reference:<alias>=<fichier> Référencer les métadonnées à partir du + fichier d'assembly spécifié via l'alias indiqué (forme abrégée : -r) +-reference:<liste_fichiers> Référencer les métadonnées à partir + des fichiers d'assembly spécifiés (forme abrégée : -r) +-addmodule:<liste_fichiers> Lier les modules spécifiés dans cet assembly +-link:<liste_fichiers> Incorporer les métadonnées à partir des + fichiers d'assembly d'interopérabilité spécifiés (forme abrégée : -l) +-analyzer:<liste_fichiers> Exécuter les analyseurs à partir de cet assembly + (Forme abrégée : -a) +-additionalfile:<liste_fich.> Fichiers supplémentaires qui n'affectent pas directement + la génération de code mais qui peuvent être utilisés par les analyseurs pour produire + des erreurs ou des avertissements. +-embed Incorporer tous les fichiers sources dans le fichier PDB. +-embed:<liste_fichiers> Incorporer des fichiers spécifiques dans le fichier PDB - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - RESSOURCES - +-win32res:<fichier> Spécifier un fichier de ressources Win32 (.res) +-win32icon:<fichier> Utiliser cette icône pour la sortie +-win32manifest:<fichier> Spécifier un fichier manifeste (.xml) Win32 +-nowin32manifest Ne pas inclure le manifeste Win32 par défaut +-resource:<resinfo> Incorporer la ressource spécifiée (forme abrégée : -res) +-linkresource:<resinfo> Lier la ressource spécifiée à cet assembly + (forme abrégée : -linkres), où le format resinfo + est <fichier>[,<nom_chaîne>[,public|private]] - - CODE GENERATION - --debug[+|-] Emit debugging information + - GÉNÉRATION DE CODE - +-debug[+|-] Émettre des informations de débogage -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + Spécifier le type de débogage ('full' est la valeur par défaut, + 'portable' est un format multiplateforme, + 'embedded' est un format multiplateforme incorporé dans + le fichier .dll ou .exe cible) +-optimize[+|-] Activer les optimisations (forme abrégée : -o) +-deterministic Produire un assembly déterministe + (en incluant le GUID et l'horodatage de la version du module) +-refonly Produire un assembly de référence à la place de la sortie principale +-instrument:TestCoverage Produire un assembly instrumenté pour collecter + les informations de couverture +-sourcelink:<fichier> Informations du lien source à incorporer dans le fichier PDB. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - ERREURS ET AVERTISSEMENTS - +-warnaserror[+|-] Signaler tous les avertissements comme des erreurs +-warnaserror[+|-]:<avertiss.> Signaler des avertissements spécifiques comme des erreurs +-warn:<n> Définir le niveau d'avertissement (0-4) (forme abrégée : -w) +-nowarn:<liste avertiss.> Désactiver des messages d'avertissement spécifiques +-ruleset:<fichier> Spécifier un fichier ruleset qui désactive des + diagnostics spécifiques. +-errorlog:<fichier> Spécifier un fichier pour journaliser tous les diagnostics du compilateur + et de l'analyseur. +-reportanalyzer Signaler des informations supplémentaires sur l'analyseur, comme + la durée d'exécution. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + - LANGAGE - +-checked[+|-] Générer des contrôles de dépassement de capacité +-unsafe[+|-] Autoriser du code 'unsafe' +-define:<liste_symboles> Définir les symboles de compilation conditionnelle (forme + abrégée : -d) +-langversion:? Afficher les valeurs autorisées pour la version du langage +-langversion:<chaîne> Spécifier la version du langage, par exemple + 'default' (dernière version principale) ou + 'latest' (dernière version, en incluant les versions mineures), + ou des versions spécifiques comme '6' ou '7.1' +-nullable[+|-] Spécifiez l'option de contexte pouvant accepter la valeur Null enable|disable. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Spécifiez l'option de contexte pouvant accepter la valeur Null enable|disable|safeonly|warnings|safeonlywarnings. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - SÉCURITÉ - +-delaysign[+|-] Différer la signature de l'assembly en utilisant uniquement + la partie publique de la clé de nom fort +-publicsign[+|-] Signer publiquement l'assembly en utilisant uniquement + la partie publique de la clé de nom fort +-keyfile:<fichier> Spécifier un fichier de clé de nom fort +-keycontainer:<chaîne> Spécifier un conteneur de clé de nom fort +-highentropyva[+|-] Activer la randomisation du format d'espace d'adresse d'entropie élevée - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - DIVERS - + @<fichier> Lire le fichier réponse pour plus d'options +-help Afficher ce message d'utilisation (forme abrégée : -?) +-nologo Supprimer le message de copyright du compilateur +-noconfig Ne pas inclure automatiquement un fichier CSC.RSP +-parallel[+|-] Build simultanée. +-version Afficher le numéro de version du compilateur et quitter le processus. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + - AVANCÉ - +-baseaddress:<adresse> Adresse de base de la bibliothèque à générer +-checksumalgorithm:<alg> Spécifier l'algorithme de calcul de la somme de contrôle + de fichier source stockée dans le fichier PDB. Valeurs prises en charge : + SHA1 ou SHA256 (par défaut). +-codepage:<n> Spécifier la page de codes à utiliser à l'ouverture + des fichiers sources +-utf8output Messages du compilateur de sortie encodés en UTF-8 +-main:<type> Spécifier le type qui contient le point d'entrée + (ignorer tous les autres points d'entrée possibles) (forme + abrégée : -m) +-fullpaths Le compilateur génère des chemins qualifiés complets +-filealign:<n> Spécifier l'alignement utilisé pour les + sections du fichier de sortie -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + Spécifier un mappage pour les noms de chemins sources sortis par + le compilateur. +-pdb:<fichier> Spécifier le nom du fichier des informations de débogage (par défaut : + nom du fichier de sortie avec l'extension .pdb) +-errorendlocation Ligne et colonne de sortie de l'emplacement final de + chaque erreur +-preferreduilang Spécifier le nom du langage de sortie préféré. +-nosdkpath Désactiver la recherche dans le chemin du SDK par défaut pour trouver + des assemblys de bibliothèques standard. +-nostdlib[+|-] Ne pas référencer la bibliothèque standard (mscorlib.dll) +-subsystemversion:<chaîne> Spécifier la version du sous-système de cet assembly +-lib:<liste_fichiers> Spécifier des répertoires supplémentaires dans lesquels rechercher les + références +-errorreport:<chaîne> Spécifier comment prendre en charge les erreurs internes du compilateur : + prompt, send, queue ou none. La valeur par défaut est + queue. +-appconfig:<fichier> Spécifier un fichier de configuration de l'application + contenant des paramètres de liaison d'assembly +-moduleassemblyname:<chaîne> Nom de l'assembly dont ce module + doit faire partie +-modulename:<chaîne> Spécifier le nom du module source Visual C# Compiler Options @@ -699,7 +700,7 @@ name shadowing in nested functions - name shadowing in nested functions + ombrage des noms dans les fonctions imbriquées @@ -714,7 +715,7 @@ warning action enable or safeonly - warning action enable or safeonly + action d'avertissement enable ou safeonly @@ -1254,12 +1255,12 @@ Expected nullable - Expected nullable + Nullable attendu Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + Nullable attendu après un avertissement #pragma safeonly @@ -5647,12 +5648,12 @@ Un bloc catch() après un bloc catch (System.Exception e) peut intercepter des e Expected disable, restore, enable or safeonly - Disable ou restore attendu + Disable, restore, enable ou safeonly attendu Expected disable, restore, enable or safeonly after #pragma warning - Disable ou restore attendu après l'avertissement #pragma + Disable, restore, enable ou safeonly attendu après un avertissement #pragma @@ -5897,7 +5898,7 @@ Un bloc catch() après un bloc catch (System.Exception e) peut intercepter des e '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - '{0}' : le type utilisé dans une instruction using doit être implicitement convertible en 'System.IDisposable'. + '{0}' : le type utilisé dans une instruction using doit être implicitement convertible en 'System.IDisposable' ou implémenter une méthode 'Dispose' appropriée. @@ -8925,7 +8926,7 @@ Pour supprimer l'avertissement, vous pouvez utiliser la commande /reference (dé Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - Les branches d'un opérateur ternaire ref ne peuvent pas faire référence à des variables ayant des portées de déclaration incompatibles + Les branches d'un opérateur conditionnel ref ne peuvent pas faire référence à des variables ayant des étendues de déclaration incompatibles @@ -9505,7 +9506,7 @@ Pour supprimer l'avertissement, vous pouvez utiliser la commande /reference (dé '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - '{0}' : le type utilisé dans une instruction using asynchrone doit être implicitement convertible en 'System.IAsyncDisposable' + '{0}' : le type utilisé dans une instruction using asynchrone doit être implicitement convertible en 'System.IAsyncDisposable' ou implémenter une méthode 'DisposeAsync' appropriée. diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf index efc25958fba07..8f8a0a68c65a5 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + Non è consentito usare il tipo riferimento nullable '{0}?' in un'espressione as. Usare il tipo sottostante '{0}'. @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + La funzionalità '{0}' è attualmente disponibile in anteprima e *non è supportata*. Per usare funzionalità in anteprima, scegliere la versione del linguaggio 'preview'. @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + L'operatore di eliminazione non è consentito in questo contesto @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + Non è consentito usare il tipo riferimento nullable '{0}?' in un'espressione is-type. Usare il tipo sottostante '{0}'. @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + Il metodo '{0}' con un blocco iteratore deve essere 'async' per restituire '{1}' @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - '{0}': il tipo usato in un'istruzione using asincrona deve essere convertibile in modo implicito in 'System.IAsyncDisposable'. Si intendeva 'using' invece di 'await using'? + '{0}': il tipo usato in un'istruzione using asincrona deve essere convertibile in modo implicito in 'System.IAsyncDisposable' o implementare un metodo 'DisposeAsync' adatto. Si intendeva 'using' invece di 'await using'? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - '{0}': il tipo usato in un'istruzione using deve essere convertibile in modo implicito in 'System.IDisposable'. Si intendeva 'await using' invece di 'using'? + '{0}': il tipo usato in un'istruzione using deve essere convertibile in modo implicito in 'System.IDisposable' o implementare un metodo 'Dispose' adatto. Si intendeva 'await using' invece di 'using'? @@ -504,151 +504,151 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Opzioni del compilatore Visual C# - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - FILE DI OUTPUT - +-out:<file> Consente di specificare il nome del file di output (impostazione predefinita: + nome di base del file con la classe principale o primo file) +-target:exe Compila un file eseguibile da console (impostazione predefinita). + Forma breve: -t:exe +-target:winexe Compila un eseguibile Windows. Forma breve: + -t:winexe +-target:library Compila una libreria. Forma breve: -t:library +-target:module Compila un modulo che può essere aggiunto a un altro assembly. + Forma breve: -t:module +-target:appcontainerexe Compila un file eseguibile Appcontainer. Forma breve: + -t:appcontainerexe +-target:winmdobj Compila un file Windows Runtime intermedio + usato da WinMDExp. Forma breve: -t:winmdobj +-doc:<file> File di documentazione XML da generare +-refout:<file> Output dell'assembly di riferimento da generare +-platform:<stringa> Limita le piattaforme in cui è possibile eseguire il codice: x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred, or + anycpu. Il valore predefinito è anycpu. - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - FILE DI INPUT - +-recurse:<caratterijolly> Include tutti i file presenti nella directory corrente e + nelle relative sottodirectory in base + ai caratteri jolly specificati +-reference:<alias>=<file> Crea un riferimento ai metadati dal file di assembly specificato + usando l'alias indicato. Forma breve: -r +-reference:<elenco file> Crea un riferimento ai metadati dai file di assembly + specificati. Forma breve: -r +-addmodule:<elenco file> Collega i moduli specificati in questo assembly +-link:<elenco file> Incorpora metadati dai file di assembly di + interoperabilità specificati. Forma breve: -l +-analyzer:<elenco file> Esegue gli analizzatori dall'assembly. + Forma breve: -a +-additionalfile:<elenco file> File aggiuntivi che non influiscono + direttamente sulla generazione del codice ma possono essere usati + dagli analizzatori per produrre errori o avvisi. +-embed Incorpora tutti i file di origine nel file PDB. +-embed:<elenco file> Incorpora file specifici nel file PDB. - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - RISORSE - +-win32res:<file> Consente di specificare un file di risorse Win32 (.res) +-win32icon:<file> Usa questa icona per l'output +-win32manifest:<file> Consente di specificare un file manifesto Win32 (.xml) +-nowin32manifest Non include il manifesto Win32 predefinito +-resource:<inforisorsa> Incorpora la risorsa specificata. Forma breve: -res +-linkresource:<inforisorsa> Collega la risorsa specificata all'assembly. + Forma breve: -linkres. Il formato di inforisorsa + è <file>[,<nome stringa>[,public|private]] - - CODE GENERATION - --debug[+|-] Emit debugging information + - GENERAZIONE CODICE - +-debug[+|-] Crea le informazioni di debug -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + Consente di specificare il tipo di debug ('full' è l'impostazione predefinita, + 'portable' è un formato multipiattaforma, + 'embedded' è un formato multipiattaforma incorporato nel + file DLL o EXE di destinazione) +-optimize[+|-] Abilita le ottimizzazioni. Forma breve: -o +-deterministic Produce un assembly deterministico + (che include GUID e timestamp della versione del modulo) +-refonly Produce un assembly di riferimento al posto dell'output principale +-instrument:TestCoverage Produce un assembly instrumentato per raccogliere + informazioni sul code coverage +-sourcelink:<file> Informazioni sul collegamento di origine da incorporare nel file PDB. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - ERRORI E AVVISI - +-warnaserror[+|-] Segnala tutti gli avvisi come errori +-warnaserror[+|-]:<elenco avvisi> Segnala determinati avvisi come errori +-warn:<n> Imposta il livello di avviso (0-4). Forma breve: -w +-nowarn:<elenco avvisi> Disabilita messaggi di avviso specifici +-ruleset:<file> Consente di specificare un file di set di regole che disabilita + diagnostica specifica. +-errorlog:<file> Consente di specificare un file in cui registrare tutte le diagnostiche del + compilatore e dell'analizzatore. +-reportanalyzer Restituisce informazioni aggiuntive dell'analizzatore, ad + esempio il tempo di esecuzione. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + - LINGUAGGIO - +-checked[+|-] Genera controlli dell'overflow +-unsafe[+|-] Consente codice 'unsafe' +-define:<elenco simboli> Consente di definire simboli di compilazione condizionale. Forma + breve: -d +-langversion:? Visualizza i valori consentiti per la versione del linguaggio +-langversion:<stringa> Consente di specificare la versione del linguaggio, ad esempio + `default` (ultima versione principale), o + `latest` (ultima versione che include versioni secondarie), + oppure versioni specifiche, come `6` o `7.1` +-nullable[+|-] Consente di specificare l'opzione di contesto nullable tra enable|disable. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Consente di specificare l'opzione di contesto nullable tra enable|disable|safeonly|warnings|safeonlywarnings. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - SICUREZZA - +-delaysign[+|-] Ritarda la firma dell'assembly usando solo la parte pubblica della + chiave con nome sicuro +-publicsign[+|-] Firma pubblicamente l'assembly usando solo la parte pubblica + della chiave con nome sicuro +-keyfile:<file> Consente di specificare un file di chiave con nome sicuro +-keycontainer:<stringa> Consente di specificare un contenitore di chiavi con nome sicuro +-highentropyva[+|-] Abilita ASLR a entropia elevata - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - VARIE - + @<file> Legge il file di risposta per altre opzioni +-help Visualizza questo messaggio relativo alla sintassi. Forma breve: -? +-nologo Non visualizza il messaggio di copyright del compilatore +-noconfig Non include automaticamente il file CSC.RSP +-parallel[+|-] Compilazione simultanea. +-version Visualizza il numero di versione del compilatore ed esce. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + - AVANZATE - +-baseaddress:<indirizzo> Indirizzo di base della libreria da compilare +-checksumalgorithm:<alg> Consente di specificare l'algoritmo per calcolare il checksum + del file di origine archiviato nel file PDB. I valori supportati sono: + SHA1 o SHA256 (predefinito). +-codepage:<n> Consente di specificare la tabella codici da usare all'apertura dei file + di origine +-utf8output Restituisce i messaggi del compilatore usando la codifica UTF-8 +-main:<tipo> Consente di specificare il tipo che contiene il punto di ingresso, + ignorando tutti gli altri punti di ingresso possibili. Forma + breve: -m +-fullpaths Il compilatore genera percorsi completi +-filealign:<n> Consente di specificare l'allineamento usato per le sezioni del + file di output -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + Consente di specificare un mapping per i nomi di percorso di origine + visualizzati dal compilatore. +-pdb:<file> Consente di specificare il nome del file di informazioni di debug (impostazione predefinita: + nome del file di output con estensione pdb) +-errorendlocation Riga e colonna di output della posizione finale di + ogni errore +-preferreduilang Consente di specificare il nome del linguaggio di output preferito. +-nosdkpath Abilita/disabilita la funzionalità Tipi riferimento nullable +-nostdlib[+|-] Omette i riferimenti alla libreria standard (mscorlib.dll) +-subsystemversion:<stringa> Consente di specificare la versione del sottosistema di questo assembly +-lib:<elenco file> Consente di specificare le directory aggiuntive in cui cercare i + riferimenti +-errorreport:<stringa> Consente di specificare la modalità di gestione degli errori interni del compilatore: + prompt, send, queue o none. L'impostazione predefinita è + queue. +-appconfig:<file> Consente di specificare un file di configurazione dell'applicazione + contenente le impostazioni di binding dell'assembly +-moduleassemblyname:<stringa> Nome dell'assembly di cui farà parte + questo modulo +-modulename:<stringa> Consente di specificare il nome del modulo di origine Visual C# Compiler Options @@ -699,7 +699,7 @@ name shadowing in nested functions - name shadowing in nested functions + shadowing dei nomi nelle funzioni annidate @@ -714,7 +714,7 @@ warning action enable or safeonly - warning action enable or safeonly + azione di avviso enable o safeonly @@ -1254,12 +1254,12 @@ Expected nullable - Expected nullable + È previsto nullable Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + Dopo l'avviso della direttiva #pragma safeonly è previsto nullable @@ -5647,12 +5647,12 @@ Un blocco catch() dopo un blocco catch (System.Exception e) è in grado di rilev Expected disable, restore, enable or safeonly - È previsto disable o restore + È previsto disable, restore, enable o safeonly Expected disable, restore, enable or safeonly after #pragma warning - Dopo l'avviso della direttiva #pragma è previsto disable o restore + Dopo l'avviso della direttiva #pragma è previsto disable, restore, enable o safeonly @@ -5897,7 +5897,7 @@ Un blocco catch() dopo un blocco catch (System.Exception e) è in grado di rilev '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - '{0}': il tipo usato in un'istruzione using deve essere convertibile in modo implicito in 'System.IDisposable'. + '{0}': il tipo usato in un'istruzione using deve essere convertibile in modo implicito in 'System.IDisposable' o implementare un metodo 'Dispose' adatto. @@ -8925,7 +8925,7 @@ Per rimuovere l'avviso, è invece possibile usare /reference (impostare la propr Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - I rami di un operatore ternario ref non possono fare riferimento a variabili con ambiti di dichiarazione incompatibili + I rami di un operatore condizionale ref non possono fare riferimento a variabili con ambiti di dichiarazione incompatibili @@ -9505,7 +9505,7 @@ Per rimuovere l'avviso, è invece possibile usare /reference (impostare la propr '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - '{0}': il tipo usato in un'istruzione using asincrona deve essere convertibile in modo implicito in 'System.IAsyncDisposable' + '{0}': il tipo usato in un'istruzione using asincrona deve essere convertibile in modo implicito in 'System.IAsyncDisposable' o implementare un metodo 'DisposeAsync' adatto. diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf index 59924fec2844a..4c8858ab03010 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + as 式で Null 許容参照型 '{0}?' を使用することはできません。代わりに基になる型 '{0}' をご使用ください。 @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + 機能 '{0}' は現在、プレビュー段階であり、*サポートされていません*。プレビュー機能を使用するには、'preview' 言語バージョンを使用してください。 @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + このコンテキストでは抑制演算子が許可されていません @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + is-type 式で Null 許容参照型 '{0}?' を使用することはできません。代わりに基になる型 '{0}' をご使用ください。 @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + 反復子ブロックを伴うメソッド '{0}' が '{1}' を返すには 'async' でなければなりません。 @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - '{0}': 非同期 using ステートメントで使用される型は、暗黙的に 'System.IAsyncDisposable' への変換が可能でなければなりません。'await using' ではなく 'using' ですか? + '{0}': 非同期 using ステートメントで使用される型は、暗黙的に 'System.IAsyncDisposable' に変換可能であるか、適切な 'DisposeAsync' メソッドを実装する必要があります。'await using' ではなく 'using' ですか? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - {0}': using ステートメントで使用される型は、暗黙的に 'System.IDisposable' への変換が可能でなければなりません。'using' ではなく 'await using' ですか? + '{0}': using ステートメントで使用される型は、暗黙的に 'System.IDisposable' に変換可能であるか、適切な 'Dispose' メソッドを実装する必要があります。'using' ではなく 'await using' ですか? @@ -504,151 +504,151 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Visual C# Compiler のオプション - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - 出力ファイル - +-out:<file> 出力ファイル名を指定します (既定: メイン クラス + のあるファイルまたは最初のファイルのベース名) +-target:exe コンソール実行可能ファイルをビルドします (既定) (短い + 形式: -t:exe) +-target:winexe Windows 実行可能ファイルをビルドします (短い形式: + -t:winexe) +-target:library ライブラリをビルドします (短い形式: -t:library) +-target:module 別のアセンブリに追加できるモジュールをビルド + します (短い形式: -t:module) +-target:appcontainerexe Appcontainer 実行可能ファイルをビルドします (短い形式: + -t:appcontainerexe) +-target:winmdobj WinMDExp で使用される + Windows ランタイムの中間ファイルをビルドします (短い形式: -t:winmdobj) +-doc:<file> 生成する XML ドキュメント ファイル +-refout:<file> 生成する参照アセンブリ出力 +-platform:<string> このコードを実行できるプラットフォームを x86、 + Itanium、x64、arm、arm64、anycpu32bitpreferred、 + anycpu に制限します。既定は anycpu です。 - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - 入力ファイル - +-recurse:<wildcard> ワイルドカードの指定に従い、現行ディレクトリおよび + サブディレクトリ内のすべてのファイルを + インクルードします +-reference:<alias>=<file> 指定されたエイリアスを使用して、指定された + アセンブリ ファイルのメタデータを参照します (短い形式: -r) +-reference:<file list> 指定されたアセンブリ ファイルのメタデータを参照 + します (短い形式: -r) +-addmodule:<file list> 指定されたモジュールをこのアセンブリにリンクします +-link:<file list> 指定された相互運用アセンブリ ファイルのメタデータを + 埋め込みます (短い形式: -l) +-analyzer:<file list> このアセンブリからアナライザーを実行します + (短い形式: -a) +-additionalfile:<file list> コード生成には直接影響しないものの、 + アナライザーがエラーまたは警告を + 生成するときに使用する可能性のある追加ファイル。 +-embed すべてのソース ファイルを PDB に埋め込みます。 +-embed:<file list> 特定のファイルを PDB に埋め込みます - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - リソース - +-win32res:<file> Win32 リソース ファイル (.res) を指定します +-win32icon:<file> 出力にこのアイコンを使用します +-win32manifest:<file> Win32 マニフェスト ファイル (.xml) を指定します +-nowin32manifest 既定の Win32 マニフェストはインクルードしません +-resource:<resinfo> 指定されたリソースを埋め込みます (短い形式: -res) +-linkresource:<resinfo> 指定されたリソースをこのアセンブリにリンクします + (短い形式: -linkres) ここで resinfo の形式 + は <file>[,<string name>[,public|private]] です - - CODE GENERATION - --debug[+|-] Emit debugging information + - コード生成 - +-debug[+|-] デバッグ情報を生成します -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + デバッグの種類を指定します ('full' が既定です。 + 'portable' はクロスプラットフォーム形式です。 + 'embedded' は、ターゲット .dll または .exe に + 埋め込まれるクロスプラットフォーム形式です) +-optimize[+|-] 最適化を有効にします (短い形式: -o) +-deterministic 決定論的アセンブリを作成します + (モジュール バージョン GUID やタイムスタンプなど) +-refonly メイン出力の代わりに参照アセンブリを生成します +-instrument:TestCoverage 収集するためのインストルメント化されたアセンブリを作成します + カバレッジ情報 +-sourcelink:<file> PDB に埋め込むソース リンク情報。 - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - エラーと警告 - +-warnaserror[+|-] すべての警告をエラーとして報告します +-warnaserror[+|-]:<warn list> 特定の警告をエラーとして報告します +-warn:<n> 警告レベル (0-4) を設定します (短い形式: -w) +-nowarn:<warn list> 特定の警告メッセージを無効にします +-ruleset:<file> 特定の診断を無効にするルールセット ファイルを + 指定します。 +-errorlog:<file> すべてのコンパイラとアナライザーの診断をログに記録するための + ファイルを指定します。 +-reportanalyzer 追加のアナライザー情報を報告します + (実行時間など)。 - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + - 言語 - +-checked[+|-] オーバーフロー検査を生成します +-unsafe[+|-] '安全でない' コードを許可します +-define:<symbol list> 条件付きコンパイル シンボルを定義します (短い + 形式: -d) +-langversion:? 言語バージョンに許容される値を表示します +-langversion:<string> `default` (最新のメジャー バージョン)や + `latest` (マイナー バージョンを含む最新バージョン) + または `6` や `7.1` の特定バージョンなどの + 言語バージョンを指定します。 +-nullable[+|-] Null 許容コンテキスト オプション enable|disable を指定します。 -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Null 許容コンテキスト オプション enable|disable|safeonly|warnings|safeonlywarnings を指定します。 - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - SECURITY - +-delaysign[+|-] 厳密な名前キーのパブリックな部分のみを使って + アセンブリを遅延署名します +-publicsign[+|-] 厳密な名前キーのパブリックな部分のみを使って + アセンブリを公開署名します +-keyfile:<file> 厳密な名前キーのファイルを指定します +-keycontainer:<string> 厳密な名前キーのコンテナーを指定します +-highentropyva[+|-] 高エントロピ ASLR を有効化します - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - その他 - + @<file> 応答ファイルを読み取り、オプションを追加します +-help 使用法に関するメッセージを表示します (短い形式: -?) +-nologo コンパイル時の著作権メッセージを表示しません +-noconfig CSC.RSP ファイルを自動的に含めません +-parallel[+|-] ビルドを並列処理します。 +-version コンパイラのバージョン番号を出力して終了します。 - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + - 詳細 - +-baseaddress:<address> ビルドするライブラリのベース アドレス +-checksumalgorithm:<alg> PDB に格納されているソース ファイルのチェックサム + を計算するアルゴリズムを指定します。サポートされる値: + SHA1 または SHA256 (既定)。 +-codepage:<n> ソース ファイルを開くときに使用するコード ページを + 指定します +-utf8output コンパイラ メッセージを UTF-8 エンコードで出力します +-main:<type> エントリ ポイントを含む型を指定します + (他のエントリ ポイントはすべて無視します) (短い + 形式: -m) +-fullpaths コンパイラは完全修飾パスを生成します +-filealign:<n> 出力ファイル セクションで使用する配置を指定 + します -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + コンパイラが出力するソース パス名のマッピングを + 指定します。 +-pdb:<file> デバッグ情報ファイル名を指定します (既定: + .pdb 拡張子の付いた出力ファイル名) +-errorendlocation 各エラーの終了位置の出力行と + 出力列 +-preferreduilang 出力用の言語名を指定します。 +-nosdkpath 標準ライブラリ アセンブリの既定の SDK パスの検索を無効にします。 +-nostdlib[+|-] 標準ライブラリ (mscorlib.dll) は参照しません +-subsystemversion:<string> このアセンブリのサブシステム バージョンを指定します +-lib:<file list> 参照を検索する追加ディレクトリを指定 + します +-errorreport:<string> 内部コンパイラ エラーの処理方法を指定します: + prompt、send、queue、none です。既定値は + queue です。 +-appconfig:<file> アセンブリ バインド設定を含む + アプリケーション構成ファイルを指定します +-moduleassemblyname:<string> このモジュールが一部となるアセンブリ名 + です +-modulename:<string> ソース モジュールの名前を指定します Visual C# Compiler Options @@ -699,7 +699,7 @@ name shadowing in nested functions - name shadowing in nested functions + 入れ子になった関数での名前シャドウイング @@ -714,7 +714,7 @@ warning action enable or safeonly - warning action enable or safeonly + 警告アクション enable または safeonly @@ -1254,12 +1254,12 @@ Expected nullable - Expected nullable + Null 許容が必要です Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + #pragma warning safeonly の後に Null 許容が必要です @@ -5647,12 +5647,12 @@ AssemblyInfo.cs ファイルで RuntimeCompatibilityAttribute が false に設 Expected disable, restore, enable or safeonly - disable または restore を指定してください。 + disable、restore、enable、または safeonly が必要です Expected disable, restore, enable or safeonly after #pragma warning - #pragma 警告の後に、disable または restore が必要です + #pragma 警告の後に disable、restore、enable、または safeonly が必要です @@ -5897,7 +5897,7 @@ AssemblyInfo.cs ファイルで RuntimeCompatibilityAttribute が false に設 '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - '{0}': using ステートメントで使用される型は、暗黙的に 'System.IDisposable' への変換が可能でなければなりません。 + '{0}': using ステートメントで使用される型は、暗黙的に 'System.IDisposable' に変換可能であるか、適切な 'Dispose' メソッドを実装する必要があります。 @@ -8925,7 +8925,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - ref 三項演算子のブランチから、互換性のない宣言スコープを持つ変数を参照することはできません + ref 条件演算子のブランチから、互換性のない宣言スコープを持つ変数を参照することはできません @@ -9505,7 +9505,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - '{0}': 非同期 using ステートメントで使用される型は、'System.IAsyncDisposable' への暗黙的な変換が可能でなければなりません + '{0}': 非同期 using ステートメントで使用される型は、暗黙的に 'System.IAsyncDisposable' に変換可能であるか、適切な 'DisposeAsync' メソッドを実装する必要があります。 diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf index 47add2834752b..ac9a19dfb54a8 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + 식에 nullable 참조 형식 '{0}'을(를) 사용하는 것은 올바르지 않습니다. 대신 기본 형식 '{0}'을(를) 사용하세요. @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + '{0}' 기능은 현재 미리 보기로 제공되며 *지원되지 않습니다*. 미리 보기 기능을 사용하려면 '미리 보기' 언어 버전을 사용하세요. @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + 이 컨텍스트에서는 비표시 오류(Suppression) 연산자를 사용할 수 없습니다. @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + is-type 식에 nullable 참조 형식 '{0}?'을(를) 사용하는 것은 올바르지 않습니다. 대신 기본 형식 '{0}'을(를) 사용하세요. @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + {1}'을(를) 반환하려면 반복기 블록이 있는 '{0}' 메서드가 '비동기'여야 합니다. @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - '{0}': 비동기 using 문에 사용된 형식은 암시적으로 'System.IAsyncDisposable'로 변환할 수 있어야 합니다. 'await using' 대신 'using'을 사용하시겠습니까? + '{0}': 비동기 using 문에 사용된 형식은 암시적으로 'System.IAsyncDisposable'로 변환할 수 있거나 적합한 'DisposeAsync' 메서드를 구현해야 합니다. 'await using' 대신 'using'을 사용하시겠습니까? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - '{0}': using 문에 사용된 형식은 암시적으로 'System.IDisposable'로 변환할 수 있어야 합니다. 'using' 대신 'await using'을 사용하시겠습니까? + '{0}': using 문에 사용된 형식은 암시적으로 'System.IDisposable'로 변환할 수 있거나 적합한 'Dispose' 메서드를 구현해야 합니다. 'using' 대신 'await using'을 사용하시겠습니까? @@ -504,151 +504,151 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Visual C# 컴파일러 옵션 - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - 출력 파일 - +-out:<file> 출력 파일 이름을 지정합니다(기본값: 주 클래스가 + 있는 파일 또는 첫째 파일의 기본 이름). +-target:exe 콘솔 실행 파일을 빌드합니다(기본값). (약식: + -t:exe) +-target:winexe Windows 실행 파일을 빌드합니다. (약식: + -t:winexe) +-target:library 라이브러리를 빌드합니다. (약식: -t:library) +-target:module 다른 어셈블리에 추가될 수 있는 모듈을 + 빌드합니다. (약식: -t:module) +-target:appcontainerexe Appcontainer 실행 파일을 빌드합니다. (약식: + -t:appcontainerexe) +-target:winmdobj WinMDExp에서 사용되는 Windows 런타임 중간 + 파일을 빌드합니다. (약식: -t:winmdobj) +-doc:<file> 생성할 XML 문서 파일 +-refout:<file> 생성할 참조 어셈블리 출력 +-platform:<string> 이 코드를 실행할 수 있는 플랫폼을 x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred 또는 + anycpu로 제한합니다. 기본값은 anycpu입니다. - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - 입력 파일 - +-recurse:<wildcard> 와일드카드 지정에 따라 현재 디렉터리와 + 하위 디렉터리에 있는 모든 파일을 + 포함합니다. +-reference:<alias>=<file> 지정한 어셈블리 파일에서 해당 별칭을 사용하여 + 메타데이터를 참조합니다. (약식: -r) +-reference:<file list> 지정한 어셈블리 파일에서 메타데이터를 + 참조합니다. (약식: -r) +-addmodule:<file list> 지정한 모듈을 이 어셈블리에 연결합니다. +-link:<file list> 지정된 interop 어셈블리 파일의 메타데이터를 + 포함합니다. (약식: -l) +-analyzer:<file list> 이 어셈블리에서 분석기를 실행합니다. + (약식: -a) +-additionalfile:<file list> 코드 생성에 직접 영향을 주지 않지만 오류 또는 + 경고 생성을 위해 분석기에서 사용될 수 있는 + 추가 파일입니다. +-embed 모든 소스 파일을 PDB에 포함합니다. +-embed:<file list> 특정 파일을 PDB에 포함합니다. - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - 리소스 - +-win32res:<file> Win32 리소스 파일(.res)을 지정합니다. +-win32icon:<file> 이 아이콘을 사용하여 출력합니다. +-win32manifest:<file> Win32 매니페스트 파일(.xml)을 지정합니다. +-nowin32manifest 기본 Win32 매니페스트는 포함하지 않습니다. +-resource:<resinfo> 지정된 리소스를 포함합니다. (약식: -res) +-linkresource:<resinfo> 지정한 리소스를 이 어셈블리에 연결합니다. + (약식: -linkres) 여기서 resinfo 형식은 + <file>[,<string name>[,public|private]]입니다. - - CODE GENERATION - --debug[+|-] Emit debugging information + - 코드 생성 - +-debug[+|-] 디버깅 정보를 내보냅니다. -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + 디버깅 형식을 지정합니다. ('full'이 기본값이고, + 'portable'은 크로스 플랫폼 형식이고, + 'embedded'는 대상 .dll 또는 .exe에 포함되는 + 플랫폼 간 형식입니다.) +-optimize[+|-] 최적화를 사용합니다. (약식: -o) +-deterministic 결정적 어셈블리를 생성합니다 + (모듈 버전 GUID 및 타임스탬프 포함). +-refonly 주 출력 대신 참조 어셈블리를 생성합니다. +-instrument:TestCoverage 검사 정보를 수집하기 위해 계측한 + 어셈블리를 생성합니다. +-sourcelink:<file> PDB에 포함할 소스 링크 정보입니다. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - 오류 및 경고 - +-warnaserror[+|-] 모든 경고를 오류로 보고합니다. +-warnaserror[+|-]:<warn list> 특정 경고를 오류로 보고합니다. +-warn:<n> 경고 수준(0-4)을 설정합니다. (약식: -w) +-nowarn:<warn list> 특정 경고 메시지를 사용하지 않습니다. +-ruleset:<file> 특정 진단을 사용하지 않도록 하는 규칙 집합 + 파일을 지정합니다. +-errorlog:<file> 모든 컴파일러 및 분석기 진단을 기록할 파일을 + 지정합니다. +-reportanalyzer 추가 분석기 정보(예: 실행 시간)를 + 보고합니다. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + - 언어 - +-checked[+|-] 오버플로 검사를 생성합니다. +-unsafe[+|-] 'unsafe' 코드를 사용할 수 있습니다. +-define:<symbol list> 조건부 컴파일 기호를 정의합니다. (약식: + -d) +-langversion:? 언어 버전에 허용되는 값을 표시합니다. +-langversion:<string> 언어 버전을 + `default`(최신 주 버전), + `latest`(최신 버전, 부 버전 포함), + `6` 또는 `7.1` 같은 특정 버전 등으로 지정합니다. +-nullable[+|-] nullable 컨텍스트 옵션 enable|disable를 지정합니다. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + nullable 컨텍스트 옵션 enable|disable|safeonly|warnings|safeonlywarnings를 지정합니다. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - 보안 - +-delaysign[+|-] 강력한 이름 키의 공개 부분만 사용하여 + 어셈블리 서명을 연기합니다. +-publicsign[+|-] 강력한 이름 키의 공개 부분만 사용하여 어셈블리를 + 공개 서명합니다. +-keyfile:<file> 강력한 이름의 키 파일을 지정합니다. +-keycontainer:<string> 강력한 이름의 키 컨테이너를 지정합니다. +-highentropyva[+|-] 높은 엔트로피 ASLR을 사용합니다. - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - 기타 - + @<file> 추가 옵션을 위해 지시 파일을 읽습니다. +-help 사용법 메시지를 표시합니다. (약식: -?) +-nologo 컴파일러 저작권 메시지를 표시하지 않습니다. +-noconfig CSC.RSP 파일을 자동으로 포함하지 않습니다. +-parallel[+|-] 동시 빌드입니다. +-version 컴파일러 버전 번호를 표시하고 종료합니다. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + - 고급 - +-baseaddress:<address> 빌드할 라이브러리의 기준 주소입니다. +-checksumalgorithm:<alg> PDB에 저장된 소스 파일 체크섬을 + 계산하기 위한 알고리즘을 지정합니다. 지원되는 값은 + SHA1 또는 SHA256입니다 (기본값). +-codepage:<n> 소스 파일을 열 때 사용할 코드 페이지를 + 지정합니다. +-utf8output 컴파일러 메시지를 UTF-8 인코딩으로 출력합니다. +-main:<type> 진입점을 포함하는 형식을 지정합니다. + 다른 모든 가능한 진입점은 무시합니다. (약식: + -m) +-fullpaths 컴파일러가 정규화된 경로를 생성합니다. +-filealign:<n> 출력 파일 섹션에 사용되는 맞춤을 + 지정합니다. -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + 컴파일러에서 소스 경로 이름 출력에 대한 + 매핑을 지정합니다. +-pdb:<file> 디버그 정보 파일 이름을 지정합니다(기본값: + 확장명이 .pdb인 출력 파일 이름). +-errorendlocation 각 오류의 끝 위치에 해당하는 줄과 + 열을 출력합니다. +-preferreduilang 기본 출력 언어 이름을 지정합니다. +-nosdkpath 표준 라이브러리 어셈블리의 기본 SDK 경로를 찾지 않도록 설정합니다. +-nostdlib[+|-] 표준 라이브러리(mscorlib.dll)를 참조하지 않습니다. +-subsystemversion:<string> 이 어셈블리의 하위 시스템 버전을 지정합니다. +-lib:<file list> 참조를 검색할 추가 디렉터리를 + 지정합니다. +-errorreport:<string> 내부 컴파일러 오류를 처리하는 방법을 지정합니다. + prompt, send, queue 또는 none 중에서 선택할 수 있으며 기본값은 + queue입니다. +-appconfig:<file> 어셈블리 바인딩 설정을 포함하는 + 응용 프로그램 구성 파일을 지정합니다. +-moduleassemblyname:<string> 이 모듈이 속할 어셈블리의 + 이름입니다. +-modulename:<string> 소스 모듈의 이름을 지정합니다. Visual C# Compiler Options @@ -699,7 +699,7 @@ name shadowing in nested functions - name shadowing in nested functions + 중첩된 함수의 이름 섀도잉 @@ -714,7 +714,7 @@ warning action enable or safeonly - warning action enable or safeonly + 경고 작업 enable 또는 safeonly @@ -1254,12 +1254,12 @@ Expected nullable - Expected nullable + nullable이 필요합니다. Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + #pragma warning safeonly 뒤에 nullable이 필요합니다. @@ -5647,12 +5647,12 @@ catch (System.Exception e) 블록 뒤의 catch() 블록은 RuntimeCompatibilityA Expected disable, restore, enable or safeonly - disable 또는 restore가 필요합니다. + disable, restore, enable 또는 safeonly가 필요합니다. Expected disable, restore, enable or safeonly after #pragma warning - #pragma warning 뒤에 disable 또는 restore가 필요합니다. + #pragma warning 뒤에 disable, restore, enable 또는 safeonly가 필요합니다. @@ -5897,7 +5897,7 @@ catch (System.Exception e) 블록 뒤의 catch() 블록은 RuntimeCompatibilityA '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - '{0}': using 문에 사용된 형식은 암시적으로 'System.IDisposable'로 변환할 수 있어야 합니다. + '{0}': using 문에 사용된 형식은 암시적으로 'System.IDisposable'로 변환할 수 있거나 적합한 'Dispose' 메서드를 구현해야 합니다. @@ -8925,7 +8925,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - 참조 3항 연산자의 분기는 호환되지 않는 선언 범위의 변수를 참조할 수 없습니다. + ref 조건 연산자의 분기는 호환되지 않는 선언 범위의 변수를 참조할 수 없습니다. @@ -9505,7 +9505,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - '{0}': 비동기 using 문에 사용된 형식은 암시적으로 'System.IAsyncDisposable'로 변환할 수 있어야 합니다. + '{0}': 비동기 using 문에 사용된 형식은 암시적으로 System.IAsyncDisposable'로 변환할 수 있거나 적합한 DisposeAsync' 메서드를 구현해야 합니다. diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf index 5b1f97be39ee5..7d15576677dd3 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + Użycie typu odwołania dopuszczającego wartość null „{0}?” w wyrażeniu „as” jest niedozwolone. Zamiast tego użyj bazowego typu „{0}”. @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + Funkcja „{0}” jest obecnie w wersji zapoznawczej i jest *nieobsługiwana*. Aby używać funkcji w wersji zapoznawczej, skorzystaj z wersji języka w wersji zapoznawczej. @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + Operator pominięcia jest niedozwolony w tym kontekście @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + Użycie typu odwołania dopuszczającego wartość null „{0}?” w wyrażeniu „is-type” jest niedozwolone. Zamiast tego użyj bazowego typu „{0}”. @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + Metoda „{0}” z blokiem iteratora musi być oznaczona jako „async”, aby zwrócić „{1}” @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - „{0}”: typ użyty w asynchronicznej instrukcji using musi być jawnie konwertowalny na typ „System.IAsyncDisposable”. Czy planowano użyć instrukcji „using”, a nie „await using”? + „{0}”: Typ użyty w asynchronicznej instrukcji using musi być jawnie konwertowalny na typ „System.IAsyncDisposable” lub musi implementować odpowiednią metodę „DisposeAsync”. Czy chodziło Ci o użycie instrukcji „using”, a nie „await using”? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - „{0}”: typ użyty w instrukcji using musi być jawnie konwertowalny na typ „System.IDisposable”. Czy planowano użyć instrukcji „await using”, a nie „using”? + „{0}”: Typ użyty w instrukcji using musi być jawnie konwertowalny na typ „System.IDisposable” lub musi implementować odpowiednią metodę „Dispose”. Czy chodziło Ci o użycie instrukcji „await using”, a nie „using”? @@ -504,151 +504,151 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Opcje kompilatora Visual C# - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - PLIKI WYJŚCIOWE - +-out:<plik> Określ nazwę pliku wyjściowego (domyślnie: nazwa podstawowa + pliku z klasą główną lub pierwszym plikiem) +-target:exe Kompiluj plik wykonywalny konsoli (domyślnie) (krótka + wersja: -t:exe) +-target:winexe Kompiluj plik wykonywalny systemu Windows (krótka wersja: + -t:winexe) +-target:library Kompiluj bibliotekę (krótka wersja: -t:library) +-target:module Kompiluj moduł, który można dodać do innego + zestawu (krótka wersja: -t:module) +-target:appcontainerexe Kompiluj plik wykonywalny kontenera aplikacji (krótka wersja: + -t:appcontainerexe) +-target:winmdobj Kompiluj plik pośredni środowiska uruchomieniowego systemu Windows + przeznaczony dla narzędzia WinMDExp (krótka wersja: -t:winmdobj) +-doc:<plik> Plik dokumentacji XML do wygenerowania +-refout:<plik> Dane wyjściowe zestawu odwołania do wygenerowania +-platform:<ciąg> Ogranicz platformy, na których można uruchamiać ten kod: x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred lub + anycpu. Wartość domyślna to anycpu. - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - PLIKI WEJŚCIOWE - +-recurse:<symbol wieloznaczny> Dołącz wszystkie pliki zawarte w bieżącym katalogu i + jego podkatalogach zgodnie ze specyfikacją określoną przy użyciu + symboli wieloznacznych +-reference:<alias>=<plik> Odwołuj się do metadanych z określonego pliku + zestawu przy użyciu podanego aliasu (krótka wersja: -r) +-reference:<lista plików> Odwołuj się do metadanych z określonych + plików zestawów (krótka wersja: -r) +-addmodule:<lista plików> Połącz określone moduły z tym zestawem +-link:<lista plików> Osadź metadane z określonych plików + zestawów międzyoperacyjnych (krótka wersja: -l) +-analyzer:<lista plików> Uruchom analizatory z tego zestawu + (krótka wersja: -a) +-additionalfile:<lista plików> Dodatkowe pliki, które nie mają bezpośredniego wpływu na generowanie + kodu, ale mogą być używane przez analizatory w celu tworzenia + komunikatów o błędach lub ostrzeżeń. +-embed Osadź wszystkie pliki źródłowe w pliku PDB. +-embed:<lista plików> Osadź określone pliki w pliku PDB - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - ZASOBY - +-win32res:<plik> Określ plik zasobu Win32 (res) +-win32icon:<plik> Użyj tej ikony dla pliku wyjściowego +-win32manifest:<plik> Określ plik manifestu środowiska Win32 (xml) +-nowin32manifest Nie dołączaj domyślnego manifestu środowiska Win32 +-resource:<informacje o zasobie> Osadź określony zasób (krótka wersja: -res) +-linkresource:<informacje o zasobie> Połącz określony zasób z tym zestawem + (krótka wersja: -linkres), gdzie format informacji o zasobie + to <plik>[,<nazwa ciągu>[,public|private]] - - CODE GENERATION - --debug[+|-] Emit debugging information + - GENEROWANIE KODU - +-debug[+|-] Emituj informacje o debugowaniu -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + Określ typ debugowania (wartość domyślna to „full”, + wartość „portable” to format międzyplatformowy, + a wartość „embedded” to format międzyplatformowy wbudowany w + docelowym pliku DLL lub EXE) +-optimize[+|-] Włącz optymalizacje (krótka wersja: -o) +-deterministic Utwórz zestaw deterministyczny + (w tym sygnaturę czasową i identyfikator GUID wersji modułu) +-refonly Utwórz zestaw odwołania zamiast głównych danych wyjściowych +-instrument:TestCoverage Utwórz zestaw instrumentowany w celu gromadzenia + informacji o pokryciu +-sourcelink:<plik> Informacje o linku źródłowym na potrzeby osadzenia w pliku PDB. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - BŁĘDY I OSTRZEŻENIA - +-warnaserror[+|-] Zgłaszaj wszystkie ostrzeżenia jako błędy +-warnaserror[+|-]:<lista ostrzeżeń> Zgłaszaj określone ostrzeżenia jako błędy +-warn:<n> Ustaw poziom ostrzeżenia (0–4) (krótka wersja: -w) +-nowarn:<lista ostrzeżeń> Wyłącz określone komunikaty ostrzeżeń +-ruleset:<plik> Określ plik zestawu reguł wyłączający określone + funkcje diagnostyczne. +-errorlog:<plik> Określ plik, w którym mają zostać zarejestrowane dane diagnostyczne + wszystkich kompilatorów i analizatorów. +-reportanalyzer Zgłaszaj dodatkowe informacje analizatora, takie jak + czas wykonywania. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + -JĘZYK - +-checked[+|-] Generuj operacje sprawdzenia przepełnienia +-unsafe[+|-] Zezwalaj na niebezpieczny kod +-define:<lista symboli> Definiuj symbole kompilacji warunkowej (krótka + wersja: -d) +-langversion:? Wyświetl dozwolone wartości dla wersji języka +-langversion:<ciąg> Określ wersję języka, taką jak + default (najnowsza wersja główna) lub + latest (najnowsza wersja, z uwzględnieniem wersji pomocniczych) + lub konkretna wersja, na przykład „6” lub „7.1” +-nullable[+|-] Określ opcję kontekstu dopuszczającego wartości null enable|disable. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Określ opcję kontekstu dopuszczającego wartości null enable|disable|safeonly|warnings|safeonlywarnings. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - ZABEZPIECZENIA - +-delaysign[+|-] Podpisz z opóźnieniem zestaw, używając tylko + części publicznej klucza o silnej nazwie +-publicsign[+|-] Podpisz publicznie zestaw, używając tylko + części publicznej klucza o silnej nazwie +-keyfile:<plik> Określ plik klucza o silnej nazwie +-keycontainer:<ciąg> Określ kontener klucza o silnej nazwie +-highentropyva[+|-] Włącz losowe generowanie układu przestrzeni adresowej o wysokiej entropii - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - RÓŻNE - + @<plik> Odczytaj plik odpowiedzi w celu uzyskania dodatkowych opcji +-help Wyświetl ten komunikat dotyczący użycia (krótka wersja: -?) +-nologo Pomiń komunikat kompilatora o prawach autorskich +-noconfig Nie dołączaj automatycznie pliku CSC.RSP +-parallel[+|-] Współbieżna kompilacja. +-version Wyświetl numer wersji kompilatora i wyjdź. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections --pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + - ZAAWANSOWANE - +-baseaddress:<adres> Adres podstawowy dla biblioteki do skompilowania +-checksumalgorithm:<algorytm> Określ algorytm do obliczania sumy kontrolnej + pliku źródłowego przechowywanej w pliku PDB. Obsługiwane są następujące wartości: + SHA1 lub SHA256 (domyślnie). +-codepage:<n> Określ stronę kodową do użycia podczas otwierania + plików źródłowych +-utf8output Wyprowadź komunikaty kompilatora przy użyciu kodowania UTF-8 +-main:<typ> Określ typ zawierający punkt wejścia + (wszystkie pozostałe możliwe punkty wejścia zostaną zignorowane) (krótka + wersja: -m) +-fullpaths Kompilator generuje w pełni kwalifikowane ścieżki +-filealign:<n> Określ wyrównanie stosowane dla sekcji + plików wyjściowych +-pathmap:<K1>=<W1>,<K2>=<W2>,... + Określ mapowanie dla nazw ścieżek źródłowych wyprowadzanych przez + kompilator. +-pdb:<plik> Określ nazwę pliku z informacjami o debugowaniu (domyślnie: + nazwa pliku wyjściowego z rozszerzeniem pdb) +-errorendlocation Wyprowadź wiersz i kolumnę lokalizacji końcowej dla + każdego błędu +-preferreduilang Określ nazwę preferowanego języka wyjściowego. +-nosdkpath Wyłącz wyszukiwanie ścieżki domyślnego zestawu SDK dla standardowych zestawów bibliotecznych. +-nostdlib[+|-] Nie odwołuj się do biblioteki standardowej (mscorlib.dll) +-subsystemversion:<ciąg> Określ wersję podsystemu tego zestawu +-lib:<lista plików> Określ dodatkowe katalogi do przeszukania pod kątem + odwołań +-errorreport:<ciąg> Określ, w jaki sposób obsługiwać wewnętrzne błędy kompilatora: + prompt, send, queue lub none. Wartość domyślna to + queue. +-appconfig:<plik> Określ plik konfiguracji aplikacji + zawierający ustawienia powiązania zestawu +-moduleassemblyname:<ciąg> Nazwa zestawu, którego częścią + ma być ten moduł +-modulename:<ciąg> Określ nazwę modułu źródłowego Visual C# Compiler Options @@ -699,7 +699,7 @@ name shadowing in nested functions - name shadowing in nested functions + zasłanianie nazw w funkcjach zagnieżdżonych @@ -714,7 +714,7 @@ warning action enable or safeonly - warning action enable or safeonly + akcja warning: enable lub safeonly @@ -1254,12 +1254,12 @@ Expected nullable - Expected nullable + Oczekiwano elementu dopuszczającego wartość null Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + Oczekiwano elementu dopuszczającego wartość null po dyrektywne #pragma warning safeonly @@ -5647,12 +5647,12 @@ Blok catch() po bloku catch (System.Exception e) może przechwytywać wyjątki n Expected disable, restore, enable or safeonly - Oczekiwano typu disable lub restore + Oczekiwano wartości disable, restore, enable lub safeonly Expected disable, restore, enable or safeonly after #pragma warning - Oczekiwano wyłączenia lub przywrócenia po ostrzeżeniu #pragma + Po dyrektywie #pragma warning oczekiwano wartości disable, restore, enable lub safeonly @@ -5897,7 +5897,7 @@ Blok catch() po bloku catch (System.Exception e) może przechwytywać wyjątki n '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - „{0}”: musi istnieć możliwość niejawnego przekonwertowania typu użytego w instrukcji using na interfejs „System.IDisposable”. + „{0}”: Typ użyty w instrukcji using musi być jawnie konwertowalny na typ „System.IDisposable” lub musi implementować odpowiednią metodę „Dispose”. @@ -8925,7 +8925,7 @@ Aby usunąć ostrzeżenie, możesz zamiast tego użyć opcji /reference (ustaw w Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - Gałęzie trzyelementowego operatora ref nie mogą odwoływać się do zmiennych z niezgodnymi zakresami deklaracji + Gałęzie operatora warunkowego ref nie mogą odwoływać się do zmiennych z niezgodnymi zakresami deklaracji @@ -9505,7 +9505,7 @@ Aby usunąć ostrzeżenie, możesz zamiast tego użyć opcji /reference (ustaw w '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - „{0}”: typ użyty w asynchronicznej instrukcji using musi być niejawnie konwertowalny na typ „System.IAsyncDisposable” + „{0}”: Typ użyty w asynchronicznej instrukcji using musi być jawnie konwertowalny na typ „System.IAsyncDisposable” lub musi implementować odpowiednią metodę „DisposeAsync”. diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf index 55431bd06f73f..a8f4b69dc0db9 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + É ilegal usar o tipo de referência anulável '{0}?' em uma expressão as; use o tipo subjacente '{0}' em seu lugar. @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + O recurso '{0}' está atualmente na Versão Prévia e *sem suporte*. Para usar os recursos da Versão Prévia, use a versão de linguagem da "versão prévia". @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + O operador de supressão não é permitido neste contexto @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + É ilegal usar o tipo de referência anulável '{0}?' em uma expressão is-type; use o tipo subjacente '{0}' em seu lugar. @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + O método '{0}' com um bloco iterador deve ser 'async' para retornar '\ {1 \}' @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - '{0}': o tipo usado em uma instrução using assíncrona precisa ser implicitamente conversível em 'System.IAsyncDisposable'. Você quis dizer 'using' em vez de 'await using'? + '{0}': o tipo usado em uma instrução async using deve ser implicitamente conversível em 'System.IAsyncDisposable' ou implementar um método 'DisposeAsync' adequado. Você quis dizer 'using' em vez de 'await using'? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - '{0}' o tipo usado em uma instrução using precisa ser implicitamente conversível em 'System.IDisposable'. Você quis dizer 'await using' em vez de 'using'? + '{0}': o tipo usado em uma instrução using deve ser implicitamente conversível em 'System.IDisposable' ou implementar um método 'Dispose' adequado. Você quis dizer 'await using' em vez de 'using'? @@ -504,151 +504,151 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Opções do Compilador do Visual C# - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + – ARQUIVOS DE SAÍDA – +-out:<file> Especificar o nome do arquivo de saída (padrão: nome de base do + arquivo com a classe principal ou o primeiro arquivo) +-target:exe Compilar um executável de console (padrão) (Forma + abreviada: -t:exe) +-target:winexe Compilar um executável do Windows (Forma abreviada: + -t:winexe) +-target:library Compilar uma biblioteca (Forma abreviada: -t:library) +-target:module Compilar um módulo que pode ser adicionado a outro + assembly (Forma abreviada: -t:module) +-target:appcontainerexe Compilar um executável de Contêiner de Aplicativo (Forma abreviada: + -t:appcontainerexe) +-target:winmdobj Compilar um arquivo intermediário do Windows Runtime que + é consumido pelo WinMDExp (Forma abreviada: -t:winmdobj) +-doc:<file> Arquivo de Documentação XML a ser gerado +-refout:<file> Saída do assembly de referência a ser gerado +-platform:<string> Limitar em quais plataformas o código pode ser executado: x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred ou + anycpu. O padrão é anycpu. - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + – ARQUIVOS DE ENTRADA – +-recurse:<wildcard> Incluir todos os arquivos no diretório e + subdiretórios atuais de acordo com as especificações de + curinga +-reference:<alias>=<file> Metadados de referência do arquivo de assembly + especificado usando o alias informado (Forma abreviada: -r) +-reference:<file list> Metadados de referência dos arquivos de assembly + especificados (Forma abreviada: -r) +-addmodule:<file list> Vincular os módulos especificados ao assembly +-link:<file list> Inserir metadados dos arquivos de assembly + de interoperalidade especificados (Forma abreviada: -l) +-analyzer:<file list> Executar os analisadores deste assembly + (Forma abreviada: -a) +-additionalfile:<file list> Arquivos adicionais que não afetam diretamente a geração de código, + mas que podem ser usados por analisadores para produzir + erros ou avisos. +-embed Inserir todos os arquivos de origem no PDB. +-embed:<file list> Inserir arquivos específicos no PDB - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + – RECURSOS – +-win32res:<file> Especificar um arquivo de recurso Win32 (.res) +-win32icon:<file> Usar esse ícone para a saída +-win32manifest:<file> Especificar um arquivo de manifesto Win32 (.xml) +-nowin32manifest Não incluir o manifesto Win32 padrão +-resource:<resinfo> Inserir o recurso especificado (Forma abreviada: -res) +-linkresource:<resinfo> Vincule o recurso especificado a esse assembly + (Forma abreviada: -linkres) Em que o formato resinfo + é <file>[,<string name>[,public|private]] - - CODE GENERATION - --debug[+|-] Emit debugging information + – GERAÇÃO DE CÓDIGO – +-debug[+|-] Emitir informações de depuração -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + Especificar o tipo de depuração ('full' é o padrão, + 'portable' é um formato multiplataforma e + 'embedded' é um formato multiplataforma inserido no + .dll ou no .exe de destino) +-optimize[+|-] Habilitar otimizações (Forma abreviada: -o) +-deterministic Produzir um assembly determinístico + (incluindo carimbo de data/hora e GUID da versão do módulo) +-refonly Produzir um assembly de referência no lugar do instrumento de saída +-principal:TestCoverage Produzir um assembly instrumentado para coletar + informações de cobertura +-sourcelink:<file> Informações do link de origem a ser inserido no PDB. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + – ERROS E AVISOS – +-warnaserror[+|-] Relatar todos os avisos como erros +-warnaserror[+|-]:<warn list> Relatar avisos específicos como erros +-warn:<n> Definir o nível de aviso (0 – 4) (Forma abreviada: -w) +-nowarn:<warn list> Desabilitar mensagens de aviso específicas +-ruleset:<file> Especificar um arquivo de conjunto de regras que desabilita um diagnóstico + específico. +-errorlog:<file> Especificar um arquivo para registrar todos os diagnósticos do compilador e do + analisador. +-reportanalyzer Relatar informações adicionais do analisador, como o + tempo de execução. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + – LINGUAGEM – +-checked[+|-] Gerar verificações de estouro +-unsafe[+|-] Permitir código 'não seguro' +-define:<symbol list> Definir símbolos de compilação condicional (Forma + abreviada: -d) +-langversion? Exibir os valores permitidos para a versão da linguagem +-langversion:<string> Especificar a versão da linguagem como + `padrão` (versão principal mais recente) ou + `mais recente` (versão mais recente, incluindo versões secundárias), + ou versões específicas como `6` ou `7.1` +-nullable[+|-] Especifique a opção de contexto enable|disable. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Especifique a opção de contexto enable|disable|safeonly|warnings|safeonlywarnings. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + – SEGURANÇA – +-delaysign[+|-] Fazer a assinatura atrasada do assembly usando apenas a parte + pública da chave de nome forte +-publicsign[+|-] Fazer a assinatura pública do assembly usando somente a parte + pública da chave de nome forte +-keyfile:<file> Especificar um arquivo de chave de nome forte +-keycontainer:<string> Especificar um contêiner de chaves de nomes fortes +-highentropyva[+|-] Habilitar ASLR de alta entropia - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + – DIVERSOS – + @<file> Leia o arquivo de resposta para obter mais opções +-help Exibir essa mensagem de uso (Forma abreviada: -?) +-nologo Suprimir a mensagem de direitos autorais do compilador +-noconfig Não incluir o arquivo CSC.RSP automaticamente +-parallel[+|-] Build simultâneo. +-version Exibir o número da versão do compilador e sair. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + – AVANÇADO – +-baseaddress:<address> Endereço básico da biblioteca a ser compilada +-checksumalgorithm:<alg> Especificar o algoritmo para calcular a soma de verificação do + arquivo de origem armazenada no PDB. Os valores com suporte são: + SHA1 ou SHA256 (padrão). +-codepage:<n> Especificar a página de código a ser usada ao abrir os arquivos de + origem +-utf8output Mensagens de saída do compilador em codificação UTF-8 +-main:<type> Especificar o tipo que contém o ponto de entrada + (ignorar todos os outros pontos de entrada possíveis) (Forma + abreviada: -m) +-fullpaths O compilador gera caminhos totalmente qualificados +-filealign:<n> Especificar o alinhamento usado para as seções do arquivo de + saída -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + Especificar um mapeamento para os nomes dos caminhos de origem produzidos pelo + compilador. +-pdb:<file> Especificar o nome do arquivo de informações de depuração (padrão: + nome do arquivo de saída com a extensão .pdb) +-errorendlocation Linha e coluna de saída da localização final de + cada erro +-preferreduilang Especificar o nome da linguagem de saída preferencial. +-nosdkpath Desabilite a pesquisa no caminho de SDK padrão para assemblies de biblioteca padrão. +-nostdlib[+|-] Não referenciar a biblioteca padrão (mscorlib.dll) +-subsystemversion:<string> Especificar a versão do subsistema deste assembly +-lib:<file list> Especificar diretórios adicionais a serem pesquisados em relação a + referências +-errorreport:<string> Especificar como lidar com os erros internos do compilador: + solicitar, enviar, colocar na fila ou nada. O padrão é + colocar na fila. +-appconfig:<file> Especificar um arquivo de configuração de aplicativo + contendo configurações de associações do assembly +-moduleassemblyname:<string> Nome do assembly do qual o módulo fará + parte de +-modulename:<string> Especificar o nome do módulo de origem Visual C# Compiler Options @@ -699,7 +699,7 @@ name shadowing in nested functions - name shadowing in nested functions + sombreamento de nome em funções aninhadas @@ -714,7 +714,7 @@ warning action enable or safeonly - warning action enable or safeonly + ação de aviso enable ou safeonly @@ -819,12 +819,12 @@ Include tag is invalid - Marca include inválida + Tag include inválida No matching elements were found for the following include tag - Nenhum elemento correspondente foi encontrado na seguinte marca include + Nenhum elemento correspondente foi encontrado na seguinte tag include @@ -1254,12 +1254,12 @@ Expected nullable - Expected nullable + Esperado anulável Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + Esperado anulável após #pragma warning safeonly @@ -1619,7 +1619,7 @@ Expected '>' or '/>' to close tag '{0}'. - ">" ou "/>" está faltando para fechar a marca "{0}". + ">" ou "/>" está faltando para fechar a tag "{0}". @@ -1669,17 +1669,17 @@ End tag was not expected at this location. - Marca de fim não era esperada neste local. + Tag de fim não era esperada neste local. End tag '{0}' does not match the start tag '{1}'. - Marca de fim "{0}" não corresponde à marca de início "{1}". + Tag de fim "{0}" não corresponde à tag de início "{1}". Expected an end tag for element '{0}'. - Espera-se uma marca de fim para o elemento "{0}". + Espera-se uma tag de fim para o elemento "{0}". @@ -5297,42 +5297,42 @@ Um bloco catch() depois de um bloco catch (System.Exception e) poderá capturar XML comment has a duplicate param tag for '{0}' - O comentário XML tem uma marca param duplicada para "{0}" + O comentário XML tem uma tag param duplicada para "{0}" XML comment has a duplicate param tag - O comentário XML tem uma marca param duplicada + O comentário XML tem uma tag param duplicada XML comment has a param tag for '{0}', but there is no parameter by that name - Comentário XML tem uma marga param para "{0}", mas não há parâmetro por esse nome + Comentário XML tem uma tag param para "{0}", mas não há parâmetro por esse nome XML comment has a param tag, but there is no parameter by that name - O comentário XML tem uma marca param, mas não há nenhum parâmetro com esse nome + O comentário XML tem uma tag param, mas não há nenhum parâmetro com esse nome XML comment on '{1}' has a paramref tag for '{0}', but there is no parameter by that name - Comentário XML em "{1}" tem uma marca de paramref para "{0}", mas não há parâmetro por esse nome + Comentário XML em "{1}" tem uma tag de paramref para "{0}", mas não há parâmetro por esse nome XML comment has a paramref tag, but there is no parameter by that name - O comentário XML tem uma marca paramref, mas não há nenhum parâmetro com esse nome + O comentário XML tem uma tag paramref, mas não há nenhum parâmetro com esse nome Parameter '{0}' has no matching param tag in the XML comment for '{1}' (but other parameters do) - Parâmetro "{0}" não tem marca param correspondente no comentário XML para "{1}" (mas outros parâmetros têm) + Parâmetro "{0}" não tem tag param correspondente no comentário XML para "{1}" (mas outros parâmetros têm) Parameter has no matching param tag in the XML comment (but other parameters do) - O parâmetro não tem nenhuma marca param correspondente no comentário XML (mas outros parâmetros têm) + O parâmetro não tem nenhuma tag param correspondente no comentário XML (mas outros parâmetros têm) @@ -5647,12 +5647,12 @@ Um bloco catch() depois de um bloco catch (System.Exception e) poderá capturar Expected disable, restore, enable or safeonly - Restauração ou desabilitação esperada + Esperado disable, restore, enable ou safeonly Expected disable, restore, enable or safeonly after #pragma warning - Desabilitação ou restauração esperada após o aviso de #pragma + Esperado disable, restore, enable ou safeonly após #pragma warning @@ -5897,7 +5897,7 @@ Um bloco catch() depois de um bloco catch (System.Exception e) poderá capturar '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - '{0}': o tipo usado em uma instrução using precisa ser implicitamente conversível em 'System.IDisposable'. + '{0}': o tipo usado em uma instrução using deve ser implicitamente conversível em 'System.IDisposable' ou implementar um método 'Dispose' adequado. @@ -6127,42 +6127,42 @@ Um bloco catch() depois de um bloco catch (System.Exception e) poderá capturar XML comment has a duplicate typeparam tag for '{0}' - O comentário XML tem uma marca typeparam duplicada para "{0}" + O comentário XML tem uma tag typeparam duplicada para "{0}" XML comment has a duplicate typeparam tag - O comentário XML tem uma marca typeparam duplicada + O comentário XML tem uma tag typeparam duplicada XML comment has a typeparam tag for '{0}', but there is no type parameter by that name - Comentário XML tem uma marga typeparam para "{0}", mas não há parâmetro de tipo por esse nome + Comentário XML tem uma tag typeparam para "{0}", mas não há parâmetro de tipo por esse nome XML comment has a typeparam tag, but there is no type parameter by that name - O comentário XML tem uma marca typeparam, mas não há nenhum parâmetro com esse nome + O comentário XML tem uma tag typeparam, mas não há nenhum parâmetro com esse nome XML comment on '{1}' has a typeparamref tag for '{0}', but there is no type parameter by that name - Comentário XML em "{1}" tem uma marca de typeparamref para "{0}", mas não há parâmetro de tipo com esse nome + Comentário XML em "{1}" tem uma tag de typeparamref para "{0}", mas não há parâmetro de tipo com esse nome XML comment has a typeparamref tag, but there is no type parameter by that name - O comentário XML tem uma marca typeparamref, mas não há nenhum parâmetro de tipo com esse nome + O comentário XML tem uma tag typeparamref, mas não há nenhum parâmetro de tipo com esse nome Type parameter '{0}' has no matching typeparam tag in the XML comment on '{1}' (but other type parameters do) - Parâmetro de tipo "{0}" não tem marca typeparam correspondente no comentário XML para "{1}" (mas outros parâmetros têm) + Parâmetro de tipo "{0}" não tem tag typeparam correspondente no comentário XML para "{1}" (mas outros parâmetros têm) Type parameter has no matching typeparam tag in the XML comment (but other type parameters do) - O parâmetro de tipo não tem nenhuma marca typeparam correspondente no comentário XML (mas outros parâmetros têm) + O parâmetro de tipo não tem nenhuma tag typeparam correspondente no comentário XML (mas outros parâmetros têm) @@ -8925,7 +8925,7 @@ Para incorporar informações de tipo de interoperabilidade para os dois assembl Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - Branches de um operador ternário de referência não podem se referir a variáveis com escopos de declaração incompatível + Branches de um operador condicional de referência não podem se referir a variáveis com escopos de declaração incompatível @@ -9505,7 +9505,7 @@ Para incorporar informações de tipo de interoperabilidade para os dois assembl '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - '{0}': o tipo usado em uma instrução using assíncrona deve ser implicitamente conversível em 'System.IAsyncDisposable' + '{0}': o tipo usado em uma instrução async using deve ser implicitamente conversível em 'System.IAsyncDisposable' ou implementar um método 'DisposeAsync' adequado. diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf index 770f61513af18..bfea70d157055 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + Недопустимо использовать ссылочный тип "{0}", допускающий значения NULL, в выражении "as". Используйте вместо него базовый тип "{0}". @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + Функция "{0}" сейчас находится на этапе предварительной версии и *является неподдерживаемой*. Для работы с предварительными версиями функций используйте версию языка "preview". @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + Оператор подавления недопустим в данном контексте. @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + Недопустимо использовать ссылочный тип "{0}", допускающий значения NULL, в выражении "is-type". Используйте вместо него базовый тип "{0}". @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + Чтобы возвращать "{1}", метод "{0}" с блоком итератора должен быть асинхронным ("async"). @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - "{0}": тип, используемый в асинхронном операторе using, должен допускать неявное преобразование к типу "System.IAsyncDisposable". Возможно, вы имели в виду "using", а не "await using"? + "{0}": тип, используемый в асинхронном операторе using, должен допускать неявное преобразование в тип "System.IAsyncDisposable" или реализовывать подходящий метод "DisposeAsync". Возможно, вы имели в виду "using", а не "await using"? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - "{0}": тип, используемый в операторе using, должен допускать неявное преобразование к типу "System.IDisposable". Возможно, вы имели в виду "await using", а не "using"? + "{0}": тип, используемый в операторе using, должен допускать неявное преобразование в тип "System.IDisposable" или реализовывать подходящий метод "Dispose". Возможно, вы имели в виду "await using", а не "using"? @@ -504,151 +504,151 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Параметры компилятора Visual C# - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - ВЫХОДНЫЕ ФАЙЛЫ - +-out:<файл> Указывает имя выходного файла (по умолчанию: базовое имя + файла с классом main или имя первого файла) +-target:exe По умолчанию выполняет сборку консольного исполняемого файла (краткая + форма: -t:exe) +-target:winexe Выполняет сборку исполняемого файла Windows (краткая форма: + -t:winexe) +-target:library Выполняет сборку библиотеки (краткая форма: -t:library) +-target:module Выполняет сборку модуля, который может быть добавлен в другую + сборку (краткая форма: -t:module) +-target:appcontainerexe Выполняет сборку исполняемого файла контейнера приложений (краткая форма: + -t:appcontainerexe) +-target:winmdobj Выполняет сборку промежуточного файла среды выполнения Windows, + используемого в WinMDExp (краткая форма: -t:winmdobj) +-doc:<файл> Создаваемый XML-файл документации +-refout:<файл> Создаваемые выходные данные базовой сборки. +-platform:<строка> Ограничить платформы, на которых может выполняться этот код: x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred или + anycpu. Значение по умолчанию — anycpu. - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - ВХОДНЫЕ ФАЙЛЫ - +-recurse:<подстановочный знак> Включить все файлы в текущем каталоге и + подкаталогах в соответствии с заданным + подстановочным знаком +-reference:<псевдоним>=<файл> Ссылаться на метаданные из заданного файла + сборки с помощью определенного псевдонима (краткая форма: -r) +-reference:<список файлов> Ссылаться на метаданные из заданных файлов + сборки (краткая форма: -r) +-addmodule:<список файлов> Скомпоновать указанные модули вместе с этой сборкой +-link:<список файлов> Внедрить метаданные из указанных файлов + сборок взаимодействия (краткая форма: -l) +-analyzer:<список файлов> Запускать анализаторы из этой сборки + (краткая форма: -a) +-additionalfile:<список файлов> Дополнительные файлы, которые не оказывают прямого влияния на создание + кода, но могут использоваться анализаторами для вывода + ошибок или предупреждений. +-embed Внедрить все исходные файлы в PDB. +-embed:<список файлов> Внедрить указанные файлы в PDB. - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - РЕСУРСЫ - +-win32res:<файл> Задает файл ресурсов Win32 (RES-файл) +-win32icon:<файл> Использовать этот значок для вывода. +-win32manifest:<файл> Задает файл манифеста Win32 (XML-файл). +-nowin32manifest Не включать манифест Win32 по умолчанию. +-resource:<ресурс> Внедрить указанный ресурс (краткая форма: -res) +-linkresource:<ресурс> Скомпоновать указанный ресурс вместе с этой сборкой + (краткая форма: -linkres), где данные о ресурсах имеют формат + <файл>[,<имя строки>[,public|private]] - - CODE GENERATION - --debug[+|-] Emit debugging information + - СОЗДАНИЕ КОДА - +-debug[+|-] Выдать отладочную информацию. -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + Задать тип отладки (по умолчанию — "full", + "portable" — кроссплатформенный формат, + "embedded" — кроссплатформенный формат, внедряемый в + целевой DLL- или EXE-файл) +-optimize[+|-] Включить оптимизацию (краткая форма: -o) +-deterministic Создать детерминированную сборку + (включая GUID версии модуля и метку времени) +-refonly Создать базовую сборку вместо основных выходных данных. +-instrument:TestCoverage Создать сборку, инструментированную для сбора + сведений об объеме протестированного кода. +-sourcelink:<файл> Данные о ссылке на исходные файлы для внедрения в PDB. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - ОШИБКИ И ПРЕДУПРЕЖДЕНИЯ - +-warnaserror[+|-] Записывать все предупреждения как ошибки. +-warnaserror[+|-]:<предупреждения> Записывать указанные предупреждения как ошибки. +-warn:<n> Задать уровень генерации предупреждений (0–4) (краткая форма: -w) +-nowarn:<предупреждения> Отключить указанные предупреждения. +-ruleset:<файл> Указать файл набора правил, отключающий определенные + диагностические операции. +-errorlog:<файл> Указать файл для записи всех диагностических данных + компилятора и анализатора. +-reportanalyzer Сообщить дополнительные сведения об анализаторе, например + время выполнения. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + - ЯЗЫК - +-checked[+|-] Создать проверки переполнений. +-unsafe[+|-] Допускать "небезопасный" код. +-define:<список символов> Определить символы условной компиляции (краткая + форма: -d) +-langversion:? Указать допустимые значения для версии языка +-langversion:<строка> Указать языковую версию, например + "default" (последняя основная версия) или + "latest" (последняя версия, включая дополнительные), + или конкретные версии, например 6 или 7.1. +-nullable[+|-] Укажите параметр контекста, допускающий значение NULL enable|disable. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Укажите параметр контекста, допускающий значение NULL enable|disable|safeonly|warnings|safeonlywarnings. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - БЕЗОПАСНОСТЬ - +-delaysign[+|-] Использовать отложенную подпись для сборки, применяя только открытую + часть ключа строгого имени +-publicsign[+|-] Подписать сборку, используя только открытую + часть ключа строгого имени +-keyfile:<файл> Указать файл ключей строгого имени. +-keycontainer:<строка> Указать контейнер ключей строгого имени. +-highentropyva[+|-] Включить ASLR с высокой энтропией. - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - ПРОЧЕЕ - + @<файл> Считать файл ответов с дополнительными параметрами. +-help Отображать это сообщение об использовании (краткая форма: -?) +-nologo Запрещать отображение сообщения компилятора об авторских правах. +-noconfig Не включать файл CSC.RSP автоматически. +-parallel[+|-] Параллельная сборка. +-version Отобразить номер версии компилятора и выйти. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + - ДОПОЛНИТЕЛЬНО - +-baseaddress:<адрес> Базовый адрес библиотеки, для которой выполняется сборка. +-checksumalgorithm:<алгоритм> Задать алгоритм для расчета контрольной суммы + исходного файла, хранимой в формате PDB. Поддерживаемые значения: + SHA1 или SHA256 (по умолчанию). +-codepage:<n> Задать кодовую страницу, используемую при открытии исходных + файлов. +-utf8output Выводить сообщения компилятора в кодировке UTF-8. +-main:<тип> Указать тип, содержащий точку входа + (все другие возможные точки входа игнорируются) (краткая + форма: -m) +-fullpaths Компилятор создает полные пути. +-filealign:<n> Задать выравнивание для разделов выходных + файлов. -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + Задать сопоставление для выходных данных имен исходного пути по + компилятору. +-pdb:<файл> Задать имя файла для отладочной информации (по умолчанию + используется имя выходного файла с расширением PDB) +-errorendlocation Выводить строку и столбец конечного расположения + каждой ошибки. +-preferreduilang Указать имя предпочтительного языка вывода. +-nosdkpath Отключение поиска пути пакета SDK по умолчанию для сборок стандартных библиотек. +-nostdlib[+|-] Не обращаться к стандартной библиотеке (mscorlib.dll). +-subsystemversion:<строка> Задать версию подсистемы этой сборки. +-lib:<список файлов> Задать дополнительные каталоги для поиска + ссылок. +-errorreport:<строка> Указать способ обработки внутренних ошибок компилятора: + prompt, send, queue или none. По умолчанию используется + queue. +-appconfig:<файл> Указать файл конфигурации приложения, + содержащий параметры привязки сборки. +-moduleassemblyname:<строка> Имя сборки, частью которой будет являться + этот модуль. +-modulename:<строка> Задать имя исходного модуля. Visual C# Compiler Options @@ -699,7 +699,7 @@ name shadowing in nested functions - name shadowing in nested functions + скрытие имен во вложенных функциях @@ -714,7 +714,7 @@ warning action enable or safeonly - warning action enable or safeonly + действие warning с enable или safeonly @@ -1254,12 +1254,12 @@ Expected nullable - Expected nullable + Ожидается тип, допускающий значения NULL. Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + После #pragma warning safeonly ожидается тип, допускающий значения NULL. @@ -5222,7 +5222,8 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep Keyword 'void' cannot be used in this context - Использование ключевого слова "void" в этом контексте недопустимо.
 + Использование ключевого слова "void" в этом контексте недопустимо. + @@ -5647,12 +5648,12 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep Expected disable, restore, enable or safeonly - Требуется disable или restore + Ожидается disable, restore, enable или safeonly. Expected disable, restore, enable or safeonly after #pragma warning - После предупреждения #pragma ожидается отключение или восстановление + После #pragma warning ожидается disable, restore, enable или safeonly. @@ -5897,7 +5898,7 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - "{0}": тип, использованный в операторе using, должен иметь неявное преобразование в "System.IDisposable". + "{0}": тип, используемый в операторе using, должен допускать неявное преобразование в тип "System.IDisposable" или реализовывать подходящий метод "Dispose". @@ -7487,7 +7488,8 @@ You should consider suppressing the warning only if you're sure that you don't w An expression tree may not contain a dynamic operation - Дерево выражения не может содержать динамическую операцию.
 + Дерево выражения не может содержать динамическую операцию. + @@ -8925,7 +8927,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - Ветви ссылочного тернарного оператора не могут ссылаться на переменные с несовместимыми областями объявления. + Ветви ссылочного условного оператора не могут ссылаться на переменные с несовместимыми областями объявления. @@ -9505,7 +9507,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' + "{0}": тип, используемый в асинхронном операторе using, должен допускать неявное преобразование в тип "System.IAsyncDisposable" или реализовывать подходящий метод "DisposeAsync". diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf index 9fcfc34450def..4825f9b90e2b1 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + Boş değer atanabilir '{0}?' başvuru türünün bir as ifadesinde kullanılması yasaktır; bunun yerine temel alınan '{0}' türünü kullanın. @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + '{0}' özelliği şu anda Önizleme aşamasındadır ve *desteklenmemektedir*. Önizleme özelliklerini kullanmak için 'önizleme' dil sürümünü kullanın. @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + Gizleme işlecine bu bağlamda izin verilmez @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + Boş değer atanabilir '{0}?' başvuru türünün bir is-type ifadesinde kullanılması yasaktır; bunun yerine temel alınan '{0}' türünü kullanın. @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + Yineleyici bloku olan '{0}' yönteminin '{1}' döndürmek için 'zaman uyumsuz' olması gerekir @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - '{0}': Zaman uyumsuz bir using deyiminde kullanılan tür örtük olarak 'System.IAsyncDisposable' arabirimine dönüştürebilir olmalıdır. 'await using' yerine 'using' mi kullanmak istediniz? + '{0}': Zaman uyumsuz bir using deyiminde kullanılan tür örtük olarak 'System.IAsyncDisposable' arabirimine dönüştürebilir olmalı veya uygun bir 'DisposeAsync' yöntemi uygulamalıdır. 'await using' yerine 'using' mi kullanmak istediniz? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - '{0}': Bir using deyiminde kullanılan tür örtük olarak 'System.IDisposable' arabirimine dönüştürebilir olmalıdır. 'using' yerine 'await using' mi kullanmak istediniz? + '{0}': Bir using deyiminde kullanılan tür örtük olarak 'System.IDisposable' arabirimine dönüştürebilir olmalı veya uygun bir 'Dispose' yöntemi uygulamalıdır. 'using' yerine 'await using' mi kullanmak istediniz? @@ -504,151 +504,152 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Visual C# Derleyici Seçenekleri - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - ÇIKIŞ DOSYALARI - +-out:<file> Çıkış dosyası adı belirtin (varsayılan: ana sınıfı + içeren dosyanın veya ilk dosyanın temel adı) +-target:exe Çalıştırılabilir konsol dosyası oluştur (varsayılan) (Kısa + biçim: -t:exe) +-target:winexe Windows yürütülebilir dosyası oluştur (Kısa biçim: + -t:winexe) +-target:library Kitaplık oluştur (Kısa biçim: -t:library) +-target:module Başka bir derlemeye eklenebilir bir modül + oluştur (Kısa biçim: -t:module) +-target:appcontainerexe Bir Appcontainer yürütülebilir dosyası oluştur (Kısa biçim: + -t:appcontainerexe) +-target:winmdobj WinMDExp tarafından kullanılan bir + Windows Çalışma Zamanı ara dosyası oluştur (Kısa biçim: -t:winmdobj) +-doc:<file> Oluşturulacak XML Belgeleri dosyası +-refout:<file> Oluşturulacak başvuru derlemesi çıkışı +-platform:<string> Bu kodun üstünde çalışacağı platformları sınırlar: x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred, or + anycpu. Varsayılan anycpu. - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - GİRİŞ DOSYALARI - +-recurse:<wildcard> Geçerli dizindeki ve + alt dizinlerdeki tüm dosyaları joker karakteri + belirtimlerine göre ekle +-reference:<alias>=<file> Verilen diğer adı kullanarak belirtilen + derlemedeki meta verilere başvur (Kısa biçim: -r) +-reference:<file list> Belirtilen derleme dosyasındaki meta verilere + başvur (Kısa biçim: -r) +-addmodule:<file list> Belirtilen modülleri bu derlemeye bağla +-link:<file list> Belirtilen birlikte çalışma derleme dosyalarından + meta veri ekleyin (Kısa biçim: -l) +-analyzer:<file list> Çözümleyicileri bu derlemeden çalıştır + (Kısa biçim: -a) +-additionalfile:<file list> Kod oluşumunu doğrudan etkilemeyen ama çözümleyiciler + tarafından hata veya uyarı oluşturmada + kullanılabilen ek dosyalar. +-embed Tüm kaynak dosyalarını PDB'ye ekle. +-embed:<file list> Belirli dosyaları PDB'ye ekle - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - KAYNAKLAR - +-win32res:<file> Bir Win32 kaynak dosyası (.res) belirt +-win32icon:<file> Çıkış için bu simgeyi kullan +-win32manifest:<file> Bir Win32 bildirim dosyası (.xml) belirt +-nowin32manifest Varsayılan Win32 bildirimini dahil etme +-resource:<resinfo> Belirtilen kaynağı ekle (Kısa biçim: -res) +-linkresource:<resinfo> Belirtilen kaynağı bu bütünleştirilmiş koda bağla + (Kısa biçim: -linkres) Kaynak bilgisi biçimi: + <file>[,<string name>[,public|private]] - - CODE GENERATION - --debug[+|-] Emit debugging information + - KOD OLUŞTURMA - +-debug[+|-] Hata ayıklama bilgilerini yayımla -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + Hata ayıklama türünü belirt (varsayılan: 'full', + 'portable' platformlar arası bir biçim, + 'embedded' hedef .dll veya .exe dosyasına + eklenmiş platformlar arası bir biçim +-optimize[+|-] İyileştirmeleri etkinleştir (Kısa biçim: -o) +-deterministic Belirlenimci bir bütünleştirilmiş kod oluştur + (modül sürümü GUID'i ve zaman damgası dahil) +-refonly Ana çıkışın yerine başvuru derlemesi oluştur +-instrument:TestCoverage Kapsam bilgilerini toplamak üzere + işaretlenen bir bütünleştirilmiş kod üret +-sourcelink:<file> PDB'ye eklenecek kaynak bağlantı bilgisi. - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - HATALAR VE UYARILAR - +-warnaserror[+|-] Tüm uyarıları hata olarak bildir +-warnaserror[+|-]:<warn list> Belirli uyarıları hata olarak bildir +-warn:<n> Uyarı düzeyi ayarla (0-4) (Kısa biçim: -w) +-nowarn:<warn list> Belirli uyarı iletilerini devre dışı bırak +-ruleset:<file> Belirli tanılamaları devre dışı bırakan bir + kural kümesi dosyası belirt. +-errorlog:<file> Bütün derleyici ve çözümleyici tanılamalarını günlüğe kaydetmek için + bir dosya belirt. +-reportanalyzer Yürütme zamanı gibi ek yürütme + bilgilerini bildir. - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + - DİL - +-checked[+|-] Taşma denetimleri oluştur +-unsafe[+|-] 'Unsafe' koda izin ver +-define:<symbol list> Koşullu derleme sembolleri tanımla (Kısa + biçim: -d) +-langversion:? Dil sürümü için izin verilen değerleri görüntüle +-langversion:<string> Dil sürümünü belirt. Örneğin: + `default` (en son birincil sürüm), or + `latest` (daha küçük sürümleri de içeren en son sürüm), + veya `6` ya da `7.1` gibi belirli sürümler +-nullable[+|-] Boş değer atanabilir bağlam seçeneğini belirtin enable|disable. -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + Boş değer atanabilir bağlam seçeneğini belirtin enable|disable|safeonly|warnings|safeonlywarnings. - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - GÜVENLİK - +-delaysign[+|-] Derlemeyi kesin ad anahtarının yalnızca ortak + kısmını kullanarak gecikmeli imzala +-publicsign[+|-] Bütünleştirilmiş kodu, güçlü adlı anahtarın yalnızca genel + kısmını kullanarak genel olarak imzala +-keyfile:<file> Güçlü ad anahtarı dosyası belirt +-keycontainer:<string> Güçlü ad anahtarı kapsayıcısı belirt +-highentropyva[+|-] Yüksek entropili ASLR'yi etkinleştir - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - DİĞER - + @<file> Daha fazla seçenek için yanıt dosyasını okuyun +-help Bu kullanım iletisini görüntüle (Kısa biçim: -?) +-nologo Derleyici telif hakkı iletisini gösterme +-noconfig CSC.RSP dosyasını otomatik olarak dahil etme +-parallel[+|-] Eşzamanlı derleme. +-version Derleyici sürüm numarasını görüntüle ve çık. - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + - GELİŞMİŞ - +-baseaddress:<address> Derlenecek kitaplığın temel adresi +-checksumalgorithm:<alg> PDB'de depolanan kaynak dosya sağlama toplamını + hesaplama algoritmasını belirtin. Desteklenen değerler: + SHA1 or SHA256 (varsayılan). +-codepage:<n> Kaynak dosyalarını açarken kullanılacak kod sayfasını + belirtin +-utf8output Derleyici iletilerini UTF-8 ana kodlamasında +-görüntüle:<type> Giriş noktasını içeren türü belirtin + (diğer tüm olası girdi noktalarını yoksayar) (Kısa + biçim: -m) +-fullpaths Derleyici, tamamen nitelikli yollar oluşturur +-filealign:<n> Çıkış dosyası bölümleri için kullanılan hizalamayı + belirtin -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + Derleyici tarafından gösterilen kaynak yolu adları için bir eşleme + belirtin. +-pdb:<file> Hata ayıklama bilgileri dosyasının adını belirtin (varsayılan: + .pdb uzantılı çıkış dosyası adı) +-errorendlocation Her hatanın bitiş konumunun satır ve sütununu + göster +-preferreduilang Tercih edilen çıkış dilini belirtin. +-nosdkpath Standart kitaplık bütünleştirilmiş kodlarında varsayılan SDK yolunu + aramayı devre dışı bırakın. +-nostdlib[+|-] Standard kitaplığa (mscorlib.dll) başvurma +-subsystemversion:<string> Bu bütünleştirilmiş kodun alt sistem sürümünü belirtin +-lib:<file list> İçinde başvuruların aranacağı ek dizinleri + belirtin +-errorreport:<string> İç derleyici hatalarının nasıl işleneceğini belirtin: + prompt, send, queue veya none. Varsayılan: + queue. +-appconfig:<file> Bütünleştirilmiş kod bağlama ayarlarını içeren bir uygulama + yapılandırma dosyası belirtin +-moduleassemblyname:<string> Bu modülün parçası olacağı bütünleştirilmiş kodun + adı +-modulename:<string> Kaynak modülün adını belirtin Visual C# Compiler Options @@ -699,7 +700,7 @@ name shadowing in nested functions - name shadowing in nested functions + iç içe işlevlerde ad gölgeleme @@ -714,7 +715,7 @@ warning action enable or safeonly - warning action enable or safeonly + enable veya safeonly uyarı eylemi @@ -1254,12 +1255,12 @@ Expected nullable - Expected nullable + Boş değer atanabilir beklendi Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + #pragma uyarısı safeonly sonrasında boş değer atanabilir beklendi @@ -5647,12 +5648,12 @@ RuntimeCompatibilityAttribute AssemblyInfo.cs dosyasında false olarak ayarlanm Expected disable, restore, enable or safeonly - Disable veya restore bekleniyor + Disable, restore, enable veya safeonly beklendi Expected disable, restore, enable or safeonly after #pragma warning - #pragma uyarısından sonra beklenen devre dışı bırakma veya geri yükleme + #pragma uyarısından sonra disable, restore, enable veya safeonly beklendi @@ -5897,7 +5898,7 @@ RuntimeCompatibilityAttribute AssemblyInfo.cs dosyasında false olarak ayarlanm '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - '{0}': bir using deyiminde kullanılan tür açıkça 'System.IDisposable' öğesine dönüştürülebilir olmalıdır. + '{0}': Bir using deyiminde kullanılan tür örtük olarak 'System.IDisposable' arabirimine dönüştürebilir olmalı veya uygun bir 'Dispose' yöntemi uygulamalıdır. @@ -8925,7 +8926,7 @@ Uyarıyı kaldırmak için, /reference kullanabilirsiniz (Birlikte Çalışma T Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - Başvuru üçlü operatörünün dalları, bildirim kapsamı uyumsuz olan değişkenlere başvuruda bulunamaz + Başvuru koşullu işlecinin dalları, bildirim kapsamı uyumsuz olan değişkenlere başvuruda bulunamaz @@ -9505,7 +9506,7 @@ Uyarıyı kaldırmak için, /reference kullanabilirsiniz (Birlikte Çalışma T '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - '{0}': zaman uyumsuz bir using deyiminde kullanılan tür açıkça 'System.IAsyncDisposable' arabirimine dönüştürülebilir olmalıdır + '{0}': Bir async using deyiminde kullanılan tür örtük olarak 'System.IAsyncDisposable' arabirimine dönüştürebilir olmalı veya uygun bir 'DisposeAsync' yöntemi uygulamalıdır. diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf index 864e54c917bdc..63cf355c04ce4 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + 在 as 表达式中使用可以为 null 的引用类型“{0}?”是非法的;请改用基础类型“{0}”。 @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + 功能“{0}”当前为预览版且*不受支持*。要使用预览版功能,请使用“预览”语言版本。 @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + 此上下文中不允许使用抑制运算符 @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + 在 is-type 表达式中使用可以为 null 的引用类型“{0}?”是非法的;请改用基础类型“{0}”。 @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + 具有迭代器块的方法“{0}”必须是“异步的”,这样才能返回“{1}” @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - “{0}”: 异步 using 语句中使用的类型必须可隐式转换为 "System.IAsyncDisposable"。是否希望使用 "using" 而非 "await using"? + “{0}”: 异步 using 语句中使用的类型必须可隐式转换为 "System.IAsyncDisposable" 或实现适用的 "DisposeAsync" 方法。是否希望使用 "using" 而非 "await using"? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - “{0}”: using 语句中使用的类型必须可隐式转换为 "System.IDisposable"。是否希望使用 "await using" 而非 "using"? + “{0}”: using 语句中使用的类型必须可隐式转换为 "System.IDisposable" 或实现适用的 "Dispose" 方法。是否希望使用 "await using" 而非 "using"? @@ -357,8071 +357,8072 @@ 文件名“{0}”为空、包含无效字符、未使用绝对路径指定驱动器或太长 - - disposable - 可处置的 - - - - alternative interpolated verbatim strings - 可选择的内插逐字字符串 - - - - coalescing assignment - 合并赋值 - - - - delegate generic type constraints - 委托泛型类型约束 - - - - enum generic type constraints - 枚举泛型类型约束 - - - - declaration of expression variables in member initializers and queries - 成员初始值设定项和查询中的表达式变量声明 - - - - extensible fixed statement - 可扩展 fixed 语句 - - - - index operator - 索引运算符 - - - - indexing movable fixed buffers - 正在编制可移动固定缓冲区的索引 - - - - name shadowing in nested functions - name shadowing in nested functions - - - - nullable reference types - 可为 null 的引用类型 - - - - object generic type constraint - 对象泛型类型约束 - - - - warning action enable or safeonly - warning action enable or safeonly - - - - range operator - 范围运算符 - - - - recursive patterns - 递归模式 - - - - ref conditional expression - ref 条件表达式 - - - - ref for-loop variables - ref for 循环变量 - - - - ref foreach iteration variables - ref foreach 迭代变量 - - - - ref reassignment - ref 赋值 - - - - stackalloc initializer - stackalloc 初始值设定项 - - - - static local functions - 静态本地函数 - - - - tuple equality - 元组相等 - - - - unconstrained type parameters in null coalescing operator - 合并运算符中的无约束类型参数 - - - - unmanaged constructed types - unmanaged constructed types - - - - unmanaged generic type constraints - 非托管泛型类型约束 - - - - using declarations - Using 声明 - - - - <null> - <null> - - - - <throw expression> - <throw 表达式> - - - - (Location of symbol related to previous error) - (与前一个错误相关的符号位置) - - - - (Location of symbol related to previous warning) - (与前一个警告相关的符号位置) - - - - <!-- Badly formed XML comment ignored for member "{0}" --> - <!-- 对于成员“{0}”忽略有格式错误的 XML 注释 --> - - - - Badly formed XML file "{0}" cannot be included - 无法包括格式错误的 XML 文件“{0}” - - - - Failed to insert some or all of included XML - 未能插入某些或全部所包含的 XML - - - - Include tag is invalid - 包含标记无效 - - - - No matching elements were found for the following include tag - 未找到下列包含标记的匹配元素 - - - - Missing file attribute - 缺少文件特性 - - - - Missing path attribute - 缺少路径特性 - - - - <global namespace> - <全局命名空间> - - - - generics - 泛型 - - - - anonymous methods - 匿名方法 - - - - module as an attribute target specifier - 作为特性目标说明符的模块 - - - - namespace alias qualifier - 命名空间别名限定符 - - - - fixed size buffers - 固定大小缓冲区 - - - - #pragma - #pragma - - - - static classes - 静态类 - - - - readonly structs - 只读结构 - - - - partial types - 分部类型 - - - - async function - 异步函数 - - - - switch on boolean type - 启用布尔值类型 - - - - method group - 方法组 - - - - anonymous method - 匿名方法 - - - - lambda expression - lambda 表达式 - - - - collection - 集合 - - - - access modifiers on properties - 属性的访问修饰符 - - - - extern alias - 外部别名 - - - - iterators - 迭代器 - - - - default operator - 默认运算符 - - - - default literal - 默认文本 - - - - private protected - private protected - - - - nullable types - 可以为 null 的类型 - - - - pattern matching - 模式匹配 - - - - expression body property accessor - 表达式主体属性访问器 - - - - expression body constructor and destructor - 表达式主体构造函数和析构函数 - - - - throw expression - throw 表达式 - - - - implicitly typed array - 隐式类型的数组 - - - - implicitly typed local variable - 隐式类型的局部变量 - - - - anonymous types - 匿名类型 - - - - automatically implemented properties - 自动实现的属性 - - - - readonly automatically implemented properties - 自动实现 readonly 的属性 - - - - object initializer - 对象初始值设定项 - - - - collection initializer - 集合初始值设定项 - - - - query expression - 查询表达式 - - - - extension method - 扩展方法 - - - - partial method - 分部方法 - - - - method - 方法 - - - - type - 类型 - - - - namespace - 命名空间 - - - - field - 字段 - - - - property - 属性 - - - - element - 元素 - - - - variable - 变量 - - - - label - 标签 - - - - event - 事件 - - - - type parameter - 类型形参 - - - - using alias - using 别名 - - - - extern alias - 外部别名 - - - - constructor - 构造函数 - - - - foreach iteration variable - foreach 迭代变量 - - - - fixed variable - 固定变量 - - - - using variable - using 变量 - - - - contravariant - 逆变 - - - - contravariantly - 逆变式 - - - - covariant - 协变 - - - - covariantly - 协变式 - - - - invariantly - 固定式 - - - - dynamic - 动态 - - - - named argument - 命名参数 - - - - optional parameter - 可选参数 - - - - exception filter - 异常筛选器 - - - - type variance - 类型方差 - - - - SyntaxTree is not part of the compilation - 编译中不包含 SyntaxTree - - - - SyntaxTree is not part of the compilation, so it cannot be removed - 编译中不包含 SyntaxTree,因此无法将其删除 - - - - The 'as' operator may produce a null value when '{0}' is a non-nullable reference type. - The 'as' operator may produce a null value when '{0}' is a non-nullable reference type. - - - - The 'as' operator may produce a null value for a type parameter. - The 'as' operator may produce a null value for a type parameter. - - - - The name '_' refers to the constant, not the discard pattern. Use 'var _' to discard the value, or '@_' to refer to a constant by that name. - 名称 "_" 引用常量,而不引用放弃模式。请使用 "var _" 放弃该值,或使用 "@_" 来引用该名称的常量。 - - - - Do not use '_' for a case constant. - 不要对大小写常量使用 "_"。 - - - - Conditional access may produce a null value when '{0}' is a non-nullable reference type. - Conditional access may produce a null value when '{0}' is a non-nullable reference type. - - - - Conditional access may produce a null value for a type parameter. - Conditional access may produce a null value for a type parameter. - - - - Converting null literal or possible null value to non-nullable type. - 将 null 文本或可能的 null 值转换为非 null 类型。 - - - - Converting null literal or possible null value to non-nullable type. - 将 null 文本或可能的 null 值转换为非 null 类型。 - - - - A default expression introduces a null value when '{0}' is a non-nullable reference type. - A default expression introduces a null value when '{0}' is a non-nullable reference type. - - - - A default expression introduces a null value for a type parameter. - A default expression introduces a null value for a type parameter. - - - - 'default' is converted to 'null', not 'default({0})' - “default” 被转换为 “null” 而非“default({0})” - - - - 'default' is converted to 'null' - “default” 被转换为 “null” - - - - '{0}' is already listed in the interface list on type '{1}' with different nullability of reference types. - “{0}”已列入类型“{1}”的接口列表中,其中包含不同引用类型的 Null 性。 - - - - Interface is already listed in the interface list with different nullability of reference types. - 接口已在接口列表中列出,引用类型具有不同的 Null 性。 - - - - The given expression always matches the provided constant. - 给定的表达式始终与提供的常量匹配。 - - - - The given expression always matches the provided constant. - 给定的表达式始终与提供的常量匹配。 - - - - The given expression never matches the provided pattern. - 给定的表达式永远不会与提供的模式匹配。 - - - - The given expression never matches the provided pattern. - 给定的表达式永远不会与提供的模式匹配。 - - - - Expected nullable - Expected nullable - - - - Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly - - - - The name '_' refers to the type '{0}', not the discard pattern. Use '@_' for the type, or 'var _' to discard. - 名称 "_" 引用类型“{0}”,而不引用放弃模式。对于类型,请使用 "@_";对于弃用,请使用 "var _"。 - - - - Do not use '_' to refer to the type in an is-type expression. - 请勿使用 "_" 引用 is-type 表达式中的类型。 - - - - The annotation for nullable reference types should only be used in code within a '#nullable' context. - 应仅在 “#nullable” 上下文中的代码中使用可为 null 的引用类型的注释。 - - - - The annotation for nullable reference types should only be used in code within a '#nullable' context. - 应仅在 “#nullable” 上下文中的代码中使用可为 null 的引用类型的注释。 - - - - Cannot convert null literal to non-nullable reference type. - 无法将 null 文本转换为非 null 引用或无约束类型参数。 - - - - Cannot convert null literal to non-nullable reference type. - 无法将 null 文本转换为非 null 引用或无约束类型参数。 - - - - A null literal introduces a null value when '{0}' is a non-nullable reference type. - A null literal introduces a null value when '{0}' is a non-nullable reference type. - - - - A null literal introduces a null value for a type parameter. - A null literal introduces a null value for a type parameter. - - - - Possible null reference argument for parameter '{0}' in '{1}'. - “{1}”中“{0}”形参的可能的 null 引用实参。 - - - - Possible null reference argument. - 可能的 null 引用参数。 - - - - Possible null reference assignment. - 可能的 null 引用赋值。 - - - - Possible null reference assignment. - 可能的 null 引用赋值。 - - - - Possible dereference of a null reference. - null 引用可能的取消引用。 - - - - Possible dereference of a null reference. - null 引用可能的取消引用。 - - - - Possible null reference return. - 可能的 null 引用返回。 - - - - Possible null reference return. - 可能的 null 引用返回。 - - - - Argument of type '{0}' cannot be used for parameter '{2}' of type '{1}' in '{3}' due to differences in the nullability of reference types. - 类型“{0}”的实参中引用类型的为 Null 性与“{3}”中形参“{2}”的目标类型“{1}”不匹配。 - - - - Argument of type '{0}' cannot be used as an output of type '{1}' for parameter '{2}' in '{3}' due to differences in the nullability of reference types. - Argument of type '{0}' cannot be used as an output of type '{1}' for parameter '{2}' in '{3}' due to differences in the nullability of reference types. - - - - Argument cannot be used as an output for parameter due to differences in the nullability of reference types. - Argument cannot be used as an output for parameter due to differences in the nullability of reference types. - - - - Argument cannot be used for parameter due to differences in the nullability of reference types. - 参数中的引用类型的为 Null 性与目标类型不匹配。 - - - - Nullability of reference types in value of type '{0}' doesn't match target type '{1}'. - 类型“{0}”的值中引用类型的为 Null 性与目标类型“{1}”不匹配。 - - - - Nullability of reference types in value doesn't match target type. - 值中的引用类型的为 Null 性与目标类型不匹配。 - - - - Nullability in constraints for type parameter '{0}' of method '{1}' doesn't match the constraints for type parameter '{2}' of interface method '{3}'. Consider using an explicit interface implementation instead. - 方法“{1}”的类型参数“{0}”的约束中的为 Null 性与接口方法“{3}”的类型参数“{2}”的约束不匹配。请考虑改用显式接口实现。 - - - - Nullability in constraints for type parameter doesn't match the constraints for type parameter in implicitly implemented interface method'. - 类型参数的约束中的为 Null 性与隐式实现接口方法中的类型参数的约束不匹配。 - + + + Visual C# Compiler Options + + - OUTPUT FILES - +-out:<file> Specify output file name (default: base name of + file with main class or first file) +-target:exe Build a console executable (default) (Short + form: -t:exe) +-target:winexe Build a Windows executable (Short form: + -t:winexe) +-target:library Build a library (Short form: -t:library) +-target:module Build a module that can be added to another + assembly (Short form: -t:module) +-target:appcontainerexe Build an Appcontainer executable (Short form: + -t:appcontainerexe) +-target:winmdobj Build a Windows Runtime intermediate file that + is consumed by WinMDExp (Short form: -t:winmdobj) +-doc:<file> XML Documentation file to generate +-refout:<file> Reference assembly output to generate +-platform:<string> Limit which platforms this code can run on: x86, + Itanium, x64, arm, arm64, anycpu32bitpreferred, or + anycpu. The default is anycpu. + + - INPUT FILES - +-recurse:<wildcard> Include all files in the current directory and + subdirectories according to the wildcard + specifications +-reference:<alias>=<file> Reference metadata from the specified assembly + file using the given alias (Short form: -r) +-reference:<file list> Reference metadata from the specified assembly + files (Short form: -r) +-addmodule:<file list> Link the specified modules into this assembly +-link:<file list> Embed metadata from the specified interop + assembly files (Short form: -l) +-analyzer:<file list> Run the analyzers from this assembly + (Short form: -a) +-additionalfile:<file list> Additional files that don't directly affect code + generation but may be used by analyzers for producing + errors or warnings. +-embed Embed all source files in the PDB. +-embed:<file list> Embed specific files in the PDB. + + - RESOURCES - +-win32res:<file> Specify a Win32 resource file (.res) +-win32icon:<file> Use this icon for the output +-win32manifest:<file> Specify a Win32 manifest file (.xml) +-nowin32manifest Do not include the default Win32 manifest +-resource:<resinfo> Embed the specified resource (Short form: -res) +-linkresource:<resinfo> Link the specified resource to this assembly + (Short form: -linkres) Where the resinfo format + is <file>[,<string name>[,public|private]] + + - CODE GENERATION - +-debug[+|-] Emit debugging information +-debug:{full|pdbonly|portable|embedded} + Specify debugging type ('full' is default, + 'portable' is a cross-platform format, + 'embedded' is a cross-platform format embedded into + the target .dll or .exe) +-optimize[+|-] Enable optimizations (Short form: -o) +-deterministic Produce a deterministic assembly + (including module version GUID and timestamp) +-refonly Produce a reference assembly in place of the main output +-instrument:TestCoverage Produce an assembly instrumented to collect + coverage information +-sourcelink:<file> Source link info to embed into PDB. + + - ERRORS AND WARNINGS - +-warnaserror[+|-] Report all warnings as errors +-warnaserror[+|-]:<warn list> Report specific warnings as errors +-warn:<n> Set warning level (0-4) (Short form: -w) +-nowarn:<warn list> Disable specific warning messages +-ruleset:<file> Specify a ruleset file that disables specific + diagnostics. +-errorlog:<file> Specify a file to log all compiler and analyzer + diagnostics. +-reportanalyzer Report additional analyzer information, such as + execution time. + + - LANGUAGE - +-checked[+|-] Generate overflow checks +-unsafe[+|-] Allow 'unsafe' code +-define:<symbol list> Define conditional compilation symbol(s) (Short + form: -d) +-langversion:? Display the allowed values for language version +-langversion:<string> Specify language version such as + `default` (latest major version), or + `latest` (latest version, including minor versions), + or specific versions like `6` or `7.1` +-nullable[+|-] Specify nullable context option enable|disable. +-nullable:{enable|disable|safeonly|warnings|safeonlywarnings} + Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + + - SECURITY - +-delaysign[+|-] Delay-sign the assembly using only the public + portion of the strong name key +-publicsign[+|-] Public-sign the assembly using only the public + portion of the strong name key +-keyfile:<file> Specify a strong name key file +-keycontainer:<string> Specify a strong name key container +-highentropyva[+|-] Enable high-entropy ASLR + + - MISCELLANEOUS - +@<file> Read response file for more options +-help Display this usage message (Short form: -?) +-nologo Suppress compiler copyright message +-noconfig Do not auto include CSC.RSP file +-parallel[+|-] Concurrent build. +-version Display the compiler version number and exit. + + - ADVANCED - +-baseaddress:<address> Base address for the library to be built +-checksumalgorithm:<alg> Specify algorithm for calculating source file + checksum stored in PDB. Supported values are: + SHA1 or SHA256 (default). +-codepage:<n> Specify the codepage to use when opening source + files +-utf8output Output compiler messages in UTF-8 encoding +-main:<type> Specify the type that contains the entry point + (ignore all other possible entry points) (Short + form: -m) +-fullpaths Compiler generates fully qualified paths +-filealign:<n> Specify the alignment used for output file + sections +-pathmap:<K1>=<V1>,<K2>=<V2>,... + Specify a mapping for source path names output by + the compiler. +-pdb:<file> Specify debug information file name (default: + output file name with .pdb extension) +-errorendlocation Output line and column of the end location of + each error +-preferreduilang Specify the preferred output language name. +-nosdkpath Disable searching the default SDK path for standard library assemblies. +-nostdlib[+|-] Do not reference standard library (mscorlib.dll) +-subsystemversion:<string> Specify subsystem version of this assembly +-lib:<file list> Specify additional directories to search in for + references +-errorreport:<string> Specify how to handle internal compiler errors: + prompt, send, queue, or none. The default is + queue. +-appconfig:<file> Specify an application configuration file + containing assembly binding settings +-moduleassemblyname:<string> Name of the assembly which this module will be + a part of +-modulename:<string> Specify the name of the source module + + + Visual C# 编译器选项 + + - 输出文件 - +-out:<file> 指定输出文件名称(默认: 具有主类的文件或 + 第一个文件的基名称) +-target:exe 生成控制台可执行文件(默认)(缩 + 写: -t:exe) +-target:winexe 生成 Windows 可执行文件(缩写: + -t:winexe) +-target:library 生成库(缩写: -t:library) +-target:module 生成可添加到另一个程序集的 + 模块(缩写: -t:module) +-target:appcontainerexe 生成 Appcontainer 可执行文件(缩写: + -t:appcontainerexe) +-target:winmdobj 生成 WinMDExp 使用的 + Windows 运行时中间文件(缩写: -t:winmdobj) +-doc:<file> 要生成的 XML 文档文件 +-refout:<file> 要生成的引用程序集输出 +-platform:<string> 限制此代码可以在其上运行的平台: x86、 + Itanium、x64、arm、arm64、anycpu32bitpreferred 或 + anycpu。默认平台为 anycpu。 + + - 输入文件 - +-recurse:<wildcard> 根据通配符规范包括当前目录和 + 子目录中的所有 + 文件 +-reference:<alias >=<file> 使用给定别名从指定程序集 + 引用元数据(缩写: -r) +-reference:<file list> 从指定程序集文件引用 + 元数据(缩写: -r) +-addmodule:<file list> 将指定模块链接到此程序集中 +-link:<file list> 嵌入指定互操作程序集文件中的 + 元数据(缩写: -l) +-analyzer:<file list> 运行此程序集中的分析器 + (缩写: -a) +-additionalfile:<file list> 不会直接影响代码生成 + 但可能被分析器用于生成 + 错误或警告的其他文件。 +-embed 嵌入 PDB 中的所有源文件。 +-embed:<file list> 嵌入 PDB 中的特定文件 + + - 资源 - +-win32res:<file> 指定 Win32 资源文件(.res) +-win32icon:<file> 使用此图标输出 +-win32manifest:<file> 指定 Win32 清单文件(.xml) +-nowin32manifest 不包括默认的 Win32 清单 +-resource:<resinfo> 嵌入指定资源(缩写: -res) +-linkresource:<resinfo> 将指定资源链接到此程序集 + (缩写: -linkres)其中 resinfo 的格式 + 是 <文件>[,<字符串名称>[,public|private]] + + - 代码生成 - +-debug[+|-] 发出调试信息 +-debug:{full|pdbonly|portable|embedded} + 指定调试类型(默认为 "full", + "portable" 为跨平台格式, + "embedded" 为嵌入目标 .dll 或 .exe 的 + 跨平台格式) +-optimize[+|-] 启用优化(缩写: -o) +-deterministic 生成确定性的程序集 + (包括模块版本 GUID 和时间戳) +-refonly 生成引用程序集来替换主要输出 +-instrument:TestCoverage 生成对其检测以收集覆盖率信息的 + 程序集 +-sourcelink:<file> 要嵌入到 PDB 中的源链接信息。 + + - 错误和警告 - +-warnaserror[+|-] 将所有警告报告为错误 +-warnaserror[+|-]:<warn list> 将特定警告报告为错误 +-warn:<n> 设置警告级别(0-4)(缩写: -w) +-nowarn:<warn list> 禁用特定警告消息 +-ruleset:<file> 指定禁用特定诊断的 + 规则集文件。 +-errorlog:<file> 指定用于记录所有编译器和分析器诊断的 + 文件。 +-reportanalyzer 报告其他分析器信息,如 + 执行时间。 + + - 语言 - +-checked[+|-] 生成溢出检查 +-unsafe[+|-] 允许 "unsafe" 代码 +-define:<symbol list> 定义条件编译符号(缩 + 写: -d) +-langversion:? 显示允许的语言版本值 +-langversion:<string> 指定语言版本,如 + “default” (最新主要版本)、 + “latest” (最新版本,包括次要版本) + 或 “6”、”7.1”等特定版本 +-nullable[+|-] 指定可为 null 的上下文选项 enable|disable。 +-nullable:{enable|disable|safeonly|warnings|safeonlywarnings} + 指定可为 null 的上下文选项 enable|disable|safeonly|warnings|safeonlywarnings。 + + + - 安全 - +-delaysign[+|-] 仅使用强名称密钥的公共部分对程序集 + 进行延迟签名 +-publicsign[+|-] 仅使用强名称密钥的公共部分对程序集 + 进行公共签名 +-keyfile:<file> 指定强名称密钥文件 +-keycontainer:<string> 指定强名称密钥容器 +-highentropyva[+|-] 启用高平均信息量 ASLR + + - 杂项 - + @<file> 读取响应文件以获取更多选项 +-help 显示此用法消息(缩写: -?) +-nologo 取消显示编译器版权消息 +-noconfig 不自动包括 CSC.RSP 文件 +-parallel[+|-] 并发生成。 +-version 显示编译器版本号并退出。 + + - 高级 - +-baseaddress:<address> 要生成的库的基址 +-checksumalgorithm:<alg> 指定计算存储在 PDB 中的源文件 + 校验和的算法。支持的值是: + SHA1 或 SHA256 (默认)。 +-codepage:<n> 指定打开源文件时要使用的 + 代码页 +-utf8output 以 UTF-8 编码格式输出编译器消息 +-main:<type> 指定包含入口点的类型 + (忽略所有其他可能的入口点)(缩 + 写: -m) +-fullpaths 编译器生成完全限定路径 +-filealign:<n> 指定用于输出文件节的 + 对齐方式 +-pathmap:<K1>=<V1>,<K2>=<V2>,... + 通过编译器指定源路径名称输出的 + 映射。 +-pdb:<file> 指定调试信息文件名称(默认: + 具有 .pdb 扩展名的输出文件名) +-errorendlocation 输出每个错误的结束位置 + 行和列 +-preferreduilang 指定首选输出语言名称。 +-nosdkpath 禁用搜索标准库程序集的默认 SDK 路径 +-nostdlib[+|-] 不引用标准库(mscorlib.dll) +-subsystemversion:<string> 指定此程序集的子系统版本 +-lib:<file list> 指定要在其中搜索引用的附加 + 目录 +-errorreport:<string> 指定如何处理内部编译器错误: + prompt、send、queue 或 none。默认为 + queue。 +-appconfig:<file> 指定包含程序集绑定设置的 + 应用程序配置文件 +-moduleassemblyname:<string> 此模块所属程序集 + 的名称 +-modulename:<string> 指定源模块的名称 + + Visual C# Compiler Options - - Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type. - 显式接口说明符中引用类型的 Null 性与该类型实现的接口不匹配。 + + disposable + 可处置的 - - Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type. - 显式接口说明符中引用类型的 Null 性与该类型实现的接口不匹配。 + + alternative interpolated verbatim strings + 可选择的内插逐字字符串 - - '{0}' does not implement interface member '{1}'. Nullability of reference types in interface implemented by the base type doesn't match. - “{0}”不实现接口成员“{1}”。接口中基类型实现的引用类型的 Null 性不匹配。 + + coalescing assignment + 合并赋值 - - Type does not implement interface member. Nullability of reference types in interface implemented by the base type doesn't match. - 类型不实现接口成员。接口中基类型实现的引用类型的 Null 性不匹配。 + + delegate generic type constraints + 委托泛型类型约束 - - Nullability of reference types in type of parameter '{0}' of '{1}' doesn't match the target delegate '{2}'. - “{1}”的参数“{0}”类型中引用类型的为 Null 性与目标委托“{2}”不匹配。 + + enum generic type constraints + 枚举泛型类型约束 - - Nullability of reference types in type of parameter doesn't match the target delegate. - 参数类型中引用类型的为 Null 性与目标委托不匹配。 + + declaration of expression variables in member initializers and queries + 成员初始值设定项和查询中的表达式变量声明 - - Nullability of reference types in type of parameter '{0}' doesn't match implemented member '{1}'. - 参数“{0}”类型中引用类型的为 Null 性与实现的成员“{1}”不匹配。 + + extensible fixed statement + 可扩展 fixed 语句 - - Nullability of reference types in type of parameter doesn't match implemented member. - 参数类型中引用类型的为 Null 性与实现的成员不匹配。 + + index operator + 索引运算符 - - Nullability of reference types in type of parameter '{0}' doesn't match implicitly implemented member '{1}'. - 参数“{0}”类型中引用类型的为 Null 性与隐式实现的成员“{1}”不匹配。 + + indexing movable fixed buffers + 正在编制可移动固定缓冲区的索引 - - Nullability of reference types in type of parameter doesn't match implicitly implemented member. - 参数类型中引用类型的为 Null 性与隐式实现的成员不匹配。 + + name shadowing in nested functions + 在嵌套函数中的名称映射 - - Nullability of reference types in type of parameter '{0}' doesn't match overridden member. - 参数“{0}”类型中引用类型的为 Null 性与重写成员不匹配。 + + nullable reference types + 可为 null 的引用类型 - - Nullability of reference types in type of parameter doesn't match overridden member. - 参数类型中引用类型的为 Null 性与重写成员不匹配。 + + object generic type constraint + 对象泛型类型约束 - - Nullability of reference types in type of parameter '{0}' doesn't match partial method declaration. - 参数“{0}”类型中引用类型的为 Null 性与分部方法声明不匹配。 + + warning action enable or safeonly + 警告操作 enable 或 safeonly - - Nullability of reference types in type of parameter doesn't match partial method declaration. - 参数类型中引用类型的为 Null 性与分部方法声明不匹配。 + + range operator + 范围运算符 - - Nullability of reference types in return type of '{0}' doesn't match the target delegate '{1}'. - “{0}”返回类型中引用类型的为 Null 性与目标委托“{1}”不匹配。 + + recursive patterns + 递归模式 - - Nullability of reference types in return type doesn't match the target delegate. - 返回类型中引用类型的为 Null 性与目标委托不匹配。 + + ref conditional expression + ref 条件表达式 - - Nullability of reference types in return type doesn't match implemented member '{0}'. - 返回类型中引用类型的为 Null 性与实现的成员“{0}”不匹配。 + + ref for-loop variables + ref for 循环变量 - - Nullability of reference types in return type doesn't match implemented member. - 返回类型中引用类型的为 Null 性与实现的成员不匹配。 + + ref foreach iteration variables + ref foreach 迭代变量 - - Nullability of reference types in return type doesn't match implicitly implemented member '{0}'. - 返回类型中引用类型的为 Null 性与隐式实现的成员“{0}”不匹配。 + + ref reassignment + ref 赋值 - - Nullability of reference types in return type doesn't match implicitly implemented member. - 返回类型中引用类型的为 Null 性与隐式实现的成员不匹配。 + + stackalloc initializer + stackalloc 初始值设定项 - - Nullability of reference types in return type doesn't match overridden member. - 返回类型中引用类型的为 Null 性与重写成员不匹配。 + + static local functions + 静态本地函数 - - Nullability of reference types in return type doesn't match overridden member. - 返回类型中引用类型的为 Null 性与重写成员不匹配。 + + tuple equality + 元组相等 - - Nullability of reference types in type doesn't match implemented member '{0}'. - 类型中引用类型的为 Null 性与实现的成员“{0}”不匹配。 + + unconstrained type parameters in null coalescing operator + 合并运算符中的无约束类型参数 - - Nullability of reference types in type doesn't match implemented member. - 类型中引用类型的为 Null 性与实现的成员不匹配。 + + unmanaged constructed types + unmanaged constructed types - - Nullability of reference types in type doesn't match implicitly implemented member '{0}'. - 类型中引用类型的为 Null 性与隐式实现的成员“{0}”不匹配。 + + unmanaged generic type constraints + 非托管泛型类型约束 - - Nullability of reference types in type doesn't match implicitly implemented member. - 类型中引用类型的为 Null 性与隐式实现的成员不匹配。 + + using declarations + Using 声明 - - Nullability of reference types in type doesn't match overridden member. - 类型中引用类型的为 Null 性与重写成员不匹配。 + + <null> + <null> - - Nullability of reference types in type doesn't match overridden member. - 类型中引用类型的为 Null 性与重写成员不匹配。 + + <throw expression> + <throw 表达式> - - The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. Nullability of type argument '{3}' doesn't match constraint type '{1}'. - 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。类型参数“{3}”的为 Null 性与约束类型“{1}”不匹配。 + + (Location of symbol related to previous error) + (与前一个错误相关的符号位置) - - The type cannot be used as type parameter in the generic type or method. Nullability of type argument doesn't match constraint type. - 类型不能用作泛型类型或方法中的类型参数。类型参数的为 Null 性与约束类型不匹配。 + + (Location of symbol related to previous warning) + (与前一个警告相关的符号位置) - - The type '{2}' cannot be used as type parameter '{1}' in the generic type or method '{0}'. Nullability of type argument '{2}' doesn't match 'class' constraint. - 类型“{2}”不能用作泛型类型或方法“{0}”中的类型参数“{1}”。类型参数“{2}”的为 Null 性与 “class” 约束不匹配。 + + <!-- Badly formed XML comment ignored for member "{0}" --> + <!-- 对于成员“{0}”忽略有格式错误的 XML 注释 --> - - The type cannot be used as type parameter in the generic type or method. Nullability of type argument doesn't match 'class' constraint. - 类型不能用作泛型类型或方法中的类型参数。类型参数的为 Null 性与 “class” 约束不匹配。 + + Badly formed XML file "{0}" cannot be included + 无法包括格式错误的 XML 文件“{0}” - - Nullable value type may be null. - 可为 null 的值类型可为 null。 + + Failed to insert some or all of included XML + 未能插入某些或全部所包含的 XML - - Nullable value type may be null. - 可为 null 的值类型可为 null。 + + Include tag is invalid + 包含标记无效 - - Possible null value. - Possible null value. + + No matching elements were found for the following include tag + 未找到下列包含标记的匹配元素 - - Possible null value. - Possible null value. + + Missing file attribute + 缺少文件特性 - - The switch expression does not handle all possible inputs (it is not exhaustive). - Switch 表达式不会处理所有可能的输入(它并非详尽无遗)。 + + Missing path attribute + 缺少路径特性 - - The switch expression does not handle all possible inputs (it is not exhaustive). - Switch 表达式不会处理所有可能的输入(它并非详尽无遗)。 + + <global namespace> + <全局命名空间> - - The tuple element name '{0}' is ignored because a different name or no name is specified on the other side of the tuple == or != operator. - 由于元组 == 或 != 运算符的另一侧指定了其他名称或未指定名称,因此元组元素名称“{0}”被忽略。 + + generics + 泛型 - - The tuple element name is ignored because a different name or no name is specified on the other side of the tuple == or != operator. - 由于元组 == 或 != 运算符的另一侧指定了其他名称或未指定名称,因此元组元素名称被忽略。 + + anonymous methods + 匿名方法 - - Type parameter '{0}' has the same name as the type parameter from outer method '{1}' - 类型参数“{0}”与外部方法“{1}”中的类型参数同名 + + module as an attribute target specifier + 作为特性目标说明符的模块 - - Type parameter has the same type as the type parameter from outer method. - 类型参数与外部方法中的类型参数有相同的类型。 + + namespace alias qualifier + 命名空间别名限定符 - - Non-nullable {0} '{1}' is uninitialized. - 未初始化不可以为 null 的 {0}“{1}”。 + + fixed size buffers + 固定大小缓冲区 - - Non-nullable field is uninitialized. - 未初始化不可以为 null 的字段。 + + #pragma + #pragma - - The character(s) '{0}' cannot be used at this location. - 此位置无法使用字符“{0}”。 + + static classes + 静态类 - - Incorrect syntax was used in a comment. - 注释中使用的语法不正确。 + + readonly structs + 只读结构 - - - An invalid character was found inside an entity reference. - 实体引用中发现无效字符。 + + + partial types + 分部类型 - - Expected '>' or '/>' to close tag '{0}'. - 需要“>”或“/>”来结束标记“{0}”。 + + async function + 异步函数 - - An identifier was expected. - 应为标识符。 + + switch on boolean type + 启用布尔值类型 - - Invalid unicode character. - Unicode 字符无效。 + + method group + 方法组 - - Whitespace is not allowed at this location. - 此位置不允许使用空格。 + + anonymous method + 匿名方法 - - The character '<' cannot be used in an attribute value. - 不能在特性值中使用字符“<”。 + + lambda expression + lambda 表达式 - - Missing equals sign between attribute and attribute value. - 特性与特性值之间缺少等号。 + + collection + 集合 - - Reference to undefined entity '{0}'. - 引用未定义的实体“{0}”。 + + access modifiers on properties + 属性的访问修饰符 - - A string literal was expected, but no opening quotation mark was found. - 应是字符串,但是找不到左引号。 + + extern alias + 外部别名 - - Missing closing quotation mark for string literal. - 字符串缺少右引号。 + + iterators + 迭代器 - - Non-ASCII quotations marks may not be used around string literals. - 不能在字符串周围使用非 ASCII 问号。 + + default operator + 默认运算符 - - End tag was not expected at this location. - 在此位置不应为结束标记。 + + default literal + 默认文本 - - End tag '{0}' does not match the start tag '{1}'. - 结束标记“{0}”与开始标记“{1}”不匹配。 + + private protected + private protected - - Expected an end tag for element '{0}'. - 元素“{0}”需要结束标记。 + + nullable types + 可以为 null 的类型 - - Required white space was missing. - 缺少所需空格。 + + pattern matching + 模式匹配 - - Unexpected character at this location. - 此位置出现意外字符。 + + expression body property accessor + 表达式主体属性访问器 - - The literal string ']]>' is not allowed in element content. - 元素内容中不允许使用字符串“]]>”。 + + expression body constructor and destructor + 表达式主体构造函数和析构函数 - - Duplicate '{0}' attribute - “{0}”特性重复 + + throw expression + throw 表达式 - - Metadata file '{0}' could not be found - 未能找到元数据文件“{0}” + + implicitly typed array + 隐式类型的数组 - - Metadata references are not supported. - 不支持元数据引用。 + + implicitly typed local variable + 隐式类型的局部变量 - - Metadata file '{0}' could not be opened -- {1} - 无法打开元数据文件“{0}”-- {1} + + anonymous types + 匿名类型 - - The type '{0}' is defined in an assembly that is not referenced. You must add a reference to assembly '{1}'. - 类型“{0}”在未引用的程序集中定义。必须添加对程序集“{1}”的引用。 + + automatically implemented properties + 自动实现的属性 - - The type '{0}' is defined in a module that has not been added. You must add the module '{1}'. - 类型“{0}”在未添加的模块中定义。必须添加模块“{1}”。 + + readonly automatically implemented properties + 自动实现 readonly 的属性 - - Could not write to output file '{0}' -- '{1}' - 未能写入输出文件“{0}”--“{1}” + + object initializer + 对象初始值设定项 - - Program has more than one entry point defined. Compile with /main to specify the type that contains the entry point. - 程序定义了多个入口点。使用 /main (指定包含入口点的类型)进行编译。 + + collection initializer + 集合初始值设定项 - - Operator '{0}' cannot be applied to operands of type '{1}' and '{2}' - 运算符“{0}”无法应用于“{1}”和“{2}”类型的操作数 + + query expression + 查询表达式 - - Division by constant zero - 被常数零除 + + extension method + 扩展方法 - - Cannot apply indexing with [] to an expression of type '{0}' - 无法将带 [] 的索引应用于“{0}”类型的表达式 + + partial method + 分部方法 - - Wrong number of indices inside []; expected {0} - [] 内的索引数错误,应为 {0} + + method + 方法 - - Operator '{0}' cannot be applied to operand of type '{1}' - 运算符“{0}”无法应用于“{1}”类型的操作数 + + type + 类型 - - Operator '{0}' cannot be applied to operand '{1}' - 运算符“{0}”无法应用于操作数“{1}” + + namespace + 命名空间 - - Keyword 'this' is not valid in a static property, static method, or static field initializer - 关键字 "this" 在静态属性、静态方法或静态字段初始值设定项中无效 + + field + 字段 - - Keyword 'this' is not available in the current context - 关键字 "this" 在当前上下文中不可用 + + property + 属性 - - '{0}' has the wrong signature to be an entry point - '“{0}”的签名错误,不能作为入口点 + + element + 元素 - - Method has the wrong signature to be an entry point - 方法的签名错误,不能作为入口点 + + variable + 变量 - - Cannot implicitly convert type '{0}' to '{1}' - 无法将类型“{0}”隐式转换为“{1}” + + label + 标签 - - Cannot convert type '{0}' to '{1}' - 无法将类型“{0}”转换为“{1}” + + event + 事件 - - Constant value '{0}' cannot be converted to a '{1}' - 常量值“{0}”无法转换为“{1}” + + type parameter + 类型形参 - - Operator '{0}' is ambiguous on operands of type '{1}' and '{2}' - 运算符“{0}”对于“{1}”和“{2}”类型的操作数具有二义性 + + using alias + using 别名 - - Operator '{0}' is ambiguous on operands 'default' and 'default' - 运算符“{0}”在操作数 "default" 和 "default" 上不明确 + + extern alias + 外部别名 - - Operator '{0}' is ambiguous on an operand of type '{1}' - 运算符“{0}”对于“{1}”类型的操作数具有二义性 + + constructor + 构造函数 - - An out parameter cannot have the In attribute - out 参数不能具有 In 特性 + + foreach iteration variable + foreach 迭代变量 - - Cannot convert null to '{0}' because it is a non-nullable value type - 无法将 null 转换为“{0}”,因为后者是不可以为 null 的值类型 + + fixed variable + 固定变量 - - Cannot convert type '{0}' to '{1}' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion - 无法通过引用转换、装箱转换、取消装箱转换、包装转换或 null 类型转换将类型“{0}”转换为“{1}” + + using variable + using 变量 - - Unexpected error writing debug information -- '{0}' - 写入调试信息时出错 --“{0}” + + contravariant + 逆变 - - Inconsistent accessibility: return type '{1}' is less accessible than method '{0}' - 可访问性不一致: 返回类型“{1}”的可访问性低于方法“{0}” + + contravariantly + 逆变式 - - Inconsistent accessibility: parameter type '{1}' is less accessible than method '{0}' - 可访问性不一致: 参数类型“{1}”的可访问性低于方法“{0}” + + covariant + 协变 - - Inconsistent accessibility: field type '{1}' is less accessible than field '{0}' - 可访问性不一致: 字段类型“{1}”的可访问性低于字段“{0}” + + covariantly + 协变式 - - Inconsistent accessibility: property type '{1}' is less accessible than property '{0}' - 可访问性不一致: 属性类型“{1}”的可访问性低于属性“{0}” + + invariantly + 固定式 - - Inconsistent accessibility: indexer return type '{1}' is less accessible than indexer '{0}' - 可访问性不一致: 索引器返回类型“{1}”的可访问性低于索引器“{0}” + + dynamic + 动态 - - Inconsistent accessibility: parameter type '{1}' is less accessible than indexer '{0}' - 可访问性不一致: 参数类型“{1}”的可访问性低于索引器“{0}” + + named argument + 命名参数 - - Inconsistent accessibility: return type '{1}' is less accessible than operator '{0}' - 可访问性不一致: 返回类型“{1}”的可访问性低于运算符“{0}” + + optional parameter + 可选参数 - - Inconsistent accessibility: parameter type '{1}' is less accessible than operator '{0}' - 可访问性不一致: 参数类型“{1}”的可访问性低于运算符“{0}” + + exception filter + 异常筛选器 - - Inconsistent accessibility: return type '{1}' is less accessible than delegate '{0}' - 可访问性不一致: 返回类型“{1}”的可访问性低于委托“{0}” + + type variance + 类型方差 - - Inconsistent accessibility: parameter type '{1}' is less accessible than delegate '{0}' - 可访问性不一致: 参数类型“{1}”的可访问性低于委托“{0}” + + SyntaxTree is not part of the compilation + 编译中不包含 SyntaxTree - - Inconsistent accessibility: base class '{1}' is less accessible than class '{0}' - 可访问性不一致: 基类“{1}”的可访问性低于类“{0}” + + SyntaxTree is not part of the compilation, so it cannot be removed + 编译中不包含 SyntaxTree,因此无法将其删除 - - Inconsistent accessibility: base interface '{1}' is less accessible than interface '{0}' - 可访问性不一致: 基接口“{1}”的可访问性低于接口“{0}” + + The 'as' operator may produce a null value when '{0}' is a non-nullable reference type. + The 'as' operator may produce a null value when '{0}' is a non-nullable reference type. - - '{0}': event property must have both add and remove accessors - '“{0}”: 事件属性必须同时具有 add 和 remove 访问器 + + The 'as' operator may produce a null value for a type parameter. + The 'as' operator may produce a null value for a type parameter. - - '{0}': event must be of a delegate type - '“{0}”: 事件必须是委托类型的 + + The name '_' refers to the constant, not the discard pattern. Use 'var _' to discard the value, or '@_' to refer to a constant by that name. + 名称 "_" 引用常量,而不引用放弃模式。请使用 "var _" 放弃该值,或使用 "@_" 来引用该名称的常量。 - - The event '{0}' is never used - 从不使用事件“{0}” + + Do not use '_' for a case constant. + 不要对大小写常量使用 "_"。 - - Event is never used - 事件从未使用过 + + Conditional access may produce a null value when '{0}' is a non-nullable reference type. + Conditional access may produce a null value when '{0}' is a non-nullable reference type. - - '{0}': event in interface cannot have initializer - '“{0}”: 接口中的事件不能有初始值设定项 + + Conditional access may produce a null value for a type parameter. + Conditional access may produce a null value for a type parameter. - - An event in an interface cannot have add or remove accessors - 接口中的事件不能具有 add 或 remove 访问器 + + Converting null literal or possible null value to non-nullable type. + 将 null 文本或可能的 null 值转换为非 null 类型。 - - The event '{0}' can only appear on the left hand side of += or -= (except when used from within the type '{1}') - 事件“{0}”只能出现在 += 或 -= 的左边(从类型“{1}”中使用时除外) + + Converting null literal or possible null value to non-nullable type. + 将 null 文本或可能的 null 值转换为非 null 类型。 - - An explicit interface implementation of an event must use event accessor syntax - 事件的显式接口实现必须使用事件访问器语法 + + A default expression introduces a null value when '{0}' is a non-nullable reference type. + A default expression introduces a null value when '{0}' is a non-nullable reference type. - - '{0}': cannot override; '{1}' is not an event - '“{0}”: 无法重写;“{1}”不是事件 + + A default expression introduces a null value for a type parameter. + A default expression introduces a null value for a type parameter. - - An add or remove accessor must have a body - add 访问器或 remove 访问器必须有一个主体 + + 'default' is converted to 'null', not 'default({0})' + “default” 被转换为 “null” 而非“default({0})” - - '{0}': abstract event cannot have initializer - '“{0}”: 抽象事件不能有初始值设定项 + + 'default' is converted to 'null' + “default” 被转换为 “null” - - The assembly name '{0}' is reserved and cannot be used as a reference in an interactive session - 程序集名“{0}”保留名称,不能在交互会话中用作引用 + + '{0}' is already listed in the interface list on type '{1}' with different nullability of reference types. + “{0}”已列入类型“{1}”的接口列表中,其中包含不同引用类型的 Null 性。 - - The enumerator name '{0}' is reserved and cannot be used - 枚举器名“{0}”是保留名称,不能使用 + + Interface is already listed in the interface list with different nullability of reference types. + 接口已在接口列表中列出,引用类型具有不同的 Null 性。 - - The as operator must be used with a reference type or nullable type ('{0}' is a non-nullable value type) - as 运算符必须与引用类型或可以为 null 的类型一起使用(“{0}”是不可以为 null 值的类型) + + The given expression always matches the provided constant. + 给定的表达式始终与提供的常量匹配。 - - The 'l' suffix is easily confused with the digit '1' -- use 'L' for clarity - “l”后缀容易与数字“1”混淆;为清楚起见,请使用“L” + + The given expression always matches the provided constant. + 给定的表达式始终与提供的常量匹配。 - - The 'l' suffix is easily confused with the digit '1' - "l" 后缀容易与数字 "1" 混淆 + + The given expression never matches the provided pattern. + 给定的表达式永远不会与提供的模式匹配。 - - The event '{0}' can only appear on the left hand side of += or -= - 事件“{0}”只能出现在 += 或 -= 的左边 + + The given expression never matches the provided pattern. + 给定的表达式永远不会与提供的模式匹配。 - - Constraints are not allowed on non-generic declarations - 在非泛型声明上不允许使用约束 + + Expected nullable + 应是可为 null - - Type parameter declaration must be an identifier not a type - 类型形参声明必须是标识符,不能是类型 + + Expected nullable after #pragma warning safeonly + 在 #pragma warning safeonly 之后应是可为 null - - Type '{1}' already reserves a member called '{0}' with the same parameter types - 类型“{1}”已保留了一个名为“{0}”的具有相同参数类型的成员 + + The name '_' refers to the type '{0}', not the discard pattern. Use '@_' for the type, or 'var _' to discard. + 名称 "_" 引用类型“{0}”,而不引用放弃模式。对于类型,请使用 "@_";对于弃用,请使用 "var _"。 - - The parameter name '{0}' is a duplicate - 参数名“{0}”重复 + + Do not use '_' to refer to the type in an is-type expression. + 请勿使用 "_" 引用 is-type 表达式中的类型。 - - The namespace '{1}' already contains a definition for '{0}' - 命名空间“{1}”已经包含“{0}”的定义 + + The annotation for nullable reference types should only be used in code within a '#nullable' context. + 应仅在 “#nullable” 上下文中的代码中使用可为 null 的引用类型的注释。 - - The type '{0}' already contains a definition for '{1}' - 类型“{0}”已经包含“{1}”的定义 + + The annotation for nullable reference types should only be used in code within a '#nullable' context. + 应仅在 “#nullable” 上下文中的代码中使用可为 null 的引用类型的注释。 - - The name '{0}' does not exist in the current context - 当前上下文中不存在名称“{0}” + + Cannot convert null literal to non-nullable reference type. + 无法将 null 文本转换为非 null 引用或无约束类型参数。 - - The name '{0}' does not exist in the current context (are you missing a reference to assembly '{1}'?) - 当前上下文中不存在名称“{0}”(是否缺少对程序集“{1}”的引用?) + + Cannot convert null literal to non-nullable reference type. + 无法将 null 文本转换为非 null 引用或无约束类型参数。 - - '{0}' is an ambiguous reference between '{1}' and '{2}' - '“{0}”是“{1}”和“{2}”之间的不明确的引用 + + A null literal introduces a null value when '{0}' is a non-nullable reference type. + A null literal introduces a null value when '{0}' is a non-nullable reference type. - - The using directive for '{0}' appeared previously in this namespace - “{0}”的 using 指令以前在此命名空间中出现过 + + A null literal introduces a null value for a type parameter. + A null literal introduces a null value for a type parameter. - - Using directive appeared previously in this namespace - using 指令以前在此命名空间中出现过 + + Possible null reference argument for parameter '{0}' in '{1}'. + “{1}”中“{0}”形参的可能的 null 引用实参。 - - The modifier '{0}' is not valid for this item - 修饰符“{0}”对该项无效 + + Possible null reference argument. + 可能的 null 引用参数。 - - More than one protection modifier - 多个保护修饰符 + + Possible null reference assignment. + 可能的 null 引用赋值。 - - '{0}' hides inherited member '{1}'. Use the new keyword if hiding was intended. - '“{0}”隐藏继承的成员“{1}”。如果是有意隐藏,请使用关键字 new。 + + Possible null reference assignment. + 可能的 null 引用赋值。 - - Member hides inherited member; missing new keyword - 成员隐藏继承的成员;缺少关键字 new + + Possible dereference of a null reference. + null 引用可能的取消引用。 - - A variable was declared with the same name as a variable in a base class. However, the new keyword was not used. This warning informs you that you should use new; the variable is declared as if new had been used in the declaration. - 使用与基类中的变量相同的名称声明了变量。但是,未使用关键字 new。此警告通知应使用 new;变量如同在声明中使用了 new 一样进行声明。 + + Possible dereference of a null reference. + null 引用可能的取消引用。 - - The member '{0}' does not hide an accessible member. The new keyword is not required. - 成员“{0}”不会隐藏可访问成员。不需要关键字 new。 + + Possible null reference return. + 可能的 null 引用返回。 - - Member does not hide an inherited member; new keyword is not required - 成员不会隐藏继承的成员;不需要关键字 new + + Possible null reference return. + 可能的 null 引用返回。 - - The evaluation of the constant value for '{0}' involves a circular definition - “{0}”的常量值计算涉及循环定义 + + Argument of type '{0}' cannot be used for parameter '{2}' of type '{1}' in '{3}' due to differences in the nullability of reference types. + 类型“{0}”的实参中引用类型的为 Null 性与“{3}”中形参“{2}”的目标类型“{1}”不匹配。 - - Type '{1}' already defines a member called '{0}' with the same parameter types - 类型“{1}”已定义了一个名为“{0}”的具有相同参数类型的成员 + + Argument of type '{0}' cannot be used as an output of type '{1}' for parameter '{2}' in '{3}' due to differences in the nullability of reference types. + Argument of type '{0}' cannot be used as an output of type '{1}' for parameter '{2}' in '{3}' due to differences in the nullability of reference types. - - A static member '{0}' cannot be marked as override, virtual, or abstract - 静态成员“{0}”不能标记为 override、virtual 或 abstract + + Argument cannot be used as an output for parameter due to differences in the nullability of reference types. + Argument cannot be used as an output for parameter due to differences in the nullability of reference types. - - A member '{0}' marked as override cannot be marked as new or virtual - 标记为 override 的成员“{0}”不能标记为 new 或 virtual + + Argument cannot be used for parameter due to differences in the nullability of reference types. + 参数中的引用类型的为 Null 性与目标类型不匹配。 - - '{0}' hides inherited member '{1}'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword. - '“{0}”隐藏继承的成员“{1}”。若要使当前成员重写该实现,请添加关键字 override。否则,添加关键字 new。 + + Nullability of reference types in value of type '{0}' doesn't match target type '{1}'. + 类型“{0}”的值中引用类型的为 Null 性与目标类型“{1}”不匹配。 - - Member hides inherited member; missing override keyword - 成员隐藏继承的成员;缺少关键字 override + + Nullability of reference types in value doesn't match target type. + 值中的引用类型的为 Null 性与目标类型不匹配。 - - '{0}': no suitable method found to override - '“{0}”: 没有找到适合的方法来重写 + + Nullability in constraints for type parameter '{0}' of method '{1}' doesn't match the constraints for type parameter '{2}' of interface method '{3}'. Consider using an explicit interface implementation instead. + 方法“{1}”的类型参数“{0}”的约束中的为 Null 性与接口方法“{3}”的类型参数“{2}”的约束不匹配。请考虑改用显式接口实现。 - - A namespace cannot directly contain members such as fields or methods - 命名空间不能直接包含字段或方法之类的成员 + + Nullability in constraints for type parameter doesn't match the constraints for type parameter in implicitly implemented interface method'. + 类型参数的约束中的为 Null 性与隐式实现接口方法中的类型参数的约束不匹配。 - - '{0}' does not contain a definition for '{1}' - '“{0}”未包含“{1}”的定义 + + Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type. + 显式接口说明符中引用类型的 Null 性与该类型实现的接口不匹配。 - - '{0}' is a {1} but is used like a {2} - '“{0}”是 {1},但此处被当做 {2} 来使用 + + Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type. + 显式接口说明符中引用类型的 Null 性与该类型实现的接口不匹配。 - - '{0}' is a {1}, which is not valid in the given context - '“{0}”是一个 {1},这在给定的上下文中无效 + + '{0}' does not implement interface member '{1}'. Nullability of reference types in interface implemented by the base type doesn't match. + “{0}”不实现接口成员“{1}”。接口中基类型实现的引用类型的 Null 性不匹配。 - - An object reference is required for the non-static field, method, or property '{0}' - 对象引用对于非静态的字段、方法或属性“{0}”是必需的 + + Type does not implement interface member. Nullability of reference types in interface implemented by the base type doesn't match. + 类型不实现接口成员。接口中基类型实现的引用类型的 Null 性不匹配。 - - The call is ambiguous between the following methods or properties: '{0}' and '{1}' - 以下方法或属性之间的调用具有二义性:“{0}”和“{1}” + + Nullability of reference types in type of parameter '{0}' of '{1}' doesn't match the target delegate '{2}'. + “{1}”的参数“{0}”类型中引用类型的为 Null 性与目标委托“{2}”不匹配。 - - '{0}' is inaccessible due to its protection level - '“{0}”不可访问,因为它具有一定的保护级别 + + Nullability of reference types in type of parameter doesn't match the target delegate. + 参数类型中引用类型的为 Null 性与目标委托不匹配。 - - No overload for '{0}' matches delegate '{1}' - “{0}”没有与委托“{1}”匹配的重载 + + Nullability of reference types in type of parameter '{0}' doesn't match implemented member '{1}'. + 参数“{0}”类型中引用类型的为 Null 性与实现的成员“{1}”不匹配。 - - An object of a type convertible to '{0}' is required - 需要一个类型可转换为“{0}”的对象 + + Nullability of reference types in type of parameter doesn't match implemented member. + 参数类型中引用类型的为 Null 性与实现的成员不匹配。 - - Since '{0}' returns void, a return keyword must not be followed by an object expression - 由于“{0}”返回 void,返回关键字后面不得有对象表达式 + + Nullability of reference types in type of parameter '{0}' doesn't match implicitly implemented member '{1}'. + 参数“{0}”类型中引用类型的为 Null 性与隐式实现的成员“{1}”不匹配。 - - A local variable or function named '{0}' is already defined in this scope - 已在此范围定义了名为“{0}”的局部变量或函数 + + Nullability of reference types in type of parameter doesn't match implicitly implemented member. + 参数类型中引用类型的为 Null 性与隐式实现的成员不匹配。 - - The left-hand side of an assignment must be a variable, property or indexer - 赋值号左边必须是变量、属性或索引器 + + Nullability of reference types in type of parameter '{0}' doesn't match overridden member. + 参数“{0}”类型中引用类型的为 Null 性与重写成员不匹配。 - - '{0}': a static constructor must be parameterless - '“{0}”: 静态构造函数必须无参数 + + Nullability of reference types in type of parameter doesn't match overridden member. + 参数类型中引用类型的为 Null 性与重写成员不匹配。 - - The expression being assigned to '{0}' must be constant - 指派给“{0}”的表达式必须是常量 + + Nullability of reference types in type of parameter '{0}' doesn't match partial method declaration. + 参数“{0}”类型中引用类型的为 Null 性与分部方法声明不匹配。 - - '{0}' is of type '{1}'. A const field of a reference type other than string can only be initialized with null. - '“{0}”的类型为“{1}”。只能用 Null 对引用类型(字符串除外)的常量字段进行初始化。 + + Nullability of reference types in type of parameter doesn't match partial method declaration. + 参数类型中引用类型的为 Null 性与分部方法声明不匹配。 - - A local or parameter named '{0}' cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter - 无法在此范围中声明名为“{0}”的局部变量或参数,因为该名称在封闭局部范围中用于定义局部变量或参数 + + Nullability of reference types in return type of '{0}' doesn't match the target delegate '{1}'. + “{0}”返回类型中引用类型的为 Null 性与目标委托“{1}”不匹配。 - - A 'using namespace' directive can only be applied to namespaces; '{0}' is a type not a namespace. Consider a 'using static' directive instead - “using namespace”指令只能应用于命名空间;“{0}”是一个类型而不是命名空间。请考虑改用“using static”指令 + + Nullability of reference types in return type doesn't match the target delegate. + 返回类型中引用类型的为 Null 性与目标委托不匹配。 - - A 'using static' directive can only be applied to types; '{0}' is a namespace not a type. Consider a 'using namespace' directive instead - “using static” 指令只能应用于类型;“{0}”是一个命名空间而不是类型。请考虑改用“using namespace”指令 + + Nullability of reference types in return type doesn't match implemented member '{0}'. + 返回类型中引用类型的为 Null 性与实现的成员“{0}”不匹配。 - - A 'using static' directive cannot be used to declare an alias - “using static”指令不能用于声明别名 + + Nullability of reference types in return type doesn't match implemented member. + 返回类型中引用类型的为 Null 性与实现的成员不匹配。 - - No enclosing loop out of which to break or continue - 没有要中断或继续的封闭循环 + + Nullability of reference types in return type doesn't match implicitly implemented member '{0}'. + 返回类型中引用类型的为 Null 性与隐式实现的成员“{0}”不匹配。 - - The label '{0}' is a duplicate - 标签“{0}”重复 + + Nullability of reference types in return type doesn't match implicitly implemented member. + 返回类型中引用类型的为 Null 性与隐式实现的成员不匹配。 - - The type '{0}' has no constructors defined - 类型“{0}”未定义构造函数 + + Nullability of reference types in return type doesn't match overridden member. + 返回类型中引用类型的为 Null 性与重写成员不匹配。 - - Cannot create an instance of the abstract class or interface '{0}' - 无法创建抽象类或接口“{0}”的实例 + + Nullability of reference types in return type doesn't match overridden member. + 返回类型中引用类型的为 Null 性与重写成员不匹配。 - - A const field requires a value to be provided - 常量字段要求提供一个值 + + Nullability of reference types in type doesn't match implemented member '{0}'. + 类型中引用类型的为 Null 性与实现的成员“{0}”不匹配。 - - Circular base class dependency involving '{0}' and '{1}' - 涉及“{0}”和“{1}”的循环基类依赖项 + + Nullability of reference types in type doesn't match implemented member. + 类型中引用类型的为 Null 性与实现的成员不匹配。 - - The delegate '{0}' does not have a valid constructor - 委托“{0}”没有有效的构造函数 + + Nullability of reference types in type doesn't match implicitly implemented member '{0}'. + 类型中引用类型的为 Null 性与隐式实现的成员“{0}”不匹配。 - - Method name expected - 应输入方法名称 + + Nullability of reference types in type doesn't match implicitly implemented member. + 类型中引用类型的为 Null 性与隐式实现的成员不匹配。 - - A constant value is expected - 应输入常量值 + + Nullability of reference types in type doesn't match overridden member. + 类型中引用类型的为 Null 性与重写成员不匹配。 - - A switch expression or case label must be a bool, char, string, integral, enum, or corresponding nullable type in C# 6 and earlier. - switch 表达式或事例标签必须是 bool、char、string、integral、enum 或 C#6 及更早版本中相应的可以为 null 的类型。 + + Nullability of reference types in type doesn't match overridden member. + 类型中引用类型的为 Null 性与重写成员不匹配。 - - - A value of an integral type expected - 应输入整型值 + + + The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. Nullability of type argument '{3}' doesn't match constraint type '{1}'. + 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。类型参数“{3}”的为 Null 性与约束类型“{1}”不匹配。 - - The switch statement contains multiple cases with the label value '{0}' - switch 语句包含多个具有标签值“{0}”的情况 + + The type cannot be used as type parameter in the generic type or method. Nullability of type argument doesn't match constraint type. + 类型不能用作泛型类型或方法中的类型参数。类型参数的为 Null 性与约束类型不匹配。 - - A goto case is only valid inside a switch statement - goto case 只在 switch 语句中有效 + + The type '{2}' cannot be used as type parameter '{1}' in the generic type or method '{0}'. Nullability of type argument '{2}' doesn't match 'class' constraint. + 类型“{2}”不能用作泛型类型或方法“{0}”中的类型参数“{1}”。类型参数“{2}”的为 Null 性与 “class” 约束不匹配。 - - The property or indexer '{0}' cannot be used in this context because it lacks the get accessor - 属性或索引器“{0}”不能用在此上下文中,因为它缺少 get 访问器 + + The type cannot be used as type parameter in the generic type or method. Nullability of type argument doesn't match 'class' constraint. + 类型不能用作泛型类型或方法中的类型参数。类型参数的为 Null 性与 “class” 约束不匹配。 - - The type caught or thrown must be derived from System.Exception - 捕获或抛弃的类型必须从 System.Exception 派生 + + Nullable value type may be null. + 可为 null 的值类型可为 null。 - - A throw statement with no arguments is not allowed outside of a catch clause - 无参数的 throw 语句不允许在 catch 子句之外使用 + + Nullable value type may be null. + 可为 null 的值类型可为 null。 - - Control cannot leave the body of a finally clause - 控制不能离开 finally 子句主体 + + Possible null value. + Possible null value. - - The label '{0}' shadows another label by the same name in a contained scope - 在包含的范围中标签“{0}”遮盖了具有同样名称的另一个标签 + + Possible null value. + Possible null value. - - No such label '{0}' within the scope of the goto statement - goto 语句范围内没有“{0}”这样的标签 + + The switch expression does not handle all possible inputs (it is not exhaustive). + Switch 表达式不会处理所有可能的输入(它并非详尽无遗)。 - - A previous catch clause already catches all exceptions of this or of a super type ('{0}') - 上一个 catch 子句已经捕获了此类型或超类型(“{0}”)的所有异常 + + The switch expression does not handle all possible inputs (it is not exhaustive). + Switch 表达式不会处理所有可能的输入(它并非详尽无遗)。 - - Filter expression is a constant 'true', consider removing the filter - 筛选器表达式是常量 “true”,请考虑删除筛选器 + + The tuple element name '{0}' is ignored because a different name or no name is specified on the other side of the tuple == or != operator. + 由于元组 == 或 != 运算符的另一侧指定了其他名称或未指定名称,因此元组元素名称“{0}”被忽略。 - - Filter expression is a constant 'true' - 筛选器表达式是常量 “true” + + The tuple element name is ignored because a different name or no name is specified on the other side of the tuple == or != operator. + 由于元组 == 或 != 运算符的另一侧指定了其他名称或未指定名称,因此元组元素名称被忽略。 - - '{0}': not all code paths return a value - '“{0}”: 并非所有的代码路径都返回值 + + Type parameter '{0}' has the same name as the type parameter from outer method '{1}' + 类型参数“{0}”与外部方法“{1}”中的类型参数同名 - - Unreachable code detected - 检测到无法访问的代码 + + Type parameter has the same type as the type parameter from outer method. + 类型参数与外部方法中的类型参数有相同的类型。 - - Unreachable code detected - 检测到无法访问的代码 + + Non-nullable {0} '{1}' is uninitialized. + 未初始化不可以为 null 的 {0}“{1}”。 - - Control cannot fall through from one case label ('{0}') to another - 控制不能从一个 case 标签(“{0}”)贯穿到另一个 case 标签 + + Non-nullable field is uninitialized. + 未初始化不可以为 null 的字段。 - - This label has not been referenced - 这个标签尚未被引用 + + The character(s) '{0}' cannot be used at this location. + 此位置无法使用字符“{0}”。 - - This label has not been referenced - 这个标签尚未被引用 + + Incorrect syntax was used in a comment. + 注释中使用的语法不正确。 - - Use of unassigned local variable '{0}' - 使用了未赋值的局部变量“{0}” + + An invalid character was found inside an entity reference. + 实体引用中发现无效字符。 - - The variable '{0}' is declared but never used - 声明了变量“{0}”,但从未使用过 + + Expected '>' or '/>' to close tag '{0}'. + 需要“>”或“/>”来结束标记“{0}”。 - - Variable is declared but never used - 声明了变量,但从未使用过 + + An identifier was expected. + 应为标识符。 - - The field '{0}' is never used - 从不使用字段“{0}” + + Invalid unicode character. + Unicode 字符无效。 - - Field is never used - 字段从未使用过 + + Whitespace is not allowed at this location. + 此位置不允许使用空格。 - - Use of possibly unassigned field '{0}' - 使用了可能未赋值的字段“{0}” + + The character '<' cannot be used in an attribute value. + 不能在特性值中使用字符“<”。 - - Use of possibly unassigned auto-implemented property '{0}' - 使用可能未赋值的自动实现的属性“{0}” + + Missing equals sign between attribute and attribute value. + 特性与特性值之间缺少等号。 - - Field '{0}' must be fully assigned before control is returned to the caller - 在控制返回调用方之前,字段“{0}”必须完全赋值 + + Reference to undefined entity '{0}'. + 引用未定义的实体“{0}”。 - - Type of conditional expression cannot be determined because '{0}' and '{1}' implicitly convert to one another - 无法确定条件表达式的类型,因为“{0}”和“{1}”可相互隐式转换 + + A string literal was expected, but no opening quotation mark was found. + 应是字符串,但是找不到左引号。 - - Type of conditional expression cannot be determined because there is no implicit conversion between '{0}' and '{1}' - 无法确定条件表达式的类型,因为“{0}”和“{1}”之间没有隐式转换 + + Missing closing quotation mark for string literal. + 字符串缺少右引号。 - - A base class is required for a 'base' reference - "base" 引用需要基类 + + Non-ASCII quotations marks may not be used around string literals. + 不能在字符串周围使用非 ASCII 问号。 - - Use of keyword 'base' is not valid in this context - 在此上下文中使用关键字 "base" 无效 + + End tag was not expected at this location. + 在此位置不应为结束标记。 - - Member '{0}' cannot be accessed with an instance reference; qualify it with a type name instead - 无法使用实例引用来访问成员“{0}”;请改用类型名来限定它 + + End tag '{0}' does not match the start tag '{1}'. + 结束标记“{0}”与开始标记“{1}”不匹配。 - - The out parameter '{0}' must be assigned to before control leaves the current method - 控制离开当前方法之前必须对 out 参数“{0}”赋值 + + Expected an end tag for element '{0}'. + 元素“{0}”需要结束标记。 - - Invalid rank specifier: expected ',' or ']' - 无效的秩说明符: 应为“,”或“]” + + Required white space was missing. + 缺少所需空格。 - - '{0}' cannot be extern and declare a body - '“{0}”不能是外部的,也无法声明主体 + + Unexpected character at this location. + 此位置出现意外字符。 - - '{0}' cannot be extern and have a constructor initializer - '“{0}”不能是外部的,也不能具有构造函数初始值设定项 + + The literal string ']]>' is not allowed in element content. + 元素内容中不允许使用字符串“]]>”。 - - '{0}' cannot be both extern and abstract - '“{0}”不能既是外部的又是抽象的 + + Duplicate '{0}' attribute + “{0}”特性重复 - - Attribute constructor parameter '{0}' has type '{1}', which is not a valid attribute parameter type - 特性构造函数参数“{0}”具有类型“{1}”,这不是有效特性参数类型 + + Metadata file '{0}' could not be found + 未能找到元数据文件“{0}” - - An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type - 特性实参必须是特性形参类型的常量表达式、typeof 表达式或数组创建表达式 + + Metadata references are not supported. + 不支持元数据引用。 - - Attribute constructor parameter '{0}' is optional, but no default parameter value was specified. - 特性构造函数参数“{0}”是可选的,但是未指定默认参数值。 + + Metadata file '{0}' could not be opened -- {1} + 无法打开元数据文件“{0}”-- {1} - - The given expression is always of the provided ('{0}') type - 给定表达式始终为所提供的(“{0}”)类型 + + The type '{0}' is defined in an assembly that is not referenced. You must add a reference to assembly '{1}'. + 类型“{0}”在未引用的程序集中定义。必须添加对程序集“{1}”的引用。 - - 'is' expression's given expression is always of the provided type - '"is" 表达式的给定表达式始终是所提供的类型 + + The type '{0}' is defined in a module that has not been added. You must add the module '{1}'. + 类型“{0}”在未添加的模块中定义。必须添加模块“{1}”。 - - The given expression is never of the provided ('{0}') type - 给定表达式始终不是所提供的(“{0}”)类型 + + Could not write to output file '{0}' -- '{1}' + 未能写入输出文件“{0}”--“{1}” - - 'is' expression's given expression is never of the provided type - '"is" 表达式的给定表达式始终不是所提供的类型 + + Program has more than one entry point defined. Compile with /main to specify the type that contains the entry point. + 程序定义了多个入口点。使用 /main (指定包含入口点的类型)进行编译。 - - '{0}' is not a reference type as required by the lock statement - '“{0}”不是 lock 语句要求的引用类型 + + Operator '{0}' cannot be applied to operands of type '{1}' and '{2}' + 运算符“{0}”无法应用于“{1}”和“{2}”类型的操作数 - - Use of null is not valid in this context - 在此上下文中使用 null 无效 + + Division by constant zero + 被常数零除 - - Use of default literal is not valid in this context - 在此背景下使用默认文本无效 + + Cannot apply indexing with [] to an expression of type '{0}' + 无法将带 [] 的索引应用于“{0}”类型的表达式 - - The 'this' object cannot be used before all of its fields are assigned to - 在给 "this" 对象的所有字段赋值之前,无法使用该对象 + + Wrong number of indices inside []; expected {0} + [] 内的索引数错误,应为 {0} - - The __arglist construct is valid only within a variable argument method - __arglist 构造只在变量参数方法中有效 + + Operator '{0}' cannot be applied to operand of type '{1}' + 运算符“{0}”无法应用于“{1}”类型的操作数 - - The * or -> operator must be applied to a pointer - * 或 -> 运算符只能应用于指针 + + Operator '{0}' cannot be applied to operand '{1}' + 运算符“{0}”无法应用于操作数“{1}” - - A pointer must be indexed by only one value - 指针必须只根据一个值进行索引 + + Keyword 'this' is not valid in a static property, static method, or static field initializer + 关键字 "this" 在静态属性、静态方法或静态字段初始值设定项中无效 - - Using '{0}' as a ref or out value or taking its address may cause a runtime exception because it is a field of a marshal-by-reference class - 由于“{0}”是引用封送类的字段,将它用作 ref 或 out 值或获取它的地址可能导致运行时异常 + + Keyword 'this' is not available in the current context + 关键字 "this" 在当前上下文中不可用 - - Using a field of a marshal-by-reference class as a ref or out value or taking its address may cause a runtime exception - 将引用封送类的字段用作 ref 或 out 值或获取其地址可能导致运行时异常 + + '{0}' has the wrong signature to be an entry point + '“{0}”的签名错误,不能作为入口点 - - A static readonly field cannot be assigned to (except in a static constructor or a variable initializer) - 无法对静态只读字段赋值(静态构造函数或变量初始值中除外) + + Method has the wrong signature to be an entry point + 方法的签名错误,不能作为入口点 - - A static readonly field cannot be used as a ref or out value (except in a static constructor) - 无法将静态只读字段用作 ref 或 out 值(静态构造函数中除外) + + Cannot implicitly convert type '{0}' to '{1}' + 无法将类型“{0}”隐式转换为“{1}” - - Property or indexer '{0}' cannot be assigned to -- it is read only - 无法为属性或索引器“{0}”赋值 - 它是只读的 + + Cannot convert type '{0}' to '{1}' + 无法将类型“{0}”转换为“{1}” - - Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement - 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句 + + Constant value '{0}' cannot be converted to a '{1}' + 常量值“{0}”无法转换为“{1}” - - foreach requires that the return type '{0}' of '{1}' must have a suitable public 'MoveNext' method and public 'Current' property - foreach 要求“{1}”的返回类型“{0}”必须具有适当的公共 MoveNext 方法和公共 Current 属性 + + Operator '{0}' is ambiguous on operands of type '{1}' and '{2}' + 运算符“{0}”对于“{1}”和“{2}”类型的操作数具有二义性 - - Only 65534 locals, including those generated by the compiler, are allowed - 仅允许 65534 个局部变量,包括编译器生成的局部变量 + + Operator '{0}' is ambiguous on operands 'default' and 'default' + 运算符“{0}”在操作数 "default" 和 "default" 上不明确 - - Cannot call an abstract base member: '{0}' - 无法调用抽象基成员:“{0}” + + Operator '{0}' is ambiguous on an operand of type '{1}' + 运算符“{0}”对于“{1}”类型的操作数具有二义性 - - A property or indexer may not be passed as an out or ref parameter - 属性或索引器不能作为 out 或 ref 参数传递 + + An out parameter cannot have the In attribute + out 参数不能具有 In 特性 - - Cannot take the address of, get the size of, or declare a pointer to a managed type ('{0}') - 无法获取托管类型(“{0}”)的地址和大小,或者声明指向它的指针 + + Cannot convert null to '{0}' because it is a non-nullable value type + 无法将 null 转换为“{0}”,因为后者是不可以为 null 的值类型 - - The type of a local declared in a fixed statement must be a pointer type - fixed 语句中声明的局部变量类型必须是指针类型 + + Cannot convert type '{0}' to '{1}' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion + 无法通过引用转换、装箱转换、取消装箱转换、包装转换或 null 类型转换将类型“{0}”转换为“{1}” - - You must provide an initializer in a fixed or using statement declaration - 必须在 fixed 或者 using 语句声明中提供初始值设定项 + + Unexpected error writing debug information -- '{0}' + 写入调试信息时出错 --“{0}” - - Cannot take the address of the given expression - 无法获取给定表达式的地址 + + Inconsistent accessibility: return type '{1}' is less accessible than method '{0}' + 可访问性不一致: 返回类型“{1}”的可访问性低于方法“{0}” - - You can only take the address of an unfixed expression inside of a fixed statement initializer - 只能获取 fixed 语句初始值设定项内的未固定表达式的地址 + + Inconsistent accessibility: parameter type '{1}' is less accessible than method '{0}' + 可访问性不一致: 参数类型“{1}”的可访问性低于方法“{0}” - - You cannot use the fixed statement to take the address of an already fixed expression - 不能使用 fixed 语句来获取已固定的表达式的地址 + + Inconsistent accessibility: field type '{1}' is less accessible than field '{0}' + 可访问性不一致: 字段类型“{1}”的可访问性低于字段“{0}” - - Pointers and fixed size buffers may only be used in an unsafe context - 指针和固定大小缓冲区只能在不安全的上下文中使用 + + Inconsistent accessibility: property type '{1}' is less accessible than property '{0}' + 可访问性不一致: 属性类型“{1}”的可访问性低于属性“{0}” - - The return type of operator True or False must be bool - 运算符 True 或 False 的返回类型必须是 bool + + Inconsistent accessibility: indexer return type '{1}' is less accessible than indexer '{0}' + 可访问性不一致: 索引器返回类型“{1}”的可访问性低于索引器“{0}” - - The operator '{0}' requires a matching operator '{1}' to also be defined - 运算符“{0}”要求也要定义匹配的运算符“{1}” + + Inconsistent accessibility: parameter type '{1}' is less accessible than indexer '{0}' + 可访问性不一致: 参数类型“{1}”的可访问性低于索引器“{0}” - - In order to be applicable as a short circuit operator a user-defined logical operator ('{0}') must have the same return type and parameter types - 为了可以像短路运算符一样应用,用户定义的逻辑运算符(“{0}”)的返回类型和参数类型必须相同 + + Inconsistent accessibility: return type '{1}' is less accessible than operator '{0}' + 可访问性不一致: 返回类型“{1}”的可访问性低于运算符“{0}” - - In order for '{0}' to be applicable as a short circuit operator, its declaring type '{1}' must define operator true and operator false - 为了使“{0}”可以像短路运算符一样应用,其声明类型“{1}”必须定义运算符 true 和运算符 false + + Inconsistent accessibility: parameter type '{1}' is less accessible than operator '{0}' + 可访问性不一致: 参数类型“{1}”的可访问性低于运算符“{0}” - - The variable '{0}' is assigned but its value is never used - 变量“{0}”已被赋值,但从未使用过它的值 + + Inconsistent accessibility: return type '{1}' is less accessible than delegate '{0}' + 可访问性不一致: 返回类型“{1}”的可访问性低于委托“{0}” - - Variable is assigned but its value is never used - 变量已被赋值,但从未使用过它的值 + + Inconsistent accessibility: parameter type '{1}' is less accessible than delegate '{0}' + 可访问性不一致: 参数类型“{1}”的可访问性低于委托“{0}” - - The operation overflows at compile time in checked mode - 在 checked 模式下,运算在编译时溢出 + + Inconsistent accessibility: base class '{1}' is less accessible than class '{0}' + 可访问性不一致: 基类“{1}”的可访问性低于类“{0}” - - Constant value '{0}' cannot be converted to a '{1}' (use 'unchecked' syntax to override) - 常量值“{0}”无法转换为“{1}”(使用 "unchecked" 语法重写) + + Inconsistent accessibility: base interface '{1}' is less accessible than interface '{0}' + 可访问性不一致: 基接口“{1}”的可访问性低于接口“{0}” - - A method with vararg cannot be generic, be in a generic type, or have a params parameter - 带有 vararg 的方法不能是泛型,不能属于泛型类型,也不能具有 params 参数 + + '{0}': event property must have both add and remove accessors + '“{0}”: 事件属性必须同时具有 add 和 remove 访问器 - - The params parameter must be a single dimensional array - params 参数必须是一维数组 + + '{0}': event must be of a delegate type + '“{0}”: 事件必须是委托类型的 - - An __arglist expression may only appear inside of a call or new expression - __arglist 表达式只能出现在调用或 new 表达式内部 + + The event '{0}' is never used + 从不使用事件“{0}” - - Unsafe code may only appear if compiling with /unsafe - 不安全代码只会在使用 /unsafe 编译的情况下出现 + + Event is never used + 事件从未使用过 - - Ambiguity between '{0}' and '{1}' - 在“{0}”和“{1}”之间具有二义性 + + '{0}': event in interface cannot have initializer + '“{0}”: 接口中的事件不能有初始值设定项 - - Type and identifier are both required in a foreach statement - 在 foreach 语句中,类型和标识符都是必需的 + + An event in an interface cannot have add or remove accessors + 接口中的事件不能具有 add 或 remove 访问器 - - A params parameter must be the last parameter in a formal parameter list - params 参数必须是形参表中的最后一个参数 + + The event '{0}' can only appear on the left hand side of += or -= (except when used from within the type '{1}') + 事件“{0}”只能出现在 += 或 -= 的左边(从类型“{1}”中使用时除外) - - '{0}' does not have a predefined size, therefore sizeof can only be used in an unsafe context - '“{0}”没有预定义的大小,因此 sizeof 只能在不安全的上下文中使用(请考虑使用 System.Runtime.InteropServices.Marshal.SizeOf) + + An explicit interface implementation of an event must use event accessor syntax + 事件的显式接口实现必须使用事件访问器语法 - - The type or namespace name '{0}' does not exist in the namespace '{1}' (are you missing an assembly reference?) - 命名空间“{1}”中不存在类型或命名空间名“{0}”(是否缺少程序集引用?) + + '{0}': cannot override; '{1}' is not an event + '“{0}”: 无法重写;“{1}”不是事件 - - A field initializer cannot reference the non-static field, method, or property '{0}' - 字段初始值设定项无法引用非静态字段、方法或属性“{0}” + + An add or remove accessor must have a body + add 访问器或 remove 访问器必须有一个主体 - - - '{0}' cannot be sealed because it is not an override - '因为“{0}”不是重写,所以无法将其密封 + + + '{0}': abstract event cannot have initializer + '“{0}”: 抽象事件不能有初始值设定项 - - '{0}': cannot override inherited member '{1}' because it is sealed - '“{0}”: 继承成员“{1}”是密封的,无法进行重写 + + The assembly name '{0}' is reserved and cannot be used as a reference in an interactive session + 程序集名“{0}”保留名称,不能在交互会话中用作引用 - - The operation in question is undefined on void pointers - 相关操作在 void 指针上未定义 + + The enumerator name '{0}' is reserved and cannot be used + 枚举器名“{0}”是保留名称,不能使用 - - The Conditional attribute is not valid on '{0}' because it is an override method - Conditional 特性在“{0}”上无效,因为该特性是重写方法 + + The as operator must be used with a reference type or nullable type ('{0}' is a non-nullable value type) + as 运算符必须与引用类型或可以为 null 的类型一起使用(“{0}”是不可以为 null 值的类型) - - Neither 'is' nor 'as' is valid on pointer types - "is" 和 "as" 在指针类型上都无效 + + The 'l' suffix is easily confused with the digit '1' -- use 'L' for clarity + “l”后缀容易与数字“1”混淆;为清楚起见,请使用“L” - - Destructors and object.Finalize cannot be called directly. Consider calling IDisposable.Dispose if available. - 无法直接调用析构函数和 object.Finalize。如果可用,请考虑调用 IDisposable.Dispose。 + + The 'l' suffix is easily confused with the digit '1' + "l" 后缀容易与数字 "1" 混淆 - - The type or namespace name '{0}' could not be found (are you missing a using directive or an assembly reference?) - 未能找到类型或命名空间名“{0}”(是否缺少 using 指令或程序集引用?) + + The event '{0}' can only appear on the left hand side of += or -= + 事件“{0}”只能出现在 += 或 -= 的左边 - - Cannot use a negative size with stackalloc - 无法对 stackalloc 采用负值大小 + + Constraints are not allowed on non-generic declarations + 在非泛型声明上不允许使用约束 - - Cannot create an array with a negative size - 无法创建大小为负值的数组 + + Type parameter declaration must be an identifier not a type + 类型形参声明必须是标识符,不能是类型 - - Do not override object.Finalize. Instead, provide a destructor. - 请不要重写 object.Finalize,而是提供一个析构函数。 + + Type '{1}' already reserves a member called '{0}' with the same parameter types + 类型“{1}”已保留了一个名为“{0}”的具有相同参数类型的成员 - - Do not directly call your base class Finalize method. It is called automatically from your destructor. - 不要直接调用基类 Finalize 方法。它将从析构函数中自动调用。 + + The parameter name '{0}' is a duplicate + 参数名“{0}”重复 - - Indexing an array with a negative index (array indices always start at zero) - 用负索引对数组进行索引(数组索引总是从零开始) + + The namespace '{1}' already contains a definition for '{0}' + 命名空间“{1}”已经包含“{0}”的定义 - - Indexing an array with a negative index - 正在使用负值对数组编制索引 + + The type '{0}' already contains a definition for '{1}' + 类型“{0}”已经包含“{1}”的定义 - - Possible unintended reference comparison; to get a value comparison, cast the left hand side to type '{0}' - 可能非有意的引用比较;若要获取值比较,请将左边转换为类型“{0}” + + The name '{0}' does not exist in the current context + 当前上下文中不存在名称“{0}” - - Possible unintended reference comparison; left hand side needs cast - 可能非有意的引用比较;左侧需要强制转换 + + The name '{0}' does not exist in the current context (are you missing a reference to assembly '{1}'?) + 当前上下文中不存在名称“{0}”(是否缺少对程序集“{1}”的引用?) - - Possible unintended reference comparison; to get a value comparison, cast the right hand side to type '{0}' - 可能非有意的引用比较;若要获取值比较,请将右边转换为类型“{0}” + + '{0}' is an ambiguous reference between '{1}' and '{2}' + '“{0}”是“{1}”和“{2}”之间的不明确的引用 - - Possible unintended reference comparison; right hand side needs cast - 可能非有意的引用比较;右侧需要强制转换 + + The using directive for '{0}' appeared previously in this namespace + “{0}”的 using 指令以前在此命名空间中出现过 - - The right hand side of a fixed statement assignment may not be a cast expression - fixed 语句赋值的右边不能是强制转换表达式 + + Using directive appeared previously in this namespace + using 指令以前在此命名空间中出现过 - - stackalloc may not be used in a catch or finally block - stackalloc 不能用在 catch 或 finally 块中 + + The modifier '{0}' is not valid for this item + 修饰符“{0}”对该项无效 - - An __arglist parameter must be the last parameter in a formal parameter list - __arglist 参数必须是形参表中的最后一个参数 + + More than one protection modifier + 多个保护修饰符 - - Missing partial modifier on declaration of type '{0}'; another partial declaration of this type exists - 类型“{0}”的声明上缺少 partial 修饰符;存在此类型的其他分部声明 + + '{0}' hides inherited member '{1}'. Use the new keyword if hiding was intended. + '“{0}”隐藏继承的成员“{1}”。如果是有意隐藏,请使用关键字 new。 - - Partial declarations of '{0}' must be all classes, all structs, or all interfaces - “{0}”的分部声明必须是所有的类、所有的结构或所有的接口 + + Member hides inherited member; missing new keyword + 成员隐藏继承的成员;缺少关键字 new - - Partial declarations of '{0}' have conflicting accessibility modifiers - “{0}”的分部声明包含冲突的可访问性修饰符 + + A variable was declared with the same name as a variable in a base class. However, the new keyword was not used. This warning informs you that you should use new; the variable is declared as if new had been used in the declaration. + 使用与基类中的变量相同的名称声明了变量。但是,未使用关键字 new。此警告通知应使用 new;变量如同在声明中使用了 new 一样进行声明。 - - Partial declarations of '{0}' must not specify different base classes - “{0}”的分部声明一定不能指定不同的基类 + + The member '{0}' does not hide an accessible member. The new keyword is not required. + 成员“{0}”不会隐藏可访问成员。不需要关键字 new。 - - Partial declarations of '{0}' must have the same type parameter names in the same order - “{0}”的分部声明必须具有顺序相同的相同类型参数名 + + Member does not hide an inherited member; new keyword is not required + 成员不会隐藏继承的成员;不需要关键字 new - - Partial declarations of '{0}' have inconsistent constraints for type parameter '{1}' - “{0}”的分部声明对类型参数“{1}”具有不一致的约束 + + The evaluation of the constant value for '{0}' involves a circular definition + “{0}”的常量值计算涉及循环定义 - - Cannot implicitly convert type '{0}' to '{1}'. An explicit conversion exists (are you missing a cast?) - 无法将类型“{0}”隐式转换为“{1}”。存在一个显式转换(是否缺少强制转换?) + + Type '{1}' already defines a member called '{0}' with the same parameter types + 类型“{1}”已定义了一个名为“{0}”的具有相同参数类型的成员 - - The 'partial' modifier can only appear immediately before 'class', 'struct', 'interface', or 'void' - "partial" 修饰符的后面只能紧跟 "class"、"struct"、"interface" 或 "void" + + A static member '{0}' cannot be marked as override, virtual, or abstract + 静态成员“{0}”不能标记为 override、virtual 或 abstract - - Imported type '{0}' is invalid. It contains a circular base class dependency. - 导入的类型“{0}”无效。它包含循环的基类依赖项。 + + A member '{0}' marked as override cannot be marked as new or virtual + 标记为 override 的成员“{0}”不能标记为 new 或 virtual - - Use of unassigned out parameter '{0}' - 使用了未赋值的 out 参数“{0}” + + '{0}' hides inherited member '{1}'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword. + '“{0}”隐藏继承的成员“{1}”。若要使当前成员重写该实现,请添加关键字 override。否则,添加关键字 new。 - - Array size cannot be specified in a variable declaration (try initializing with a 'new' expression) - 不能在变量声明中指定数组大小(请尝试使用 "new" 表达式初始化) + + Member hides inherited member; missing override keyword + 成员隐藏继承的成员;缺少关键字 override - - The property or indexer '{0}' cannot be used in this context because the get accessor is inaccessible - 属性或索引器“{0}”不能用在此上下文中,因为 get 访问器不可访问 + + '{0}': no suitable method found to override + '“{0}”: 没有找到适合的方法来重写 - - The property or indexer '{0}' cannot be used in this context because the set accessor is inaccessible - 属性或索引器“{0}”不能用在此上下文中,因为 set 访问器不可访问 + + A namespace cannot directly contain members such as fields or methods + 命名空间不能直接包含字段或方法之类的成员 - - The accessibility modifier of the '{0}' accessor must be more restrictive than the property or indexer '{1}' - “{0}”访问器的可访问性修饰符必须比属性或索引器“{1}”具有更强的限制 + + '{0}' does not contain a definition for '{1}' + '“{0}”未包含“{1}”的定义 - - Cannot specify accessibility modifiers for both accessors of the property or indexer '{0}' - 不能为属性或索引器“{0}”的两个访问器同时指定可访问性修饰符 + + '{0}' is a {1} but is used like a {2} + '“{0}”是 {1},但此处被当做 {2} 来使用 - - '{0}': accessibility modifiers may not be used on accessors in an interface - '“{0}”: 可访问性修饰符不能在接口中的访问器上使用 + + '{0}' is a {1}, which is not valid in the given context + '“{0}”是一个 {1},这在给定的上下文中无效 - - '{0}': accessibility modifiers on accessors may only be used if the property or indexer has both a get and a set accessor - '“{0}”: 仅当属性或索引器同时具有 get 访问器和 set 访问器时,才能对访问器使用可访问性修饰符 + + An object reference is required for the non-static field, method, or property '{0}' + 对象引用对于非静态的字段、方法或属性“{0}”是必需的 - - '{0}' does not implement interface member '{1}'. '{2}' is not public. - '“{0}”不实现接口成员“{1}”。“{2}”不是公共的。 + + The call is ambiguous between the following methods or properties: '{0}' and '{1}' + 以下方法或属性之间的调用具有二义性:“{0}”和“{1}” - - '{0}' does not implement the '{1}' pattern. '{2}' is ambiguous with '{3}'. - '“{0}”不实现“{1}”模式。“{2}”与“{3}”一起使用时目的不明确。 + + '{0}' is inaccessible due to its protection level + '“{0}”不可访问,因为它具有一定的保护级别 - - Type does not implement the collection pattern; members are ambiguous - 类型不实现集合模式;成员不明确 + + No overload for '{0}' matches delegate '{1}' + “{0}”没有与委托“{1}”匹配的重载 - - '{0}' does not implement the '{1}' pattern. '{2}' is either static or not public. - '“{0}”不实现“{1}”模式。“{2}”是静态的或非公共的。 + + An object of a type convertible to '{0}' is required + 需要一个类型可转换为“{0}”的对象 - - Type does not implement the collection pattern; member is either static or not public - 类型不实现集合模式;成员静态的或非公共的 + + Since '{0}' returns void, a return keyword must not be followed by an object expression + 由于“{0}”返回 void,返回关键字后面不得有对象表达式 - - '{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature. - '“{0}”不实现“{1}”模式。“{2}”有错误的签名。 + + A local variable or function named '{0}' is already defined in this scope + 已在此范围定义了名为“{0}”的局部变量或函数 - - Type does not implement the collection pattern; member has the wrong signature - 类型不实现集合模式;成员有错误的签名 + + The left-hand side of an assignment must be a variable, property or indexer + 赋值号左边必须是变量、属性或索引器 - - Friend access was granted by '{0}', but the public key of the output assembly ('{1}') does not match that specified by the InternalsVisibleTo attribute in the granting assembly. - 友元访问权限由“{0}”授予,但是输出程序集('{1}')的公钥与授予程序集中 InternalsVisibleTo 特性指定的公钥不匹配。 + + '{0}': a static constructor must be parameterless + '“{0}”: 静态构造函数必须无参数 - - Friend access was granted by '{0}', but the strong name signing state of the output assembly does not match that of the granting assembly. - 友元访问权限由“{0}”授予,但是输出程序集的强名称签名状态与授予程序集的强名称签名状态不匹配。 + + The expression being assigned to '{0}' must be constant + 指派给“{0}”的表达式必须是常量 - - There is no defined ordering between fields in multiple declarations of partial struct '{0}'. To specify an ordering, all instance fields must be in the same declaration. - 在分部结构“{0}”的多个声明中的字段之间没有已定义的排序方式。要指定排序方式,所有实例字段必须位于同一声明中。 + + '{0}' is of type '{1}'. A const field of a reference type other than string can only be initialized with null. + '“{0}”的类型为“{1}”。只能用 Null 对引用类型(字符串除外)的常量字段进行初始化。 - - There is no defined ordering between fields in multiple declarations of partial struct - 在分部结构的多个声明中的字段之间没有已定义的排序方式 + + A local or parameter named '{0}' cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter + 无法在此范围中声明名为“{0}”的局部变量或参数,因为该名称在封闭局部范围中用于定义局部变量或参数 - - The type '{0}' cannot be declared const - 不能将类型“{0}”声明为 const + + A 'using namespace' directive can only be applied to namespaces; '{0}' is a type not a namespace. Consider a 'using static' directive instead + “using namespace”指令只能应用于命名空间;“{0}”是一个类型而不是命名空间。请考虑改用“using static”指令 - - Cannot create an instance of the variable type '{0}' because it does not have the new() constraint - 变量类型“{0}”没有 new() 约束,因此无法创建该类型的实例 + + A 'using static' directive can only be applied to types; '{0}' is a namespace not a type. Consider a 'using namespace' directive instead + “using static” 指令只能应用于类型;“{0}”是一个命名空间而不是类型。请考虑改用“using namespace”指令 - - Using the generic {1} '{0}' requires {2} type arguments - 使用泛型 {1}“{0}”需要 {2} 个类型参数 + + A 'using static' directive cannot be used to declare an alias + “using static”指令不能用于声明别名 - - The type '{0}' may not be used as a type argument - 类型“{0}”不能用作类型参数 + + No enclosing loop out of which to break or continue + 没有要中断或继续的封闭循环 - - The {1} '{0}' cannot be used with type arguments - {1}“{0}”不能与类型参数一起使用 + + The label '{0}' is a duplicate + 标签“{0}”重复 - - The non-generic {1} '{0}' cannot be used with type arguments - 非泛型 {1}“{0}”不能与类型参数一起使用 + + The type '{0}' has no constructors defined + 类型“{0}”未定义构造函数 - - '{2}' must be a non-abstract type with a public parameterless constructor in order to use it as parameter '{1}' in the generic type or method '{0}' - '“{2}”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法“{0}”中的参数“{1}” + + Cannot create an instance of the abstract class or interface '{0}' + 无法创建抽象类或接口“{0}”的实例 - - The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. There is no implicit reference conversion from '{3}' to '{1}'. - 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。没有从“{3}”到“{1}”的隐式引用转换。 + + A const field requires a value to be provided + 常量字段要求提供一个值 - - The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. The nullable type '{3}' does not satisfy the constraint of '{1}'. - 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。可以为 null 的类型“{3}”不满足“{1}”的约束。 + + Circular base class dependency involving '{0}' and '{1}' + 涉及“{0}”和“{1}”的循环基类依赖项 - - The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. The nullable type '{3}' does not satisfy the constraint of '{1}'. Nullable types can not satisfy any interface constraints. - 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。可以为 null 的类型“{3}”不满足“{1}”的约束。可以为 null 的类型不能满足任何接口约束。 + + The delegate '{0}' does not have a valid constructor + 委托“{0}”没有有效的构造函数 - - The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. There is no boxing conversion or type parameter conversion from '{3}' to '{1}'. - 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。没有从“{3}”到“{1}”的装箱转换或类型参数转换。 + + Method name expected + 应输入方法名称 - - The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. There is no boxing conversion from '{3}' to '{1}'. - 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。没有从“{3}”到“{1}”的装箱转换。 + + A constant value is expected + 应输入常量值 - - The parameter name '{0}' conflicts with an automatically-generated parameter name - 参数名“{0}”与某个自动生成的参数名冲突 + + A switch expression or case label must be a bool, char, string, integral, enum, or corresponding nullable type in C# 6 and earlier. + switch 表达式或事例标签必须是 bool、char、string、integral、enum 或 C#6 及更早版本中相应的可以为 null 的类型。 - - The type or namespace name '{0}' could not be found in the global namespace (are you missing an assembly reference?) - 未能在全局命名空间中找到类型或命名空间名“{0}”(是否缺少程序集引用?) + + A value of an integral type expected + 应输入整型值 - - The new() constraint must be the last constraint specified - new() 约束必须是指定的最后一个约束 + + The switch statement contains multiple cases with the label value '{0}' + switch 语句包含多个具有标签值“{0}”的情况 - - '{0}': an entry point cannot be generic or in a generic type - '“{0}”: 入口点不能是泛型的或属于泛型类型 + + A goto case is only valid inside a switch statement + goto case 只在 switch 语句中有效 - - An entry point cannot be generic or in a generic type - 入口点不能是泛型的或属于泛型类型 + + The property or indexer '{0}' cannot be used in this context because it lacks the get accessor + 属性或索引器“{0}”不能用在此上下文中,因为它缺少 get 访问器 - - Cannot convert null to type parameter '{0}' because it could be a non-nullable value type. Consider using 'default({0})' instead. - 无法将 null 转换为类型参数“{0}”,因为它可能是不可以为 null 的值类型。请考虑改用“default({0})”。 + + The type caught or thrown must be derived from System.Exception + 捕获或抛弃的类型必须从 System.Exception 派生 - - Cannot apply attribute class '{0}' because it is generic - 无法应用特性类“{0}”,因为它是泛型的 + + A throw statement with no arguments is not allowed outside of a catch clause + 无参数的 throw 语句不允许在 catch 子句之外使用 - - Duplicate constraint '{0}' for type parameter '{1}' - 类型参数“{1}”的约束“{0}”重复 + + Control cannot leave the body of a finally clause + 控制不能离开 finally 子句主体 - - The class type constraint '{0}' must come before any other constraints - 类类型约束“{0}”必须在其他任何约束之前 + + The label '{0}' shadows another label by the same name in a contained scope + 在包含的范围中标签“{0}”遮盖了具有同样名称的另一个标签 - - '{1} {0}' has the wrong return type - '“{1} {0}”的返回类型错误 + + No such label '{0}' within the scope of the goto statement + goto 语句范围内没有“{0}”这样的标签 - - Ref mismatch between '{0}' and delegate '{1}' - “{0}”和委托“{1}”之间引用不匹配 + + A previous catch clause already catches all exceptions of this or of a super type ('{0}') + 上一个 catch 子句已经捕获了此类型或超类型(“{0}”)的所有异常 - - A constraint clause has already been specified for type parameter '{0}'. All of the constraints for a type parameter must be specified in a single where clause. - 已经为类型参数“{0}”指定了 constraint 子句。必须在单个 where 子句中指定类型参数的所有约束。 + + Filter expression is a constant 'true', consider removing the filter + 筛选器表达式是常量 “true”,请考虑删除筛选器 - - The type arguments for method '{0}' cannot be inferred from the usage. Try specifying the type arguments explicitly. - 无法从用法中推断出方法“{0}”的类型参数。请尝试显式指定类型参数。 + + Filter expression is a constant 'true' + 筛选器表达式是常量 “true” - - '{0}': a parameter, local variable, or local function cannot have the same name as a method type parameter - '“{0}”: 参数、局部变量或本地函数不能与方法类型参数同名 + + '{0}': not all code paths return a value + '“{0}”: 并非所有的代码路径都返回值 - - The type parameter '{0}' cannot be used with the 'as' operator because it does not have a class type constraint nor a 'class' constraint - 由于类型参数“{0}”既没有类类型约束也没有“class”约束,因此不能与“as”运算符一起使用 + + Unreachable code detected + 检测到无法访问的代码 - - The field '{0}' is assigned but its value is never used - 字段“{0}”已被赋值,但从未使用过它的值 + + Unreachable code detected + 检测到无法访问的代码 - - Field is assigned but its value is never used - 字段已被赋值,但从未使用过它的值 + + Control cannot fall through from one case label ('{0}') to another + 控制不能从一个 case 标签(“{0}”)贯穿到另一个 case 标签 - - The '{0}' attribute is valid only on an indexer that is not an explicit interface member declaration - “{0}”特性仅在不是显式接口成员声明的索引器上有效 + + This label has not been referenced + 这个标签尚未被引用 - - '{0}': an attribute argument cannot use type parameters - '“{0}”: 特性参数不能使用类型参数 + + This label has not been referenced + 这个标签尚未被引用 - - '{0}': cannot provide arguments when creating an instance of a variable type - '“{0}”: 创建变量类型的实例时无法提供参数 + + Use of unassigned local variable '{0}' + 使用了未赋值的局部变量“{0}” - - '{0}': an abstract class cannot be sealed or static - '“{0}”: 抽象类不能是密封的或静态的 + + The variable '{0}' is declared but never used + 声明了变量“{0}”,但从未使用过 - - Ambiguous reference in cref attribute: '{0}'. Assuming '{1}', but could have also matched other overloads including '{2}'. - cref 特性中有不明确的引用:“{0}”。假定为“{1}”,但可能还与其他重载匹配,包括“{2}”。 + + Variable is declared but never used + 声明了变量,但从未使用过 - - Ambiguous reference in cref attribute - cref 特性中有不明确的引用 + + The field '{0}' is never used + 从不使用字段“{0}” - - '{0}': a reference to a volatile field will not be treated as volatile - '“{0}”: 对 volatile 字段的引用不被视为 volatile + + Field is never used + 字段从未使用过 - - A reference to a volatile field will not be treated as volatile - 对可变字段的引用不被视为可变字段 + + Use of possibly unassigned field '{0}' + 使用了可能未赋值的字段“{0}” - - - A volatile field should not normally be used as a ref or out value, since it will not be treated as volatile. There are exceptions to this, such as when calling an interlocked API. - 可变字段通常不应用作 ref 或 out 值,因为它不会被视为可变字段。这种情况存在例外情况,如调用联锁 API 时。 + + + Use of possibly unassigned auto-implemented property '{0}' + 使用可能未赋值的自动实现的属性“{0}” - - Since '{1}' has the ComImport attribute, '{0}' must be extern or abstract - 由于“{1}”具有 ComImport 特性,因此“{0}”必须是外部的或抽象的 + + Field '{0}' must be fully assigned before control is returned to the caller + 在控制返回调用方之前,字段“{0}”必须完全赋值 - - '{0}': a class with the ComImport attribute cannot specify a base class - '“{0}”: 具有 ComImport 特性的类不能指定基类 + + Type of conditional expression cannot be determined because '{0}' and '{1}' implicitly convert to one another + 无法确定条件表达式的类型,因为“{0}”和“{1}”可相互隐式转换 - - The constraints for type parameter '{0}' of method '{1}' must match the constraints for type parameter '{2}' of interface method '{3}'. Consider using an explicit interface implementation instead. - 方法“{1}”的类型参数“{0}”的约束必须与接口方法“{3}”的类型参数“{2}”的约束相匹配。请考虑改用显式接口实现。 + + Type of conditional expression cannot be determined because there is no implicit conversion between '{0}' and '{1}' + 无法确定条件表达式的类型,因为“{0}”和“{1}”之间没有隐式转换 - - The tuple element names in the signature of method '{0}' must match the tuple element names of interface method '{1}' (including on the return type). - 方法“{0}”的签名中的元组元素名称必须与接口方法“{1}”的元组元素名称匹配(包括返回类型)。 + + A base class is required for a 'base' reference + "base" 引用需要基类 - - The type name '{0}' does not exist in the type '{1}' - 类型“{1}”中不存在类型名“{0}” + + Use of keyword 'base' is not valid in this context + 在此上下文中使用关键字 "base" 无效 - - Cannot convert method group '{0}' to non-delegate type '{1}'. Did you intend to invoke the method? - 无法将方法组“{0}”转换为非委托类型“{1}”。是否希望调用此方法? + + Member '{0}' cannot be accessed with an instance reference; qualify it with a type name instead + 无法使用实例引用来访问成员“{0}”;请改用类型名来限定它 - - The extern alias '{0}' was not specified in a /reference option - 在 /reference 选项中未指定外部别名“{0}” + + The out parameter '{0}' must be assigned to before control leaves the current method + 控制离开当前方法之前必须对 out 参数“{0}”赋值 - - Cannot use alias '{0}' with '::' since the alias references a type. Use '.' instead. - 无法将别名“{0}”与“::”一起使用,因为该别名引用了类型。请改用“.”。 + + Invalid rank specifier: expected ',' or ']' + 无效的秩说明符: 应为“,”或“]” - - Alias '{0}' not found - 找不到别名“{0}” + + '{0}' cannot be extern and declare a body + '“{0}”不能是外部的,也无法声明主体 - - The type '{1}' exists in both '{0}' and '{2}' - 类型“{1}”同时存在于“{0}”和“{2}”中 + + '{0}' cannot be extern and have a constructor initializer + '“{0}”不能是外部的,也不能具有构造函数初始值设定项 - - The namespace '{1}' in '{0}' conflicts with the type '{3}' in '{2}' - “{0}”中的命名空间“{1}”与“{2}”中的类型“{3}”冲突 + + '{0}' cannot be both extern and abstract + '“{0}”不能既是外部的又是抽象的 - - The namespace '{1}' in '{0}' conflicts with the imported type '{3}' in '{2}'. Using the namespace defined in '{0}'. - “{0}”中的命名空间“{1}”与“{2}”中的导入类型“{3}”冲突。请使用“{0}”中定义的命名空间。 + + Attribute constructor parameter '{0}' has type '{1}', which is not a valid attribute parameter type + 特性构造函数参数“{0}”具有类型“{1}”,这不是有效特性参数类型 - - Namespace conflicts with imported type - 命名空间与导入类型冲突 + + An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type + 特性实参必须是特性形参类型的常量表达式、typeof 表达式或数组创建表达式 - - The type '{1}' in '{0}' conflicts with the imported type '{3}' in '{2}'. Using the type defined in '{0}'. - “{0}”中的类型“{1}”与“{2}”中的导入类型“{3}”冲突。请使用“{0}”中定义的类型。 + + Attribute constructor parameter '{0}' is optional, but no default parameter value was specified. + 特性构造函数参数“{0}”是可选的,但是未指定默认参数值。 - - Type conflicts with imported type - 类型与导入类型冲突 + + The given expression is always of the provided ('{0}') type + 给定表达式始终为所提供的(“{0}”)类型 - - The type '{1}' in '{0}' conflicts with the imported namespace '{3}' in '{2}'. Using the type defined in '{0}'. - “{0}”中的类型“{1}”与“{2}”中的导入命令空间“{3}”冲突。请使用“{0}”中定义的类型。 + + 'is' expression's given expression is always of the provided type + '"is" 表达式的给定表达式始终是所提供的类型 - - Type conflicts with imported namespace - 类型与导入命名空间冲突 + + The given expression is never of the provided ('{0}') type + 给定表达式始终不是所提供的(“{0}”)类型 - - The type '{1}' in '{0}' conflicts with the namespace '{3}' in '{2}' - “{0}”中的类型“{1}”与“{2}”中的命名空间“{3}”冲突 + + 'is' expression's given expression is never of the provided type + '"is" 表达式的给定表达式始终不是所提供的类型 - - An extern alias declaration must precede all other elements defined in the namespace - 外部别名声明必须位于命名空间中定义的所有其他元素之前 + + '{0}' is not a reference type as required by the lock statement + '“{0}”不是 lock 语句要求的引用类型 - - Defining an alias named 'global' is ill-advised since 'global::' always references the global namespace and not an alias - 由于 "global::" 总是引用全局命名空间而非别名,因此定义一个名为 "global" 的别名是欠妥的 + + Use of null is not valid in this context + 在此上下文中使用 null 无效 - - Defining an alias named 'global' is ill-advised - 定义名为 "global" 的别名是欠妥的 + + Use of default literal is not valid in this context + 在此背景下使用默认文本无效 - - '{0}': a class cannot be both static and sealed - '“{0}”: 类不能既是静态的又是密封的 + + The 'this' object cannot be used before all of its fields are assigned to + 在给 "this" 对象的所有字段赋值之前,无法使用该对象 - - '{0}': abstract properties cannot have private accessors - '“{0}”: 抽象属性不能具有专用访问器 + + The __arglist construct is valid only within a variable argument method + __arglist 构造只在变量参数方法中有效 - - Syntax error; value expected - 语法错误,应为值 + + The * or -> operator must be applied to a pointer + * 或 -> 运算符只能应用于指针 - - Cannot modify the result of an unboxing conversion - 无法修改取消装箱转换的结果 + + A pointer must be indexed by only one value + 指针必须只根据一个值进行索引 - - Foreach cannot operate on a '{0}'. Did you intend to invoke the '{0}'? - Foreach 不能操作“{0}”。是否要调用“{0}”? + + Using '{0}' as a ref or out value or taking its address may cause a runtime exception because it is a field of a marshal-by-reference class + 由于“{0}”是引用封送类的字段,将它用作 ref 或 out 值或获取它的地址可能导致运行时异常 - - The return type for ++ or -- operator must match the parameter type or be derived from the parameter type - ++ 或 -- 运算符的返回类型必须与参数类型匹配或从参数类型派生 + + Using a field of a marshal-by-reference class as a ref or out value or taking its address may cause a runtime exception + 将引用封送类的字段用作 ref 或 out 值或获取其地址可能导致运行时异常 - - The 'class' or 'struct' constraint must come before any other constraints - "class" 或 "struct" 约束必须在其他任何约束之前 + + A static readonly field cannot be assigned to (except in a static constructor or a variable initializer) + 无法对静态只读字段赋值(静态构造函数或变量初始值中除外) - - '{0}': cannot specify both a constraint class and the 'class' or 'struct' constraint - '“{0}”: 不能既指定约束类又指定“class”或“struct”约束 + + A static readonly field cannot be used as a ref or out value (except in a static constructor) + 无法将静态只读字段用作 ref 或 out 值(静态构造函数中除外) - - The 'new()' constraint cannot be used with the 'struct' constraint - "new()" 约束不能与 "struct" 约束一起使用 + + Property or indexer '{0}' cannot be assigned to -- it is read only + 无法为属性或索引器“{0}”赋值 - 它是只读的 - - The type '{2}' must be a reference type in order to use it as parameter '{1}' in the generic type or method '{0}' - 类型“{2}”必须是引用类型才能用作泛型类型或方法“{0}”中的参数“{1}” + + Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement + 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句 - - The type '{2}' must be a non-nullable value type in order to use it as parameter '{1}' in the generic type or method '{0}' - 类型“{2}”必须是不可以为 null 值的类型,才能用作泛型类型或方法“{0}”中的参数“{1}” + + foreach requires that the return type '{0}' of '{1}' must have a suitable public 'MoveNext' method and public 'Current' property + foreach 要求“{1}”的返回类型“{0}”必须具有适当的公共 MoveNext 方法和公共 Current 属性 - - Circular constraint dependency involving '{0}' and '{1}' - 涉及“{0}”和“{1}”的循环约束依赖项 + + Only 65534 locals, including those generated by the compiler, are allowed + 仅允许 65534 个局部变量,包括编译器生成的局部变量 - - Type parameter '{0}' inherits conflicting constraints '{1}' and '{2}' - 类型参数“{0}”继承了彼此冲突的“{1}”和“{2}”约束 + + Cannot call an abstract base member: '{0}' + 无法调用抽象基成员:“{0}” - - Type parameter '{1}' has the 'struct' constraint so '{1}' cannot be used as a constraint for '{0}' - 类型参数“{1}”具有 "struct" 约束,因此“{1}”不能用作“{0}”的约束 + + A property or indexer may not be passed as an out or ref parameter + 属性或索引器不能作为 out 或 ref 参数传递 - - Ambiguous user defined conversions '{0}' and '{1}' when converting from '{2}' to '{3}' - 从“{2}”转换为“{3}”时,用户定义的转换“{0}”和“{1}”具有二义性 + + Cannot take the address of, get the size of, or declare a pointer to a managed type ('{0}') + 无法获取托管类型(“{0}”)的地址和大小,或者声明指向它的指针 - - The result of the expression is always 'null' of type '{0}' - 表达式的结果总是“{0}”类型的“null” + + The type of a local declared in a fixed statement must be a pointer type + fixed 语句中声明的局部变量类型必须是指针类型 - - The result of the expression is always 'null' - 表达式的结果总是 "null" + + You must provide an initializer in a fixed or using statement declaration + 必须在 fixed 或者 using 语句声明中提供初始值设定项 - - Cannot return 'this' by reference. - 不能通过引用返回 "this"。 + + Cannot take the address of the given expression + 无法获取给定表达式的地址 - - Cannot use attribute constructor '{0}' because it is has 'in' parameters. - 不可使用特性构造函数“{0}”,因为它具有 “in” 参数。 + + You can only take the address of an unfixed expression inside of a fixed statement initializer + 只能获取 fixed 语句初始值设定项内的未固定表达式的地址 - - Constraints for override and explicit interface implementation methods are inherited from the base method, so they cannot be specified directly - 重写和显式接口实现方法的约束是从基方法继承的,因此不能直接指定这些约束 + + You cannot use the fixed statement to take the address of an already fixed expression + 不能使用 fixed 语句来获取已固定的表达式的地址 - - The inherited members '{0}' and '{1}' have the same signature in type '{2}', so they cannot be overridden - 继承的成员“{0}”和“{1}”在类型“{2}”中具有相同的签名,因此不能重写这些成员 + + Pointers and fixed size buffers may only be used in an unsafe context + 指针和固定大小缓冲区只能在不安全的上下文中使用 - - Evaluation of the decimal constant expression failed - 计算十进制常量表达式失败 + + The return type of operator True or False must be bool + 运算符 True 或 False 的返回类型必须是 bool - - Comparing with null of type '{0}' always produces 'false' - 与类型为“{0}”的 null 进行比较始终产生“false” + + The operator '{0}' requires a matching operator '{1}' to also be defined + 运算符“{0}”要求也要定义匹配的运算符“{1}” - - Comparing with null of struct type always produces 'false' - 与结构类型的 null 进行比较始终产生 "false" + + In order to be applicable as a short circuit operator a user-defined logical operator ('{0}') must have the same return type and parameter types + 为了可以像短路运算符一样应用,用户定义的逻辑运算符(“{0}”)的返回类型和参数类型必须相同 - - Introducing a 'Finalize' method can interfere with destructor invocation. Did you intend to declare a destructor? - 引入 "Finalize" 方法会妨碍析构函数调用。是否希望声明析构函数? + + In order for '{0}' to be applicable as a short circuit operator, its declaring type '{1}' must define operator true and operator false + 为了使“{0}”可以像短路运算符一样应用,其声明类型“{1}”必须定义运算符 true 和运算符 false - - Introducing a 'Finalize' method can interfere with destructor invocation - 引入 "Finalize" 方法可能会妨碍析构函数调用 + + The variable '{0}' is assigned but its value is never used + 变量“{0}”已被赋值,但从未使用过它的值 - - This warning occurs when you create a class with a method whose signature is public virtual void Finalize. - -If such a class is used as a base class and if the deriving class defines a destructor, the destructor will override the base class Finalize method, not Finalize. - 创建的类具有签名为 public virtual void Finalize 的方法时,会出现此警告。 - -如果将这样一个类用作基类,并且如果派生类定义一个析构函数,则该析构函数会重写基类 Finalize 方法,而不是 Finalize。 + + Variable is assigned but its value is never used + 变量已被赋值,但从未使用过它的值 - - '{0}' should not have a params parameter since '{1}' does not - '由于“{1}”没有 params 数组,因此“{0}”也不应当有 params 参数 + + The operation overflows at compile time in checked mode + 在 checked 模式下,运算在编译时溢出 - - The 'goto case' value is not implicitly convertible to type '{0}' - “goto case”值不可隐式转换为类型“{0}” + + Constant value '{0}' cannot be converted to a '{1}' (use 'unchecked' syntax to override) + 常量值“{0}”无法转换为“{1}”(使用 "unchecked" 语法重写) - - The 'goto case' value is not implicitly convertible to the switch type - "goto case" 值不可隐式转换为开关类型 + + A method with vararg cannot be generic, be in a generic type, or have a params parameter + 带有 vararg 的方法不能是泛型,不能属于泛型类型,也不能具有 params 参数 - - Method '{0}' cannot implement interface accessor '{1}' for type '{2}'. Use an explicit interface implementation. - 方法“{0}”无法实现类型“{2}”的接口访问器“{1}” 请使用显式接口实现。 + + The params parameter must be a single dimensional array + params 参数必须是一维数组 - - The result of the expression is always '{0}' since a value of type '{1}' is never equal to 'null' of type '{2}' - 由于“{1}”类型的值永不等于“{2}”类型的 "null",该表达式的结果始终为“{0}” + + An __arglist expression may only appear inside of a call or new expression + __arglist 表达式只能出现在调用或 new 表达式内部 - - The result of the expression is always the same since a value of this type is never equal to 'null' - 由于此类型的值永不等于 "null",该表达式的结果始终相同 + + Unsafe code may only appear if compiling with /unsafe + 不安全代码只会在使用 /unsafe 编译的情况下出现 - - The result of the expression is always '{0}' since a value of type '{1}' is never equal to 'null' of type '{2}' - 由于“{1}”类型的值永不等于“{2}”类型的 "null",该表达式的结果始终为“{0}” + + Ambiguity between '{0}' and '{1}' + 在“{0}”和“{1}”之间具有二义性 - - The result of the expression is always the same since a value of this type is never equal to 'null' - 由于此类型的值永不等于 "null",该表达式的结果始终相同 + + Type and identifier are both required in a foreach statement + 在 foreach 语句中,类型和标识符都是必需的 - - Explicit interface implementation '{0}' matches more than one interface member. Which interface member is actually chosen is implementation-dependent. Consider using a non-explicit implementation instead. - 显式接口实现“{0}”与多个接口成员匹配。实际选择哪个接口成员取决于具体的实现。请考虑改用非显式实现。 + + A params parameter must be the last parameter in a formal parameter list + params 参数必须是形参表中的最后一个参数 - - Explicit interface implementation matches more than one interface member - 显式接口实现与多个接口成员匹配 + + '{0}' does not have a predefined size, therefore sizeof can only be used in an unsafe context + '“{0}”没有预定义的大小,因此 sizeof 只能在不安全的上下文中使用(请考虑使用 System.Runtime.InteropServices.Marshal.SizeOf) - - '{0}' cannot declare a body because it is marked abstract - '“{0}”无法声明主体,因为它标记为 abstract + + The type or namespace name '{0}' does not exist in the namespace '{1}' (are you missing an assembly reference?) + 命名空间“{1}”中不存在类型或命名空间名“{0}”(是否缺少程序集引用?) - - '{0}' must declare a body because it is not marked abstract, extern, or partial - '“{0}”必须声明主体,因为它未标记为 abstract、extern 或 partial + + A field initializer cannot reference the non-static field, method, or property '{0}' + 字段初始值设定项无法引用非静态字段、方法或属性“{0}” - - '{0}' cannot be both abstract and sealed - '“{0}”不能既是抽象的又是密封的 + + '{0}' cannot be sealed because it is not an override + '因为“{0}”不是重写,所以无法将其密封 - - The abstract {0} '{1}' cannot be marked virtual - 抽象 {0}“{1}”不能标记为虚拟 + + '{0}': cannot override inherited member '{1}' because it is sealed + '“{0}”: 继承成员“{1}”是密封的,无法进行重写 - - The constant '{0}' cannot be marked static - 常量“{0}”不能标记为 static + + The operation in question is undefined on void pointers + 相关操作在 void 指针上未定义 - - '{0}': cannot override because '{1}' is not a function - '“{0}”: 无法重写,因为“{1}”不是函数 + + The Conditional attribute is not valid on '{0}' because it is an override method + Conditional 特性在“{0}”上无效,因为该特性是重写方法 - - '{0}': cannot override inherited member '{1}' because it is not marked virtual, abstract, or override - '“{0}”: 继承成员“{1}”未标记为 virtual、abstract 或 override,无法进行重写 + + Neither 'is' nor 'as' is valid on pointer types + "is" 和 "as" 在指针类型上都无效 - - '{0}': cannot change access modifiers when overriding '{1}' inherited member '{2}' - '“{0}”: 当重写“{1}”继承成员“{2}”时,无法更改访问修饰符 + + Destructors and object.Finalize cannot be called directly. Consider calling IDisposable.Dispose if available. + 无法直接调用析构函数和 object.Finalize。如果可用,请考虑调用 IDisposable.Dispose。 - - '{0}': cannot change tuple element names when overriding inherited member '{1}' - '{0}: 替代继承成员“{1}”时无法更改元组元素名称 + + The type or namespace name '{0}' could not be found (are you missing a using directive or an assembly reference?) + 未能找到类型或命名空间名“{0}”(是否缺少 using 指令或程序集引用?) - - '{0}': return type must be '{2}' to match overridden member '{1}' - '“{0}”: 返回类型必须是“{2}”才能与重写成员“{1}”匹配 + + Cannot use a negative size with stackalloc + 无法对 stackalloc 采用负值大小 - - '{0}': cannot derive from sealed type '{1}' - '“{0}”: 无法从密封类型“{1}”派生 + + Cannot create an array with a negative size + 无法创建大小为负值的数组 - - '{0}' is abstract but it is contained in non-abstract class '{1}' - '“{0}”是抽象的,但它包含在非抽象类“{1}”中 + + Do not override object.Finalize. Instead, provide a destructor. + 请不要重写 object.Finalize,而是提供一个析构函数。 - - '{0}': static constructor cannot have an explicit 'this' or 'base' constructor call - '“{0}”: 静态构造函数不能具有显式的“this”或“base”构造函数调用 + + Do not directly call your base class Finalize method. It is called automatically from your destructor. + 不要直接调用基类 Finalize 方法。它将从析构函数中自动调用。 - - '{0}': access modifiers are not allowed on static constructors - '“{0}”: 静态构造函数中不允许出现访问修饰符 + + Indexing an array with a negative index (array indices always start at zero) + 用负索引对数组进行索引(数组索引总是从零开始) - - Constructor '{0}' cannot call itself - 构造函数“{0}”不能调用自身 + + Indexing an array with a negative index + 正在使用负值对数组编制索引 - - Constructor '{0}' cannot call itself through another constructor - 构造函数“{0}”无法通过另一构造函数调用自身 + + Possible unintended reference comparison; to get a value comparison, cast the left hand side to type '{0}' + 可能非有意的引用比较;若要获取值比较,请将左边转换为类型“{0}” - - '{0}' has no base class and cannot call a base constructor - '“{0}”没有基类,无法调用基构造函数 + + Possible unintended reference comparison; left hand side needs cast + 可能非有意的引用比较;左侧需要强制转换 - - Predefined type '{0}' is not defined or imported - 预定义类型“{0}”未定义或导入 + + Possible unintended reference comparison; to get a value comparison, cast the right hand side to type '{0}' + 可能非有意的引用比较;若要获取值比较,请将右边转换为类型“{0}” - - Predefined type '{0}' is not defined or imported - 预定义类型“{0}”未定义或导入 + + Possible unintended reference comparison; right hand side needs cast + 可能非有意的引用比较;右侧需要强制转换 - - Predefined type '{0}' is declared in multiple referenced assemblies: '{1}' and '{2}' - 已在多个引用的程序集(“{1}”和“{2}”)中声明了预定义类型“{0}”。 + + The right hand side of a fixed statement assignment may not be a cast expression + fixed 语句赋值的右边不能是强制转换表达式 - - '{0}': structs cannot call base class constructors - '“{0}”: 结构无法调用基类构造函数 + + stackalloc may not be used in a catch or finally block + stackalloc 不能用在 catch 或 finally 块中 - - Struct member '{0}' of type '{1}' causes a cycle in the struct layout - “{1}”类型的结构成员“{0}”在结构布局中导致循环 + + An __arglist parameter must be the last parameter in a formal parameter list + __arglist 参数必须是形参表中的最后一个参数 - - '{0}': interfaces cannot declare types - '“{0}”: 接口不能声明类型 + + Missing partial modifier on declaration of type '{0}'; another partial declaration of this type exists + 类型“{0}”的声明上缺少 partial 修饰符;存在此类型的其他分部声明 - - Interfaces cannot contain fields - 接口不能包含字段 + + Partial declarations of '{0}' must be all classes, all structs, or all interfaces + “{0}”的分部声明必须是所有的类、所有的结构或所有的接口 - - Interfaces cannot contain constructors - 接口不能包含构造函数 + + Partial declarations of '{0}' have conflicting accessibility modifiers + “{0}”的分部声明包含冲突的可访问性修饰符 - - Type '{0}' in interface list is not an interface - 接口列表中的类型“{0}”不是接口 + + Partial declarations of '{0}' must not specify different base classes + “{0}”的分部声明一定不能指定不同的基类 - - '{0}' is already listed in interface list - '“{0}”已经在接口列表中列出 + + Partial declarations of '{0}' must have the same type parameter names in the same order + “{0}”的分部声明必须具有顺序相同的相同类型参数名 - - '{0}' is already listed in the interface list on type '{2}' with different tuple element names, as '{1}'. - '“{0}”已列入类型“{2}”的接口列表中,其中包含不同的元组元素名称,例如“{1}”。 + + Partial declarations of '{0}' have inconsistent constraints for type parameter '{1}' + “{0}”的分部声明对类型参数“{1}”具有不一致的约束 - - Inherited interface '{1}' causes a cycle in the interface hierarchy of '{0}' - 继承接口“{1}”在“{0}”的接口层次结构中导致一个循环 + + Cannot implicitly convert type '{0}' to '{1}'. An explicit conversion exists (are you missing a cast?) + 无法将类型“{0}”隐式转换为“{1}”。存在一个显式转换(是否缺少强制转换?) - - '{0}': interface members cannot have a definition - '“{0}”: 接口成员不能有定义 + + The 'partial' modifier can only appear immediately before 'class', 'struct', 'interface', or 'void' + "partial" 修饰符的后面只能紧跟 "class"、"struct"、"interface" 或 "void" - - '{0}' hides inherited abstract member '{1}' - '“{0}”隐藏继承的抽象成员“{1}” + + Imported type '{0}' is invalid. It contains a circular base class dependency. + 导入的类型“{0}”无效。它包含循环的基类依赖项。 - - '{0}' does not implement inherited abstract member '{1}' - '“{0}”不实现继承的抽象成员“{1}” + + Use of unassigned out parameter '{0}' + 使用了未赋值的 out 参数“{0}” - - '{0}' does not implement interface member '{1}' - '“{0}”不实现接口成员“{1}” + + Array size cannot be specified in a variable declaration (try initializing with a 'new' expression) + 不能在变量声明中指定数组大小(请尝试使用 "new" 表达式初始化) - - The class System.Object cannot have a base class or implement an interface - 类 System.Object 不能有基类也不能实现接口 + + The property or indexer '{0}' cannot be used in this context because the get accessor is inaccessible + 属性或索引器“{0}”不能用在此上下文中,因为 get 访问器不可访问 - - '{0}' in explicit interface declaration is not an interface - '显式接口声明中的“{0}”不是接口 + + The property or indexer '{0}' cannot be used in this context because the set accessor is inaccessible + 属性或索引器“{0}”不能用在此上下文中,因为 set 访问器不可访问 - - '{0}' in explicit interface declaration is not a member of interface - '显式接口声明中的“{0}”不是接口成员 + + The accessibility modifier of the '{0}' accessor must be more restrictive than the property or indexer '{1}' + “{0}”访问器的可访问性修饰符必须比属性或索引器“{1}”具有更强的限制 - - '{0}': containing type does not implement interface '{1}' - '“{0}”: 包含类型不实现接口“{1}” + + Cannot specify accessibility modifiers for both accessors of the property or indexer '{0}' + 不能为属性或索引器“{0}”的两个访问器同时指定可访问性修饰符 - - '{0}': explicit interface declaration can only be declared in a class or struct - '“{0}”: 显式接口声明只能在类或结构中声明 + + '{0}': accessibility modifiers may not be used on accessors in an interface + '“{0}”: 可访问性修饰符不能在接口中的访问器上使用 - - '{0}': member names cannot be the same as their enclosing type - '“{0}”: 成员名不能与它们的封闭类型相同 + + '{0}': accessibility modifiers on accessors may only be used if the property or indexer has both a get and a set accessor + '“{0}”: 仅当属性或索引器同时具有 get 访问器和 set 访问器时,才能对访问器使用可访问性修饰符 - - '{0}': the enumerator value is too large to fit in its type - '“{0}”: 枚举器值太大,不能适应它的类型 + + '{0}' does not implement interface member '{1}'. '{2}' is not public. + '“{0}”不实现接口成员“{1}”。“{2}”不是公共的。 - - '{0}': cannot override because '{1}' is not a property - '“{0}”: 无法重写,因为“{1}”不是属性 + + '{0}' does not implement the '{1}' pattern. '{2}' is ambiguous with '{3}'. + '“{0}”不实现“{1}”模式。“{2}”与“{3}”一起使用时目的不明确。 - - '{0}': cannot override because '{1}' does not have an overridable get accessor - '“{0}”: 无法重写,因为“{1}”没有可重写的 get 访问器 + + Type does not implement the collection pattern; members are ambiguous + 类型不实现集合模式;成员不明确 - - '{0}': cannot override because '{1}' does not have an overridable set accessor - '“{0}”: 无法重写,因为“{1}”没有可重写的 set 访问器 + + '{0}' does not implement the '{1}' pattern. '{2}' is either static or not public. + '“{0}”不实现“{1}”模式。“{2}”是静态的或非公共的。 - - '{0}': property or indexer cannot have void type - '“{0}”: 属性或索引器不能具有 void 类型 + + Type does not implement the collection pattern; member is either static or not public + 类型不实现集合模式;成员静态的或非公共的 - - '{0}': property or indexer must have at least one accessor - '“{0}”: 属性或索引器必须至少有一个访问器 + + '{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature. + '“{0}”不实现“{1}”模式。“{2}”有错误的签名。 - - '{0}' is a new virtual member in sealed class '{1}' - '“{0}”是密封类“{1}”中新的虚拟成员 + + Type does not implement the collection pattern; member has the wrong signature + 类型不实现集合模式;成员有错误的签名 - - '{0}' adds an accessor not found in interface member '{1}' - '“{0}”添加了接口成员“{1}”中没有的访问器 + + Friend access was granted by '{0}', but the public key of the output assembly ('{1}') does not match that specified by the InternalsVisibleTo attribute in the granting assembly. + 友元访问权限由“{0}”授予,但是输出程序集('{1}')的公钥与授予程序集中 InternalsVisibleTo 特性指定的公钥不匹配。 - - Explicit interface implementation '{0}' is missing accessor '{1}' - 显式接口实现“{0}”缺少访问器“{1}” + + Friend access was granted by '{0}', but the strong name signing state of the output assembly does not match that of the granting assembly. + 友元访问权限由“{0}”授予,但是输出程序集的强名称签名状态与授予程序集的强名称签名状态不匹配。 - - '{0}': user-defined conversions to or from an interface are not allowed - '“{0}”: 不允许进行以接口为转换源或目标用户定义转换 + + There is no defined ordering between fields in multiple declarations of partial struct '{0}'. To specify an ordering, all instance fields must be in the same declaration. + 在分部结构“{0}”的多个声明中的字段之间没有已定义的排序方式。要指定排序方式,所有实例字段必须位于同一声明中。 - - '{0}': user-defined conversions to or from a base class are not allowed - '“{0}”: 不允许进行以基类为转换源或目标的用户定义转换 + + There is no defined ordering between fields in multiple declarations of partial struct + 在分部结构的多个声明中的字段之间没有已定义的排序方式 - - '{0}': user-defined conversions to or from a derived class are not allowed - '“{0}”: 不允许进行以派生类为转换源或目标的用户定义转换 + + The type '{0}' cannot be declared const + 不能将类型“{0}”声明为 const - - User-defined operator cannot take an object of the enclosing type and convert to an object of the enclosing type - 用户定义的运算符不能采用封闭类型的对象,也不能转换成封闭类型的对象 + + Cannot create an instance of the variable type '{0}' because it does not have the new() constraint + 变量类型“{0}”没有 new() 约束,因此无法创建该类型的实例 - - User-defined conversion must convert to or from the enclosing type - 用户定义的转换必须是转换成封闭类型,或者从封闭类型转换 + + Using the generic {1} '{0}' requires {2} type arguments + 使用泛型 {1}“{0}”需要 {2} 个类型参数 - - Duplicate user-defined conversion in type '{0}' - 类型“{0}”中有重复的用户定义转换 + + The type '{0}' may not be used as a type argument + 类型“{0}”不能用作类型参数 - - User-defined operator '{0}' must be declared static and public - 用户定义的运算符“{0}”必须声明为 static 和 public + + The {1} '{0}' cannot be used with type arguments + {1}“{0}”不能与类型参数一起使用 - - The parameter type for ++ or -- operator must be the containing type - ++ 或 -- 运算符的参数类型必须是包含类型 + + The non-generic {1} '{0}' cannot be used with type arguments + 非泛型 {1}“{0}”不能与类型参数一起使用 - - The parameter of a unary operator must be the containing type - 一元运算符的参数必须是包含类型 + + '{2}' must be a non-abstract type with a public parameterless constructor in order to use it as parameter '{1}' in the generic type or method '{0}' + '“{2}”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法“{0}”中的参数“{1}” - - One of the parameters of a binary operator must be the containing type - 二元运算符的参数之一必须是包含类型 + + The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. There is no implicit reference conversion from '{3}' to '{1}'. + 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。没有从“{3}”到“{1}”的隐式引用转换。 - - The first operand of an overloaded shift operator must have the same type as the containing type, and the type of the second operand must be int - 重载移位运算符的第一个操作数的类型必须与包含类型相同,第二个操作数的类型必须是 int 类型 + + The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. The nullable type '{3}' does not satisfy the constraint of '{1}'. + 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。可以为 null 的类型“{3}”不满足“{1}”的约束。 - - Interfaces cannot contain operators - 接口不能包含运算符 + + The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. The nullable type '{3}' does not satisfy the constraint of '{1}'. Nullable types can not satisfy any interface constraints. + 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。可以为 null 的类型“{3}”不满足“{1}”的约束。可以为 null 的类型不能满足任何接口约束。 - - Structs cannot contain explicit parameterless constructors - 结构不能包含显式的无参数构造函数 + + The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. There is no boxing conversion or type parameter conversion from '{3}' to '{1}'. + 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。没有从“{3}”到“{1}”的装箱转换或类型参数转换。 - - Enums cannot contain explicit parameterless constructors - 枚举不能包含显式无参数构造函数 + + The type '{3}' cannot be used as type parameter '{2}' in the generic type or method '{0}'. There is no boxing conversion from '{3}' to '{1}'. + 类型“{3}”不能用作泛型类型或方法“{0}”中的类型参数“{2}”。没有从“{3}”到“{1}”的装箱转换。 - - '{0}': cannot override '{1}' because it is not supported by the language - '“{0}”: 无法重写“{1}”,因为该语言不支持它 + + The parameter name '{0}' conflicts with an automatically-generated parameter name + 参数名“{0}”与某个自动生成的参数名冲突 - - '{0}' is not supported by the language - '现用语言不支持“{0}” + + The type or namespace name '{0}' could not be found in the global namespace (are you missing an assembly reference?) + 未能在全局命名空间中找到类型或命名空间名“{0}”(是否缺少程序集引用?) - - '{0}': cannot explicitly call operator or accessor - '“{0}”: 无法显式调用运算符或访问器 + + The new() constraint must be the last constraint specified + new() 约束必须是指定的最后一个约束 - - '{0}': cannot reference a type through an expression; try '{1}' instead - '“{0}”: 无法通过表达式引用类型;请尝试“{1}” + + '{0}': an entry point cannot be generic or in a generic type + '“{0}”: 入口点不能是泛型的或属于泛型类型 - - '{0}': cannot have instance property or field initializers in structs - '“{0}”: 结构中不能实例属性或字段初始值设定项 + + An entry point cannot be generic or in a generic type + 入口点不能是泛型的或属于泛型类型 - - Name of destructor must match name of class - 析构函数的名称必须与类的名称匹配 + + Cannot convert null to type parameter '{0}' because it could be a non-nullable value type. Consider using 'default({0})' instead. + 无法将 null 转换为类型参数“{0}”,因为它可能是不可以为 null 的值类型。请考虑改用“default({0})”。 - - - Only class types can contain destructors - 只有类类型才能包含析构函数 + + + Cannot apply attribute class '{0}' because it is generic + 无法应用特性类“{0}”,因为它是泛型的 - - Namespace '{1}' contains a definition conflicting with alias '{0}' - 命名空间“{1}”包含与别名“{0}”冲突的定义 + + Duplicate constraint '{0}' for type parameter '{1}' + 类型参数“{1}”的约束“{0}”重复 - - Alias '{0}' conflicts with {1} definition - 别名“{0}”与 {1} 定义冲突 + + The class type constraint '{0}' must come before any other constraints + 类类型约束“{0}”必须在其他任何约束之前 - - The Conditional attribute is not valid on '{0}' because it is a constructor, destructor, operator, or explicit interface implementation - Conditional 特性在“{0}”上无效,因为它是构造函数、析构函数、运算符或显式接口实现 + + '{1} {0}' has the wrong return type + '“{1} {0}”的返回类型错误 - - The Conditional attribute is not valid on '{0}' because its return type is not void - Conditional 特性在“{0}”上无效,因为其返回类型不是 void + + Ref mismatch between '{0}' and delegate '{1}' + “{0}”和委托“{1}”之间引用不匹配 - - Duplicate '{0}' attribute - “{0}”特性重复 + + A constraint clause has already been specified for type parameter '{0}'. All of the constraints for a type parameter must be specified in a single where clause. + 已经为类型参数“{0}”指定了 constraint 子句。必须在单个 where 子句中指定类型参数的所有约束。 - - Duplicate '{0}' attribute in '{1}' - “{0}”特性在“{1}”中重复 + + The type arguments for method '{0}' cannot be inferred from the usage. Try specifying the type arguments explicitly. + 无法从用法中推断出方法“{0}”的类型参数。请尝试显式指定类型参数。 - - The Conditional attribute is not valid on interface members - Conditional 特性在接口成员上无效 + + '{0}': a parameter, local variable, or local function cannot have the same name as a method type parameter + '“{0}”: 参数、局部变量或本地函数不能与方法类型参数同名 - - User-defined operators cannot return void - 用户定义的运算符不能返回 void + + The type parameter '{0}' cannot be used with the 'as' operator because it does not have a class type constraint nor a 'class' constraint + 由于类型参数“{0}”既没有类类型约束也没有“class”约束,因此不能与“as”运算符一起使用 - - '{0}': user-defined conversions to or from the dynamic type are not allowed - '“{0}”: 不允许对动态类型执行用户定义的转换 + + The field '{0}' is assigned but its value is never used + 字段“{0}”已被赋值,但从未使用过它的值 - - Invalid value for argument to '{0}' attribute - “{0}”特性的参数值无效 + + Field is assigned but its value is never used + 字段已被赋值,但从未使用过它的值 - - Parameter not valid for the specified unmanaged type. - 参数对于指定非托管类型无效。 + + The '{0}' attribute is valid only on an indexer that is not an explicit interface member declaration + “{0}”特性仅在不是显式接口成员声明的索引器上有效 - - Attribute parameter '{0}' must be specified. - 必须指定特性参数“{0}”。 + + '{0}': an attribute argument cannot use type parameters + '“{0}”: 特性参数不能使用类型参数 - - Attribute parameter '{0}' or '{1}' must be specified. - 必须指定特性参数“{0}”或“{1}”。 + + '{0}': cannot provide arguments when creating an instance of a variable type + '“{0}”: 创建变量类型的实例时无法提供参数 - - Unmanaged type '{0}' not valid for fields. - 非托管类型“{0}”对于字段无效。 + + '{0}': an abstract class cannot be sealed or static + '“{0}”: 抽象类不能是密封的或静态的 - - Unmanaged type '{0}' is only valid for fields. - 非托管类型“{0}”仅对字段有效。 + + Ambiguous reference in cref attribute: '{0}'. Assuming '{1}', but could have also matched other overloads including '{2}'. + cref 特性中有不明确的引用:“{0}”。假定为“{1}”,但可能还与其他重载匹配,包括“{2}”。 - - Attribute '{0}' is not valid on this declaration type. It is only valid on '{1}' declarations. - 特性“{0}”对此声明类型无效。它仅对“{1}”声明有效。 + + Ambiguous reference in cref attribute + cref 特性中有不明确的引用 - - Floating-point constant is outside the range of type '{0}' - 浮点常量超出“{0}”类型的范围 + + '{0}': a reference to a volatile field will not be treated as volatile + '“{0}”: 对 volatile 字段的引用不被视为 volatile - - The Guid attribute must be specified with the ComImport attribute - Guid 特性必须用 ComImport 特性指定 + + A reference to a volatile field will not be treated as volatile + 对可变字段的引用不被视为可变字段 - - Invalid value for named attribute argument '{0}' - 命名特性参数“{0}”的值无效 + + A volatile field should not normally be used as a ref or out value, since it will not be treated as volatile. There are exceptions to this, such as when calling an interlocked API. + 可变字段通常不应用作 ref 或 out 值,因为它不会被视为可变字段。这种情况存在例外情况,如调用联锁 API 时。 - - The DllImport attribute must be specified on a method marked 'static' and 'extern' - 必须在标记为 "static" 和 "extern" 的方法上指定 DllImport 特性 + + Since '{1}' has the ComImport attribute, '{0}' must be extern or abstract + 由于“{1}”具有 ComImport 特性,因此“{0}”必须是外部的或抽象的 - - Cannot update '{0}'; attribute '{1}' is missing. - 无法更新“{0}”;特性“{1}”缺失。 + + '{0}': a class with the ComImport attribute cannot specify a base class + '“{0}”: 具有 ComImport 特性的类不能指定基类 - - The DllImport attribute cannot be applied to a method that is generic or contained in a generic type. - DllImport 特性不能应用于属于泛型类型或者包含在泛型类型中的方法。 + + The constraints for type parameter '{0}' of method '{1}' must match the constraints for type parameter '{2}' of interface method '{3}'. Consider using an explicit interface implementation instead. + 方法“{1}”的类型参数“{0}”的约束必须与接口方法“{3}”的类型参数“{2}”的约束相匹配。请考虑改用显式接口实现。 - - Field or property cannot be of type '{0}' - 字段或属性不能是“{0}”类型 + + The tuple element names in the signature of method '{0}' must match the tuple element names of interface method '{1}' (including on the return type). + 方法“{0}”的签名中的元组元素名称必须与接口方法“{1}”的元组元素名称匹配(包括返回类型)。 - - Field or auto-implemented property cannot be of type '{0}' unless it is an instance member of a ref struct. - 字段或自动实现的属性不能是类型“{0}”,除非它是 ref 结构的实例成员。 + + The type name '{0}' does not exist in the type '{1}' + 类型“{1}”中不存在类型名“{0}” - - Array elements cannot be of type '{0}' - 数组元素不能是“{0}”类型 + + Cannot convert method group '{0}' to non-delegate type '{1}'. Did you intend to invoke the method? + 无法将方法组“{0}”转换为非委托类型“{1}”。是否希望调用此方法? - - '{0}' is obsolete - '“{0}”已过时 + + The extern alias '{0}' was not specified in a /reference option + 在 /reference 选项中未指定外部别名“{0}” - - Type or member is obsolete - 类型或成员已过时 + + Cannot use alias '{0}' with '::' since the alias references a type. Use '.' instead. + 无法将别名“{0}”与“::”一起使用,因为该别名引用了类型。请改用“.”。 - - '{0}' is not an attribute class - '“{0}”不是特性类 + + Alias '{0}' not found + 找不到别名“{0}” - - '{0}' is not a valid named attribute argument. Named attribute arguments must be fields which are not readonly, static, or const, or read-write properties which are public and not static. - '“{0}”不是有效的命名特性参数。命名特性参数必须是非只读、非静态或非常数的字段,或者是公共的和非静态的读写属性。 + + The type '{1}' exists in both '{0}' and '{2}' + 类型“{1}”同时存在于“{0}”和“{2}”中 - - '{0}' is obsolete: '{1}' - '“{0}”已过时:“{1}” + + The namespace '{1}' in '{0}' conflicts with the type '{3}' in '{2}' + “{0}”中的命名空间“{1}”与“{2}”中的类型“{3}”冲突 - - Type or member is obsolete - 类型或成员已过时 + + The namespace '{1}' in '{0}' conflicts with the imported type '{3}' in '{2}'. Using the namespace defined in '{0}'. + “{0}”中的命名空间“{1}”与“{2}”中的导入类型“{3}”冲突。请使用“{0}”中定义的命名空间。 - - '{0}' is obsolete: '{1}' - '“{0}”已过时:“{1}” + + Namespace conflicts with imported type + 命名空间与导入类型冲突 - - Indexers cannot have void type - 索引器不能有 void 类型 + + The type '{1}' in '{0}' conflicts with the imported type '{3}' in '{2}'. Using the type defined in '{0}'. + “{0}”中的类型“{1}”与“{2}”中的导入类型“{3}”冲突。请使用“{0}”中定义的类型。 - - '{0}': virtual or abstract members cannot be private - '“{0}”: 虚拟成员或抽象成员不能是私有的 + + Type conflicts with imported type + 类型与导入类型冲突 - - Can only use array initializer expressions to assign to array types. Try using a new expression instead. - 只能使用数组初始值设定项表达式为数组类型赋值。请尝试改用 new 表达式。 + + The type '{1}' in '{0}' conflicts with the imported namespace '{3}' in '{2}'. Using the type defined in '{0}'. + “{0}”中的类型“{1}”与“{2}”中的导入命令空间“{3}”冲突。请使用“{0}”中定义的类型。 - - Array initializers can only be used in a variable or field initializer. Try using a new expression instead. - 数组初始值设定项只能在变量或字段初始值设定项中使用。请尝试改用 new 表达式。 + + Type conflicts with imported namespace + 类型与导入命名空间冲突 - - '{0}': instance field in types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute - “{0}”: 标记为 StructLayout(LayoutKind.Explicit) 的实例字段类型必须具有 FieldOffset 特性 + + The type '{1}' in '{0}' conflicts with the namespace '{3}' in '{2}' + “{0}”中的类型“{1}”与“{2}”中的命名空间“{3}”冲突 - - Method, operator, or accessor '{0}' is marked external and has no attributes on it. Consider adding a DllImport attribute to specify the external implementation. - 方法、运算符或访问器“{0}”标记为外部对象并且它上面没有任何特性。请考虑添加一个 DllImport 特性以指定外部实现。 + + An extern alias declaration must precede all other elements defined in the namespace + 外部别名声明必须位于命名空间中定义的所有其他元素之前 - - Method, operator, or accessor is marked external and has no attributes on it - 方法、运算符或访问器标记为外部对象并且上面没有任何特性 + + Defining an alias named 'global' is ill-advised since 'global::' always references the global namespace and not an alias + 由于 "global::" 总是引用全局命名空间而非别名,因此定义一个名为 "global" 的别名是欠妥的 - - '{0}': new protected member declared in sealed class - '“{0}”: 在密封类中声明了新的保护成员 + + Defining an alias named 'global' is ill-advised + 定义名为 "global" 的别名是欠妥的 - - New protected member declared in sealed class - 在密封类中声明了新的保护成员 + + '{0}': a class cannot be both static and sealed + '“{0}”: 类不能既是静态的又是密封的 - - Conditional member '{0}' cannot implement interface member '{1}' in type '{2}' - 条件成员“{0}”无法实现类型“{2}”中的接口成员“{1}” + + '{0}': abstract properties cannot have private accessors + '“{0}”: 抽象属性不能具有专用访问器 - - ref and out are not valid in this context - ref 和 out 参数在此上下文中无效 + + Syntax error; value expected + 语法错误,应为值 - - The argument to the '{0}' attribute must be a valid identifier - “{0}”特性的参数必须是有效的标识符 + + Cannot modify the result of an unboxing conversion + 无法修改取消装箱转换的结果 - - The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit) - FieldOffset 特性只能放置在标记为 StructLayout(LayoutKind.Explicit) 的类型的成员上 + + Foreach cannot operate on a '{0}'. Did you intend to invoke the '{0}'? + Foreach 不能操作“{0}”。是否要调用“{0}”? - - The FieldOffset attribute is not allowed on static or const fields - 静态字段或常量字段上不允许存在 FieldOffset 特性 + + The return type for ++ or -- operator must match the parameter type or be derived from the parameter type + ++ 或 -- 运算符的返回类型必须与参数类型匹配或从参数类型派生 - - Attribute '{0}' is only valid on classes derived from System.Attribute - 特性“{0}”仅在从 System.Attribute 派生的类上有效 + + The 'class' or 'struct' constraint must come before any other constraints + "class" 或 "struct" 约束必须在其他任何约束之前 - - Possible mistaken empty statement - 空语句可能有错误 + + '{0}': cannot specify both a constraint class and the 'class' or 'struct' constraint + '“{0}”: 不能既指定约束类又指定“class”或“struct”约束 - - Possible mistaken empty statement - 空语句可能有错误 + + The 'new()' constraint cannot be used with the 'struct' constraint + "new()" 约束不能与 "struct" 约束一起使用 - - '{0}' duplicate named attribute argument - '“{0}”重复命名特性参数 + + The type '{2}' must be a reference type in order to use it as parameter '{1}' in the generic type or method '{0}' + 类型“{2}”必须是引用类型才能用作泛型类型或方法“{0}”中的参数“{1}” - - '{0}' cannot derive from special class '{1}' - '“{0}”无法从特殊类“{1}”派生 + + The type '{2}' must be a non-nullable value type in order to use it as parameter '{1}' in the generic type or method '{0}' + 类型“{2}”必须是不可以为 null 值的类型,才能用作泛型类型或方法“{0}”中的参数“{1}” - - Cannot specify the DefaultMember attribute on a type containing an indexer - 不能对包含索引器的类型指定 DefaultMember 特性 + + Circular constraint dependency involving '{0}' and '{1}' + 涉及“{0}”和“{1}”的循环约束依赖项 - - '{0}' is a type not supported by the language - '“{0}”不是现用语言支持的类型 + + Type parameter '{0}' inherits conflicting constraints '{1}' and '{2}' + 类型参数“{0}”继承了彼此冲突的“{1}”和“{2}”约束 - - Field '{0}' is never assigned to, and will always have its default value {1} - 从未对字段“{0}”赋值,字段将一直保持其默认值 {1} + + Type parameter '{1}' has the 'struct' constraint so '{1}' cannot be used as a constraint for '{0}' + 类型参数“{1}”具有 "struct" 约束,因此“{1}”不能用作“{0}”的约束 - - Field is never assigned to, and will always have its default value - 从未对字段赋值,字段将一直保持其默认值 + + Ambiguous user defined conversions '{0}' and '{1}' when converting from '{2}' to '{3}' + 从“{2}”转换为“{3}”时,用户定义的转换“{0}”和“{1}”具有二义性 - - Bad array declarator: To declare a managed array the rank specifier precedes the variable's identifier. To declare a fixed size buffer field, use the fixed keyword before the field type. - 错误的数组声明符: 要声明托管数组,秩说明符应位于变量标识符之前。要声明固定大小缓冲区字段,应在字段类型之前使用 fixed 关键字。 + + The result of the expression is always 'null' of type '{0}' + 表达式的结果总是“{0}”类型的“null” - - Comparison to integral constant is useless; the constant is outside the range of type '{0}' - 与整数常量比较无意义;该常量不在“{0}”类型的范围之内 + + The result of the expression is always 'null' + 表达式的结果总是 "null" - - Comparison to integral constant is useless; the constant is outside the range of the type - 与整数常量比较无意义;该常量不在类型的范围之内 + + Cannot return 'this' by reference. + 不能通过引用返回 "this"。 - - Cannot apply attribute class '{0}' because it is abstract - 无法应用特性类“{0}”,因为它是抽象的 + + Cannot use attribute constructor '{0}' because it is has 'in' parameters. + 不可使用特性构造函数“{0}”,因为它具有 “in” 参数。 - - '{0}' is not a valid named attribute argument because it is not a valid attribute parameter type - '“{0}”不是有效的特性参数类型,因此不是有效的命名特性参数 + + Constraints for override and explicit interface implementation methods are inherited from the base method, so they cannot be specified directly + 重写和显式接口实现方法的约束是从基方法继承的,因此不能直接指定这些约束 - - Missing compiler required member '{0}.{1}' - 缺少编译器要求的成员“{0}.{1}” + + The inherited members '{0}' and '{1}' have the same signature in type '{2}', so they cannot be overridden + 继承的成员“{0}”和“{1}”在类型“{2}”中具有相同的签名,因此不能重写这些成员 - - '{0}' is not a valid attribute location for this declaration. Valid attribute locations for this declaration are '{1}'. All attributes in this block will be ignored. - '“{0}”不是此声明的有效特性位置。此声明的有效特性位置是“{1}”。此块中的所有特性都将被忽略。 + + Evaluation of the decimal constant expression failed + 计算十进制常量表达式失败 - - Not a valid attribute location for this declaration - 不是此声明的有效特性位置 + + Comparing with null of type '{0}' always produces 'false' + 与类型为“{0}”的 null 进行比较始终产生“false” - - '{0}' is not a recognized attribute location. Valid attribute locations for this declaration are '{1}'. All attributes in this block will be ignored. - '“{0}”不是可识别的特性位置。此声明的有效特性位置为“{1}”。此块中的所有特性都将被忽略。 + + Comparing with null of struct type always produces 'false' + 与结构类型的 null 进行比较始终产生 "false" - - Not a recognized attribute location - 不是可识别的特性位置 + + Introducing a 'Finalize' method can interfere with destructor invocation. Did you intend to declare a destructor? + 引入 "Finalize" 方法会妨碍析构函数调用。是否希望声明析构函数? - - '{0}' overrides Object.Equals(object o) but does not override Object.GetHashCode() - '“{0}”重写 Object.Equals(object o) 但不重写 Object.GetHashCode() + + Introducing a 'Finalize' method can interfere with destructor invocation + 引入 "Finalize" 方法可能会妨碍析构函数调用 - - Type overrides Object.Equals(object o) but does not override Object.GetHashCode() - 类型重写 Object.Equals(object o),但不重写 Object.GetHashCode() + + This warning occurs when you create a class with a method whose signature is public virtual void Finalize. + +If such a class is used as a base class and if the deriving class defines a destructor, the destructor will override the base class Finalize method, not Finalize. + 创建的类具有签名为 public virtual void Finalize 的方法时,会出现此警告。 + +如果将这样一个类用作基类,并且如果派生类定义一个析构函数,则该析构函数会重写基类 Finalize 方法,而不是 Finalize。 - - '{0}' defines operator == or operator != but does not override Object.Equals(object o) - '“{0}”定义运算符 == 或运算符 !=,但不重写 Object.Equals(object o) + + '{0}' should not have a params parameter since '{1}' does not + '由于“{1}”没有 params 数组,因此“{0}”也不应当有 params 参数 - - Type defines operator == or operator != but does not override Object.Equals(object o) - 类型定义运算符 == 或运算符 !=,但不重写 Object.Equals(object o) + + The 'goto case' value is not implicitly convertible to type '{0}' + “goto case”值不可隐式转换为类型“{0}” - - '{0}' defines operator == or operator != but does not override Object.GetHashCode() - '“{0}”定义运算符 == 或运算符 !=,但不重写 Object.GetHashCode() + + The 'goto case' value is not implicitly convertible to the switch type + "goto case" 值不可隐式转换为开关类型 - - Type defines operator == or operator != but does not override Object.GetHashCode() - 类型定义运算符 == 或运算符 !=,但不重写 Object.GetHashCode() + + Method '{0}' cannot implement interface accessor '{1}' for type '{2}'. Use an explicit interface implementation. + 方法“{0}”无法实现类型“{2}”的接口访问器“{1}” 请使用显式接口实现。 - - Cannot specify the Out attribute on a ref parameter without also specifying the In attribute. - 不可在 ref 参数上指定 Out 特性,除非同时指定 In 特性。 + + The result of the expression is always '{0}' since a value of type '{1}' is never equal to 'null' of type '{2}' + 由于“{1}”类型的值永不等于“{2}”类型的 "null",该表达式的结果始终为“{0}” - - '{0}' cannot define an overloaded {1} that differs only on parameter modifiers '{2}' and '{3}' - '“{0}”不能定义仅在参数修饰符“{2}”和“{3}”上存在区别的重载 {1} + + The result of the expression is always the same since a value of this type is never equal to 'null' + 由于此类型的值永不等于 "null",该表达式的结果始终相同 - - Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type - 无法将 Double 类型隐式转换为“{1}”类型;请使用“{0}”后缀创建此类型 + + The result of the expression is always '{0}' since a value of type '{1}' is never equal to 'null' of type '{2}' + 由于“{1}”类型的值永不等于“{2}”类型的 "null",该表达式的结果始终为“{0}” - - Assignment in conditional expression is always constant; did you mean to use == instead of = ? - 条件表达式中的赋值总是常量;是否希望使用 "==" 而非 "="? + + The result of the expression is always the same since a value of this type is never equal to 'null' + 由于此类型的值永不等于 "null",该表达式的结果始终相同 - - Assignment in conditional expression is always constant - 条件表达式中的赋值总是常量 + + Explicit interface implementation '{0}' matches more than one interface member. Which interface member is actually chosen is implementation-dependent. Consider using a non-explicit implementation instead. + 显式接口实现“{0}”与多个接口成员匹配。实际选择哪个接口成员取决于具体的实现。请考虑改用非显式实现。 - - '{0}': new protected member declared in struct - '“{0}”: 结构中已声明新的保护成员 + + Explicit interface implementation matches more than one interface member + 显式接口实现与多个接口成员匹配 - - Two indexers have different names; the IndexerName attribute must be used with the same name on every indexer within a type - 两个索引器的名称不同;在类型中的每个索引器上的 IndexerName 特性都必须使用相同的名称 + + '{0}' cannot declare a body because it is marked abstract + '“{0}”无法声明主体,因为它标记为 abstract - - A class with the ComImport attribute cannot have a user-defined constructor - 具有 ComImport 特性的类不能有用户定义的构造函数 + + '{0}' must declare a body because it is not marked abstract, extern, or partial + '“{0}”必须声明主体,因为它未标记为 abstract、extern 或 partial - - Field cannot have void type - 字段不能有 void 类型 + + '{0}' cannot be both abstract and sealed + '“{0}”不能既是抽象的又是密封的 - - Member '{0}' overrides obsolete member '{1}'. Add the Obsolete attribute to '{0}'. - 成员“{0}”将重写过时的成员“{1}”。请向“{0}”中添加 Obsolete 特性。 + + The abstract {0} '{1}' cannot be marked virtual + 抽象 {0}“{1}”不能标记为虚拟 - - Member overrides obsolete member - 成员将重写过时的成员 + + The constant '{0}' cannot be marked static + 常量“{0}”不能标记为 static - - System.Void cannot be used from C# -- use typeof(void) to get the void type object - 在 C# 中无法使用 System.Void -- 使用 typeof(void)获取 void 类型对象 + + '{0}': cannot override because '{1}' is not a function + '“{0}”: 无法重写,因为“{1}”不是函数 - - Do not use 'System.ParamArrayAttribute'. Use the 'params' keyword instead. - 不要使用 "System.ParamArrayAttribute",而是使用 "params" 关键字。 + + '{0}': cannot override inherited member '{1}' because it is not marked virtual, abstract, or override + '“{0}”: 继承成员“{1}”未标记为 virtual、abstract 或 override,无法进行重写 - - Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first - 在经符号扩展的操作数上使用了按位“或”运算符;请考虑首先强制转换为较小的无符号类型 + + '{0}': cannot change access modifiers when overriding '{1}' inherited member '{2}' + '“{0}”: 当重写“{1}”继承成员“{2}”时,无法更改访问修饰符 - - Bitwise-or operator used on a sign-extended operand - 对进行了带符号扩展的操作数使用了按位或运算符 + + '{0}': cannot change tuple element names when overriding inherited member '{1}' + '{0}: 替代继承成员“{1}”时无法更改元组元素名称 - - The compiler implicitly widened and sign-extended a variable, and then used the resulting value in a bitwise OR operation. This can result in unexpected behavior. - 编译器对某个变量进行了隐式拓展和带符号扩展,然后在按位或操作中使用生成的值。这可能会导致意外行为。 + + '{0}': return type must be '{2}' to match overridden member '{1}' + '“{0}”: 返回类型必须是“{2}”才能与重写成员“{1}”匹配 - - '{0}': a volatile field cannot be of the type '{1}' - '“{0}”: 可变字段的类型不能是“{1}” + + '{0}': cannot derive from sealed type '{1}' + '“{0}”: 无法从密封类型“{1}”派生 - - '{0}': a field cannot be both volatile and readonly - '“{0}”: 字段不能既是可变的又是只读的 + + '{0}' is abstract but it is contained in non-abstract class '{1}' + '“{0}”是抽象的,但它包含在非抽象类“{1}”中 - - The modifier 'abstract' is not valid on fields. Try using a property instead. - 修饰符 "abstract" 对于字段无效。请尝试改用属性。 + + '{0}': static constructor cannot have an explicit 'this' or 'base' constructor call + '“{0}”: 静态构造函数不能具有显式的“this”或“base”构造函数调用 - - '{0}' cannot implement '{1}' because it is not supported by the language - '“{0}”无法实现“{1}”,因为该语言不支持它 + + '{0}': access modifiers are not allowed on static constructors + '“{0}”: 静态构造函数中不允许出现访问修饰符 - - '{0}' explicit method implementation cannot implement '{1}' because it is an accessor - '“{0}”显式方法实现无法实现“{1}”,因为它是一个访问器 + + Constructor '{0}' cannot call itself + 构造函数“{0}”不能调用自身 - - '{0}' interface marked with 'CoClassAttribute' not marked with 'ComImportAttribute' - '“{0}”接口标记为“CoClassAttribute”而不是“ComImportAttribute” + + Constructor '{0}' cannot call itself through another constructor + 构造函数“{0}”无法通过另一构造函数调用自身 - - Interface marked with 'CoClassAttribute' not marked with 'ComImportAttribute' - 接口标记为 "CoClassAttribute" 而不是 "ComImportAttribute" + + '{0}' has no base class and cannot call a base constructor + '“{0}”没有基类,无法调用基构造函数 - - Conditional member '{0}' cannot have an out parameter - 条件成员“{0}”不能有 out 参数 + + Predefined type '{0}' is not defined or imported + 预定义类型“{0}”未定义或导入 - - Accessor '{0}' cannot implement interface member '{1}' for type '{2}'. Use an explicit interface implementation. - 访问器“{0}”无法实现类型“{2}”的接口成员“{1}” 请使用显式接口实现。 + + Predefined type '{0}' is not defined or imported + 预定义类型“{0}”未定义或导入 - - The namespace alias qualifier '::' always resolves to a type or namespace so is illegal here. Consider using '.' instead. - 命名空间别名限定符 "::" 始终解析为类型或命名空间,因此在这里是非法的。请考虑改用 "."。 + + Predefined type '{0}' is declared in multiple referenced assemblies: '{1}' and '{2}' + 已在多个引用的程序集(“{1}”和“{2}”)中声明了预定义类型“{0}”。 - - Cannot derive from '{0}' because it is a type parameter - “{0}”是一个类型参数,无法从它进行派生 + + '{0}': structs cannot call base class constructors + '“{0}”: 结构无法调用基类构造函数 - - Duplicate type parameter '{0}' - 重复的类型参数“{0}” + + Struct member '{0}' of type '{1}' causes a cycle in the struct layout + “{1}”类型的结构成员“{0}”在结构布局中导致循环 - - Type parameter '{0}' has the same name as the type parameter from outer type '{1}' - 类型参数“{0}”与外部类型“{1}”中的类型参数同名 + + '{0}': interfaces cannot declare types + '“{0}”: 接口不能声明类型 - - Type parameter has the same name as the type parameter from outer type - 类型参数与外部类型中的类型参数同名 + + Interfaces cannot contain fields + 接口不能包含字段 - - Type parameter '{0}' has the same name as the containing type, or method - 类型参数“{0}”与包含类型或方法同名 + + Interfaces cannot contain constructors + 接口不能包含构造函数 - - '{0}' cannot implement both '{1}' and '{2}' because they may unify for some type parameter substitutions - '“{0}”不能同时实现“{1}”和“{2}”,原因是它们可以统一以进行某些类型参数替换 + + Type '{0}' in interface list is not an interface + 接口列表中的类型“{0}”不是接口 - - A generic type cannot derive from '{0}' because it is an attribute class - “{0}”是一个特性类,无法从它派生泛型类型 + + '{0}' is already listed in interface list + '“{0}”已经在接口列表中列出 - - '{1}' does not define type parameter '{0}' - '“{1}”未定义类型参数“{0}” + + '{0}' is already listed in the interface list on type '{2}' with different tuple element names, as '{1}'. + '“{0}”已列入类型“{2}”的接口列表中,其中包含不同的元组元素名称,例如“{1}”。 - - '{0}' is not a valid constraint. A type used as a constraint must be an interface, a non-sealed class or a type parameter. - '“{0}”不是有效的约束。作为约束使用的类型必须是接口、非密封类或类型参数。 + + Inherited interface '{1}' causes a cycle in the interface hierarchy of '{0}' + 继承接口“{1}”在“{0}”的接口层次结构中导致一个循环 - - Constraint cannot be special class '{0}' - 约束不能是特殊类“{0}” + + '{0}': interface members cannot have a definition + '“{0}”: 接口成员不能有定义 - - Inconsistent accessibility: constraint type '{1}' is less accessible than '{0}' - 可访问性不一致: 约束类型“{1}”的可访问性低于“{0}” + + '{0}' hides inherited abstract member '{1}' + '“{0}”隐藏继承的抽象成员“{1}” - - Cannot do member lookup in '{0}' because it is a type parameter - “{0}”是一个类型参数,无法在其中执行成员查找 + + '{0}' does not implement inherited abstract member '{1}' + '“{0}”不实现继承的抽象成员“{1}” - - Invalid constraint type. A type used as a constraint must be an interface, a non-sealed class or a type parameter. - 约束类型无效。作为约束使用的类型必须是接口、非密封类或类型形参。 + + '{0}' does not implement interface member '{1}' + '“{0}”不实现接口成员“{1}” - - '{0}': cannot declare instance members in a static class - '“{0}”: 不能在静态类中声明实例成员 + + The class System.Object cannot have a base class or implement an interface + 类 System.Object 不能有基类也不能实现接口 - - '{1}': cannot derive from static class '{0}' - '“{0}”: 无法从静态类“{1}”派生 + + '{0}' in explicit interface declaration is not an interface + '显式接口声明中的“{0}”不是接口 - - Static classes cannot have instance constructors - 静态类不能有实例构造函数 + + '{0}' in explicit interface declaration is not a member of interface + '显式接口声明中的“{0}”不是接口成员 - - Static classes cannot contain destructors - 静态类不能包含析构函数 + + '{0}': containing type does not implement interface '{1}' + '“{0}”: 包含类型不实现接口“{1}” - - Cannot create an instance of the static class '{0}' - 无法创建静态类“{0}”的实例 + + '{0}': explicit interface declaration can only be declared in a class or struct + '“{0}”: 显式接口声明只能在类或结构中声明 - - Static class '{0}' cannot derive from type '{1}'. Static classes must derive from object. - 静态类“{0}”不能从类型“{1}”派生。静态类必须从对象派生。 + + '{0}': member names cannot be the same as their enclosing type + '“{0}”: 成员名不能与它们的封闭类型相同 - - '{0}': static classes cannot implement interfaces - '“{0}”: 静态类不能实现接口 + + '{0}': the enumerator value is too large to fit in its type + '“{0}”: 枚举器值太大,不能适应它的类型 - - '{0}': ref structs cannot implement interfaces - '{0}: ref 结构不能实现接口 + + '{0}': cannot override because '{1}' is not a property + '“{0}”: 无法重写,因为“{1}”不是属性 - - '{0}': static classes cannot contain user-defined operators - '“{0}”: 静态类不能包含用户定义的运算符 + + '{0}': cannot override because '{1}' does not have an overridable get accessor + '“{0}”: 无法重写,因为“{1}”没有可重写的 get 访问器 - - Cannot convert to static type '{0}' - 无法转换为静态类型“{0}” + + '{0}': cannot override because '{1}' does not have an overridable set accessor + '“{0}”: 无法重写,因为“{1}”没有可重写的 set 访问器 - - '{0}': static classes cannot be used as constraints - '“{0}”: 静态类不能用作约束 + + '{0}': property or indexer cannot have void type + '“{0}”: 属性或索引器不能具有 void 类型 - - '{0}': static types cannot be used as type arguments - '“{0}”: 静态类型不能用作类型参数 + + '{0}': property or indexer must have at least one accessor + '“{0}”: 属性或索引器必须至少有一个访问器 - - '{0}': array elements cannot be of static type - '“{0}”: 数组元素不能是静态类型的 + + '{0}' is a new virtual member in sealed class '{1}' + '“{0}”是密封类“{1}”中新的虚拟成员 - - '{0}': cannot declare indexers in a static class - '“{0}”: 不能在静态类中声明索引器 + + '{0}' adds an accessor not found in interface member '{1}' + '“{0}”添加了接口成员“{1}”中没有的访问器 - - '{0}': static types cannot be used as parameters - '“{0}”: 静态类型不能用作参数 + + Explicit interface implementation '{0}' is missing accessor '{1}' + 显式接口实现“{0}”缺少访问器“{1}” - - '{0}': static types cannot be used as return types - '“{0}”: 静态类型不能用作返回类型 + + '{0}': user-defined conversions to or from an interface are not allowed + '“{0}”: 不允许进行以接口为转换源或目标用户定义转换 - - - Cannot declare a variable of static type '{0}' - 无法声明静态类型“{0}”的变量 + + + '{0}': user-defined conversions to or from a base class are not allowed + '“{0}”: 不允许进行以基类为转换源或目标的用户定义转换 - - A throw statement with no arguments is not allowed in a finally clause that is nested inside the nearest enclosing catch clause - 在嵌套在最近的封闭 catch 子句内部的 finally 子句内不允许使用不带参数的 throw 语句 + + '{0}': user-defined conversions to or from a derived class are not allowed + '“{0}”: 不允许进行以派生类为转换源或目标的用户定义转换 - - '{0}' is not a valid format specifier - '“{0}”不是有效的格式说明符 + + User-defined operator cannot take an object of the enclosing type and convert to an object of the enclosing type + 用户定义的运算符不能采用封闭类型的对象,也不能转换成封闭类型的对象 - - Possibly incorrect assignment to local '{0}' which is the argument to a using or lock statement. The Dispose call or unlocking will happen on the original value of the local. - 对局部变量“{0}”的赋值可能不正确,该变量是 using 或 lock 语句的参数。Dispose 调用或解锁将发生在该局部变量的原始值上。 + + User-defined conversion must convert to or from the enclosing type + 用户定义的转换必须是转换成封闭类型,或者从封闭类型转换 - - Possibly incorrect assignment to local which is the argument to a using or lock statement - 对局部变量的赋值可能不正确,该变量是 using 或 lock 语句的参数 + + Duplicate user-defined conversion in type '{0}' + 类型“{0}”中有重复的用户定义转换 - - Type '{0}' is defined in this assembly, but a type forwarder is specified for it - 类型“{0}”是在此程序集中定义的,但又为它指定了一个类型转发器 + + User-defined operator '{0}' must be declared static and public + 用户定义的运算符“{0}”必须声明为 static 和 public - - Cannot forward type '{0}' because it is a nested type of '{1}' - 类型“{0}”是“{1}”的嵌套类型,无法转发 + + The parameter type for ++ or -- operator must be the containing type + ++ 或 -- 运算符的参数类型必须是包含类型 - - The type forwarder for type '{0}' in assembly '{1}' causes a cycle - 程序集“{1}”中类型“{0}”的类型转发器导致循环 + + The parameter of a unary operator must be the containing type + 一元运算符的参数必须是包含类型 - - The /moduleassemblyname option may only be specified when building a target type of 'module' - 只有在生成 "module" 目标类型时才能指定 /moduleassemblyname 选项 + + One of the parameters of a binary operator must be the containing type + 二元运算符的参数之一必须是包含类型 - - Assembly reference '{0}' is invalid and cannot be resolved - 程序集引用“{0}”无效,无法解析 + + The first operand of an overloaded shift operator must have the same type as the containing type, and the type of the second operand must be int + 重载移位运算符的第一个操作数的类型必须与包含类型相同,第二个操作数的类型必须是 int 类型 - - Invalid type specified as an argument for TypeForwardedTo attribute - 指定为 TypeForwardedTo 特性的参数的类型无效 + + Interfaces cannot contain operators + 接口不能包含运算符 - - '{0}' does not implement interface member '{1}'. '{2}' cannot implement an interface member because it is static. - '“{0}”不实现接口成员“{1}”。“{2}”无法实现接口成员,因为它是静态的。 + + Structs cannot contain explicit parameterless constructors + 结构不能包含显式的无参数构造函数 - - '{0}' does not implement interface member '{1}'. '{2}' cannot implement an interface member because it is not public. - '“{0}”不实现接口成员“{1}”。“{2}”无法实现接口成员,因为它不是公共的。 + + Enums cannot contain explicit parameterless constructors + 枚举不能包含显式无参数构造函数 - - '{0}' does not implement interface member '{1}'. '{2}' cannot implement '{1}' because it does not have the matching return type of '{3}'. - '“{0}”不实现接口成员“{1}”。“{2}”无法实现“{1}”,因为它没有“{3}”的匹配返回类型。 + + '{0}': cannot override '{1}' because it is not supported by the language + '“{0}”: 无法重写“{1}”,因为该语言不支持它 - - '{0}' duplicate TypeForwardedToAttribute - '“{0}”与 TypeForwardedToAttribute 重复 + + '{0}' is not supported by the language + '现用语言不支持“{0}” - - A query body must end with a select clause or a group clause - 查询正文必须以 select 或 group 子句结尾 + + '{0}': cannot explicitly call operator or accessor + '“{0}”: 无法显式调用运算符或访问器 - - Expected contextual keyword 'on' - 应为上下文关键字 "on" + + '{0}': cannot reference a type through an expression; try '{1}' instead + '“{0}”: 无法通过表达式引用类型;请尝试“{1}” - - Expected contextual keyword 'equals' - 应为上下文关键字 "equals" + + '{0}': cannot have instance property or field initializers in structs + '“{0}”: 结构中不能实例属性或字段初始值设定项 - - Expected contextual keyword 'by' - 应为上下文关键字 "by" + + Name of destructor must match name of class + 析构函数的名称必须与类的名称匹配 - - Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access. - 无效的匿名类型成员声明符。匿名类型成员必须使用成员赋值、简单名称或成员访问来声明。 + + Only class types can contain destructors + 只有类类型才能包含析构函数 - - Invalid initializer member declarator - 初始值设定项成员声明符无效 + + Namespace '{1}' contains a definition conflicting with alias '{0}' + 命名空间“{1}”包含与别名“{0}”冲突的定义 - - Inconsistent lambda parameter usage; parameter types must be all explicit or all implicit - lambda 参数的用法不一致;参数类型必须全部为显式或全部为隐式 + + Alias '{0}' conflicts with {1} definition + 别名“{0}”与 {1} 定义冲突 - - A partial method cannot have access modifiers or the virtual, abstract, override, new, sealed, or extern modifiers - 分部方法不能具有访问修饰符或 virtual、abstract、override、new、sealed 或 extern 修饰符 + + The Conditional attribute is not valid on '{0}' because it is a constructor, destructor, operator, or explicit interface implementation + Conditional 特性在“{0}”上无效,因为它是构造函数、析构函数、运算符或显式接口实现 - - A partial method must be declared within a partial class or partial struct - 分部方法必须在分部类或分部结构内声明 + + The Conditional attribute is not valid on '{0}' because its return type is not void + Conditional 特性在“{0}”上无效,因为其返回类型不是 void - - A partial method cannot have out parameters - 分部方法不能有 out 参数 + + Duplicate '{0}' attribute + “{0}”特性重复 - - A partial method may not explicitly implement an interface method - 分部方法不能显式实现接口方法 + + Duplicate '{0}' attribute in '{1}' + “{0}”特性在“{1}”中重复 - - Both partial method declarations must be extension methods or neither may be an extension method - 两个分部方法声明都必须是扩展方法,或者都不能是扩展方法 + + The Conditional attribute is not valid on interface members + Conditional 特性在接口成员上无效 - - A partial method may not have multiple defining declarations - 分部方法不能有多个定义声明 + + User-defined operators cannot return void + 用户定义的运算符不能返回 void - - A partial method may not have multiple implementing declarations - 分部方法不能有多个实现声明 + + '{0}': user-defined conversions to or from the dynamic type are not allowed + '“{0}”: 不允许对动态类型执行用户定义的转换 - - Both partial method declarations must use a params parameter or neither may use a params parameter - 两种分部方法声明必须要么都使用 params 参数,要么都不使用 params 参数 + + Invalid value for argument to '{0}' attribute + “{0}”特性的参数值无效 - - No defining declaration found for implementing declaration of partial method '{0}' - 没有为分部方法“{0}”的实现声明找到定义声明 + + Parameter not valid for the specified unmanaged type. + 参数对于指定非托管类型无效。 - - Both partial method declarations, '{0}' and '{1}', must use the same tuple element names. - 两种分部方法声明(“{0}”和“{1}”)都必须使用相同的元组元素名称。 + + Attribute parameter '{0}' must be specified. + 必须指定特性参数“{0}”。 - - Partial method declarations of '{0}' have inconsistent type parameter constraints - “{0}”的分部方法声明具有不一致的类型参数约束 + + Attribute parameter '{0}' or '{1}' must be specified. + 必须指定特性参数“{0}”或“{1}”。 - - Cannot create delegate from method '{0}' because it is a partial method without an implementing declaration - 无法通过方法“{0}”创建委托,因为该方法是没有实现声明的分部方法 + + Unmanaged type '{0}' not valid for fields. + 非托管类型“{0}”对于字段无效。 - - Both partial method declarations must be static or neither may be static - 两个分部方法声明必须都是静态声明,或者两者都不能是静态声明 + + Unmanaged type '{0}' is only valid for fields. + 非托管类型“{0}”仅对字段有效。 - - Both partial method declarations must be unsafe or neither may be unsafe - 两个分部方法声明必须都是不安全声明,或者两者都不能是不安全声明 + + Attribute '{0}' is not valid on this declaration type. It is only valid on '{1}' declarations. + 特性“{0}”对此声明类型无效。它仅对“{1}”声明有效。 - - Partial methods with only a defining declaration or removed conditional methods cannot be used in expression trees - 不能在表达式树中使用只有定义声明的分部方法或已移除的条件方法 + + Floating-point constant is outside the range of type '{0}' + 浮点常量超出“{0}”类型的范围 - - Partial methods must have a void return type - 分部方法必须具有 void 返回类型 + + The Guid attribute must be specified with the ComImport attribute + Guid 特性必须用 ComImport 特性指定 - - Obsolete member '{0}' overrides non-obsolete member '{1}' - 过时成员“{0}”重写未过时成员“{1}” + + Invalid value for named attribute argument '{0}' + 命名特性参数“{0}”的值无效 - - Obsolete member overrides non-obsolete member - 过时成员重写未过时成员 + + The DllImport attribute must be specified on a method marked 'static' and 'extern' + 必须在标记为 "static" 和 "extern" 的方法上指定 DllImport 特性 - - The fully qualified name for '{0}' is too long for debug information. Compile without '/debug' option. - “{0}”的完全限定名对于调试信息太长。请在不使用“/debug”选项的情况下编译。 + + Cannot update '{0}'; attribute '{1}' is missing. + 无法更新“{0}”;特性“{1}”缺失。 - - Fully qualified name is too long for debug information - 完全限定名对于调试信息太长 + + The DllImport attribute cannot be applied to a method that is generic or contained in a generic type. + DllImport 特性不能应用于属于泛型类型或者包含在泛型类型中的方法。 - - Cannot assign {0} to an implicitly-typed variable - 无法将 {0} 赋予隐式类型化的变量 + + Field or property cannot be of type '{0}' + 字段或属性不能是“{0}”类型 - - Implicitly-typed variables must be initialized - 隐式类型化的变量必须已初始化 + + Field or auto-implemented property cannot be of type '{0}' unless it is an instance member of a ref struct. + 字段或自动实现的属性不能是类型“{0}”,除非它是 ref 结构的实例成员。 - - Implicitly-typed variables cannot have multiple declarators - 隐式类型化的变量不能有多个声明符 + + Array elements cannot be of type '{0}' + 数组元素不能是“{0}”类型 - - Cannot initialize an implicitly-typed variable with an array initializer - 无法使用数组初始值设定项初始化隐式类型化的变量 + + '{0}' is obsolete + '“{0}”已过时 - - Implicitly-typed local variables cannot be fixed - 隐式类型的局部变量不能是固定值 + + Type or member is obsolete + 类型或成员已过时 - - Implicitly-typed variables cannot be constant - 隐式类型化的变量不能是常量 + + '{0}' is not an attribute class + '“{0}”不是特性类 - - Constructor '{0}' is marked external - 构造函数“{0}”标记为外部对象 + + '{0}' is not a valid named attribute argument. Named attribute arguments must be fields which are not readonly, static, or const, or read-write properties which are public and not static. + '“{0}”不是有效的命名特性参数。命名特性参数必须是非只读、非静态或非常数的字段,或者是公共的和非静态的读写属性。 - - Constructor is marked external - 构造函数标记为外部对象 + + '{0}' is obsolete: '{1}' + '“{0}”已过时:“{1}” - - The contextual keyword 'var' may only appear within a local variable declaration or in script code - 上下文关键字“var”只能出现在局部变量声明或脚本代码中 + + Type or member is obsolete + 类型或成员已过时 - - No best type found for implicitly-typed array - 找不到隐式类型数组的最佳类型 + + '{0}' is obsolete: '{1}' + '“{0}”已过时:“{1}” - - Cannot assign '{0}' to anonymous type property - 无法将“{0}”分配给匿名类型属性 + + Indexers cannot have void type + 索引器不能有 void 类型 - - An expression tree may not contain a base access - 表达式树不能包含基访问 + + '{0}': virtual or abstract members cannot be private + '“{0}”: 虚拟成员或抽象成员不能是私有的 - - An expression tree may not contain an assignment operator - 表达式树不能包含赋值运算符 + + Can only use array initializer expressions to assign to array types. Try using a new expression instead. + 只能使用数组初始值设定项表达式为数组类型赋值。请尝试改用 new 表达式。 - - An anonymous type cannot have multiple properties with the same name - 匿名类型不能有多个同名属性 + + Array initializers can only be used in a variable or field initializer. Try using a new expression instead. + 数组初始值设定项只能在变量或字段初始值设定项中使用。请尝试改用 new 表达式。 - - A lambda expression with a statement body cannot be converted to an expression tree - 无法将具有语句体的 lambda 表达式转换为表达式树 + + '{0}': instance field in types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute + “{0}”: 标记为 StructLayout(LayoutKind.Explicit) 的实例字段类型必须具有 FieldOffset 特性 - - Cannot convert lambda to an expression tree whose type argument '{0}' is not a delegate type - 不能将 lambda 转换为类型参数“{0}”不是委托类型的表达式树 + + Method, operator, or accessor '{0}' is marked external and has no attributes on it. Consider adding a DllImport attribute to specify the external implementation. + 方法、运算符或访问器“{0}”标记为外部对象并且它上面没有任何特性。请考虑添加一个 DllImport 特性以指定外部实现。 - - Cannot use anonymous type in a constant expression - 无法在常量表达式中使用匿名类型 + + Method, operator, or accessor is marked external and has no attributes on it + 方法、运算符或访问器标记为外部对象并且上面没有任何特性 - - The first operand of an 'is' or 'as' operator may not be a lambda expression, anonymous method, or method group. - “is”或“as”运算符的第一个操作数不能是 lambda 表达式、匿名方法或方法组。 + + '{0}': new protected member declared in sealed class + '“{0}”: 在密封类中声明了新的保护成员 - - The first operand of an 'as' operator may not be a tuple literal without a natural type. - "as" 运算符的第一个操作数在没有自然类型的情况下可能不是元组文本。 + + New protected member declared in sealed class + 在密封类中声明了新的保护成员 - - An expression tree may not contain a multidimensional array initializer - 表达式树不能包含多维数组初始值 + + Conditional member '{0}' cannot implement interface member '{1}' in type '{2}' + 条件成员“{0}”无法实现类型“{2}”中的接口成员“{1}” - - Argument missing - 缺少参数 + + ref and out are not valid in this context + ref 和 out 参数在此上下文中无效 - - Cannot use local variable '{0}' before it is declared - 本地变量“{0}”在声明之前无法使用 + + The argument to the '{0}' attribute must be a valid identifier + “{0}”特性的参数必须是有效的标识符 - - Type of '{0}' cannot be inferred since its initializer directly or indirectly refers to the definition. - 无法推理“{0}”类型,因为其初始值设定项直接或间接地引用定义。 + + The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit) + FieldOffset 特性只能放置在标记为 StructLayout(LayoutKind.Explicit) 的类型的成员上 - - Auto-implemented property '{0}' must be fully assigned before control is returned to the caller. - 在控制返回调用方之前,自动实现的属性“{0}”必须完全赋值。 + + The FieldOffset attribute is not allowed on static or const fields + 静态字段或常量字段上不允许存在 FieldOffset 特性 - - Cannot use local variable '{0}' before it is declared. The declaration of the local variable hides the field '{1}'. - 本地变量“{0}”在声明之前无法使用。声明该本地变量将隐藏字段“{1}”。 + + Attribute '{0}' is only valid on classes derived from System.Attribute + 特性“{0}”仅在从 System.Attribute 派生的类上有效 - - An expression tree lambda may not contain a coalescing operator with a null or default literal left-hand side - 表达式树 lambda 不能包含左侧为 null 或默认文本的合并运算符 + + Possible mistaken empty statement + 空语句可能有错误 - - Identifier expected - 应输入标识符 + + Possible mistaken empty statement + 空语句可能有错误 - - ; expected - 应输入 ; + + '{0}' duplicate named attribute argument + '“{0}”重复命名特性参数 - - Syntax error, '{0}' expected - 语法错误,应输入“{0}” + + '{0}' cannot derive from special class '{1}' + '“{0}”无法从特殊类“{1}”派生 - - Duplicate '{0}' modifier - “{0}”修饰符重复 + + Cannot specify the DefaultMember attribute on a type containing an indexer + 不能对包含索引器的类型指定 DefaultMember 特性 - - Property accessor already defined - 属性访问器已经定义 + + '{0}' is a type not supported by the language + '“{0}”不是现用语言支持的类型 - - Type byte, sbyte, short, ushort, int, uint, long, or ulong expected - 应输入类型 byte、sbyte、short、ushort、int、uint、long 或 ulong + + Field '{0}' is never assigned to, and will always have its default value {1} + 从未对字段“{0}”赋值,字段将一直保持其默认值 {1} - - Unrecognized escape sequence - 无法识别的转义序列 + + Field is never assigned to, and will always have its default value + 从未对字段赋值,字段将一直保持其默认值 - - Newline in constant - 常量中有换行符 + + Bad array declarator: To declare a managed array the rank specifier precedes the variable's identifier. To declare a fixed size buffer field, use the fixed keyword before the field type. + 错误的数组声明符: 要声明托管数组,秩说明符应位于变量标识符之前。要声明固定大小缓冲区字段,应在字段类型之前使用 fixed 关键字。 - - Empty character literal - 空字符 + + Comparison to integral constant is useless; the constant is outside the range of type '{0}' + 与整数常量比较无意义;该常量不在“{0}”类型的范围之内 - - Too many characters in character literal - 字符文本中的字符太多 + + Comparison to integral constant is useless; the constant is outside the range of the type + 与整数常量比较无意义;该常量不在类型的范围之内 - - Invalid number - 无效数字 + + Cannot apply attribute class '{0}' because it is abstract + 无法应用特性类“{0}”,因为它是抽象的 - - A get or set accessor expected - 应为 get 或 set 访问器 + + '{0}' is not a valid named attribute argument because it is not a valid attribute parameter type + '“{0}”不是有效的特性参数类型,因此不是有效的命名特性参数 - - An object, string, or class type expected - 应是对象、字符串或类类型 + + Missing compiler required member '{0}.{1}' + 缺少编译器要求的成员“{0}.{1}” - - Named attribute argument expected - 应为命名特性参数 + + '{0}' is not a valid attribute location for this declaration. Valid attribute locations for this declaration are '{1}'. All attributes in this block will be ignored. + '“{0}”不是此声明的有效特性位置。此声明的有效特性位置是“{1}”。此块中的所有特性都将被忽略。 - - Catch clauses cannot follow the general catch clause of a try statement - catch 子句不能跟在 try 语句的常规 catch 子句之后 + + Not a valid attribute location for this declaration + 不是此声明的有效特性位置 - - Keyword 'this' or 'base' expected - 应为关键字 "this" 或 "base" + + '{0}' is not a recognized attribute location. Valid attribute locations for this declaration are '{1}'. All attributes in this block will be ignored. + '“{0}”不是可识别的特性位置。此声明的有效特性位置为“{1}”。此块中的所有特性都将被忽略。 - - Overloadable unary operator expected - 应输入可重载的一元运算符 + + Not a recognized attribute location + 不是可识别的特性位置 - - Overloadable binary operator expected - 应输入可重载的二元运算符 + + '{0}' overrides Object.Equals(object o) but does not override Object.GetHashCode() + '“{0}”重写 Object.Equals(object o) 但不重写 Object.GetHashCode() - - Integral constant is too large - 整数常量太大 + + Type overrides Object.Equals(object o) but does not override Object.GetHashCode() + 类型重写 Object.Equals(object o),但不重写 Object.GetHashCode() - - Type or namespace definition, or end-of-file expected - 应输入类型、命名空间定义或文件尾 + + '{0}' defines operator == or operator != but does not override Object.Equals(object o) + '“{0}”定义运算符 == 或运算符 !=,但不重写 Object.Equals(object o) - - Member definition, statement, or end-of-file expected - 应是成员定义、语句或文件尾 + + Type defines operator == or operator != but does not override Object.Equals(object o) + 类型定义运算符 == 或运算符 !=,但不重写 Object.Equals(object o) - - Embedded statement cannot be a declaration or labeled statement - 嵌入的语句不能是声明或标记语句 + + '{0}' defines operator == or operator != but does not override Object.GetHashCode() + '“{0}”定义运算符 == 或运算符 !=,但不重写 Object.GetHashCode() - - Preprocessor directive expected - 应输入预处理器指令 + + Type defines operator == or operator != but does not override Object.GetHashCode() + 类型定义运算符 == 或运算符 !=,但不重写 Object.GetHashCode() - - Single-line comment or end-of-line expected - 应输入单行注释或行尾 + + Cannot specify the Out attribute on a ref parameter without also specifying the In attribute. + 不可在 ref 参数上指定 Out 特性,除非同时指定 In 特性。 - - ) expected - 应输入 ) + + '{0}' cannot define an overloaded {1} that differs only on parameter modifiers '{2}' and '{3}' + '“{0}”不能定义仅在参数修饰符“{2}”和“{3}”上存在区别的重载 {1} - - #endif directive expected - 应输入 #endif 指令 + + Literal of type double cannot be implicitly converted to type '{1}'; use an '{0}' suffix to create a literal of this type + 无法将 Double 类型隐式转换为“{1}”类型;请使用“{0}”后缀创建此类型 - - Unexpected preprocessor directive - 意外的预处理器指令 + + Assignment in conditional expression is always constant; did you mean to use == instead of = ? + 条件表达式中的赋值总是常量;是否希望使用 "==" 而非 "="? - - #error: '{0}' - #错误:“{0}” + + Assignment in conditional expression is always constant + 条件表达式中的赋值总是常量 - - #warning: '{0}' - #警告:“{0}” + + '{0}': new protected member declared in struct + '“{0}”: 结构中已声明新的保护成员 - - #warning directive - #warning 指令 + + Two indexers have different names; the IndexerName attribute must be used with the same name on every indexer within a type + 两个索引器的名称不同;在类型中的每个索引器上的 IndexerName 特性都必须使用相同的名称 - - Type expected - 应输入类型 + + A class with the ComImport attribute cannot have a user-defined constructor + 具有 ComImport 特性的类不能有用户定义的构造函数 - - Cannot define/undefine preprocessor symbols after first token in file - 不能在文件的第一个标记之后定义或取消定义预处理器符号 + + Field cannot have void type + 字段不能有 void 类型 - - Cannot use #r after first token in file - 不能在文件的第一个标记之后使用 #r + + Member '{0}' overrides obsolete member '{1}'. Add the Obsolete attribute to '{0}'. + 成员“{0}”将重写过时的成员“{1}”。请向“{0}”中添加 Obsolete 特性。 - - End-of-file found, '*/' expected - 发现文件尾,应输入 "*/" + + Member overrides obsolete member + 成员将重写过时的成员 - - Merge conflict marker encountered - 遇到合并冲突标记 + + System.Void cannot be used from C# -- use typeof(void) to get the void type object + 在 C# 中无法使用 System.Void -- 使用 typeof(void)获取 void 类型对象 - - Do not use refout when using refonly. - 不要在使用 refonly 时使用 refout。 + + Do not use 'System.ParamArrayAttribute'. Use the 'params' keyword instead. + 不要使用 "System.ParamArrayAttribute",而是使用 "params" 关键字。 - - Cannot compile net modules when using /refout or /refonly. - 无法在使用 /refout 或 /refonly 时编译 Net 模块。 + + Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first + 在经符号扩展的操作数上使用了按位“或”运算符;请考虑首先强制转换为较小的无符号类型 - - Overloadable operator expected - 应输入可重载运算符 + + Bitwise-or operator used on a sign-extended operand + 对进行了带符号扩展的操作数使用了按位或运算符 - - #endregion directive expected - 应输入 #endregion 指令 + + The compiler implicitly widened and sign-extended a variable, and then used the resulting value in a bitwise OR operation. This can result in unexpected behavior. + 编译器对某个变量进行了隐式拓展和带符号扩展,然后在按位或操作中使用生成的值。这可能会导致意外行为。 - - Unterminated string literal - 字符串未终止 + + '{0}': a volatile field cannot be of the type '{1}' + '“{0}”: 可变字段的类型不能是“{1}” - - Preprocessor directives must appear as the first non-whitespace character on a line - 预处理器指令必须作为一行的第一个非空白字符出现 + + '{0}': a field cannot be both volatile and readonly + '“{0}”: 字段不能既是可变的又是只读的 - - Identifier expected; '{1}' is a keyword - 应为标识符;“{1}”是关键字 + + The modifier 'abstract' is not valid on fields. Try using a property instead. + 修饰符 "abstract" 对于字段无效。请尝试改用属性。 - - { or ; expected - 应为 { 或 ; + + '{0}' cannot implement '{1}' because it is not supported by the language + '“{0}”无法实现“{1}”,因为该语言不支持它 - - Cannot use more than one type in a for, using, fixed, or declaration statement - 在 for、using、fixed 或声明语句中不能使用多个类型 + + '{0}' explicit method implementation cannot implement '{1}' because it is an accessor + '“{0}”显式方法实现无法实现“{1}”,因为它是一个访问器 - - An add or remove accessor expected - 应为 add 访问器或 remove 访问器 + + '{0}' interface marked with 'CoClassAttribute' not marked with 'ComImportAttribute' + '“{0}”接口标记为“CoClassAttribute”而不是“ComImportAttribute” - - Unexpected character '{0}' - 意外的字符“{0}” + + Interface marked with 'CoClassAttribute' not marked with 'ComImportAttribute' + 接口标记为 "CoClassAttribute" 而不是 "ComImportAttribute" - - Unexpected token '{0}' - 意外标记“{0}” + + Conditional member '{0}' cannot have an out parameter + 条件成员“{0}”不能有 out 参数 - - '{0}': static classes cannot contain protected members - '“{0}”: 静态类不能包含保护成员 + + Accessor '{0}' cannot implement interface member '{1}' for type '{2}'. Use an explicit interface implementation. + 访问器“{0}”无法实现类型“{2}”的接口成员“{1}” 请使用显式接口实现。 - - A previous catch clause already catches all exceptions. All non-exceptions thrown will be wrapped in a System.Runtime.CompilerServices.RuntimeWrappedException. - 上一个 catch 子句已捕获所有异常。引发的所有非异常均被包装在 System.Runtime.CompilerServices.RuntimeWrappedException 中。 + + The namespace alias qualifier '::' always resolves to a type or namespace so is illegal here. Consider using '.' instead. + 命名空间别名限定符 "::" 始终解析为类型或命名空间,因此在这里是非法的。请考虑改用 "."。 - - A previous catch clause already catches all exceptions - 上一个 catch 子句已经捕获了所有异常 + + Cannot derive from '{0}' because it is a type parameter + “{0}”是一个类型参数,无法从它进行派生 - - This warning is caused when a catch() block has no specified exception type after a catch (System.Exception e) block. The warning advises that the catch() block will not catch any exceptions. - -A catch() block after a catch (System.Exception e) block can catch non-CLS exceptions if the RuntimeCompatibilityAttribute is set to false in the AssemblyInfo.cs file: [assembly: RuntimeCompatibilityAttribute(WrapNonExceptionThrows = false)]. If this attribute is not set explicitly to false, all thrown non-CLS exceptions are wrapped as Exceptions and the catch (System.Exception e) block catches them. - 当 catch() 块未在 catch (System.Exception e) 块之后指定异常类型时,会出现此警告。该警告建议 catch() 块不捕获任何异常。 - -如果 RuntimeCompatibilityAttribute 在 AssemblyInfo.cs 文件中设置为 false,则 catch (System.Exception e) 块之后的 catch() 块可以捕获非 CLS 异常: [程序集: RuntimeCompatibilityAttribute(WrapNonExceptionThrows = false)]。如果此特性未显式设置为 false,则所有引发的非 CLS 异常都包装为“异常”,catch (System.Exception e) 块可以捕获它们。 + + Duplicate type parameter '{0}' + 重复的类型参数“{0}” - - The operand of an increment or decrement operator must be a variable, property or indexer - 递增或递减运算符的操作数必须是变量、属性或索引器 + + Type parameter '{0}' has the same name as the type parameter from outer type '{1}' + 类型参数“{0}”与外部类型“{1}”中的类型参数同名 - - '{0}' does not contain a definition for '{1}' and no accessible extension method '{1}' accepting a first argument of type '{0}' could be found (are you missing a using directive or an assembly reference?) - '“{0}”未包含“{1}”的定义,并且找不到可接受第一个“{0}”类型参数的可访问扩展方法“{1}”(是否缺少 using 指令或程序集引用?) + + Type parameter has the same name as the type parameter from outer type + 类型参数与外部类型中的类型参数同名 - - '{0}' does not contain a definition for '{1}' and no extension method '{1}' accepting a first argument of type '{0}' could be found (are you missing a using directive for '{2}'?) - '“{0}”不包含“{1}”的定义,并且找不到可接受类型为“{0}”的第一个参数的扩展方法“{1}”(是否缺少针对“{2}”的 using 指令?) + + Type parameter '{0}' has the same name as the containing type, or method + 类型参数“{0}”与包含类型或方法同名 - - Method '{0}' has a parameter modifier 'this' which is not on the first parameter - 方法“{0}”具有一个参数修饰符“this”,该修饰符不在第一个参数上 + + '{0}' cannot implement both '{1}' and '{2}' because they may unify for some type parameter substitutions + '“{0}”不能同时实现“{1}”和“{2}”,原因是它们可以统一以进行某些类型参数替换 - - The parameter modifier '{0}' cannot be used with '{1}' - 参数修饰符“{0}”不能与“{1}”一起使用 + + A generic type cannot derive from '{0}' because it is an attribute class + “{0}”是一个特性类,无法从它派生泛型类型 - - The first parameter of an extension method cannot be of type '{0}' - 扩展方法的第一个参数的类型不能是“{0}” + + '{1}' does not define type parameter '{0}' + '“{1}”未定义类型参数“{0}” - - A parameter array cannot be used with 'this' modifier on an extension method - 参数数组不能与“this”修饰符一起在扩展方法中使用 + + '{0}' is not a valid constraint. A type used as a constraint must be an interface, a non-sealed class or a type parameter. + '“{0}”不是有效的约束。作为约束使用的类型必须是接口、非密封类或类型参数。 - - Extension method must be static - 扩展方法必须是静态的 + + Constraint cannot be special class '{0}' + 约束不能是特殊类“{0}” - - - Extension method must be defined in a non-generic static class - 扩展方法必须在非泛型静态类中定义 + + + Inconsistent accessibility: constraint type '{1}' is less accessible than '{0}' + 可访问性不一致: 约束类型“{1}”的可访问性低于“{0}” - - A parameter can only have one '{0}' modifier - 参数只能有一个“{0}”修饰符 + + Cannot do member lookup in '{0}' because it is a type parameter + “{0}”是一个类型参数,无法在其中执行成员查找 - - Extension methods must be defined in a top level static class; {0} is a nested class - 扩展方法必须在顶级静态类中定义;{0} 是嵌套类 + + Invalid constraint type. A type used as a constraint must be an interface, a non-sealed class or a type parameter. + 约束类型无效。作为约束使用的类型必须是接口、非密封类或类型形参。 - - Cannot define a new extension method because the compiler required type '{0}' cannot be found. Are you missing a reference to System.Core.dll? - 无法定义新的扩展方法,因为找不到编译器需要的类型“{0}”。是否缺少对 System.Core.dll 的引用? + + '{0}': cannot declare instance members in a static class + '“{0}”: 不能在静态类中声明实例成员 - - Do not use 'System.Runtime.CompilerServices.ExtensionAttribute'. Use the 'this' keyword instead. - 不要使用“System.Runtime.CompilerServices.ExtensionAttribute”。请改用“this”关键字。 + + '{1}': cannot derive from static class '{0}' + '“{0}”: 无法从静态类“{1}”派生 - - Do not use 'System.Runtime.CompilerServices.DynamicAttribute'. Use the 'dynamic' keyword instead. - 不要使用“System.Runtime.CompilerServices.DynamicAtribute”。请改用“dynamic”关键字。 + + Static classes cannot have instance constructors + 静态类不能有实例构造函数 - - The constructor call needs to be dynamically dispatched, but cannot be because it is part of a constructor initializer. Consider casting the dynamic arguments. - 构造函数调用需要进行动态调度,但无法如此,因为它是构造函数初始值的一部分。请考虑强制转换动态参数。 + + Static classes cannot contain destructors + 静态类不能包含析构函数 - - Extension method '{0}' defined on value type '{1}' cannot be used to create delegates - 不能使用值类型“{1}”上定义的扩展方法“{0}”来创建委托 + + Cannot create an instance of the static class '{0}' + 无法创建静态类“{0}”的实例 - - No overload for method '{0}' takes {1} arguments - “{0}”方法没有采用 {1} 个参数的重载 + + Static class '{0}' cannot derive from type '{1}'. Static classes must derive from object. + 静态类“{0}”不能从类型“{1}”派生。静态类必须从对象派生。 - - Argument {0}: cannot convert from '{1}' to '{2}' - 参数 {0}: 无法从“{1}”转换为“{2}” + + '{0}': static classes cannot implement interfaces + '“{0}”: 静态类不能实现接口 - - Source file '{0}' could not be opened -- {1} - 无法打开源文件“{0}”-- {1} + + '{0}': ref structs cannot implement interfaces + '{0}: ref 结构不能实现接口 - - Cannot link resource files when building a module - 生成模块时,无法链接资源文件 + + '{0}': static classes cannot contain user-defined operators + '“{0}”: 静态类不能包含用户定义的运算符 - - Resource identifier '{0}' has already been used in this assembly - 此程序集中已使用了资源标识符“{0}” + + Cannot convert to static type '{0}' + 无法转换为静态类型“{0}” - - Each linked resource and module must have a unique filename. Filename '{0}' is specified more than once in this assembly - 每个链接资源和模块必须具有唯一的文件名。在此程序集中多次指定了文件名 {0} + + '{0}': static classes cannot be used as constraints + '“{0}”: 静态类不能用作约束 - - The referenced file '{0}' is not an assembly - 引用的文件“{0}”不是程序集 + + '{0}': static types cannot be used as type arguments + '“{0}”: 静态类型不能用作类型参数 - - A ref or out value must be an assignable variable - ref 或 out 值必须是可以赋值的变量 + + '{0}': array elements cannot be of static type + '“{0}”: 数组元素不能是静态类型的 - - Keyword 'base' is not available in a static method - 关键字“base”在静态方法中不可用 + + '{0}': cannot declare indexers in a static class + '“{0}”: 不能在静态类中声明索引器 - - Keyword 'base' is not available in the current context - 关键字“base”在当前上下文中不可用 + + '{0}': static types cannot be used as parameters + '“{0}”: 静态类型不能用作参数 - - } expected - 应输入 } + + '{0}': static types cannot be used as return types + '“{0}”: 静态类型不能用作返回类型 - - { expected - 应为 { + + Cannot declare a variable of static type '{0}' + 无法声明静态类型“{0}”的变量 - - 'in' expected - '应为 "in" + + A throw statement with no arguments is not allowed in a finally clause that is nested inside the nearest enclosing catch clause + 在嵌套在最近的封闭 catch 子句内部的 finally 子句内不允许使用不带参数的 throw 语句 - - Invalid preprocessor expression - 无效的预处理器表达式 + + '{0}' is not a valid format specifier + '“{0}”不是有效的格式说明符 - - Invalid token '{0}' in class, struct, or interface member declaration - 类、结构或接口成员声明中的标记“{0}”无效 + + Possibly incorrect assignment to local '{0}' which is the argument to a using or lock statement. The Dispose call or unlocking will happen on the original value of the local. + 对局部变量“{0}”的赋值可能不正确,该变量是 using 或 lock 语句的参数。Dispose 调用或解锁将发生在该局部变量的原始值上。 - - Method must have a return type - 方法必须具有返回类型 + + Possibly incorrect assignment to local which is the argument to a using or lock statement + 对局部变量的赋值可能不正确,该变量是 using 或 lock 语句的参数 - - Invalid base type - 无效的基类型 + + Type '{0}' is defined in this assembly, but a type forwarder is specified for it + 类型“{0}”是在此程序集中定义的,但又为它指定了一个类型转发器 - - Empty switch block - 空的 switch 块 + + Cannot forward type '{0}' because it is a nested type of '{1}' + 类型“{0}”是“{1}”的嵌套类型,无法转发 - - Empty switch block - 空的 switch 块 + + The type forwarder for type '{0}' in assembly '{1}' causes a cycle + 程序集“{1}”中类型“{0}”的类型转发器导致循环 - - Expected catch or finally - 应输入 catch 或 finally + + The /moduleassemblyname option may only be specified when building a target type of 'module' + 只有在生成 "module" 目标类型时才能指定 /moduleassemblyname 选项 - - Invalid expression term '{0}' - 表达式项“{0}”无效 + + Assembly reference '{0}' is invalid and cannot be resolved + 程序集引用“{0}”无效,无法解析 - - A new expression requires (), [], or {} after type - new 表达式要求在类型后有 ()、[] 或 {} + + Invalid type specified as an argument for TypeForwardedTo attribute + 指定为 TypeForwardedTo 特性的参数的类型无效 - - Elements defined in a namespace cannot be explicitly declared as private, protected, protected internal, or private protected - 命名空间中定义的元素无法显式声明为 private、protected、protected internal 或 private protected + + '{0}' does not implement interface member '{1}'. '{2}' cannot implement an interface member because it is static. + '“{0}”不实现接口成员“{1}”。“{2}”无法实现接口成员,因为它是静态的。 - - Expected ; or = (cannot specify constructor arguments in declaration) - 应输入 ";" 或 "="(无法在声明中指定构造函数参数) + + '{0}' does not implement interface member '{1}'. '{2}' cannot implement an interface member because it is not public. + '“{0}”不实现接口成员“{1}”。“{2}”无法实现接口成员,因为它不是公共的。 - - A using clause must precede all other elements defined in the namespace except extern alias declarations - using 子句必须位于命名空间中定义的所有其他元素之前(外部别名声明除外) + + '{0}' does not implement interface member '{1}'. '{2}' cannot implement '{1}' because it does not have the matching return type of '{3}'. + '“{0}”不实现接口成员“{1}”。“{2}”无法实现“{1}”,因为它没有“{3}”的匹配返回类型。 - - Overloaded binary operator '{0}' takes two parameters - 重载的二元运算符“{0}”采用两个参数 + + '{0}' duplicate TypeForwardedToAttribute + '“{0}”与 TypeForwardedToAttribute 重复 - - Overloaded unary operator '{0}' takes one parameter - 重载的一元运算符“{0}”采用一个参数 + + A query body must end with a select clause or a group clause + 查询正文必须以 select 或 group 子句结尾 - - Invalid parameter type 'void' - 参数类型 "void" 无效 + + Expected contextual keyword 'on' + 应为上下文关键字 "on" - - The using alias '{0}' appeared previously in this namespace - using 别名“{0}”以前在此命名空间中出现过 + + Expected contextual keyword 'equals' + 应为上下文关键字 "equals" - - Cannot access protected member '{0}' via a qualifier of type '{1}'; the qualifier must be of type '{2}' (or derived from it) - 无法通过“{1}”类型的限定符访问受保护的成员“{0}”;限定符必须是“{2}”类型(或者从该类型派生) + + Expected contextual keyword 'by' + 应为上下文关键字 "by" - - '{0}' cannot be added to this assembly because it already is an assembly - '“{0}”无法添加到此程序集,因为它已是程序集 + + Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access. + 无效的匿名类型成员声明符。匿名类型成员必须使用成员赋值、简单名称或成员访问来声明。 - - Property, indexer, or event '{0}' is not supported by the language; try directly calling accessor methods '{1}' or '{2}' - 属性、索引器或事件“{0}”不受现用语言支持;请尝试直接调用访问器方法“{1}”或“{2}” + + Invalid initializer member declarator + 初始值设定项成员声明符无效 - - Property, indexer, or event '{0}' is not supported by the language; try directly calling accessor method '{1}' - 属性、索引器或事件“{0}”不受现用语言支持;请尝试直接调用访问器方法“{1}” + + Inconsistent lambda parameter usage; parameter types must be all explicit or all implicit + lambda 参数的用法不一致;参数类型必须全部为显式或全部为隐式 - - Keyword 'void' cannot be used in this context - 关键字 "void" 不能在此上下文中使用 + + A partial method cannot have access modifiers or the virtual, abstract, override, new, sealed, or extern modifiers + 分部方法不能具有访问修饰符或 virtual、abstract、override、new、sealed 或 extern 修饰符 - - Indexers must have at least one parameter - 索引器必须至少有一个参数 + + A partial method must be declared within a partial class or partial struct + 分部方法必须在分部类或分部结构内声明 - - Array type specifier, [], must appear before parameter name - 数组类型说明符 [] 必须出现在参数名之前 + + A partial method cannot have out parameters + 分部方法不能有 out 参数 - - Declaration is not valid; use '{0} operator <dest-type> (...' instead - 声明无效;请改用“{0} operator <dest-type> (...” + + A partial method may not explicitly implement an interface method + 分部方法不能显式实现接口方法 - - Could not find '{0}' specified for Main method - 未能找到为 Main 方法指定的“{0}” + + Both partial method declarations must be extension methods or neither may be an extension method + 两个分部方法声明都必须是扩展方法,或者都不能是扩展方法 - - '{0}' specified for Main method must be a valid non-generic class or struct - '为 Main 方法指定的“{0}”必须是有效的非泛型类或结构 + + A partial method may not have multiple defining declarations + 分部方法不能有多个定义声明 - - '{0}' does not have a suitable static 'Main' method - “{0}”没有合适的静态 'Main' 方法 + + A partial method may not have multiple implementing declarations + 分部方法不能有多个实现声明 - - Cannot use '{0}' for Main method because it is imported - 无法对 Main 方法使用“{0}”,因为它是被导入的 + + Both partial method declarations must use a params parameter or neither may use a params parameter + 两种分部方法声明必须要么都使用 params 参数,要么都不使用 params 参数 - - Outputs without source must have the /out option specified - 必须为没有源的输出指定 /out 选项 + + No defining declaration found for implementing declaration of partial method '{0}' + 没有为分部方法“{0}”的实现声明找到定义声明 - - Conflicting options specified: Win32 resource file; Win32 manifest - 指定了冲突的选项: Win32 资源文件;Win32 清单 + + Both partial method declarations, '{0}' and '{1}', must use the same tuple element names. + 两种分部方法声明(“{0}”和“{1}”)都必须使用相同的元组元素名称。 - - Conflicting options specified: Win32 resource file; Win32 icon - 指定的选项冲突: Win32 资源文件;Win32 图标 + + Partial method declarations of '{0}' have inconsistent type parameter constraints + “{0}”的分部方法声明具有不一致的类型参数约束 - - Error reading resource '{0}' -- '{1}' - 读取资源“{0}”时出错 --“{1}” + + Cannot create delegate from method '{0}' because it is a partial method without an implementing declaration + 无法通过方法“{0}”创建委托,因为该方法是没有实现声明的分部方法 - - Error writing to XML documentation file: {0} - 写入 XML 文档文件时出错: {0} + + Both partial method declarations must be static or neither may be static + 两个分部方法声明必须都是静态声明,或者两者都不能是静态声明 - - XML comment has badly formed XML -- '{0}' - XML 注释出现 XML 格式错误 --“{0}” + + Both partial method declarations must be unsafe or neither may be unsafe + 两个分部方法声明必须都是不安全声明,或者两者都不能是不安全声明 - - XML comment has badly formed XML - XML 注释出现 XML 格式错误 + + Partial methods with only a defining declaration or removed conditional methods cannot be used in expression trees + 不能在表达式树中使用只有定义声明的分部方法或已移除的条件方法 - - XML comment has a duplicate param tag for '{0}' - XML 注释中对“{0}”有重复的 param 标记 + + Partial methods must have a void return type + 分部方法必须具有 void 返回类型 - - XML comment has a duplicate param tag - XML 注释中有重复的 param 标记 + + Obsolete member '{0}' overrides non-obsolete member '{1}' + 过时成员“{0}”重写未过时成员“{1}” - - XML comment has a param tag for '{0}', but there is no parameter by that name - XML 注释中有“{0}”的 param 标记,但是没有该名称的参数 + + Obsolete member overrides non-obsolete member + 过时成员重写未过时成员 - - XML comment has a param tag, but there is no parameter by that name - XML 注释中有 param 标记,但是没有该名称的参数 + + The fully qualified name for '{0}' is too long for debug information. Compile without '/debug' option. + “{0}”的完全限定名对于调试信息太长。请在不使用“/debug”选项的情况下编译。 - - XML comment on '{1}' has a paramref tag for '{0}', but there is no parameter by that name - “{1}”上的 XML 注释中有“{0}”的 paramref 标记,但是没有该名称的参数 + + Fully qualified name is too long for debug information + 完全限定名对于调试信息太长 - - XML comment has a paramref tag, but there is no parameter by that name - XML 注释中有 paramref 标记,但是没有该名称的参数 + + Cannot assign {0} to an implicitly-typed variable + 无法将 {0} 赋予隐式类型化的变量 - - Parameter '{0}' has no matching param tag in the XML comment for '{1}' (but other parameters do) - 参数“{0}”在“{1}”的 XML 注释中没有匹配的 param 标记(但其他参数有) + + Implicitly-typed variables must be initialized + 隐式类型化的变量必须已初始化 - - Parameter has no matching param tag in the XML comment (but other parameters do) - 参数在 XML 注释中没有匹配的 param 标记(但其他参数有) + + Implicitly-typed variables cannot have multiple declarators + 隐式类型化的变量不能有多个声明符 - - XML comment has cref attribute '{0}' that could not be resolved - XML 注释中有未能解析的 cref 特性“{0}” + + Cannot initialize an implicitly-typed variable with an array initializer + 无法使用数组初始值设定项初始化隐式类型化的变量 - - XML comment has cref attribute that could not be resolved - XML 注释中有无法解析的 cref 特性 + + Implicitly-typed local variables cannot be fixed + 隐式类型的局部变量不能是固定值 - - A stackalloc expression requires [] after type - stackalloc 表达式在类型后要求有 [] + + Implicitly-typed variables cannot be constant + 隐式类型化的变量不能是常量 - - The line number specified for #line directive is missing or invalid - 为 #line 指令指定的行号缺少或无效 + + Constructor '{0}' is marked external + 构造函数“{0}”标记为外部对象 - - Quoted file name, single-line comment or end-of-line expected - 应是应用的文件名、单行注释或行尾 + + Constructor is marked external + 构造函数标记为外部对象 - - Quoted file name expected - 应是引用的文件名 + + The contextual keyword 'var' may only appear within a local variable declaration or in script code + 上下文关键字“var”只能出现在局部变量声明或脚本代码中 - - #r is only allowed in scripts - 仅脚本中允许使用 #r + + No best type found for implicitly-typed array + 找不到隐式类型数组的最佳类型 - - foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}' - “{0}”不包含“{1}”的公共实例定义,因此 foreach 语句不能作用于“{0}”类型的变量 + + Cannot assign '{0}' to anonymous type property + 无法将“{0}”分配给匿名类型属性 - - Invalid type for parameter {0} in XML comment cref attribute: '{1}' - XML 注释 cref 特性中参数 {0} 的类型无效:“{1}” + + An expression tree may not contain a base access + 表达式树不能包含基访问 - - Invalid type for parameter in XML comment cref attribute - XML 注释 cref 特性中参数的类型无效 + + An expression tree may not contain an assignment operator + 表达式树不能包含赋值运算符 - - Invalid return type in XML comment cref attribute - XML 注释的 cref 特性中的返回类型无效 + + An anonymous type cannot have multiple properties with the same name + 匿名类型不能有多个同名属性 - - Invalid return type in XML comment cref attribute - XML 注释的 cref 特性中的返回类型无效 + + A lambda expression with a statement body cannot be converted to an expression tree + 无法将具有语句体的 lambda 表达式转换为表达式树 - - Error reading Win32 resources -- {0} - 读取 Win32 资源时出错 -- {0} + + Cannot convert lambda to an expression tree whose type argument '{0}' is not a delegate type + 不能将 lambda 转换为类型参数“{0}”不是委托类型的表达式树 - - XML comment has syntactically incorrect cref attribute '{0}' - XML 注释中有语法错误的 cref 特性“{0}” + + Cannot use anonymous type in a constant expression + 无法在常量表达式中使用匿名类型 - - XML comment has syntactically incorrect cref attribute - XML 注释中有语法错误的 cref 特性 + + The first operand of an 'is' or 'as' operator may not be a lambda expression, anonymous method, or method group. + “is”或“as”运算符的第一个操作数不能是 lambda 表达式、匿名方法或方法组。 - - Member modifier '{0}' must precede the member type and name - 成员修饰符“{0}”必须位于成员类型和名称之前 + + The first operand of an 'as' operator may not be a tuple literal without a natural type. + "as" 运算符的第一个操作数在没有自然类型的情况下可能不是元组文本。 - - Array creation must have array size or array initializer - 数组创建必须有数组大小或数组初始值设定项 + + An expression tree may not contain a multidimensional array initializer + 表达式树不能包含多维数组初始值 - - XML comment is not placed on a valid language element - XML 注释没有放在有效语言元素上 + + Argument missing + 缺少参数 - - XML comment is not placed on a valid language element - XML 注释没有放在有效语言元素上 + + Cannot use local variable '{0}' before it is declared + 本地变量“{0}”在声明之前无法使用 - - Unable to include XML fragment '{1}' of file '{0}' -- {2} - 无法包括文件“{0}”的 XML 段落“{1}”-- {2} + + Type of '{0}' cannot be inferred since its initializer directly or indirectly refers to the definition. + 无法推理“{0}”类型,因为其初始值设定项直接或间接地引用定义。 - - Unable to include XML fragment - 无法包括 XML 段落。 + + Auto-implemented property '{0}' must be fully assigned before control is returned to the caller. + 在控制返回调用方之前,自动实现的属性“{0}”必须完全赋值。 + + + + Cannot use local variable '{0}' before it is declared. The declaration of the local variable hides the field '{1}'. + 本地变量“{0}”在声明之前无法使用。声明该本地变量将隐藏字段“{1}”。 - - Invalid XML include element -- {0} - 无效的 XML 包含元素 -- {0} + + An expression tree lambda may not contain a coalescing operator with a null or default literal left-hand side + 表达式树 lambda 不能包含左侧为 null 或默认文本的合并运算符 - - Invalid XML include element - XML 包含元素无效 + + Identifier expected + 应输入标识符 - - Missing XML comment for publicly visible type or member '{0}' - 缺少对公共可见类型或成员“{0}”的 XML 注释 + + ; expected + 应输入 ; - - Missing XML comment for publicly visible type or member - 缺少对公共可见类型或成员的 XML 注释 + + Syntax error, '{0}' expected + 语法错误,应输入“{0}” - - The /doc compiler option was specified, but one or more constructs did not have comments. - 指定了 /doc 编译器选项,但是一个或多个构造没有注释。 + + Duplicate '{0}' modifier + “{0}”修饰符重复 - - Badly formed XML in included comments file -- '{0}' - 所包含的注释文件中有格式错误的 XML --“{0}” + + Property accessor already defined + 属性访问器已经定义 - - Badly formed XML in included comments file - 所包含的注释文件中有格式错误的 XML + + Type byte, sbyte, short, ushort, int, uint, long, or ulong expected + 应输入类型 byte、sbyte、short、ushort、int、uint、long 或 ulong - - Delegate '{0}' does not take {1} arguments - 委托“{0}”未采用 {1} 个参数 + + Unrecognized escape sequence + 无法识别的转义序列 - - Semicolon after method or accessor block is not valid - 方法或访问器块后面的分号无效 + + Newline in constant + 常量中有换行符 - - Method or delegate cannot return type '{0}' - 方法或委托不能返回“{0}”类型 + + Empty character literal + 空字符 - - Compilation cancelled by user - 编译被用户取消 + + Too many characters in character literal + 字符文本中的字符太多 - - Cannot make reference to variable of type '{0}' - 无法引用类型为“{0}”的变量 + + Invalid number + 无效数字 - - Cannot assign to '{0}' because it is read-only - 无法为“{0}”赋值,因为它是只读的 + + A get or set accessor expected + 应为 get 或 set 访问器 - - Cannot use '{0}' as a ref or out value because it is read-only - “{0}”是只读的,无法用作 ref 或 out 值 + + An object, string, or class type expected + 应是对象、字符串或类类型 - - The RequiredAttribute attribute is not permitted on C# types - C# 类型上不允许有 RequiredAttribute 特性 + + Named attribute argument expected + 应为命名特性参数 - - Modifiers cannot be placed on event accessor declarations - 修饰符不能放置在事件访问器声明上 + + Catch clauses cannot follow the general catch clause of a try statement + catch 子句不能跟在 try 语句的常规 catch 子句之后 - - The params parameter cannot be declared as {0} - params 参数不能声明为 {0} + + Keyword 'this' or 'base' expected + 应为关键字 "this" 或 "base" - - Cannot modify the return value of '{0}' because it is not a variable - 无法修改“{0}”的返回值,因为它不是变量 + + Overloadable unary operator expected + 应输入可重载的一元运算符 - - The managed coclass wrapper class '{0}' for interface '{1}' cannot be found (are you missing an assembly reference?) - 无法找到接口“{1}”的托管组件类包装器类“{0}”(是否缺少程序集引用?) + + Overloadable binary operator expected + 应输入可重载的二元运算符 - - '{0}' is ambiguous between '{1}' and '{2}'; use either '@{0}' or '{0}Attribute' - '“{0}”在“{1}”和“{2}”之间不明确;请使用“@{0}”或“{0}Attribute” + + Integral constant is too large + 整数常量太大 - - Argument {0} may not be passed with the '{1}' keyword - 参数 {0} 不可与关键字“{1}”一起传递 + + Type or namespace definition, or end-of-file expected + 应输入类型、命名空间定义或文件尾 - - Option '{0}' overrides attribute '{1}' given in a source file or added module - 选项“{0}”重写源文件或添加的模块中给出的特性“{1}” + + Member definition, statement, or end-of-file expected + 应是成员定义、语句或文件尾 - - Option overrides attribute given in a source file or added module - 选项重写源文件或添加的模块中给出的特性 + + Embedded statement cannot be a declaration or labeled statement + 嵌入的语句不能是声明或标记语句 - - This warning occurs if the assembly attributes AssemblyKeyFileAttribute or AssemblyKeyNameAttribute found in source conflict with the /keyfile or /keycontainer command line option or key file name or key container specified in the Project Properties. - 如果源中出现的程序集特性 AssemblyKeyFileAttribute 或 AssemblyKeyNameAttribute 与 /keyfile 或 /keycontainer 命令行选项或是“项目属性”中指定的密钥文件名或密钥容器冲突,则会出现此警告。 + + Preprocessor directive expected + 应输入预处理器指令 - - Invalid option '{0}' for /langversion. Use '/langversion:?' to list supported values. - /langversion 的选项“{0}”无效。使用 "/langversion:?" 列出支持的值。 + + Single-line comment or end-of-line expected + 应输入单行注释或行尾 - - Cannot create delegate with '{0}' because it or a method it overrides has a Conditional attribute - 无法用“{0}”创建委托,因为它或它重写的方法具有 Conditional 特性 + + ) expected + 应输入 ) - - Cannot create temporary file -- {0} - 无法创建临时文件 -- {0} + + #endif directive expected + 应输入 #endif 指令 - - Argument {0} must be passed with the '{1}' keyword - 参数 {0} 必须与关键字“{1}”一起传递 + + Unexpected preprocessor directive + 意外的预处理器指令 - - The yield statement cannot be used inside an anonymous method or lambda expression - 不能在匿名方法或 lambda 表达式内使用 yield 语句 + + #error: '{0}' + #错误:“{0}” - - Cannot return a value from an iterator. Use the yield return statement to return a value, or yield break to end the iteration. - 无法从迭代器返回值。请使用 yield return 语句返回值,或使用 yield break 语句结束迭代。 + + #warning: '{0}' + #警告:“{0}” - - Iterators cannot have ref, in or out parameters - 迭代器不能有 ref、in 或 out 参数 + + #warning directive + #warning 指令 - - The body of '{0}' cannot be an iterator block because '{1}' is not an iterator interface type - “{1}”不是迭代器接口类型,因此“{0}”体不能是迭代器块 + + Type expected + 应输入类型 - - Cannot yield in the body of a finally clause - 无法在 finally 子句体中生成 + + Cannot define/undefine preprocessor symbols after first token in file + 不能在文件的第一个标记之后定义或取消定义预处理器符号 - - Cannot yield a value in the body of a try block with a catch clause - 无法在包含 catch 子句的 Try 块体中生成值 + + Cannot use #r after first token in file + 不能在文件的第一个标记之后使用 #r - - Expression expected after yield return - yield return 之后应为表达式 + + End-of-file found, '*/' expected + 发现文件尾,应输入 "*/" - - Cannot use ref, out, or in parameter '{0}' inside an anonymous method, lambda expression, query expression, or local function - 不能在匿名方法、lambda 表达式、查询表达式或本地函数中使用 ref、out 或 in 参数“{0}” + + Merge conflict marker encountered + 遇到合并冲突标记 - - Unsafe code may not appear in iterators - 迭代器中不能出现不安全的代码 + + Do not use refout when using refonly. + 不要在使用 refonly 时使用 refout。 - - Cannot yield a value in the body of a catch clause - 无法在 catch 子句体中生成值 + + Cannot compile net modules when using /refout or /refonly. + 无法在使用 /refout 或 /refonly 时编译 Net 模块。 - - Control cannot leave the body of an anonymous method or lambda expression - 控制不能离开匿名方法体或 lambda 表达式体 + + Overloadable operator expected + 应输入可重载运算符 - - Unrecognized #pragma directive - 无法识别的 #pragma 指令 + + #endregion directive expected + 应输入 #endregion 指令 - - Unrecognized #pragma directive - 无法识别的 #pragma 指令 + + Unterminated string literal + 字符串未终止 - - Expected disable, restore, enable or safeonly - 应为 disable 或 restore + + Preprocessor directives must appear as the first non-whitespace character on a line + 预处理器指令必须作为一行的第一个非空白字符出现 - - Expected disable, restore, enable or safeonly after #pragma warning - #pragma 警告后应为 disable 或 restore + + Identifier expected; '{1}' is a keyword + 应为标识符;“{1}”是关键字 - - Cannot restore warning 'CS{0}' because it was disabled globally - “CS{0}”警告已被全局禁用,无法还原 + + { or ; expected + 应为 { 或 ; - - Cannot restore warning because it was disabled globally - 警告已全局禁用,无法还原 + + Cannot use more than one type in a for, using, fixed, or declaration statement + 在 for、using、fixed 或声明语句中不能使用多个类型 - - __arglist is not allowed in the parameter list of iterators - 迭代器的参数列表中不允许有 __arglist + + An add or remove accessor expected + 应为 add 访问器或 remove 访问器 - - Iterators cannot have unsafe parameters or yield types - 迭代器不能有不安全的参数或 yield 类型 + + Unexpected character '{0}' + 意外的字符“{0}” - - The managed coclass wrapper class signature '{0}' for interface '{1}' is not a valid class name signature - 接口“{1}”的托管组件类包装器类签名“{0}”不是有效的类名签名 + + Unexpected token '{0}' + 意外标记“{0}” - - foreach statement cannot operate on variables of type '{0}' because it implements multiple instantiations of '{1}'; try casting to a specific interface instantiation - foreach 语句实现“{1}”的多个实例化,因此不能在“{0}”类型的变量上运行;请尝试强制转换到特定的接口实例化 + + '{0}': static classes cannot contain protected members + '“{0}”: 静态类不能包含保护成员 - - A fixed size buffer field must have the array size specifier after the field name - 固定大小缓冲区字段的字段名称后必须带有数组大小说明符 + + A previous catch clause already catches all exceptions. All non-exceptions thrown will be wrapped in a System.Runtime.CompilerServices.RuntimeWrappedException. + 上一个 catch 子句已捕获所有异常。引发的所有非异常均被包装在 System.Runtime.CompilerServices.RuntimeWrappedException 中。 - - Fixed size buffer fields may only be members of structs - 固定大小缓冲区字段只能是结构的成员 + + A previous catch clause already catches all exceptions + 上一个 catch 子句已经捕获了所有异常 - - Not all code paths return a value in {0} of type '{1}' - 在类型“{1}”的“{0}”中,并不是所有代码路径都返回值 + + This warning is caused when a catch() block has no specified exception type after a catch (System.Exception e) block. The warning advises that the catch() block will not catch any exceptions. + +A catch() block after a catch (System.Exception e) block can catch non-CLS exceptions if the RuntimeCompatibilityAttribute is set to false in the AssemblyInfo.cs file: [assembly: RuntimeCompatibilityAttribute(WrapNonExceptionThrows = false)]. If this attribute is not set explicitly to false, all thrown non-CLS exceptions are wrapped as Exceptions and the catch (System.Exception e) block catches them. + 当 catch() 块未在 catch (System.Exception e) 块之后指定异常类型时,会出现此警告。该警告建议 catch() 块不捕获任何异常。 + +如果 RuntimeCompatibilityAttribute 在 AssemblyInfo.cs 文件中设置为 false,则 catch (System.Exception e) 块之后的 catch() 块可以捕获非 CLS 异常: [程序集: RuntimeCompatibilityAttribute(WrapNonExceptionThrows = false)]。如果此特性未显式设置为 false,则所有引发的非 CLS 异常都包装为“异常”,catch (System.Exception e) 块可以捕获它们。 - - Feature '{0}' is not part of the standardized ISO C# language specification, and may not be accepted by other compilers - 功能“{0}”不是标准化 ISO C# 语言规范的一部分,其他编译器可能不接受它 + + The operand of an increment or decrement operator must be a variable, property or indexer + 递增或递减运算符的操作数必须是变量、属性或索引器 - - Feature is not part of the standardized ISO C# language specification, and may not be accepted by other compilers - 功能不是标准化 ISO C# 语言规范的一部分,其他编译器可能不接受它 + + '{0}' does not contain a definition for '{1}' and no accessible extension method '{1}' accepting a first argument of type '{0}' could be found (are you missing a using directive or an assembly reference?) + '“{0}”未包含“{1}”的定义,并且找不到可接受第一个“{0}”类型参数的可访问扩展方法“{1}”(是否缺少 using 指令或程序集引用?) - - Keyword, identifier, or string expected after verbatim specifier: @ - 原义说明符 @ 之后应为关键字、标识符或字符串@ + + '{0}' does not contain a definition for '{1}' and no extension method '{1}' accepting a first argument of type '{0}' could be found (are you missing a using directive for '{2}'?) + '“{0}”不包含“{1}”的定义,并且找不到可接受类型为“{0}”的第一个参数的扩展方法“{1}”(是否缺少针对“{2}”的 using 指令?) - - A readonly field cannot be used as a ref or out value (except in a constructor) - 无法将只读字段用作 ref 或 out 值(构造函数中除外) + + Method '{0}' has a parameter modifier 'this' which is not on the first parameter + 方法“{0}”具有一个参数修饰符“this”,该修饰符不在第一个参数上 - - Members of readonly field '{0}' cannot be used as a ref or out value (except in a constructor) - 无法将只读字段“{0}”的成员用作 ref 或 out 值(构造函数中除外) + + The parameter modifier '{0}' cannot be used with '{1}' + 参数修饰符“{0}”不能与“{1}”一起使用 - - A readonly field cannot be assigned to (except in a constructor or a variable initializer) - 无法对只读的字段赋值(构造函数或变量初始值指定项中除外) + + The first parameter of an extension method cannot be of type '{0}' + 扩展方法的第一个参数的类型不能是“{0}” - - Members of readonly field '{0}' cannot be modified (except in a constructor or a variable initializer) - 无法修改只读字段“{0}”的成员(在构造函数或变量初始值设定项中除外) + + A parameter array cannot be used with 'this' modifier on an extension method + 参数数组不能与“this”修饰符一起在扩展方法中使用 - - Cannot use {0} '{1}' as a ref or out value because it is a readonly variable - 不能将 {0} '{1}' 作为 ref 或 out 值使用,因为它是只读变量 + + Extension method must be static + 扩展方法必须是静态的 - - Members of {0} '{1}' cannot be used as a ref or out value because it is a readonly variable - {0} '{1}' 的成员不能作为 ref 或 out 值使用,因为它是只读变量 + + Extension method must be defined in a non-generic static class + 扩展方法必须在非泛型静态类中定义 - - Cannot assign to {0} '{1}' because it is a readonly variable - 无法分配到 {0} '{1}' ,因为它是只读变量 + + A parameter can only have one '{0}' modifier + 参数只能有一个“{0}”修饰符 - - Cannot assign to a member of {0} '{1}' because it is a readonly variable - 不能分配到 {0} '{1}' 的成员,因为它是只读变量 + + Extension methods must be defined in a top level static class; {0} is a nested class + 扩展方法必须在顶级静态类中定义;{0} 是嵌套类 - - Cannot return {0} '{1}' by writable reference because it is a readonly variable - 不能通过可写的引用返回 {0} '{1}',因为它是只读变量 + + Cannot define a new extension method because the compiler required type '{0}' cannot be found. Are you missing a reference to System.Core.dll? + 无法定义新的扩展方法,因为找不到编译器需要的类型“{0}”。是否缺少对 System.Core.dll 的引用? - - Members of {0} '{1}' cannot be returned by writable reference because it is a readonly variable - 不能通过可写的引用返回 {0} '{1}' 的成员,因为它是只读变量 + + Do not use 'System.Runtime.CompilerServices.ExtensionAttribute'. Use the 'this' keyword instead. + 不要使用“System.Runtime.CompilerServices.ExtensionAttribute”。请改用“this”关键字。 - - Fields of static readonly field '{0}' cannot be assigned to (except in a static constructor or a variable initializer) - 无法为静态只读字段“{0}”的字段赋值(在静态构造函数或变量初始值设定项中除外) + + Do not use 'System.Runtime.CompilerServices.DynamicAttribute'. Use the 'dynamic' keyword instead. + 不要使用“System.Runtime.CompilerServices.DynamicAtribute”。请改用“dynamic”关键字。 - - Fields of static readonly field '{0}' cannot be used as a ref or out value (except in a static constructor) - 无法将静态只读字段“{0}”的字段用作 ref 或 out 值(静态构造函数中除外) + + The constructor call needs to be dynamically dispatched, but cannot be because it is part of a constructor initializer. Consider casting the dynamic arguments. + 构造函数调用需要进行动态调度,但无法如此,因为它是构造函数初始值的一部分。请考虑强制转换动态参数。 - - Cannot modify members of '{0}' because it is a '{1}' - “{0}”是一个“{1}”,因此无法修改其成员 + + Extension method '{0}' defined on value type '{1}' cannot be used to create delegates + 不能使用值类型“{1}”上定义的扩展方法“{0}”来创建委托 - - Cannot use fields of '{0}' as a ref or out value because it is a '{1}' - “{0}”是一个“{1}”,其字段不能用作 ref 或 out 值 + + No overload for method '{0}' takes {1} arguments + “{0}”方法没有采用 {1} 个参数的重载 - - Cannot assign to '{0}' because it is a '{1}' - 无法为“{0}”赋值,因为它是“{1}” + + Argument {0}: cannot convert from '{1}' to '{2}' + 参数 {0}: 无法从“{1}”转换为“{2}” - - Cannot use '{0}' as a ref or out value because it is a '{1}' - “{0}”是一个“{1}”,无法用作 ref 或 out 值 + + Source file '{0}' could not be opened -- {1} + 无法打开源文件“{0}”-- {1} - - {0}. See also error CS{1}. - {0}。另请参见错误 CS{1}。 + + Cannot link resource files when building a module + 生成模块时,无法链接资源文件 - - Warning is overriding an error - 警告正在重写错误 + + Resource identifier '{0}' has already been used in this assembly + 此程序集中已使用了资源标识符“{0}” - - The compiler emits this warning when it overrides an error with a warning. For information about the problem, search for the error code mentioned. - 编译器在将错误重写为警告时发出此警告。有关该问题的信息,请搜索提到的错误代码。 + + Each linked resource and module must have a unique filename. Filename '{0}' is specified more than once in this assembly + 每个链接资源和模块必须具有唯一的文件名。在此程序集中多次指定了文件名 {0} - - Cannot convert {0} to type '{1}' because it is not a delegate type - 无法将 {0} 转换为类型“{1}”,原因是它不是委托类型 + + The referenced file '{0}' is not an assembly + 引用的文件“{0}”不是程序集 - - Cannot convert {0} to type '{1}' because the parameter types do not match the delegate parameter types - 无法将 {0} 转换为类型“{1}”,原因是参数类型与委托参数类型不匹配 + + A ref or out value must be an assignable variable + ref 或 out 值必须是可以赋值的变量 - - Cannot convert {0} to intended delegate type because some of the return types in the block are not implicitly convertible to the delegate return type - 无法将 {0} 转换为预期委托类型,因为块中的某些返回类型不可隐式转换为委托返回类型 + + Keyword 'base' is not available in a static method + 关键字“base”在静态方法中不可用 - - Since this is an async method, the return expression must be of type '{0}' rather than 'Task<{0}>' - 这是一个异步方法,因此返回表达式的类型必须为“{0}”而不是“Task<{0}>” + + Keyword 'base' is not available in the current context + 关键字“base”在当前上下文中不可用 - - Cannot convert async {0} to delegate type '{1}'. An async {0} may return void, Task or Task<T>, none of which are convertible to '{1}'. - 无法将异步 {0} 转换为委托类型“{1}”。异步 {0} 可能会返回 void、Task 或 Task<T>,这些都不可转换为“{1}”。 + + } expected + 应输入 } - - Fixed size buffer type must be one of the following: bool, byte, short, int, long, char, sbyte, ushort, uint, ulong, float or double - 固定大小的缓冲区类型必须为下列类型之一: bool、byte、short、int、long、char、sbyte、ushort、uint、ulong、float 或 double + + { expected + 应为 { - - Fixed size buffer of length {0} and type '{1}' is too big - 长度为 {0}、类型为“{1}”的固定大小缓冲区太大 + + 'in' expected + '应为 "in" - - Fixed size buffers must have a length greater than zero - 固定大小缓冲区的长度必须大于零 + + Invalid preprocessor expression + 无效的预处理器表达式 - - You cannot use fixed size buffers contained in unfixed expressions. Try using the fixed statement. - 不能使用非固定表达式中包含的固定大小缓冲区。请尝试使用 fixed 语句。 + + Invalid token '{0}' in class, struct, or interface member declaration + 类、结构或接口成员声明中的标记“{0}”无效 - - Attribute '{0}' is not valid on property or event accessors. It is only valid on '{1}' declarations. - 特性“{0}”对属性或事件访问器无效。它仅对“{1}”声明有效。 + + Method must have a return type + 方法必须具有返回类型 - - Invalid search path '{0}' specified in '{1}' -- '{2}' - “{1}”中指定的搜索路径“{0}”无效 --“{2}” + + Invalid base type + 无效的基类型 - - Invalid search path specified - 指定的搜索路径无效 + + Empty switch block + 空的 switch 块 - - __arglist is not valid in this context - __arglist 在此上下文中无效 + + Empty switch block + 空的 switch 块 - - params is not valid in this context - params 在此上下文中无效 + + Expected catch or finally + 应输入 catch 或 finally - - A namespace declaration cannot have modifiers or attributes - 命名空间声明不能有修饰符或特性 + + Invalid expression term '{0}' + 表达式项“{0}”无效 - - Invalid option '{0}' for /platform; must be anycpu, x86, Itanium, arm, arm64 or x64 - 选项“{0}”对 /platform 无效;必须是 anycpu、x86、Itanium、arm、arm64 或 x64 + + A new expression requires (), [], or {} after type + new 表达式要求在类型后有 ()、[] 或 {} - - Anonymous methods, lambda expressions, and query expressions inside structs cannot access instance members of 'this'. Consider copying 'this' to a local variable outside the anonymous method, lambda expression or query expression and using the local instead. - 结构内部的匿名方法、lambda 表达式和查询表达式无法访问 "this" 的实例成员。请考虑将 "this" 复制到匿名方法、lambda 表达式或查询表达式外部的某个局部变量并改用该局部变量。 + + Elements defined in a namespace cannot be explicitly declared as private, protected, protected internal, or private protected + 命名空间中定义的元素无法显式声明为 private、protected、protected internal 或 private protected - - '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - “{0}”: using 语句中使用的类型必须可隐式转换为 "System.IDisposable"。 + + Expected ; or = (cannot specify constructor arguments in declaration) + 应输入 ";" 或 "="(无法在声明中指定构造函数参数) - - Parameter {0} must be declared with the '{1}' keyword - 参数 {0} 必须使用“{1}”关键字进行声明 + + A using clause must precede all other elements defined in the namespace except extern alias declarations + using 子句必须位于命名空间中定义的所有其他元素之前(外部别名声明除外) - - Parameter {0} should not be declared with the '{1}' keyword - 参数 {0} 不应使用“{1}”关键字进行声明 + + Overloaded binary operator '{0}' takes two parameters + 重载的二元运算符“{0}”采用两个参数 - - Parameter {0} is declared as type '{1}{2}' but should be '{3}{4}' - 参数 {0} 声明为类型“{1}{2}”,但它应为“{3}{4}” + + Overloaded unary operator '{0}' takes one parameter + 重载的一元运算符“{0}”采用一个参数 - - Invalid extern alias for '/reference'; '{0}' is not a valid identifier - “/reference”的外部别名无效;“{0}”不是有效的标识符 + + Invalid parameter type 'void' + 参数类型 "void" 无效 - - Invalid reference alias option: '{0}=' -- missing filename - 无效的引用别名选项:“{0}=”-- 缺少文件名 + + The using alias '{0}' appeared previously in this namespace + using 别名“{0}”以前在此命名空间中出现过 - - You cannot redefine the global extern alias - 不能重新定义全局外部别名 + + Cannot access protected member '{0}' via a qualifier of type '{1}'; the qualifier must be of type '{2}' (or derived from it) + 无法通过“{1}”类型的限定符访问受保护的成员“{0}”;限定符必须是“{2}”类型(或者从该类型派生) - - Reference to type '{0}' claims it is defined in this assembly, but it is not defined in source or any added modules - 对类型“{0}”的引用声称在此程序集中定义了该类型,但源代码或任何添加的模块中并未定义该类型 + + '{0}' cannot be added to this assembly because it already is an assembly + '“{0}”无法添加到此程序集,因为它已是程序集 - - Reference to type '{0}' claims it is defined in '{1}', but it could not be found - 对类型“{0}”的引用声称该类型是在“{1}”中定义的,但未能找到 + + Property, indexer, or event '{0}' is not supported by the language; try directly calling accessor methods '{1}' or '{2}' + 属性、索引器或事件“{0}”不受现用语言支持;请尝试直接调用访问器方法“{1}”或“{2}” - - The predefined type '{0}' is defined in multiple assemblies in the global alias; using definition from '{1}' - 预定义类型“{0}”是在全局别名的多个程序集中定义的;将使用“{1}”中的定义 + + Property, indexer, or event '{0}' is not supported by the language; try directly calling accessor method '{1}' + 属性、索引器或事件“{0}”不受现用语言支持;请尝试直接调用访问器方法“{1}” - - Predefined type is defined in multiple assemblies in the global alias - 预定义类型是在全局别名的多个程序集中定义的 + + Keyword 'void' cannot be used in this context + 关键字 "void" 不能在此上下文中使用 - - This error occurs when a predefined system type such as System.Int32 is found in two assemblies. One way this can happen is if you are referencing mscorlib or System.Runtime.dll from two different places, such as trying to run two versions of the .NET Framework side-by-side. - 在两个程序集中找到预定义系统类型(如 System.Int32)时会发生此错误。可能发生这种情况的一种方式是从两个不同位置引用 mscorlib 或 System.Runtime.dll (如尝试并行运行两个版本的 .NET Framework)。 + + Indexers must have at least one parameter + 索引器必须至少有一个参数 - - Local '{0}' or its members cannot have their address taken and be used inside an anonymous method or lambda expression - 局部变量“{0}”或其成员的地址不能用作匿名方法的参数,也不能在匿名方法或 lambda 表达式内部使用 + + Array type specifier, [], must appear before parameter name + 数组类型说明符 [] 必须出现在参数名之前 - - Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect - 源文件已超过在 PDB 中可表示的 16,707,565 行的限制;调试信息将不正确 + + Declaration is not valid; use '{0} operator <dest-type> (...' instead + 声明无效;请改用“{0} operator <dest-type> (...” - - Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect - 源文件已超过在 PDB 中可表示的 16,707,565 行的限制;调试信息将不正确 + + Could not find '{0}' specified for Main method + 未能找到为 Main 方法指定的“{0}” - - Cannot convert anonymous method block without a parameter list to delegate type '{0}' because it has one or more out parameters - 无法将不含参数列表的匿名方法块转换为委托类型“{0}”,原因是该方法块具有一个或多个 out 参数 + + '{0}' specified for Main method must be a valid non-generic class or struct + '为 Main 方法指定的“{0}”必须是有效的非泛型类或结构 - - Attribute '{0}' is only valid on methods or attribute classes - 特性“{0}”仅对方法或特性类有效 + + '{0}' does not have a suitable static 'Main' method + “{0}”没有合适的静态 'Main' 方法 - - Accessing a member on '{0}' may cause a runtime exception because it is a field of a marshal-by-reference class - 由于“{0}”是引用封送类的字段,访问上面的成员可能导致运行时异常 + + Cannot use '{0}' for Main method because it is imported + 无法对 Main 方法使用“{0}”,因为它是被导入的 - - Accessing a member on a field of a marshal-by-reference class may cause a runtime exception - 访问引用封送类的字段上的成员可能导致运行时异常 + + Outputs without source must have the /out option specified + 必须为没有源的输出指定 /out 选项 - - This warning occurs when you try to call a method, property, or indexer on a member of a class that derives from MarshalByRefObject, and the member is a value type. Objects that inherit from MarshalByRefObject are typically intended to be marshaled by reference across an application domain. If any code ever attempts to directly access the value-type member of such an object across an application domain, a runtime exception will occur. To resolve the warning, first copy the member into a local variable and call the method on that variable. - 尝试对从 MarshalByRefObject 派生的类的成员调用方法、属性或索引器,并且成员具有值类型时,会出现此警告。从 MarshalByRefObject 继承的对象通常旨在跨应用程序域进行引用封送。如果任何代码尝试跨应用程序域直接访问这样一个对象的值类型成员,则会出现运行时异常。要解决该警告,请先将成员复制到本地变量中,然后对该变量调用方法。 + + Conflicting options specified: Win32 resource file; Win32 manifest + 指定了冲突的选项: Win32 资源文件;Win32 清单 - - '{0}' is not a valid warning number - '“{0}”不是有效的警告编号 + + Conflicting options specified: Win32 resource file; Win32 icon + 指定的选项冲突: Win32 资源文件;Win32 图标 - - Not a valid warning number - 不是有效警告编号 + + Error reading resource '{0}' -- '{1}' + 读取资源“{0}”时出错 --“{1}” - - A number that was passed to the #pragma warning preprocessor directive was not a valid warning number. Verify that the number represents a warning, not an error. - 传递到 #pragma 警告预处理器指令的编号不是有效的警告编号。验证该编号是否表示警告而不是错误。 + + Error writing to XML documentation file: {0} + 写入 XML 文档文件时出错: {0} - - Invalid number - 无效数字 + + XML comment has badly formed XML -- '{0}' + XML 注释出现 XML 格式错误 --“{0}” - - Invalid number - 无效数字 + + XML comment has badly formed XML + XML 注释出现 XML 格式错误 - - Invalid filename specified for preprocessor directive. Filename is too long or not a valid filename. - 为预处理器指令指定的文件名无效。文件名太长或者是无效的文件名。 + + XML comment has a duplicate param tag for '{0}' + XML 注释中对“{0}”有重复的 param 标记 - - Invalid filename specified for preprocessor directive - 为预处理器指令指定的文件名无效 + + XML comment has a duplicate param tag + XML 注释中有重复的 param 标记 - - Invalid #pragma checksum syntax; should be #pragma checksum "filename" "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" "XXXX..." - 无效的 #pragma checksum 语法;应为 #pragma checksum "filename" "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" "XXXX..." + + XML comment has a param tag for '{0}', but there is no parameter by that name + XML 注释中有“{0}”的 param 标记,但是没有该名称的参数 - - Invalid #pragma checksum syntax - #pragma checksum 语法无效 + + XML comment has a param tag, but there is no parameter by that name + XML 注释中有 param 标记,但是没有该名称的参数 - - Single-line comment or end-of-line expected - 应输入单行注释或行尾 + + XML comment on '{1}' has a paramref tag for '{0}', but there is no parameter by that name + “{1}”上的 XML 注释中有“{0}”的 paramref 标记,但是没有该名称的参数 - - Single-line comment or end-of-line expected after #pragma directive - #pragma 指令之后应是单行注释或行尾 + + XML comment has a paramref tag, but there is no parameter by that name + XML 注释中有 paramref 标记,但是没有该名称的参数 - - Different checksum values given for '{0}' - 为“{0}”提供了不同的校验和值 + + Parameter '{0}' has no matching param tag in the XML comment for '{1}' (but other parameters do) + 参数“{0}”在“{1}”的 XML 注释中没有匹配的 param 标记(但其他参数有) - - Different #pragma checksum values given - 提供了不同的 #pragma 校验和值 + + Parameter has no matching param tag in the XML comment (but other parameters do) + 参数在 XML 注释中没有匹配的 param 标记(但其他参数有) - - Assembly reference '{0}' is invalid and cannot be resolved - 程序集引用“{0}”无效,无法解析 + + XML comment has cref attribute '{0}' that could not be resolved + XML 注释中有未能解析的 cref 特性“{0}” - - Assembly reference is invalid and cannot be resolved - 程序集引用无效,无法解析 + + XML comment has cref attribute that could not be resolved + XML 注释中有无法解析的 cref 特性 - - This warning indicates that an attribute, such as InternalsVisibleToAttribute, was not specified correctly. - 此警告指示特性(如 InternalsVisibleToAttribute)未正确指定。 + + A stackalloc expression requires [] after type + stackalloc 表达式在类型后要求有 [] - - - Assuming assembly reference '{0}' used by '{1}' matches identity '{2}' of '{3}', you may need to supply runtime policy - 假定“{1}”使用的程序集引用“{0}”与“{3}”的标识“{2}”匹配,您可能需要提供运行时策略 + + + The line number specified for #line directive is missing or invalid + 为 #line 指令指定的行号缺少或无效 - - Assuming assembly reference matches identity - 假定程序集引用与标识匹配 + + Quoted file name, single-line comment or end-of-line expected + 应是应用的文件名、单行注释或行尾 - - The two assemblies differ in release and/or version number. For unification to occur, you must specify directives in the application's .config file, and you must provide the correct strong name of an assembly. - 两个程序集的版本和/或版本号不同。为进行统一,必须在应用程序的 .config 文件中指定指令,并且必须提供程序集的正确强名称。 + + Quoted file name expected + 应是引用的文件名 - - Assuming assembly reference '{0}' used by '{1}' matches identity '{2}' of '{3}', you may need to supply runtime policy - 假定“{1}”使用的程序集引用“{0}”与“{3}”的标识“{2}”匹配,您可能需要提供运行时策略 + + #r is only allowed in scripts + 仅脚本中允许使用 #r - - Assuming assembly reference matches identity - 假定程序集引用与标识匹配 + + foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}' + “{0}”不包含“{1}”的公共实例定义,因此 foreach 语句不能作用于“{0}”类型的变量 - - The two assemblies differ in release and/or version number. For unification to occur, you must specify directives in the application's .config file, and you must provide the correct strong name of an assembly. - 两个程序集的版本和/或版本号不同。为进行统一,必须在应用程序的 .config 文件中指定指令,并且必须提供程序集的正确强名称。 + + Invalid type for parameter {0} in XML comment cref attribute: '{1}' + XML 注释 cref 特性中参数 {0} 的类型无效:“{1}” - - Multiple assemblies with equivalent identity have been imported: '{0}' and '{1}'. Remove one of the duplicate references. - 导入了具有等效标识的多个程序集:“{0}”和“{1}”。请删除重复引用之一。 + + Invalid type for parameter in XML comment cref attribute + XML 注释 cref 特性中参数的类型无效 - - An assembly with the same simple name '{0}' has already been imported. Try removing one of the references (e.g. '{1}') or sign them to enable side-by-side. - 已导入具有相同简单名称“{0}”的程序集。请尝试删除这些引用之一(例如“{1}”),或对它们进行签名以并行启用。 + + Invalid return type in XML comment cref attribute + XML 注释的 cref 特性中的返回类型无效 - - Assembly '{0}' with identity '{1}' uses '{2}' which has a higher version than referenced assembly '{3}' with identity '{4}' - 标识为“{1}”的程序集“{0}”所使用的“{2}”版本高于所引用的标识为“{4}”的程序集“{3}” + + Invalid return type in XML comment cref attribute + XML 注释的 cref 特性中的返回类型无效 - - Fixed size buffers can only be accessed through locals or fields - 只能通过局部变量或字段访问固定大小缓冲区 + + Error reading Win32 resources -- {0} + 读取 Win32 资源时出错 -- {0} - - XML comment has a duplicate typeparam tag for '{0}' - XML 注释中对“{0}”有重复的 typeparam 标记 + + XML comment has syntactically incorrect cref attribute '{0}' + XML 注释中有语法错误的 cref 特性“{0}” - - XML comment has a duplicate typeparam tag - XML 注释中有重复的 typeparam 标记 + + XML comment has syntactically incorrect cref attribute + XML 注释中有语法错误的 cref 特性 - - XML comment has a typeparam tag for '{0}', but there is no type parameter by that name - XML 注释中有“{0}”的 typeparam 标记,但是没有该名称的类型参数 + + Member modifier '{0}' must precede the member type and name + 成员修饰符“{0}”必须位于成员类型和名称之前 - - XML comment has a typeparam tag, but there is no type parameter by that name - XML 注释中有 typeparam 标记,但是没有该名称的类型参数 + + Array creation must have array size or array initializer + 数组创建必须有数组大小或数组初始值设定项 - - XML comment on '{1}' has a typeparamref tag for '{0}', but there is no type parameter by that name - “{1}”上的 XML 注释中有“{0}”的 typeparamref 标记,但是没有该名称的类型参数 + + XML comment is not placed on a valid language element + XML 注释没有放在有效语言元素上 - - XML comment has a typeparamref tag, but there is no type parameter by that name - XML 注释中有 typeparamref 标记,但是没有该名称的类型参数 + + XML comment is not placed on a valid language element + XML 注释没有放在有效语言元素上 - - Type parameter '{0}' has no matching typeparam tag in the XML comment on '{1}' (but other type parameters do) - 类型参数“{0}”在“{1}”的 XML 注释中没有匹配的 typeparam 标记(但其他类型参数有) + + Unable to include XML fragment '{1}' of file '{0}' -- {2} + 无法包括文件“{0}”的 XML 段落“{1}”-- {2} - - Type parameter has no matching typeparam tag in the XML comment (but other type parameters do) - 类型参数在 XML 注释中没有匹配的 typeparam 标记(但其他类型参数有) + + Unable to include XML fragment + 无法包括 XML 段落。 - - '{0}': type must be '{2}' to match overridden member '{1}' - '“{0}”: 类型必须是“{2}”才能与重写成员“{1}”匹配 + + Invalid XML include element -- {0} + 无效的 XML 包含元素 -- {0} - - Do not use 'System.Runtime.CompilerServices.FixedBuffer' attribute. Use the 'fixed' field modifier instead. - 请不要使用 "System.Runtime.CompilerServices.FixedBuffer" 特性。请改用 "fixed" 字段修饰符。 + + Invalid XML include element + XML 包含元素无效 - - Assignment made to same variable; did you mean to assign something else? - 对同一变量进行赋值;是否希望对其他变量赋值? + + Missing XML comment for publicly visible type or member '{0}' + 缺少对公共可见类型或成员“{0}”的 XML 注释 - - Assignment made to same variable - 对同一变量进行了赋值 + + Missing XML comment for publicly visible type or member + 缺少对公共可见类型或成员的 XML 注释 - - Comparison made to same variable; did you mean to compare something else? - 对同一变量进行比较;是否希望比较其他变量? + + The /doc compiler option was specified, but one or more constructs did not have comments. + 指定了 /doc 编译器选项,但是一个或多个构造没有注释。 - - Comparison made to same variable - 对同一变量进行了比较 + + Badly formed XML in included comments file -- '{0}' + 所包含的注释文件中有格式错误的 XML --“{0}” - - Error opening Win32 resource file '{0}' -- '{1}' - 打开 Win32 资源文件“{0}”时出错 --“{1}” + + Badly formed XML in included comments file + 所包含的注释文件中有格式错误的 XML - - Expression will always cause a System.NullReferenceException because the default value of '{0}' is null - 由于“{0}”的默认值为 null,因此表达式总会导致 System.NullReferenceException + + Delegate '{0}' does not take {1} arguments + 委托“{0}”未采用 {1} 个参数 - - Expression will always cause a System.NullReferenceException because the type's default value is null - 由于类型的默认值为 null,因此表达式总会导致 System.NullReferenceException + + Semicolon after method or accessor block is not valid + 方法或访问器块后面的分号无效 - - Class '{0}' cannot have multiple base classes: '{1}' and '{2}' - 类“{0}”不能具有多个基类:“{1}”和“{2}” + + Method or delegate cannot return type '{0}' + 方法或委托不能返回“{0}”类型 - - Base class '{0}' must come before any interfaces - 基类“{0}”必须在任何接口之前 + + Compilation cancelled by user + 编译被用户取消 - - XML comment has cref attribute '{0}' that refers to a type parameter - XML 注释中有引用类型参数的 cref 特性“{0}” + + Cannot make reference to variable of type '{0}' + 无法引用类型为“{0}”的变量 - - XML comment has cref attribute that refers to a type parameter - XML 注释中有引用类型参数的 cref 特性 + + Cannot assign to '{0}' because it is read-only + 无法为“{0}”赋值,因为它是只读的 - - Friend assembly reference '{0}' is invalid. InternalsVisibleTo declarations cannot have a version, culture, public key token, or processor architecture specified. - 友元程序集引用“{0}”无效。不能在 InternalsVisibleTo 声明中指定版本、区域性、公钥标记或处理器架构。 + + Cannot use '{0}' as a ref or out value because it is read-only + “{0}”是只读的,无法用作 ref 或 out 值 - - Friend assembly reference '{0}' is invalid. Strong-name signed assemblies must specify a public key in their InternalsVisibleTo declarations. - 友元程序集引用“{0}”无效。强名称签名的程序集必须在其 InternalsVisibleTo 声明中指定一个公钥。 + + The RequiredAttribute attribute is not permitted on C# types + C# 类型上不允许有 RequiredAttribute 特性 - - Cannot bind delegate to '{0}' because it is a member of 'System.Nullable<T>' - 无法将委托绑定到作为 "System.Nullable<T>" 成员的“{0}” + + Modifiers cannot be placed on event accessor declarations + 修饰符不能放置在事件访问器声明上 - - '{0}' does not contain a constructor that takes {1} arguments - '“{0}”不包含采用 {1} 个参数的构造函数 + + The params parameter cannot be declared as {0} + params 参数不能声明为 {0} - - Assembly and module attributes must precede all other elements defined in a file except using clauses and extern alias declarations - 程序集和模块特性必须位于文件中定义的所有其他元素之前(using 子句和外部别名声明除外) + + Cannot modify the return value of '{0}' because it is not a variable + 无法修改“{0}”的返回值,因为它不是变量 - - Expected expression - 应为表达式 + + The managed coclass wrapper class '{0}' for interface '{1}' cannot be found (are you missing an assembly reference?) + 无法找到接口“{1}”的托管组件类包装器类“{0}”(是否缺少程序集引用?) - - Invalid version {0} for /subsystemversion. The version must be 6.02 or greater for ARM or AppContainerExe, and 4.00 or greater otherwise - 版本 {0} 对于 /subsystemversion 无效。对于 ARM 或 AppContainerExe,此版本必须是 6.02 或更高,其他情况下必须为 4.00 或更高 + + '{0}' is ambiguous between '{1}' and '{2}'; use either '@{0}' or '{0}Attribute' + '“{0}”在“{1}”和“{2}”之间不明确;请使用“@{0}”或“{0}Attribute” - - Embedded interop method '{0}' contains a body. - 嵌入互操作方法“{0}”包含主体。 + + Argument {0} may not be passed with the '{1}' keyword + 参数 {0} 不可与关键字“{1}”一起传递 - - Warning level must be in the range 0-4 - 警告等级必须在 0-4 的范围内 + + Option '{0}' overrides attribute '{1}' given in a source file or added module + 选项“{0}”重写源文件或添加的模块中给出的特性“{1}” - - Invalid option '{0}' for /debug; must be 'portable', 'embedded', 'full' or 'pdbonly' - 用于 /debug 的选项“{0}”无效;选项必须是 "portable"、"embedded"、"full" 或 "pdbonly" + + Option overrides attribute given in a source file or added module + 选项重写源文件或添加的模块中给出的特性 - - Invalid option '{0}'; Resource visibility must be either 'public' or 'private' - 选项“{0}”无效;资源可见性必须是“public”或“private” + + This warning occurs if the assembly attributes AssemblyKeyFileAttribute or AssemblyKeyNameAttribute found in source conflict with the /keyfile or /keycontainer command line option or key file name or key container specified in the Project Properties. + 如果源中出现的程序集特性 AssemblyKeyFileAttribute 或 AssemblyKeyNameAttribute 与 /keyfile 或 /keycontainer 命令行选项或是“项目属性”中指定的密钥文件名或密钥容器冲突,则会出现此警告。 - - The type of the argument to the DefaultParameterValue attribute must match the parameter type - DefaultParameterValue 特性的实参类型必须与形参类型匹配 + + Invalid option '{0}' for /langversion. Use '/langversion:?' to list supported values. + /langversion 的选项“{0}”无效。使用 "/langversion:?" 列出支持的值。 - - Argument of type '{0}' is not applicable for the DefaultParameterValue attribute - “{0}”类型的参数不适用于 DefaultParameterValue 特性 + + Cannot create delegate with '{0}' because it or a method it overrides has a Conditional attribute + 无法用“{0}”创建委托,因为它或它重写的方法具有 Conditional 特性 - - Duplicate initialization of member '{0}' - 成员“{0}”的初始化重复 + + Cannot create temporary file -- {0} + 无法创建临时文件 -- {0} - - Member '{0}' cannot be initialized. It is not a field or property. - 成员“{0}”无法初始化。它不是字段或属性。 + + Argument {0} must be passed with the '{1}' keyword + 参数 {0} 必须与关键字“{1}”一起传递 - - Static field or property '{0}' cannot be assigned in an object initializer - 无法在对象初始值设定项中为静态字段或属性“{0}”赋值 + + The yield statement cannot be used inside an anonymous method or lambda expression + 不能在匿名方法或 lambda 表达式内使用 yield 语句 - - Members of readonly field '{0}' of type '{1}' cannot be assigned with an object initializer because it is of a value type - 无法使用对象初始值设定项为类型为“{1}”的只读字段“{0}”的成员赋值,因为它是值类型 + + Cannot return a value from an iterator. Use the yield return statement to return a value, or yield break to end the iteration. + 无法从迭代器返回值。请使用 yield return 语句返回值,或使用 yield break 语句结束迭代。 - - Members of property '{0}' of type '{1}' cannot be assigned with an object initializer because it is of a value type - 无法使用对象初始值设定项为类型为“{1}”的属性“{0}”的成员赋值,因为它是值类型 + + Iterators cannot have ref, in or out parameters + 迭代器不能有 ref、in 或 out 参数 - - Unsafe type '{0}' cannot be used in object creation - 对象创建中不能使用不安全的类型“{0}” + + The body of '{0}' cannot be an iterator block because '{1}' is not an iterator interface type + “{1}”不是迭代器接口类型,因此“{0}”体不能是迭代器块 - - Element initializer cannot be empty - 元素初始值设定项不能为空 + + Cannot yield in the body of a finally clause + 无法在 finally 子句体中生成 - - The best overloaded method match for '{0}' has wrong signature for the initializer element. The initializable Add must be an accessible instance method. - 与“{0}”最匹配的重载方法具有对于初始值设定项元素而言错误的签名。可初始化的 Add 必须是可访问的实例方法。 + + Cannot yield a value in the body of a try block with a catch clause + 无法在包含 catch 子句的 Try 块体中生成值 - - Cannot initialize type '{0}' with a collection initializer because it does not implement 'System.Collections.IEnumerable' - 无法使用集合初始值设定项初始化类型“{0}”,原因是它不实现“System.Collections.IEnumerable” + + Expression expected after yield return + yield return 之后应为表达式 - - Error reading Win32 manifest file '{0}' -- '{1}' - 读取 Win32 清单文件“{0}”时出错 --“{1}” + + Cannot use ref, out, or in parameter '{0}' inside an anonymous method, lambda expression, query expression, or local function + 不能在匿名方法、lambda 表达式、查询表达式或本地函数中使用 ref、out 或 in 参数“{0}” - - Ignoring /win32manifest for module because it only applies to assemblies - 对模块忽略 /win32manifest,因为它仅应用于程序集 + + Unsafe code may not appear in iterators + 迭代器中不能出现不安全的代码 - - Ignoring /win32manifest for module because it only applies to assemblies - 对模块忽略 /win32manifest,因为它仅应用于程序集 + + Cannot yield a value in the body of a catch clause + 无法在 catch 子句体中生成值 - - '{0}' does not contain a definition for '{1}' and the best extension method overload '{2}' requires a receiver of type '{3}' - '“{0}”不包含“{1}”的定义,并且最佳扩展方法重载“{2}”需要类型为“{3}”的接收器 + + Control cannot leave the body of an anonymous method or lambda expression + 控制不能离开匿名方法体或 lambda 表达式体 - - The range variable '{0}' has already been declared - 已声明范围变量“{0}” + + Unrecognized #pragma directive + 无法识别的 #pragma 指令 - - The range variable '{0}' conflicts with a previous declaration of '{0}' - 范围变量“{0}”与“{0}”的以前声明冲突 + + Unrecognized #pragma directive + 无法识别的 #pragma 指令 - - Cannot assign {0} to a range variable - 无法将 {0} 赋给范围变量 + + Expected disable, restore, enable or safeonly + 应为 disable、restore、enable 或 safeonly - - Could not find an implementation of the query pattern for source type '{0}'. '{1}' not found. Consider explicitly specifying the type of the range variable '{2}'. - 未能找到源类型“{0}”的查询模式的实现。未找到“{1}”。请考虑显式指定范围变量“{2}”的类型。 + + Expected disable, restore, enable or safeonly after #pragma warning + 应在 #pragma warning 之后为 disable、restore、enable 或 safeonly - - Could not find an implementation of the query pattern for source type '{0}'. '{1}' not found. Are you missing a reference to 'System.Core.dll' or a using directive for 'System.Linq'? - 未能找到源类型“{0}”的查询模式的实现。未找到“{1}”。是否缺少对“System.Core.dll”的引用,或者缺少针对“System.Linq”的 using 指令? + + Cannot restore warning 'CS{0}' because it was disabled globally + “CS{0}”警告已被全局禁用,无法还原 - - Could not find an implementation of the query pattern for source type '{0}'. '{1}' not found. - 未能找到源类型“{0}”的查询模式的实现。未找到“{1}”。 + + Cannot restore warning because it was disabled globally + 警告已全局禁用,无法还原 - - The name '{0}' is not in scope on the left side of 'equals'. Consider swapping the expressions on either side of 'equals'. - 名称“{0}”不在“equals”左侧的范围中。请考虑交换“equals”两侧的表达式。 + + __arglist is not allowed in the parameter list of iterators + 迭代器的参数列表中不允许有 __arglist - - The name '{0}' is not in scope on the right side of 'equals'. Consider swapping the expressions on either side of 'equals'. - 名称“{0}”不在“equals”右侧的范围中。请考虑交换“equals”两侧的表达式。 + + Iterators cannot have unsafe parameters or yield types + 迭代器不能有不安全的参数或 yield 类型 - - Cannot pass the range variable '{0}' as an out or ref parameter - 无法作为 out 或 ref 参数传递范围变量“{0}” + + The managed coclass wrapper class signature '{0}' for interface '{1}' is not a valid class name signature + 接口“{1}”的托管组件类包装器类签名“{0}”不是有效的类名签名 - - Multiple implementations of the query pattern were found for source type '{0}'. Ambiguous call to '{1}'. - 找到源类型“{0}”的多个查询模式实现。对“{1}”的调用不明确。 + + foreach statement cannot operate on variables of type '{0}' because it implements multiple instantiations of '{1}'; try casting to a specific interface instantiation + foreach 语句实现“{1}”的多个实例化,因此不能在“{0}”类型的变量上运行;请尝试强制转换到特定的接口实例化 - - The type of one of the expressions in the {0} clause is incorrect. Type inference failed in the call to '{1}'. - {0} 子句中其中一个表达式的类型不正确。在对“{1}”的调用中,类型推理失败。 + + A fixed size buffer field must have the array size specifier after the field name + 固定大小缓冲区字段的字段名称后必须带有数组大小说明符 - - The type of the expression in the {0} clause is incorrect. Type inference failed in the call to '{1}'. - {0} 子句中的表达式的类型不正确。在对“{1}”的调用中,类型推理失败。 + + Fixed size buffer fields may only be members of structs + 固定大小缓冲区字段只能是结构的成员 - - An expression of type '{0}' is not allowed in a subsequent from clause in a query expression with source type '{1}'. Type inference failed in the call to '{2}'. - 在源类型为“{1}”的查询表达式中,不允许在后面的 from 子句中使用类型“{0}”的表达式。在对“{2}”的调用中,类型推理失败。 + + Not all code paths return a value in {0} of type '{1}' + 在类型“{1}”的“{0}”中,并不是所有代码路径都返回值 - - An expression tree may not contain an unsafe pointer operation - 表达式树不能包含不安全的指针操作 + + Feature '{0}' is not part of the standardized ISO C# language specification, and may not be accepted by other compilers + 功能“{0}”不是标准化 ISO C# 语言规范的一部分,其他编译器可能不接受它 - - An expression tree may not contain an anonymous method expression - 表达式树不能包含匿名方法表达式 + + Feature is not part of the standardized ISO C# language specification, and may not be accepted by other compilers + 功能不是标准化 ISO C# 语言规范的一部分,其他编译器可能不接受它 - - An anonymous method expression cannot be converted to an expression tree - 无法将匿名方法表达式转换为表达式树 + + Keyword, identifier, or string expected after verbatim specifier: @ + 原义说明符 @ 之后应为关键字、标识符或字符串@ - - Range variable '{0}' cannot be assigned to -- it is read only - 无法对范围变量“{0}”赋值 -- 它是只读的 + + A readonly field cannot be used as a ref or out value (except in a constructor) + 无法将只读字段用作 ref 或 out 值(构造函数中除外) - - The range variable '{0}' cannot have the same name as a method type parameter - 范围变量“{0}”的名称不能与方法类型参数相同 + + Members of readonly field '{0}' cannot be used as a ref or out value (except in a constructor) + 无法将只读字段“{0}”的成员用作 ref 或 out 值(构造函数中除外) - - The contextual keyword 'var' cannot be used in a range variable declaration - 不能在范围变量声明中使用上下文关键字“var” + + A readonly field cannot be assigned to (except in a constructor or a variable initializer) + 无法对只读的字段赋值(构造函数或变量初始值指定项中除外) - - The best overloaded Add method '{0}' for the collection initializer has some invalid arguments - 集合初始值设定项的最佳重载 Add 方法“{0}”具有一些无效参数 + + Members of readonly field '{0}' cannot be modified (except in a constructor or a variable initializer) + 无法修改只读字段“{0}”的成员(在构造函数或变量初始值设定项中除外) - - An expression tree lambda may not contain a ref, in or out parameter - 表达式树 lambda 不能包含 ref、in 或 out 参数 + + Cannot use {0} '{1}' as a ref or out value because it is a readonly variable + 不能将 {0} '{1}' 作为 ref 或 out 值使用,因为它是只读变量 - - An expression tree lambda may not contain a method with variable arguments - 表达式树 lambda 不能包含具有变量参数的方法 + + Members of {0} '{1}' cannot be used as a ref or out value because it is a readonly variable + {0} '{1}' 的成员不能作为 ref 或 out 值使用,因为它是只读变量 - - An expression tree lambda may not contain a method group - 表达式树 lambda 不能包含方法组 + + Cannot assign to {0} '{1}' because it is a readonly variable + 无法分配到 {0} '{1}' ,因为它是只读变量 - - The best overloaded method match '{0}' for the collection initializer element cannot be used. Collection initializer 'Add' methods cannot have ref or out parameters. - 无法使用集合初始值设定项元素的最佳重载方法匹配项“{0}”。集合初始值设定项 "Add" 方法不能具有 ref 或 out 参数。 + + Cannot assign to a member of {0} '{1}' because it is a readonly variable + 不能分配到 {0} '{1}' 的成员,因为它是只读变量 - - Non-invocable member '{0}' cannot be used like a method. - 不可调用的成员“{0}”不能像方法一样使用。 + + Cannot return {0} '{1}' by writable reference because it is a readonly variable + 不能通过可写的引用返回 {0} '{1}',因为它是只读变量 - - Member '{0}' implements interface member '{1}' in type '{2}'. There are multiple matches for the interface member at run-time. It is implementation dependent which method will be called. - 成员“{0}”实现类型“{2}”中的接口成员“{1}”。在运行时该接口成员有多个匹配项。此实现取决于将要调用的方法。 + + Members of {0} '{1}' cannot be returned by writable reference because it is a readonly variable + 不能通过可写的引用返回 {0} '{1}' 的成员,因为它是只读变量 - - Member implements interface member with multiple matches at run-time - 成员在运行时使用多个匹配项实现接口成员 + + Fields of static readonly field '{0}' cannot be assigned to (except in a static constructor or a variable initializer) + 无法为静态只读字段“{0}”的字段赋值(在静态构造函数或变量初始值设定项中除外) - - - This warning can be generated when two interface methods are differentiated only by whether a particular parameter is marked with ref or with out. It is best to change your code to avoid this warning because it is not obvious or guaranteed which method is called at runtime. - -Although C# distinguishes between out and ref, the CLR sees them as the same. When deciding which method implements the interface, the CLR just picks one. - -Give the compiler some way to differentiate the methods. For example, you can give them different names or provide an additional parameter on one of them. - 两个接口方法的唯一区别是特定参数是标记为 ref 还是 out 时,可能会生成此警告。最好更改代码以避免此警告,因为运行时调用的方法不明显或不受保证。 - -虽然 C# 可区分 out 和 ref,但是 CLR 会将它们视为相同的。 决定实现接口的方法时,CLR 只选取一个。 - -为编译器提供某种方式来区分方法。例如,可以为它们提供不同名称或对其中之一提供附加参数。 + + + Fields of static readonly field '{0}' cannot be used as a ref or out value (except in a static constructor) + 无法将静态只读字段“{0}”的字段用作 ref 或 out 值(静态构造函数中除外) - - Member '{1}' overrides '{0}'. There are multiple override candidates at run-time. It is implementation dependent which method will be called. - 成员“{1}”重写“{0}”。在运行时有多个重写候选项。此实现取决于将要调用的方法。 + + Cannot modify members of '{0}' because it is a '{1}' + “{0}”是一个“{1}”,因此无法修改其成员 - - Member overrides base member with multiple override candidates at run-time - 成员在运行时使用多个重写候选项重写基成员 + + Cannot use fields of '{0}' as a ref or out value because it is a '{1}' + “{0}”是一个“{1}”,其字段不能用作 ref 或 out 值 - - Object and collection initializer expressions may not be applied to a delegate creation expression - 对象和集合初始值设定项表达式不能应用于委托创建表达式 + + Cannot assign to '{0}' because it is a '{1}' + 无法为“{0}”赋值,因为它是“{1}” - - '{0}' is of type '{1}'. The type specified in a constant declaration must be sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, bool, string, an enum-type, or a reference-type. - '“{0}”的类型为“{1}”。在常量声明中指定的类型必须为 sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool、string、枚举类型或引用类型。 + + Cannot use '{0}' as a ref or out value because it is a '{1}' + “{0}”是一个“{1}”,无法用作 ref 或 out 值 - - Source file '{0}' could not be found. - 未能找到源文件“{0}”。 + + {0}. See also error CS{1}. + {0}。另请参见错误 CS{1}。 - - Source file '{0}' specified multiple times - 源文件“{0}”指定了多次 + + Warning is overriding an error + 警告正在重写错误 - - Source file specified multiple times - 多次指定源文件 + + The compiler emits this warning when it overrides an error with a warning. For information about the problem, search for the error code mentioned. + 编译器在将错误重写为警告时发出此警告。有关该问题的信息,请搜索提到的错误代码。 - - Missing file specification for '{0}' option - “{0}”选项缺少文件规范 + + Cannot convert {0} to type '{1}' because it is not a delegate type + 无法将 {0} 转换为类型“{1}”,原因是它不是委托类型 - - Command-line syntax error: Missing '{0}' for '{1}' option - 命令行语法错误:“{1}”选项缺少“{0}” + + Cannot convert {0} to type '{1}' because the parameter types do not match the delegate parameter types + 无法将 {0} 转换为类型“{1}”,原因是参数类型与委托参数类型不匹配 - - Unrecognized option: '{0}' - 无法识别的选项: “{0}” + + Cannot convert {0} to intended delegate type because some of the return types in the block are not implicitly convertible to the delegate return type + 无法将 {0} 转换为预期委托类型,因为块中的某些返回类型不可隐式转换为委托返回类型 - - No source files specified. - 未指定源文件。 + + Since this is an async method, the return expression must be of type '{0}' rather than 'Task<{0}>' + 这是一个异步方法,因此返回表达式的类型必须为“{0}”而不是“Task<{0}>” - - No source files specified - 未指定源文件 + + Cannot convert async {0} to delegate type '{1}'. An async {0} may return void, Task or Task<T>, none of which are convertible to '{1}'. + 无法将异步 {0} 转换为委托类型“{1}”。异步 {0} 可能会返回 void、Task 或 Task<T>,这些都不可转换为“{1}”。 - - Expected a script (.csx file) but none specified - 需要一个脚本 (.csx file) 文件,但并未指定 + + Fixed size buffer type must be one of the following: bool, byte, short, int, long, char, sbyte, ushort, uint, ulong, float or double + 固定大小的缓冲区类型必须为下列类型之一: bool、byte、short、int、long、char、sbyte、ushort、uint、ulong、float 或 double - - Error opening response file '{0}' - 打开响应文件“{0}”时出错 + + Fixed size buffer of length {0} and type '{1}' is too big + 长度为 {0}、类型为“{1}”的固定大小缓冲区太大 - - Cannot open '{0}' for writing -- '{1}' - 无法打开“{0}”进行写入 --“{1}” + + Fixed size buffers must have a length greater than zero + 固定大小缓冲区的长度必须大于零 - - Invalid image base number '{0}' - 图像基数“{0}”无效 + + You cannot use fixed size buffers contained in unfixed expressions. Try using the fixed statement. + 不能使用非固定表达式中包含的固定大小缓冲区。请尝试使用 fixed 语句。 - - '{0}' is a binary file instead of a text file - '“{0}”是二进制文件而非文本文件 + + Attribute '{0}' is not valid on property or event accessors. It is only valid on '{1}' declarations. + 特性“{0}”对属性或事件访问器无效。它仅对“{1}”声明有效。 - - Code page '{0}' is invalid or not installed - 代码页“{0}”无效或未安装 + + Invalid search path '{0}' specified in '{1}' -- '{2}' + “{1}”中指定的搜索路径“{0}”无效 --“{2}” - - Algorithm '{0}' is not supported - 不支持算法“{0}” + + Invalid search path specified + 指定的搜索路径无效 - - Cannot specify /main if building a module or library - 如果生成模块或库,则无法指定 /main + + __arglist is not valid in this context + __arglist 在此上下文中无效 - - Invalid target type for /target: must specify 'exe', 'winexe', 'library', or 'module' - /target 的目标类型无效: 必须指定“exe”、“winexe”、“library”或“module” + + params is not valid in this context + params 在此上下文中无效 - - Ignoring /noconfig option because it was specified in a response file - /noconfig 选项是在响应文件中指定的,因此被忽略 + + A namespace declaration cannot have modifiers or attributes + 命名空间声明不能有修饰符或特性 - - Ignoring /noconfig option because it was specified in a response file - /noconfig 选项是在响应文件中指定的,因此被忽略 + + Invalid option '{0}' for /platform; must be anycpu, x86, Itanium, arm, arm64 or x64 + 选项“{0}”对 /platform 无效;必须是 anycpu、x86、Itanium、arm、arm64 或 x64 - - Invalid file section alignment '{0}' - 无效的文件节对齐方式“{0}” + + Anonymous methods, lambda expressions, and query expressions inside structs cannot access instance members of 'this'. Consider copying 'this' to a local variable outside the anonymous method, lambda expression or query expression and using the local instead. + 结构内部的匿名方法、lambda 表达式和查询表达式无法访问 "this" 的实例成员。请考虑将 "this" 复制到匿名方法、lambda 表达式或查询表达式外部的某个局部变量并改用该局部变量。 - - Invalid output name: {0} - 无效输出名: {0} + + '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. + “{0}”: using 语句中使用的类型必须可隐式转换为 "System.IDisposable" 或实现适用的 "Dispose" 方法。 - - Invalid debug information format: {0} - 无效的调试信息格式: {0} + + Parameter {0} must be declared with the '{1}' keyword + 参数 {0} 必须使用“{1}”关键字进行声明 - - 'id#' syntax is no longer supported. Use '$id' instead. - '不再支持 "id #" 语法。应使用 "$id"。 + + Parameter {0} should not be declared with the '{1}' keyword + 参数 {0} 不应使用“{1}”关键字进行声明 - - Invalid name for a preprocessing symbol; '{0}' is not a valid identifier - 预处理符号的名称无效;“{0}”不是有效的标识符 + + Parameter {0} is declared as type '{1}{2}' but should be '{3}{4}' + 参数 {0} 声明为类型“{1}{2}”,但它应为“{3}{4}” - - Invalid name for a preprocessing symbol; not a valid identifier - 预处理符号的名称无效;不是有效的标识符 + + Invalid extern alias for '/reference'; '{0}' is not a valid identifier + “/reference”的外部别名无效;“{0}”不是有效的标识符 - - Cannot create short filename '{0}' when a long filename with the same short filename already exists - 包含短文件名“{0}”的长文件名已存在,无法创建同名短文件名 + + Invalid reference alias option: '{0}=' -- missing filename + 无效的引用别名选项:“{0}=”-- 缺少文件名 - - A /reference option that declares an extern alias can only have one filename. To specify multiple aliases or filenames, use multiple /reference options. - 一个声明外部别名的 /reference 选项只能有一个文件名。要指定多个别名或文件名,请使用多个 /reference 选项。 + + You cannot redefine the global extern alias + 不能重新定义全局外部别名 - - Command-line syntax error: Missing ':<number>' for '{0}' option - 命令行语法错误:“{0}”选项缺少“:<number>” + + Reference to type '{0}' claims it is defined in this assembly, but it is not defined in source or any added modules + 对类型“{0}”的引用声称在此程序集中定义了该类型,但源代码或任何添加的模块中并未定义该类型 - - The /pdb option requires that the /debug option also be used - 要使用 /pdb 选项,必须同时使用 /debug 选项 + + Reference to type '{0}' claims it is defined in '{1}', but it could not be found + 对类型“{0}”的引用声称该类型是在“{1}”中定义的,但未能找到 - - An expression tree lambda may not contain a COM call with ref omitted on arguments - 表达式树 lambda 不能包含参数中省略 ref 的 COM 调用 + + The predefined type '{0}' is defined in multiple assemblies in the global alias; using definition from '{1}' + 预定义类型“{0}”是在全局别名的多个程序集中定义的;将使用“{1}”中的定义 - - Command-line syntax error: Invalid Guid format '{0}' for option '{1}' - 命令行语法错误: Guid 格式“{0}”对于选项“{1}”无效 + + Predefined type is defined in multiple assemblies in the global alias + 预定义类型是在全局别名的多个程序集中定义的 - - Command-line syntax error: Missing Guid for option '{1}' - 命令行语法错误: 选项“{1}”缺少 Guid + + This error occurs when a predefined system type such as System.Int32 is found in two assemblies. One way this can happen is if you are referencing mscorlib or System.Runtime.dll from two different places, such as trying to run two versions of the .NET Framework side-by-side. + 在两个程序集中找到预定义系统类型(如 System.Int32)时会发生此错误。可能发生这种情况的一种方式是从两个不同位置引用 mscorlib 或 System.Runtime.dll (如尝试并行运行两个版本的 .NET Framework)。 - - Methods with variable arguments are not CLS-compliant - 带有变量参数的方法不符合 CLS + + Local '{0}' or its members cannot have their address taken and be used inside an anonymous method or lambda expression + 局部变量“{0}”或其成员的地址不能用作匿名方法的参数,也不能在匿名方法或 lambda 表达式内部使用 - - Methods with variable arguments are not CLS-compliant - 带有变量参数的方法不符合 CLS + + Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect + 源文件已超过在 PDB 中可表示的 16,707,565 行的限制;调试信息将不正确 - - Argument type '{0}' is not CLS-compliant - 参数类型“{0}”不符合 CLS + + Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect + 源文件已超过在 PDB 中可表示的 16,707,565 行的限制;调试信息将不正确 - - Argument type is not CLS-compliant - 参数类型不符合 CLS + + Cannot convert anonymous method block without a parameter list to delegate type '{0}' because it has one or more out parameters + 无法将不含参数列表的匿名方法块转换为委托类型“{0}”,原因是该方法块具有一个或多个 out 参数 - - Return type of '{0}' is not CLS-compliant - “{0}”的返回类型不符合 CLS + + Attribute '{0}' is only valid on methods or attribute classes + 特性“{0}”仅对方法或特性类有效 - - Return type is not CLS-compliant - 返回类型不符合 CLS + + Accessing a member on '{0}' may cause a runtime exception because it is a field of a marshal-by-reference class + 由于“{0}”是引用封送类的字段,访问上面的成员可能导致运行时异常 + + + + Accessing a member on a field of a marshal-by-reference class may cause a runtime exception + 访问引用封送类的字段上的成员可能导致运行时异常 - - Type of '{0}' is not CLS-compliant - “{0}”的类型不符合 CLS + + This warning occurs when you try to call a method, property, or indexer on a member of a class that derives from MarshalByRefObject, and the member is a value type. Objects that inherit from MarshalByRefObject are typically intended to be marshaled by reference across an application domain. If any code ever attempts to directly access the value-type member of such an object across an application domain, a runtime exception will occur. To resolve the warning, first copy the member into a local variable and call the method on that variable. + 尝试对从 MarshalByRefObject 派生的类的成员调用方法、属性或索引器,并且成员具有值类型时,会出现此警告。从 MarshalByRefObject 继承的对象通常旨在跨应用程序域进行引用封送。如果任何代码尝试跨应用程序域直接访问这样一个对象的值类型成员,则会出现运行时异常。要解决该警告,请先将成员复制到本地变量中,然后对该变量调用方法。 - - Type is not CLS-compliant - 类型不符合 CLS + + '{0}' is not a valid warning number + '“{0}”不是有效的警告编号 - - A public, protected, or protected internal variable must be of a type that is compliant with the Common Language Specification (CLS). - public、protected 或 protected internal 变量必须属于符合公共语言规范(CLS)的类型。 + + Not a valid warning number + 不是有效警告编号 - - Identifier '{0}' differing only in case is not CLS-compliant - 仅大小写不同的标识符“{0}”不符合 CLS + + A number that was passed to the #pragma warning preprocessor directive was not a valid warning number. Verify that the number represents a warning, not an error. + 传递到 #pragma 警告预处理器指令的编号不是有效的警告编号。验证该编号是否表示警告而不是错误。 - - Identifier differing only in case is not CLS-compliant - 仅大小写不同的标识符不符合 CLS + + Invalid number + 无效数字 - - Overloaded method '{0}' differing only in ref or out, or in array rank, is not CLS-compliant - 仅 ref 或 out 有区别,或者仅数组秩不同的重载方法“{0}”不符合 CLS + + Invalid number + 无效数字 - - Overloaded method differing only in ref or out, or in array rank, is not CLS-compliant - 仅 ref 或 out 有区别,或者仅数组秩的重载方法不符合 CLS + + Invalid filename specified for preprocessor directive. Filename is too long or not a valid filename. + 为预处理器指令指定的文件名无效。文件名太长或者是无效的文件名。 - - Overloaded method '{0}' differing only by unnamed array types is not CLS-compliant - 仅未命名数组类型不同的重载方法“{0}”不符合 CLS + + Invalid filename specified for preprocessor directive + 为预处理器指令指定的文件名无效 - - Overloaded method differing only by unnamed array types is not CLS-compliant - 仅未命名数组类型不同的重载方法不符合 CLS + + Invalid #pragma checksum syntax; should be #pragma checksum "filename" "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" "XXXX..." + 无效的 #pragma checksum 语法;应为 #pragma checksum "filename" "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" "XXXX..." - - This error occurs if you have an overloaded method that takes a jagged array and the only difference between the method signatures is the element type of the array. To avoid this error, consider using a rectangular array rather than a jagged array; use an additional parameter to disambiguate the function call; rename one or more of the overloaded methods; or, if CLS Compliance is not needed, remove the CLSCompliantAttribute attribute. - 如果具有采用交错数组的重载方法并且方法签名之间的唯一差异是该数组的元素类型时,则会发生此错误。要避免此错误,请考虑使用矩形数组而不是交错数组;使用附加参数区分函数调用;重命名一个或多个重载方法;或是,如果无需符合 CLS,请移除 CLSCompliantAttribute 特性。 + + Invalid #pragma checksum syntax + #pragma checksum 语法无效 - - Identifier '{0}' is not CLS-compliant - 标识符“{0}”不符合 CLS + + Single-line comment or end-of-line expected + 应输入单行注释或行尾 - - Identifier is not CLS-compliant - 标识符不符合 CLS + + Single-line comment or end-of-line expected after #pragma directive + #pragma 指令之后应是单行注释或行尾 - - '{0}': base type '{1}' is not CLS-compliant - '“{0}”: 基类型“{1}”不符合 CLS + + Different checksum values given for '{0}' + 为“{0}”提供了不同的校验和值 - - Base type is not CLS-compliant - 基类型不符合 CLS + + Different #pragma checksum values given + 提供了不同的 #pragma 校验和值 - - A base type was marked as not having to be compliant with the Common Language Specification (CLS) in an assembly that was marked as being CLS compliant. Either remove the attribute that specifies the assembly is CLS compliant or remove the attribute that indicates the type is not CLS compliant. - 基类型在标记为符合公共语言规范(CLS)的程序集中标记为不必符合 CLS。移除指定程序集符合 CLS 的特性或移除指示类型不符合 CLS 的特性。 + + Assembly reference '{0}' is invalid and cannot be resolved + 程序集引用“{0}”无效,无法解析 - - '{0}': CLS-compliant interfaces must have only CLS-compliant members - '“{0}”: 符合 CLS 的接口必须仅有符合 CLS 的成员 + + Assembly reference is invalid and cannot be resolved + 程序集引用无效,无法解析 - - CLS-compliant interfaces must have only CLS-compliant members - 符合 CLS 的接口必须仅有符合 CLS 的成员 + + This warning indicates that an attribute, such as InternalsVisibleToAttribute, was not specified correctly. + 此警告指示特性(如 InternalsVisibleToAttribute)未正确指定。 - - '{0}': only CLS-compliant members can be abstract - '“{0}”: 只有符合 CLS 的成员才能是抽象的 + + Assuming assembly reference '{0}' used by '{1}' matches identity '{2}' of '{3}', you may need to supply runtime policy + 假定“{1}”使用的程序集引用“{0}”与“{3}”的标识“{2}”匹配,您可能需要提供运行时策略 - - Only CLS-compliant members can be abstract - 只有符合 CLS 的成员才能是抽象的 + + Assuming assembly reference matches identity + 假定程序集引用与标识匹配 - - You must specify the CLSCompliant attribute on the assembly, not the module, to enable CLS compliance checking - 必须在程序集而不是模块上指定 CLSCompliant 特性,以便启用 CLS 遵从性检查 + + The two assemblies differ in release and/or version number. For unification to occur, you must specify directives in the application's .config file, and you must provide the correct strong name of an assembly. + 两个程序集的版本和/或版本号不同。为进行统一,必须在应用程序的 .config 文件中指定指令,并且必须提供程序集的正确强名称。 - - You must specify the CLSCompliant attribute on the assembly, not the module, to enable CLS compliance checking - 必须在程序集而不是模块上指定 CLSCompliant 特性,以便启用 CLS 遵从性检查 + + Assuming assembly reference '{0}' used by '{1}' matches identity '{2}' of '{3}', you may need to supply runtime policy + 假定“{1}”使用的程序集引用“{0}”与“{3}”的标识“{2}”匹配,您可能需要提供运行时策略 - - Added modules must be marked with the CLSCompliant attribute to match the assembly - 添加的模块必须用 CLSCompliant 特性标记才能与程序集匹配 + + Assuming assembly reference matches identity + 假定程序集引用与标识匹配 - - Added modules must be marked with the CLSCompliant attribute to match the assembly - 添加的模块必须用 CLSCompliant 特性标记才能与程序集匹配 + + The two assemblies differ in release and/or version number. For unification to occur, you must specify directives in the application's .config file, and you must provide the correct strong name of an assembly. + 两个程序集的版本和/或版本号不同。为进行统一,必须在应用程序的 .config 文件中指定指令,并且必须提供程序集的正确强名称。 - - '{0}' cannot be marked as CLS-compliant because the assembly does not have a CLSCompliant attribute - '由于程序集没有 CLSCompliant 特性,因此不能将“{0}”标记为符合 CLS + + Multiple assemblies with equivalent identity have been imported: '{0}' and '{1}'. Remove one of the duplicate references. + 导入了具有等效标识的多个程序集:“{0}”和“{1}”。请删除重复引用之一。 - - Type or member cannot be marked as CLS-compliant because the assembly does not have a CLSCompliant attribute - 由于程序集没有 CLSCompliant 特性,因此不能将类型或成员标记为符合 CLS + + An assembly with the same simple name '{0}' has already been imported. Try removing one of the references (e.g. '{1}') or sign them to enable side-by-side. + 已导入具有相同简单名称“{0}”的程序集。请尝试删除这些引用之一(例如“{1}”),或对它们进行签名以并行启用。 - - '{0}' has no accessible constructors which use only CLS-compliant types - '“{0}”没有只使用符合 CLS 类型的可访问的构造函数 + + Assembly '{0}' with identity '{1}' uses '{2}' which has a higher version than referenced assembly '{3}' with identity '{4}' + 标识为“{1}”的程序集“{0}”所使用的“{2}”版本高于所引用的标识为“{4}”的程序集“{3}” - - Type has no accessible constructors which use only CLS-compliant types - 类型没有只使用符合 CLS 类型的可访问的构造函数 + + Fixed size buffers can only be accessed through locals or fields + 只能通过局部变量或字段访问固定大小缓冲区 - - Arrays as attribute arguments is not CLS-compliant - 作为特性参数的数组不符合 CLS + + XML comment has a duplicate typeparam tag for '{0}' + XML 注释中对“{0}”有重复的 typeparam 标记 - - Arrays as attribute arguments is not CLS-compliant - 作为特性参数的数组不符合 CLS + + XML comment has a duplicate typeparam tag + XML 注释中有重复的 typeparam 标记 - - You cannot specify the CLSCompliant attribute on a module that differs from the CLSCompliant attribute on the assembly - 不能在模块上指定与程序集的 CLSCompliant 特性不同的 CLSCompliant 特性 + + XML comment has a typeparam tag for '{0}', but there is no type parameter by that name + XML 注释中有“{0}”的 typeparam 标记,但是没有该名称的类型参数 - - You cannot specify the CLSCompliant attribute on a module that differs from the CLSCompliant attribute on the assembly - 不能在模块上指定与程序集的 CLSCompliant 特性不同的 CLSCompliant 特性 + + XML comment has a typeparam tag, but there is no type parameter by that name + XML 注释中有 typeparam 标记,但是没有该名称的类型参数 - - '{0}' cannot be marked as CLS-compliant because it is a member of non-CLS-compliant type '{1}' - '“{0}”是不符合 CLS 的类型“{1}”的成员,因此不能将其标记为符合 CLS + + XML comment on '{1}' has a typeparamref tag for '{0}', but there is no type parameter by that name + “{1}”上的 XML 注释中有“{0}”的 typeparamref 标记,但是没有该名称的类型参数 - - Type cannot be marked as CLS-compliant because it is a member of non-CLS-compliant type - 类型是不符合 CLS 的类型的成员,因此不能将其标记为符合 CLS + + XML comment has a typeparamref tag, but there is no type parameter by that name + XML 注释中有 typeparamref 标记,但是没有该名称的类型参数 - - CLS compliance checking will not be performed on '{0}' because it is not visible from outside this assembly - “{0}”在此程序集外部不可见,因此不会对它执行 CLS 遵从性检查 + + Type parameter '{0}' has no matching typeparam tag in the XML comment on '{1}' (but other type parameters do) + 类型参数“{0}”在“{1}”的 XML 注释中没有匹配的 typeparam 标记(但其他类型参数有) - - CLS compliance checking will not be performed because it is not visible from outside this assembly - CLS 遵从性检查在此程序集外部不可见,因此不会执行它 + + Type parameter has no matching typeparam tag in the XML comment (but other type parameters do) + 类型参数在 XML 注释中没有匹配的 typeparam 标记(但其他类型参数有) - - '{0}' does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute - '由于程序集没有 CLSCompliant 特性,因此“{0}”不需要 CLSCompliant 特性 + + '{0}': type must be '{2}' to match overridden member '{1}' + '“{0}”: 类型必须是“{2}”才能与重写成员“{1}”匹配 - - Type or member does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute - 由于程序集没有 CLSCompliant 特性,因此类型或成员不需要 CLSCompliant 特性 + + Do not use 'System.Runtime.CompilerServices.FixedBuffer' attribute. Use the 'fixed' field modifier instead. + 请不要使用 "System.Runtime.CompilerServices.FixedBuffer" 特性。请改用 "fixed" 字段修饰符。 - - CLSCompliant attribute has no meaning when applied to parameters. Try putting it on the method instead. - CLSCompliant 特性在应用于参数时无意义。请尝试将该特性应用于方法。 + + Assignment made to same variable; did you mean to assign something else? + 对同一变量进行赋值;是否希望对其他变量赋值? - - CLSCompliant attribute has no meaning when applied to parameters - CLSCompliant 特性在应用于参数时无意义 + + Assignment made to same variable + 对同一变量进行了赋值 - - CLSCompliant attribute has no meaning when applied to return types. Try putting it on the method instead. - CLSCompliant 特性在应用于返回类型时无意义。请尝试将该特性应用于方法。 + + Comparison made to same variable; did you mean to compare something else? + 对同一变量进行比较;是否希望比较其他变量? - - CLSCompliant attribute has no meaning when applied to return types - CLSCompliant 特性在应用于返回类型时无意义 + + Comparison made to same variable + 对同一变量进行了比较 - - Constraint type '{0}' is not CLS-compliant - 约束类型“{0}”不符合 CLS + + Error opening Win32 resource file '{0}' -- '{1}' + 打开 Win32 资源文件“{0}”时出错 --“{1}” - - Constraint type is not CLS-compliant - 约束类型不符合 CLS + + Expression will always cause a System.NullReferenceException because the default value of '{0}' is null + 由于“{0}”的默认值为 null,因此表达式总会导致 System.NullReferenceException - - CLS-compliant field '{0}' cannot be volatile - 符合 CLS 的字段“{0}”不能是可变字段 + + Expression will always cause a System.NullReferenceException because the type's default value is null + 由于类型的默认值为 null,因此表达式总会导致 System.NullReferenceException - - CLS-compliant field cannot be volatile - 符合 CLS 的字段不能是可变字段 + + Class '{0}' cannot have multiple base classes: '{1}' and '{2}' + 类“{0}”不能具有多个基类:“{1}”和“{2}” - - '{0}' is not CLS-compliant because base interface '{1}' is not CLS-compliant - '“{0}”不符合 CLS,因为基接口“{1}”不符合 CLS + + Base class '{0}' must come before any interfaces + 基类“{0}”必须在任何接口之前 - - Type is not CLS-compliant because base interface is not CLS-compliant - 类型不符合 CLS,因为基接口不符合 CLS + + XML comment has cref attribute '{0}' that refers to a type parameter + XML 注释中有引用类型参数的 cref 特性“{0}” - - 'await' requires that the type {0} have a suitable 'GetAwaiter' method - '“await”要求类型 {0} 包含适当的 GetAwaiter 方法 + + XML comment has cref attribute that refers to a type parameter + XML 注释中有引用类型参数的 cref 特性 - - Cannot await '{0}' - 无法等待“{0}” + + Friend assembly reference '{0}' is invalid. InternalsVisibleTo declarations cannot have a version, culture, public key token, or processor architecture specified. + 友元程序集引用“{0}”无效。不能在 InternalsVisibleTo 声明中指定版本、区域性、公钥标记或处理器架构。 - - 'await' requires that the return type '{0}' of '{1}.GetAwaiter()' have suitable 'IsCompleted', 'OnCompleted', and 'GetResult' members, and implement 'INotifyCompletion' or 'ICriticalNotifyCompletion' - '“await”要求“{1}.GetAwaiter()”的返回类型“{0}”包含适当的 IsCompleted、OnCompleted 和 GetResult 成员,并实现 INotifyCompletion 或 ICriticalNotifyCompletion + + Friend assembly reference '{0}' is invalid. Strong-name signed assemblies must specify a public key in their InternalsVisibleTo declarations. + 友元程序集引用“{0}”无效。强名称签名的程序集必须在其 InternalsVisibleTo 声明中指定一个公钥。 - - 'await' requires that the type '{0}' have a suitable 'GetAwaiter' method. Are you missing a using directive for 'System'? - '“await”要求类型“{0}”包含适当的 GetAwaiter 方法。是否缺少针对“System”的 using 指令? + + Cannot bind delegate to '{0}' because it is a member of 'System.Nullable<T>' + 无法将委托绑定到作为 "System.Nullable<T>" 成员的“{0}” - - Cannot await 'void' - 无法等待“void” + + '{0}' does not contain a constructor that takes {1} arguments + '“{0}”不包含采用 {1} 个参数的构造函数 - - 'await' cannot be used as an identifier within an async method or lambda expression - '“await”不能用作异步方法或 lambda 表达式中的标识符 + + Assembly and module attributes must precede all other elements defined in a file except using clauses and extern alias declarations + 程序集和模块特性必须位于文件中定义的所有其他元素之前(using 子句和外部别名声明除外) - - '{0}' does not implement '{1}' - '“{0}”不实现“{1}” + + Expected expression + 应为表达式 - - Since '{0}' is an async method that returns 'Task', a return keyword must not be followed by an object expression. Did you intend to return 'Task<T>'? - 由于“{0}”是返回“Task”的异步方法,因此返回关键字不能后接对象表达式。是否要返回“Task<T>”? + + Invalid version {0} for /subsystemversion. The version must be 6.02 or greater for ARM or AppContainerExe, and 4.00 or greater otherwise + 版本 {0} 对于 /subsystemversion 无效。对于 ARM 或 AppContainerExe,此版本必须是 6.02 或更高,其他情况下必须为 4.00 或更高 - - The return type of an async method must be void, Task, Task<T>, a task-like type, IAsyncEnumerable<T>, or IAsyncEnumerator<T> - 异步方法的返回类型必须为 void、Task 或 Task<T>、类似任务的类型、IAsyncEnumerable<T> 或 IAsyncEnumerator<T> + + Embedded interop method '{0}' contains a body. + 嵌入互操作方法“{0}”包含主体。 - - Cannot return an expression of type 'void' - 无法返回 "void" 类型的表达式 + + Warning level must be in the range 0-4 + 警告等级必须在 0-4 的范围内 - - __arglist is not allowed in the parameter list of async methods - 异步方法的参数列表中不允许有 __arglist + + Invalid option '{0}' for /debug; must be 'portable', 'embedded', 'full' or 'pdbonly' + 用于 /debug 的选项“{0}”无效;选项必须是 "portable"、"embedded"、"full" 或 "pdbonly" - - 'await' cannot be used in an expression containing the type '{0}' - '“等待”不能在包含“{0}”类型的表达式中使用 + + Invalid option '{0}'; Resource visibility must be either 'public' or 'private' + 选项“{0}”无效;资源可见性必须是“public”或“private” - - Async methods cannot have unsafe parameters or return types - 异步方法不能具有不安全的参数或返回类型 + + The type of the argument to the DefaultParameterValue attribute must match the parameter type + DefaultParameterValue 特性的实参类型必须与形参类型匹配 - - Async methods cannot have ref, in or out parameters - 异步方法不能使用 ref、in 或 out 参数 + + Argument of type '{0}' is not applicable for the DefaultParameterValue attribute + “{0}”类型的参数不适用于 DefaultParameterValue 特性 - - The 'await' operator can only be used when contained within a method or lambda expression marked with the 'async' modifier - "await" 运算符只能在它包含于标有“async”修饰符的方法或 lambda 表达式中时使用 + + Duplicate initialization of member '{0}' + 成员“{0}”的初始化重复 - - The 'await' operator can only be used within an async {0}. Consider marking this {0} with the 'async' modifier. - “await”运算符只能在异步 {0} 中使用。请考虑使用“async”修饰符标记此 {0}。 + + Member '{0}' cannot be initialized. It is not a field or property. + 成员“{0}”无法初始化。它不是字段或属性。 - - The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task<{0}>'. - “await”运算符只能在异步方法中使用。请考虑使用“async”修饰符标记此方法,并将其返回类型更改为“Task<{0}>”。 + + Static field or property '{0}' cannot be assigned in an object initializer + 无法在对象初始值设定项中为静态字段或属性“{0}”赋值 - - The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'. - "await" 运算符只能用于异步方法中。请考虑用 "async" 修饰符标记此方法,并将其返回类型更改为 "Task"。 + + Members of readonly field '{0}' of type '{1}' cannot be assigned with an object initializer because it is of a value type + 无法使用对象初始值设定项为类型为“{1}”的只读字段“{0}”的成员赋值,因为它是值类型 - - Cannot await in the body of a finally clause - 无法在 finally 子句体中等待 + + Members of property '{0}' of type '{1}' cannot be assigned with an object initializer because it is of a value type + 无法使用对象初始值设定项为类型为“{1}”的属性“{0}”的成员赋值,因为它是值类型 - - Cannot await in a catch clause - 无法在 catch 子句中等待 + + Unsafe type '{0}' cannot be used in object creation + 对象创建中不能使用不安全的类型“{0}” - - Cannot await in the filter expression of a catch clause - 无法在 catch 子句的筛选器表达式中等待 + + Element initializer cannot be empty + 元素初始值设定项不能为空 - - Cannot await in the body of a lock statement - 无法在 lock 语句体中等待 + + The best overloaded method match for '{0}' has wrong signature for the initializer element. The initializable Add must be an accessible instance method. + 与“{0}”最匹配的重载方法具有对于初始值设定项元素而言错误的签名。可初始化的 Add 必须是可访问的实例方法。 - - The 'await' operator cannot be used in a static script variable initializer. - 静态脚本变量初始值设定项中不可使用 "await" 运算符。 + + Cannot initialize type '{0}' with a collection initializer because it does not implement 'System.Collections.IEnumerable' + 无法使用集合初始值设定项初始化类型“{0}”,原因是它不实现“System.Collections.IEnumerable” - - Cannot await in an unsafe context - 无法在不安全的上下文中等待 + + Error reading Win32 manifest file '{0}' -- '{1}' + 读取 Win32 清单文件“{0}”时出错 --“{1}” - - The 'async' modifier can only be used in methods that have a body. - 只能在具有正文的方法中使用 "async" 修饰符。 + + Ignoring /win32manifest for module because it only applies to assemblies + 对模块忽略 /win32manifest,因为它仅应用于程序集 - - Parameters or locals of type '{0}' cannot be declared in async methods or lambda expressions. - 不能在异步方法或 lambda 表达式中声明“{0}”类型的参数或局部变量 + + Ignoring /win32manifest for module because it only applies to assemblies + 对模块忽略 /win32manifest,因为它仅应用于程序集 - - foreach statement cannot operate on enumerators of type '{0}' in async or iterator methods because '{0}' is a ref struct. - foreach 语句无法在类型“{0}”的枚举器上使用异步或迭代器方法操作,因为“{0}”是 ref 结构。 + + '{0}' does not contain a definition for '{1}' and the best extension method overload '{2}' requires a receiver of type '{3}' + '“{0}”不包含“{1}”的定义,并且最佳扩展方法重载“{2}”需要类型为“{3}”的接收器 - - Security attribute '{0}' cannot be applied to an Async method. - 安全特性“{0}”不可应用于异步方法。 + + The range variable '{0}' has already been declared + 已声明范围变量“{0}” - - Async methods are not allowed in an Interface, Class, or Structure which has the 'SecurityCritical' or 'SecuritySafeCritical' attribute. - 在具有“SecurityCritical”或“SecuritySafeCritical”特性的接口、类或结构中,不允许使用异步方法。 + + The range variable '{0}' conflicts with a previous declaration of '{0}' + 范围变量“{0}”与“{0}”的以前声明冲突 - - The 'await' operator may only be used in a query expression within the first collection expression of the initial 'from' clause or within the collection expression of a 'join' clause - "await" 运算符只能用在初始 "from" 子句的第一个集合表达式或 "join" 子句的集合表达式内的查询表达式中 + + Cannot assign {0} to a range variable + 无法将 {0} 赋给范围变量 - - This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. - 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 + + Could not find an implementation of the query pattern for source type '{0}'. '{1}' not found. Consider explicitly specifying the type of the range variable '{2}'. + 未能找到源类型“{0}”的查询模式的实现。未找到“{1}”。请考虑显式指定范围变量“{2}”的类型。 - - Async method lacks 'await' operators and will run synchronously - 异步方法缺少 "await" 运算符,将以同步方式运行 + + Could not find an implementation of the query pattern for source type '{0}'. '{1}' not found. Are you missing a reference to 'System.Core.dll' or a using directive for 'System.Linq'? + 未能找到源类型“{0}”的查询模式的实现。未找到“{1}”。是否缺少对“System.Core.dll”的引用,或者缺少针对“System.Linq”的 using 指令? - - Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. - 由于此调用不会等待,因此在此调用完成之前将会继续执行当前方法。请考虑将 "await" 运算符应用于调用结果。 + + Could not find an implementation of the query pattern for source type '{0}'. '{1}' not found. + 未能找到源类型“{0}”的查询模式的实现。未找到“{1}”。 - - Because this call is not awaited, execution of the current method continues before the call is completed - 由于此调用不会等待,因此在调用完成前将继续执行当前方法 + + The name '{0}' is not in scope on the left side of 'equals'. Consider swapping the expressions on either side of 'equals'. + 名称“{0}”不在“equals”左侧的范围中。请考虑交换“equals”两侧的表达式。 - - The current method calls an async method that returns a Task or a Task<TResult> and doesn't apply the await operator to the result. The call to the async method starts an asynchronous task. However, because no await operator is applied, the program continues without waiting for the task to complete. In most cases, that behavior isn't what you expect. Usually other aspects of the calling method depend on the results of the call or, minimally, the called method is expected to complete before you return from the method that contains the call. - -An equally important issue is what happens to exceptions that are raised in the called async method. An exception that's raised in a method that returns a Task or Task<TResult> is stored in the returned task. If you don't await the task or explicitly check for exceptions, the exception is lost. If you await the task, its exception is rethrown. - -As a best practice, you should always await the call. - -You should consider suppressing the warning only if you're sure that you don't want to wait for the asynchronous call to complete and that the called method won't raise any exceptions. In that case, you can suppress the warning by assigning the task result of the call to a variable. - 当前的方法调用返回一个 Task 或 Task<TResult> 的 async 方法,并且不会将 await 操作符应用到结果中。对 async 方法的调用将启动异步任务。但是,由于未应用 await 操作符,程序将继续运行而不会等待任务完成。在多数情况下,这种行为并不是你想要的。通常,调用方法的其他部分依赖调用结果,或者至少从包含此调用的方法中返回前需要完成此被调用的方法。 - -一个同样重要的问题是在调用的 async 方法中产生的异常将发生什么情况。在返回 Task 或 Task<TResult> 的方法中产生的异常存储在返回的任务中。如果你不等待任务完成或显式检查异常,则异常将丢失。如果你等待任务完成,则此异常将重新抛出。 - -最佳的做法是你应始终等待此调用完成。 - -仅当你确定不需要等待异步调用完成,并且调用的方法不会产生任何异常时,你可以考虑取消警告。为此,你可以通过将调用的任务结果分配给一个变量来取消警告。 + + The name '{0}' is not in scope on the right side of 'equals'. Consider swapping the expressions on either side of 'equals'. + 名称“{0}”不在“equals”右侧的范围中。请考虑交换“equals”两侧的表达式。 + + + + Cannot pass the range variable '{0}' as an out or ref parameter + 无法作为 out 或 ref 参数传递范围变量“{0}” - - 'MethodImplOptions.Synchronized' cannot be applied to an async method - '"MethodImplOptions.Synchronized" 不能应用于异步方法 + + Multiple implementations of the query pattern were found for source type '{0}'. Ambiguous call to '{1}'. + 找到源类型“{0}”的多个查询模式实现。对“{1}”的调用不明确。 - - CallerLineNumberAttribute cannot be applied because there are no standard conversions from type '{0}' to type '{1}' - 无法应用 CallerLineNumberAttribute,因为不存在从类型“{0}”到类型“{1}”的标准转换 + + The type of one of the expressions in the {0} clause is incorrect. Type inference failed in the call to '{1}'. + {0} 子句中其中一个表达式的类型不正确。在对“{1}”的调用中,类型推理失败。 - - CallerFilePathAttribute cannot be applied because there are no standard conversions from type '{0}' to type '{1}' - 无法应用 CallerFilePathAttribute,因为不存在从类型“{0}”到类型“{1}”的标准转换 + + The type of the expression in the {0} clause is incorrect. Type inference failed in the call to '{1}'. + {0} 子句中的表达式的类型不正确。在对“{1}”的调用中,类型推理失败。 - - CallerMemberNameAttribute cannot be applied because there are no standard conversions from type '{0}' to type '{1}' - 无法应用 CallerMemberNameAttribute,因为不存在从类型“{0}”到类型“{1}”的标准转换 + + An expression of type '{0}' is not allowed in a subsequent from clause in a query expression with source type '{1}'. Type inference failed in the call to '{2}'. + 在源类型为“{1}”的查询表达式中,不允许在后面的 from 子句中使用类型“{0}”的表达式。在对“{2}”的调用中,类型推理失败。 - - The CallerLineNumberAttribute may only be applied to parameters with default values - CallerLineNumberAttribute 只能应用于具有默认值的参数 + + An expression tree may not contain an unsafe pointer operation + 表达式树不能包含不安全的指针操作 - - The CallerFilePathAttribute may only be applied to parameters with default values - CallerFilePathAttribute 只能应用于具有默认值的参数 + + An expression tree may not contain an anonymous method expression + 表达式树不能包含匿名方法表达式 - - The CallerMemberNameAttribute may only be applied to parameters with default values - CallerMemberNameAttribute 只能应用于具有默认值的参数 + + An anonymous method expression cannot be converted to an expression tree + 无法将匿名方法表达式转换为表达式树 - - The CallerLineNumberAttribute applied to parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments - 应用于形参“{0}”的 CallerLineNumberAttribute 将不起任何作用,因为它适用于不允许指定可选实参的上下文中使用的成员 + + Range variable '{0}' cannot be assigned to -- it is read only + 无法对范围变量“{0}”赋值 -- 它是只读的 - - The CallerLineNumberAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments - CallerLineNumberAttribute 将不起任何作用,因为它适用于不允许可选参数的上下文中使用的成员 + + The range variable '{0}' cannot have the same name as a method type parameter + 范围变量“{0}”的名称不能与方法类型参数相同 - - The CallerFilePathAttribute applied to parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments - 应用到参数“{0}”的 CallerFilePathAttribute 将不起作用,因为它应用到的成员在不允许使用可选参数的上下文中使用 + + The contextual keyword 'var' cannot be used in a range variable declaration + 不能在范围变量声明中使用上下文关键字“var” - - The CallerFilePathAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments - CallerFilePathAttribute 将不起作用,因为它应用到的成员在不允许使用可选参数的上下文中使用 + + The best overloaded Add method '{0}' for the collection initializer has some invalid arguments + 集合初始值设定项的最佳重载 Add 方法“{0}”具有一些无效参数 - - The CallerMemberNameAttribute applied to parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments - 应用于形参“{0}”的 CallerMemberNameAttribute 将不起任何作用,因为它适用于不允许指定可选实参的上下文中使用的成员 + + An expression tree lambda may not contain a ref, in or out parameter + 表达式树 lambda 不能包含 ref、in 或 out 参数 - - The CallerMemberNameAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments - CallerMemberNameAttribute 将不起任何作用,因为它适用于不允许可选参数的上下文中使用的成员 + + An expression tree lambda may not contain a method with variable arguments + 表达式树 lambda 不能包含具有变量参数的方法 - - Program does not contain a static 'Main' method suitable for an entry point - 程序不包含适合于入口点的静态 "Main" 方法 + + An expression tree lambda may not contain a method group + 表达式树 lambda 不能包含方法组 - - An array initializer of length '{0}' is expected - 应为一个长度为“{0}”的数组初始值设定项 + + The best overloaded method match '{0}' for the collection initializer element cannot be used. Collection initializer 'Add' methods cannot have ref or out parameters. + 无法使用集合初始值设定项元素的最佳重载方法匹配项“{0}”。集合初始值设定项 "Add" 方法不能具有 ref 或 out 参数。 - - A nested array initializer is expected - 应输入嵌套数组初始值设定项 + + Non-invocable member '{0}' cannot be used like a method. + 不可调用的成员“{0}”不能像方法一样使用。 - - Invalid variance modifier. Only interface and delegate type parameters can be specified as variant. - 方差修饰符无效。只有接口和委托类型的参数可以指定为变量。 + + Member '{0}' implements interface member '{1}' in type '{2}'. There are multiple matches for the interface member at run-time. It is implementation dependent which method will be called. + 成员“{0}”实现类型“{2}”中的接口成员“{1}”。在运行时该接口成员有多个匹配项。此实现取决于将要调用的方法。 - - Unexpected use of an aliased name - 意外使用了别名 + + Member implements interface member with multiple matches at run-time + 成员在运行时使用多个匹配项实现接口成员 - - Unexpected use of a generic name - 意外使用了通用名称 + + This warning can be generated when two interface methods are differentiated only by whether a particular parameter is marked with ref or with out. It is best to change your code to avoid this warning because it is not obvious or guaranteed which method is called at runtime. + +Although C# distinguishes between out and ref, the CLR sees them as the same. When deciding which method implements the interface, the CLR just picks one. + +Give the compiler some way to differentiate the methods. For example, you can give them different names or provide an additional parameter on one of them. + 两个接口方法的唯一区别是特定参数是标记为 ref 还是 out 时,可能会生成此警告。最好更改代码以避免此警告,因为运行时调用的方法不明显或不受保证。 + +虽然 C# 可区分 out 和 ref,但是 CLR 会将它们视为相同的。 决定实现接口的方法时,CLR 只选取一个。 + +为编译器提供某种方式来区分方法。例如,可以为它们提供不同名称或对其中之一提供附加参数。 - - Unexpected use of an unbound generic name - 意外使用了未绑定的通用名称 + + Member '{1}' overrides '{0}'. There are multiple override candidates at run-time. It is implementation dependent which method will be called. + 成员“{1}”重写“{0}”。在运行时有多个重写候选项。此实现取决于将要调用的方法。 - - Expressions and statements can only occur in a method body - 表达式和语句只能在方法体中出现 + + Member overrides base member with multiple override candidates at run-time + 成员在运行时使用多个重写候选项重写基成员 - - An array access may not have a named argument specifier - 数组访问可能没有命名参数说明符 + + Object and collection initializer expressions may not be applied to a delegate creation expression + 对象和集合初始值设定项表达式不能应用于委托创建表达式 - - This language feature ('{0}') is not yet implemented. - 尚未实现此语言功能(“{0}”)。 + + '{0}' is of type '{1}'. The type specified in a constant declaration must be sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, bool, string, an enum-type, or a reference-type. + '“{0}”的类型为“{1}”。在常量声明中指定的类型必须为 sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool、string、枚举类型或引用类型。 - - Default values are not valid in this context. - 默认值在此上下文中无效。 + + Source file '{0}' could not be found. + 未能找到源文件“{0}”。 - - Error opening icon file {0} -- {1} - 打开图标文件 {0} 时出错 -- {1} + + Source file '{0}' specified multiple times + 源文件“{0}”指定了多次 - - Error opening Win32 manifest file {0} -- {1} - 打开 Win32 清单文件 {0} 时出错 -- {1} + + Source file specified multiple times + 多次指定源文件 - - Error building Win32 resources -- {0} - 生成 Win32 资源时出错 -- {0} + + Missing file specification for '{0}' option + “{0}”选项缺少文件规范 - - Optional parameters must appear after all required parameters - 可选参数必须出现在所有必需参数之后 + + Command-line syntax error: Missing '{0}' for '{1}' option + 命令行语法错误:“{1}”选项缺少“{0}” - - Cannot inherit interface '{0}' with the specified type parameters because it causes method '{1}' to contain overloads which differ only on ref and out - 无法使用指定的类型参数继承接口“{0}”,因为它会导致方法“{1}”包含仅在 ref 和 out 上存在不同的重载 + + Unrecognized option: '{0}' + 无法识别的选项: “{0}” - - Partial declarations of '{0}' must have the same type parameter names and variance modifiers in the same order - “{0}”的分部声明必须具有相同类型的参数名和差异修饰符,同时顺序也必须相同 + + No source files specified. + 未指定源文件。 - - Invalid variance: The type parameter '{1}' must be {3} valid on '{0}'. '{1}' is {2}. - 差异无效: 类型参数“{1}”必须是在“{0}”上有效的 {3}。“{1}”为 {2}。 + + No source files specified + 未指定源文件 - - '{0}': cannot derive from the dynamic type - '“{0}”: 无法从动态类型派生 + + Expected a script (.csx file) but none specified + 需要一个脚本 (.csx file) 文件,但并未指定 - - '{0}': cannot implement a dynamic interface '{1}' - '“{0}”: 无法实现动态接口“{1}” + + Error opening response file '{0}' + 打开响应文件“{0}”时出错 - - Constraint cannot be the dynamic type - 约束不能为动态类型 + + Cannot open '{0}' for writing -- '{1}' + 无法打开“{0}”进行写入 --“{1}” - - Constraint cannot be a dynamic type '{0}' - 约束不能是动态类型“{0}” + + Invalid image base number '{0}' + 图像基数“{0}”无效 - - One or more types required to compile a dynamic expression cannot be found. Are you missing a reference? - 找不到编译动态表达式所需的一个或多个类型。是否缺少引用? + + '{0}' is a binary file instead of a text file + '“{0}”是二进制文件而非文本文件 - - Name '{0}' exceeds the maximum length allowed in metadata. - 名称“{0}”超出元数据中允许的最大长度。 + + Code page '{0}' is invalid or not installed + 代码页“{0}”无效或未安装 - - Attributes are not valid in this context. - 特性在此上下文中无效。 + + Algorithm '{0}' is not supported + 不支持算法“{0}” - - 'extern alias' is not valid in this context - '“外部别名”在此上下文中无效 + + Cannot specify /main if building a module or library + 如果生成模块或库,则无法指定 /main - - Using '{0}' to test compatibility with '{1}' is essentially identical to testing compatibility with '{2}' and will succeed for all non-null values - 使用“{0}”测试与“{1}”的兼容性和测试与“{2}”的兼容性实质上是相同的,且对于所有非 null 值都将成功 + + Invalid target type for /target: must specify 'exe', 'winexe', 'library', or 'module' + /target 的目标类型无效: 必须指定“exe”、“winexe”、“library”或“module” - - Using 'is' to test compatibility with 'dynamic' is essentially identical to testing compatibility with 'Object' - 使用 "is" 测试与 "dynamic" 的兼容性和测试与 "object" 的兼容性实质上是相同的 + + Ignoring /noconfig option because it was specified in a response file + /noconfig 选项是在响应文件中指定的,因此被忽略 + + + + Ignoring /noconfig option because it was specified in a response file + /noconfig 选项是在响应文件中指定的,因此被忽略 - - Cannot use 'yield' in top-level script code - 无法在顶级脚本代码中使用“yield” + + Invalid file section alignment '{0}' + 无效的文件节对齐方式“{0}” - - Cannot declare namespace in script code - 无法在脚本代码中声明命名空间 + + Invalid output name: {0} + 无效输出名: {0} - - Assembly and module attributes are not allowed in this context - 在此上下文中不允许有程序集和模块特性 + + Invalid debug information format: {0} + 无效的调试信息格式: {0} - - Delegate '{0}' has no invoke method or an invoke method with a return type or parameter types that are not supported. - 委托“{0}”没有调用方法,或调用方法有不受支持的返回类型或参数类型。 + + 'id#' syntax is no longer supported. Use '$id' instead. + '不再支持 "id #" 语法。应使用 "$id"。 - - The entry point of the program is global script code; ignoring '{0}' entry point. - 程序的入口点是全局脚本代码;正在忽略“{0}”入口点。 + + Invalid name for a preprocessing symbol; '{0}' is not a valid identifier + 预处理符号的名称无效;“{0}”不是有效的标识符 - - The entry point of the program is global script code; ignoring entry point - 程序的入口点是全局脚本代码;正在忽略入口点 + + Invalid name for a preprocessing symbol; not a valid identifier + 预处理符号的名称无效;不是有效的标识符 - - The second operand of an 'is' or 'as' operator may not be static type '{0}' - “is”或“as”运算符的第二个操作数不能是静态类型“{0}” + + Cannot create short filename '{0}' when a long filename with the same short filename already exists + 包含短文件名“{0}”的长文件名已存在,无法创建同名短文件名 - - Inconsistent accessibility: event type '{1}' is less accessible than event '{0}' - 可访问性不一致: 事件类型“{1}”的可访问性低于事件“{0}” + + A /reference option that declares an extern alias can only have one filename. To specify multiple aliases or filenames, use multiple /reference options. + 一个声明外部别名的 /reference 选项只能有一个文件名。要指定多个别名或文件名,请使用多个 /reference 选项。 - - Named argument specifications must appear after all fixed arguments have been specified. Please use language version {0} or greater to allow non-trailing named arguments. - 命名参数规范必须出现在所有固定参数都已指定完毕后。请使用语言版本 {0} 或更高版本,以允许非尾随命名参数。 + + Command-line syntax error: Missing ':<number>' for '{0}' option + 命令行语法错误:“{0}”选项缺少“:<number>” - - Named argument specifications must appear after all fixed arguments have been specified in a dynamic invocation. - 命名参数规范必须出现在已在动态调用中指定所有固定参数之后。 + + The /pdb option requires that the /debug option also be used + 要使用 /pdb 选项,必须同时使用 /debug 选项 - - The best overload for '{0}' does not have a parameter named '{1}' - “{0}”的最佳重载没有名为“{1}”的参数 + + An expression tree lambda may not contain a COM call with ref omitted on arguments + 表达式树 lambda 不能包含参数中省略 ref 的 COM 调用 - - The delegate '{0}' does not have a parameter named '{1}' - 委托“{0}”没有名为“{1}”的参数 + + Command-line syntax error: Invalid Guid format '{0}' for option '{1}' + 命令行语法错误: Guid 格式“{0}”对于选项“{1}”无效 - - Named argument '{0}' cannot be specified multiple times - 不能多次指定所命名的参数“{0}”。 + + Command-line syntax error: Missing Guid for option '{1}' + 命令行语法错误: 选项“{1}”缺少 Guid - - Named argument '{0}' specifies a parameter for which a positional argument has already been given - 命名参数“{0}”指定的形参已被赋予位置参数 + + Methods with variable arguments are not CLS-compliant + 带有变量参数的方法不符合 CLS - - Named argument '{0}' is used out-of-position but is followed by an unnamed argument - 命名参数“{0}”的使用位置不当,但后跟一个未命名参数 + + Methods with variable arguments are not CLS-compliant + 带有变量参数的方法不符合 CLS - - Cannot specify default parameter value in conjunction with DefaultParameterAttribute or OptionalAttribute - 不能同时指定默认参数值与 DefaultParameterAttribute 或 OptionalAttribute + + Argument type '{0}' is not CLS-compliant + 参数类型“{0}”不符合 CLS - - Default parameter value for '{0}' must be a compile-time constant - “{0}”的默认参数值必须是编译时常量 + + Argument type is not CLS-compliant + 参数类型不符合 CLS - - A ref or out parameter cannot have a default value - ref 或 out 参数不能有默认值 + + Return type of '{0}' is not CLS-compliant + “{0}”的返回类型不符合 CLS - - Cannot specify a default value for the 'this' parameter - 不能为 "this" 参数指定默认值 + + Return type is not CLS-compliant + 返回类型不符合 CLS - - Cannot specify a default value for a parameter array - 无法为参数数组指定默认值 + + Type of '{0}' is not CLS-compliant + “{0}”的类型不符合 CLS - - A value of type '{0}' cannot be used as a default parameter because there are no standard conversions to type '{1}' - 不能将“{0}”类型的值用作默认参数,因为没有到类型“{1}”的标准转换 + + Type is not CLS-compliant + 类型不符合 CLS - - A value of type '{0}' cannot be used as default parameter for nullable parameter '{1}' because '{0}' is not a simple type - 无法将类型为“{0}”的值用作可以为 null 的参数“{1}”的默认参数,因为“{0}”不是简单类型 + + A public, protected, or protected internal variable must be of a type that is compliant with the Common Language Specification (CLS). + public、protected 或 protected internal 变量必须属于符合公共语言规范(CLS)的类型。 - - '{0}' is of type '{1}'. A default parameter value of a reference type other than string can only be initialized with null - '“{0}”的类型为“{1}”。只能用 Null 对引用类型(字符串除外)的默认参数值进行初始化 + + Identifier '{0}' differing only in case is not CLS-compliant + 仅大小写不同的标识符“{0}”不符合 CLS - - The default value specified for parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments - 为形参“{0}”指定的默认值将不起任何作用,因为它适用于在不允许指定可选实参的上下文中使用的成员 + + Identifier differing only in case is not CLS-compliant + 仅大小写不同的标识符不符合 CLS - - The default value specified will have no effect because it applies to a member that is used in contexts that do not allow optional arguments - 指定的默认值将不起任何作用,因为它适用于不允许可选参数的上下文中使用的成员 + + Overloaded method '{0}' differing only in ref or out, or in array rank, is not CLS-compliant + 仅 ref 或 out 有区别,或者仅数组秩不同的重载方法“{0}”不符合 CLS - - Error signing output with public key from file '{0}' -- {1} - 使用来自文件“{0}”的公钥对输出签名时出错 -- {1} + + Overloaded method differing only in ref or out, or in array rank, is not CLS-compliant + 仅 ref 或 out 有区别,或者仅数组秩的重载方法不符合 CLS - - Error signing output with public key from container '{0}' -- {1} - 使用来自容器“{0}”的公钥对输出签名时出错 -- {1} + + Overloaded method '{0}' differing only by unnamed array types is not CLS-compliant + 仅未命名数组类型不同的重载方法“{0}”不符合 CLS - - The typeof operator cannot be used on the dynamic type - typeof 运算符不能用在动态类型上 + + Overloaded method differing only by unnamed array types is not CLS-compliant + 仅未命名数组类型不同的重载方法不符合 CLS - - An expression tree may not contain a dynamic operation - 表达式树不能包含动态操作 + + This error occurs if you have an overloaded method that takes a jagged array and the only difference between the method signatures is the element type of the array. To avoid this error, consider using a rectangular array rather than a jagged array; use an additional parameter to disambiguate the function call; rename one or more of the overloaded methods; or, if CLS Compliance is not needed, remove the CLSCompliantAttribute attribute. + 如果具有采用交错数组的重载方法并且方法签名之间的唯一差异是该数组的元素类型时,则会发生此错误。要避免此错误,请考虑使用矩形数组而不是交错数组;使用附加参数区分函数调用;重命名一个或多个重载方法;或是,如果无需符合 CLS,请移除 CLSCompliantAttribute 特性。 - - Async lambda expressions cannot be converted to expression trees - 异步 lambda 表达式无法转换为表达式树 + + Identifier '{0}' is not CLS-compliant + 标识符“{0}”不符合 CLS - - Cannot define a class or member that utilizes 'dynamic' because the compiler required type '{0}' cannot be found. Are you missing a reference? - 无法定义使用“dynamic”的类或成员,因为找不到编译器所需的类型“{0}”。是否缺少引用? + + Identifier is not CLS-compliant + 标识符不符合 CLS - - Cannot pass null for friend assembly name - 无法为友元程序集名称传递 null + + '{0}': base type '{1}' is not CLS-compliant + '“{0}”: 基类型“{1}”不符合 CLS - - Key file '{0}' is missing the private key needed for signing - 密钥文件“{0}”缺少签名所需的私钥 + + Base type is not CLS-compliant + 基类型不符合 CLS - - Public signing was specified and requires a public key, but no public key was specified. - 指定了公共签名并需要公钥,但未指定公钥。 + + A base type was marked as not having to be compliant with the Common Language Specification (CLS) in an assembly that was marked as being CLS compliant. Either remove the attribute that specifies the assembly is CLS compliant or remove the attribute that indicates the type is not CLS compliant. + 基类型在标记为符合公共语言规范(CLS)的程序集中标记为不必符合 CLS。移除指定程序集符合 CLS 的特性或移除指示类型不符合 CLS 的特性。 - - Public signing is not supported for netmodules. - netmodule 不支持公共签名。 + + '{0}': CLS-compliant interfaces must have only CLS-compliant members + '“{0}”: 符合 CLS 的接口必须仅有符合 CLS 的成员 - - Delay signing was specified and requires a public key, but no public key was specified - 指定了延迟签名,这需要公钥,但是未指定任何公钥 + + CLS-compliant interfaces must have only CLS-compliant members + 符合 CLS 的接口必须仅有符合 CLS 的成员 - - Delay signing was specified and requires a public key, but no public key was specified - 指定了延迟签名,这需要公钥,但是未指定任何公钥 + + '{0}': only CLS-compliant members can be abstract + '“{0}”: 只有符合 CLS 的成员才能是抽象的 - - The specified version string does not conform to the required format - major[.minor[.build[.revision]]] - 指定版本字符串不符合所需格式 - major[.minor[.build[.revision]]] + + Only CLS-compliant members can be abstract + 只有符合 CLS 的成员才能是抽象的 - - The specified version string contains wildcards, which are not compatible with determinism. Either remove wildcards from the version string, or disable determinism for this compilation - 指定的版本字符串包含通配符,这与确定性不兼容。请删除版本字符串中的通配符,或禁用此编译的确定性。 + + You must specify the CLSCompliant attribute on the assembly, not the module, to enable CLS compliance checking + 必须在程序集而不是模块上指定 CLSCompliant 特性,以便启用 CLS 遵从性检查 - - The specified version string does not conform to the required format - major.minor.build.revision (without wildcards) - 指定的版本字符串不符合所需格式 - major.minor.build.revision (不带通配符) + + You must specify the CLSCompliant attribute on the assembly, not the module, to enable CLS compliance checking + 必须在程序集而不是模块上指定 CLSCompliant 特性,以便启用 CLS 遵从性检查 - - The specified version string does not conform to the recommended format - major.minor.build.revision - 指定版本字符串不符合建议格式 - major.minor.build.revision + + Added modules must be marked with the CLSCompliant attribute to match the assembly + 添加的模块必须用 CLSCompliant 特性标记才能与程序集匹配 - - The specified version string does not conform to the recommended format - major.minor.build.revision - 指定版本字符串不符合建议格式 - major.minor.build.revision + + Added modules must be marked with the CLSCompliant attribute to match the assembly + 添加的模块必须用 CLSCompliant 特性标记才能与程序集匹配 - - Executables cannot be satellite assemblies; culture should always be empty - 可执行文件不能是附属程序集;区域性应始终为空 + + '{0}' cannot be marked as CLS-compliant because the assembly does not have a CLSCompliant attribute + '由于程序集没有 CLSCompliant 特性,因此不能将“{0}”标记为符合 CLS - - There is no argument given that corresponds to the required formal parameter '{0}' of '{1}' - 未提供与“{1}”的必需形参“{0}”对应的实参 + + Type or member cannot be marked as CLS-compliant because the assembly does not have a CLSCompliant attribute + 由于程序集没有 CLSCompliant 特性,因此不能将类型或成员标记为符合 CLS - - The command line switch '{0}' is not yet implemented and was ignored. - 命令行开关“{0}”尚未实现,已忽略。 + + '{0}' has no accessible constructors which use only CLS-compliant types + '“{0}”没有只使用符合 CLS 类型的可访问的构造函数 - - Command line switch is not yet implemented - 命令行开关尚未实现 + + Type has no accessible constructors which use only CLS-compliant types + 类型没有只使用符合 CLS 类型的可访问的构造函数 - - Failed to emit module '{0}'. - 未能发出模块“{0}”。 + + Arrays as attribute arguments is not CLS-compliant + 作为特性参数的数组不符合 CLS - - Cannot use fixed local '{0}' inside an anonymous method, lambda expression, or query expression - 在匿名方法、lambda 表达式或查询表达式中不能使用固定的局部变量“{0}” + + Arrays as attribute arguments is not CLS-compliant + 作为特性参数的数组不符合 CLS - - An expression tree may not contain a named argument specification - 表达式树可能不包含命名参数规范 + + You cannot specify the CLSCompliant attribute on a module that differs from the CLSCompliant attribute on the assembly + 不能在模块上指定与程序集的 CLSCompliant 特性不同的 CLSCompliant 特性 - - An expression tree may not contain a call or invocation that uses optional arguments - 表达式树可能不包含使用可选参数的调用 + + You cannot specify the CLSCompliant attribute on a module that differs from the CLSCompliant attribute on the assembly + 不能在模块上指定与程序集的 CLSCompliant 特性不同的 CLSCompliant 特性 - - An expression tree may not contain an indexed property - 表达式树不能包含索引属性 + + '{0}' cannot be marked as CLS-compliant because it is a member of non-CLS-compliant type '{1}' + '“{0}”是不符合 CLS 的类型“{1}”的成员,因此不能将其标记为符合 CLS - - Indexed property '{0}' has non-optional arguments which must be provided - 索引属性“{0}”具有必须提供的非可选参数 + + Type cannot be marked as CLS-compliant because it is a member of non-CLS-compliant type + 类型是不符合 CLS 的类型的成员,因此不能将其标记为符合 CLS - - Indexed property '{0}' must have all arguments optional - 索引属性“{0}”的所有参数都必须可选 + + CLS compliance checking will not be performed on '{0}' because it is not visible from outside this assembly + “{0}”在此程序集外部不可见,因此不会对它执行 CLS 遵从性检查 - - Instance of type '{0}' cannot be used inside a nested function, query expression, iterator block or async method - “{0}”类型的实例不能在嵌套函数、查询表达式、迭代器块或异步方法中使用 + + CLS compliance checking will not be performed because it is not visible from outside this assembly + CLS 遵从性检查在此程序集外部不可见,因此不会执行它 - - First argument to a security attribute must be a valid SecurityAction - 安全特性的第一个参数必须是有效的 SecurityAction + + '{0}' does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute + '由于程序集没有 CLSCompliant 特性,因此“{0}”不需要 CLSCompliant 特性 - - Security attribute '{0}' has an invalid SecurityAction value '{1}' - 安全特性“{0}”具有无效 SecurityAction 值“{1}” + + Type or member does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute + 由于程序集没有 CLSCompliant 特性,因此类型或成员不需要 CLSCompliant 特性 - - SecurityAction value '{0}' is invalid for security attributes applied to an assembly - SecurityAction 值“{0}”对于应用于程序集的安全特性无效 + + CLSCompliant attribute has no meaning when applied to parameters. Try putting it on the method instead. + CLSCompliant 特性在应用于参数时无意义。请尝试将该特性应用于方法。 - - SecurityAction value '{0}' is invalid for security attributes applied to a type or a method - SecurityAction 值“{0}”对于应用于类型或方法的安全特性无效 + + CLSCompliant attribute has no meaning when applied to parameters + CLSCompliant 特性在应用于参数时无意义 - - SecurityAction value '{0}' is invalid for PrincipalPermission attribute - SecurityAction 值“{0}”对于 PrincipalPermission 特性无效 + + CLSCompliant attribute has no meaning when applied to return types. Try putting it on the method instead. + CLSCompliant 特性在应用于返回类型时无意义。请尝试将该特性应用于方法。 - - An expression tree may not contain '{0}' - 表达式树不能包含“{0}” + + CLSCompliant attribute has no meaning when applied to return types + CLSCompliant 特性在应用于返回类型时无意义 - - Unable to resolve file path '{0}' specified for the named argument '{1}' for PermissionSet attribute - 无法解析为 PermissionSet 特性的命名参数“{1}”指定的文件路径“{0}” + + Constraint type '{0}' is not CLS-compliant + 约束类型“{0}”不符合 CLS - - Error reading file '{0}' specified for the named argument '{1}' for PermissionSet attribute: '{2}' - 读取为 PermissionSet 特性的命名参数“{1}”指定的文件“{0}”时出错:“{2}” + + Constraint type is not CLS-compliant + 约束类型不符合 CLS - - The type name '{0}' could not be found in the global namespace. This type has been forwarded to assembly '{1}' Consider adding a reference to that assembly. - 未能在全局命名空间中找到类型名“{0}”。此类型已转发到程序集“{1}”。请考虑添加对该程序集的引用。 + + CLS-compliant field '{0}' cannot be volatile + 符合 CLS 的字段“{0}”不能是可变字段 - - The type name '{0}' could not be found in the namespace '{1}'. This type has been forwarded to assembly '{2}' Consider adding a reference to that assembly. - 未能在命名空间“{1}”中找到类型名“{0}”。此类型已转发到程序集“{2}”。请考虑添加对该程序集的引用。 + + CLS-compliant field cannot be volatile + 符合 CLS 的字段不能是可变字段 - - The type name '{0}' could not be found. This type has been forwarded to assembly '{1}'. Consider adding a reference to that assembly. - 未能找到类型名“{0}”。此类型已转发到程序集“{1}”。请考虑添加对该程序集的引用。 + + '{0}' is not CLS-compliant because base interface '{1}' is not CLS-compliant + '“{0}”不符合 CLS,因为基接口“{1}”不符合 CLS - - Assemblies '{0}' and '{1}' refer to the same metadata but only one is a linked reference (specified using /link option); consider removing one of the references. - 程序集“{0}”和“{1}”引用相同元数据,但是只有一个是链接引用(使用 /link 选项指定);请考虑删除其中一个引用。 + + Type is not CLS-compliant because base interface is not CLS-compliant + 类型不符合 CLS,因为基接口不符合 CLS - - The best overloaded Add method '{0}' for the collection initializer element is obsolete. - 与集合初始值设定项元素最匹配的重载 Add 方法“{0}”已过时。 + + 'await' requires that the type {0} have a suitable 'GetAwaiter' method + '“await”要求类型 {0} 包含适当的 GetAwaiter 方法 - - The best overloaded Add method for the collection initializer element is obsolete - 与集合初始值设定项元素最匹配的重载 Add 方法已过时 + + Cannot await '{0}' + 无法等待“{0}” - - The best overloaded Add method '{0}' for the collection initializer element is obsolete. {1} - 与集合初始值设定项元素最匹配的重载 Add 方法“{0}”已过时。{1} + + 'await' requires that the return type '{0}' of '{1}.GetAwaiter()' have suitable 'IsCompleted', 'OnCompleted', and 'GetResult' members, and implement 'INotifyCompletion' or 'ICriticalNotifyCompletion' + '“await”要求“{1}.GetAwaiter()”的返回类型“{0}”包含适当的 IsCompleted、OnCompleted 和 GetResult 成员,并实现 INotifyCompletion 或 ICriticalNotifyCompletion - - The best overloaded Add method for the collection initializer element is obsolete - 与集合初始值设定项元素最匹配的重载 Add 方法已过时 + + 'await' requires that the type '{0}' have a suitable 'GetAwaiter' method. Are you missing a using directive for 'System'? + '“await”要求类型“{0}”包含适当的 GetAwaiter 方法。是否缺少针对“System”的 using 指令? - - The best overloaded Add method '{0}' for the collection initializer element is obsolete. {1} - 与集合初始值设定项元素最匹配的重载 Add 方法“{0}”已过时。{1} + + Cannot await 'void' + 无法等待“void” - - Yield statements may not appear at the top level in interactive code. - Yield 语句不能出现在交互代码中的顶层。 + + 'await' cannot be used as an identifier within an async method or lambda expression + '“await”不能用作异步方法或 lambda 表达式中的标识符 - - Security attribute '{0}' is not valid on this declaration type. Security attributes are only valid on assembly, type and method declarations. - 安全特性“{0}”对此声明类型无效。安全特性仅对程序集、类型和方法声明有效。 + + '{0}' does not implement '{1}' + '“{0}”不实现“{1}” - - Cannot use an expression of type '{0}' as an argument to a dynamically dispatched operation. - 无法将类型为“{0}”的表达式用作动态调度的操作的参数。 + + Since '{0}' is an async method that returns 'Task', a return keyword must not be followed by an object expression. Did you intend to return 'Task<T>'? + 由于“{0}”是返回“Task”的异步方法,因此返回关键字不能后接对象表达式。是否要返回“Task<T>”? - - Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type. - 如果不事先将 lambda 表达式强制转换为委托或表达式树类型,则无法将该表达式用作动态调度的操作的参数。 + + The return type of an async method must be void, Task, Task<T>, a task-like type, IAsyncEnumerable<T>, or IAsyncEnumerator<T> + 异步方法的返回类型必须为 void、Task 或 Task<T>、类似任务的类型、IAsyncEnumerable<T> 或 IAsyncEnumerator<T> - - Cannot use a method group as an argument to a dynamically dispatched operation. Did you intend to invoke the method? - 无法将方法组用作动态调度的操作的参数。是否要调用该方法? + + Cannot return an expression of type 'void' + 无法返回 "void" 类型的表达式 - - The call to method '{0}' needs to be dynamically dispatched, but cannot be because it is part of a base access expression. Consider casting the dynamic arguments or eliminating the base access. - 需要动态调度对方法“{0}”的调用,但无法实现,因为该调用是基访问表达式的一部分。请考虑强制转换动态参数或消除基访问。 + + __arglist is not allowed in the parameter list of async methods + 异步方法的参数列表中不允许有 __arglist - - Query expressions over source type 'dynamic' or with a join sequence of type 'dynamic' are not allowed - 不允许源类型 "dynamic" 上或具有类型 "dynamic" 的连接序列的查询表达式 + + 'await' cannot be used in an expression containing the type '{0}' + '“等待”不能在包含“{0}”类型的表达式中使用 - - The indexer access needs to be dynamically dispatched, but cannot be because it is part of a base access expression. Consider casting the dynamic arguments or eliminating the base access. - 索引器访问需要进行动态调度,但未能如此,因为它是基访问表达式的一般分。请考虑强制转换动态参数或消除基访问。 + + Async methods cannot have unsafe parameters or return types + 异步方法不能具有不安全的参数或返回类型 - - The dynamically dispatched call to method '{0}' may fail at runtime because one or more applicable overloads are conditional methods. - 动态调度的方法“{0}”调用可能会在运行时失败,因为一个或多个适用的重载为条件方法。 + + Async methods cannot have ref, in or out parameters + 异步方法不能使用 ref、in 或 out 参数 - - Dynamically dispatched call may fail at runtime because one or more applicable overloads are conditional methods - 动态调度的调用可能会在运行时失败,因为一个或多个适用的重载为条件方法 + + The 'await' operator can only be used when contained within a method or lambda expression marked with the 'async' modifier + "await" 运算符只能在它包含于标有“async”修饰符的方法或 lambda 表达式中时使用 - - '{0}' has no applicable method named '{1}' but appears to have an extension method by that name. Extension methods cannot be dynamically dispatched. Consider casting the dynamic arguments or calling the extension method without the extension method syntax. - '“{0}”不具有名为“{1}”的适用方法,但是似乎有该名称的扩展方法。无法动态调度扩展方法。请考虑强制转换动态参数或在不使用扩展方法语法的情况下调用扩展方法。 + + The 'await' operator can only be used within an async {0}. Consider marking this {0} with the 'async' modifier. + “await”运算符只能在异步 {0} 中使用。请考虑使用“async”修饰符标记此 {0}。 - - The CallerMemberNameAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerFilePathAttribute. - 应用于参数“{0}”的 CallerMemberNameAttribute 将不起任何作用。它由 CallerFilePathAttribute 重写。 + + The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task<{0}>'. + “await”运算符只能在异步方法中使用。请考虑使用“async”修饰符标记此方法,并将其返回类型更改为“Task<{0}>”。 - - The CallerMemberNameAttribute will have no effect; it is overridden by the CallerFilePathAttribute - CallerMemberNameAttribute 将不起任何作用;它由 CallerFilePathAttribute 重写 + + The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'. + "await" 运算符只能用于异步方法中。请考虑用 "async" 修饰符标记此方法,并将其返回类型更改为 "Task"。 + + + + Cannot await in the body of a finally clause + 无法在 finally 子句体中等待 - - The CallerMemberNameAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerLineNumberAttribute. - 应用于参数“{0}”的 CallerMemberNameAttribute 将不起任何作用。它由 CallerLineNumberAttribute 重写。 + + Cannot await in a catch clause + 无法在 catch 子句中等待 - - The CallerMemberNameAttribute will have no effect; it is overridden by the CallerLineNumberAttribute - CallerMemberNameAttribute 将不起任何作用;它由 CallerLineNumberAttribute 重写 + + Cannot await in the filter expression of a catch clause + 无法在 catch 子句的筛选器表达式中等待 - - The CallerFilePathAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerLineNumberAttribute. - 应用于参数“{0}”的 CallerFilePathAttribute 将不起任何作用。它由 CallerLineNumberAttribute 重写。 + + Cannot await in the body of a lock statement + 无法在 lock 语句体中等待 - - The CallerFilePathAttribute will have no effect; it is overridden by the CallerLineNumberAttribute - CallerFilePathAttribute 将不起任何作用;它由 CallerLineNumberAttribute 重写 + + The 'await' operator cannot be used in a static script variable initializer. + 静态脚本变量初始值设定项中不可使用 "await" 运算符。 - - Expression must be implicitly convertible to Boolean or its type '{0}' must define operator '{1}'. - 表达式必须可隐式转换为布尔值,或其类型“{0}”必须定义运算符“{1}”。 + + Cannot await in an unsafe context + 无法在不安全的上下文中等待 - - '{0}' cannot implement '{1}' because '{2}' is a Windows Runtime event and '{3}' is a regular .NET event. - '“{0}”无法实现“{1}”,因为“{2}”是 Windows 运行时事件,“{3}”是常规 .NET 事件。 + + The 'async' modifier can only be used in methods that have a body. + 只能在具有正文的方法中使用 "async" 修饰符。 - - Call System.IDisposable.Dispose() on allocated instance of {0} before all references to it are out of scope. - 请在对 {0} 的所有引用超出范围之前,对它的分配实例调用 Call System.IDisposable.Dispose()。 + + Parameters or locals of type '{0}' cannot be declared in async methods or lambda expressions. + 不能在异步方法或 lambda 表达式中声明“{0}”类型的参数或局部变量 - - Call System.IDisposable.Dispose() on allocated instance before all references to it are out of scope - 在对已分配实例的所有引用超出范围之前,对它调用 System.IDisposable.Dispose() + + foreach statement cannot operate on enumerators of type '{0}' in async or iterator methods because '{0}' is a ref struct. + foreach 语句无法在类型“{0}”的枚举器上使用异步或迭代器方法操作,因为“{0}”是 ref 结构。 - - Allocated instance of {0} is not disposed along all exception paths. Call System.IDisposable.Dispose() before all references to it are out of scope. - {0} 的分配实例未按所有异常路径释放。请在对它的所有引用超出范围之前,调用 Call System.IDisposable.Dispose()。 + + Security attribute '{0}' cannot be applied to an Async method. + 安全特性“{0}”不可应用于异步方法。 - - Allocated instance is not disposed along all exception paths - 已分配实例未按所有异常路径释放 + + Async methods are not allowed in an Interface, Class, or Structure which has the 'SecurityCritical' or 'SecuritySafeCritical' attribute. + 在具有“SecurityCritical”或“SecuritySafeCritical”特性的接口、类或结构中,不允许使用异步方法。 - - Object '{0}' can be disposed more than once. - 可以多次释放对象“{0}”。 + + The 'await' operator may only be used in a query expression within the first collection expression of the initial 'from' clause or within the collection expression of a 'join' clause + "await" 运算符只能用在初始 "from" 子句的第一个集合表达式或 "join" 子句的集合表达式内的查询表达式中 - - Object can be disposed more than once - 可以多次释放对象 + + This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. + 此异步方法缺少 "await" 运算符,将以同步方式运行。请考虑使用 "await" 运算符等待非阻止的 API 调用,或者使用 "await Task.Run(...)" 在后台线程上执行占用大量 CPU 的工作。 - - Interop type '{0}' cannot be embedded. Use the applicable interface instead. - 无法嵌入互操作类型“{0}”。请改用适用的接口。 + + Async method lacks 'await' operators and will run synchronously + 异步方法缺少 "await" 运算符,将以同步方式运行 - - Type '{0}' cannot be embedded because it is a nested type. Consider setting the 'Embed Interop Types' property to false. - 无法嵌入类型“{0}”,因为它是嵌套类型。请考虑将“嵌入互操作类型”属性设置为 false。 + + Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. + 由于此调用不会等待,因此在此调用完成之前将会继续执行当前方法。请考虑将 "await" 运算符应用于调用结果。 - - Type '{0}' cannot be embedded because it has a generic argument. Consider setting the 'Embed Interop Types' property to false. - 无法嵌入类型“{0}”,因为它有泛型参数。请考虑将“嵌入互操作类型”属性设置为 false。 + + Because this call is not awaited, execution of the current method continues before the call is completed + 由于此调用不会等待,因此在调用完成前将继续执行当前方法 - - Embedded interop struct '{0}' can contain only public instance fields. - 嵌入互操作结构“{0}”只能包含公共实例字段。 + + The current method calls an async method that returns a Task or a Task<TResult> and doesn't apply the await operator to the result. The call to the async method starts an asynchronous task. However, because no await operator is applied, the program continues without waiting for the task to complete. In most cases, that behavior isn't what you expect. Usually other aspects of the calling method depend on the results of the call or, minimally, the called method is expected to complete before you return from the method that contains the call. + +An equally important issue is what happens to exceptions that are raised in the called async method. An exception that's raised in a method that returns a Task or Task<TResult> is stored in the returned task. If you don't await the task or explicitly check for exceptions, the exception is lost. If you await the task, its exception is rethrown. + +As a best practice, you should always await the call. + +You should consider suppressing the warning only if you're sure that you don't want to wait for the asynchronous call to complete and that the called method won't raise any exceptions. In that case, you can suppress the warning by assigning the task result of the call to a variable. + 当前的方法调用返回一个 Task 或 Task<TResult> 的 async 方法,并且不会将 await 操作符应用到结果中。对 async 方法的调用将启动异步任务。但是,由于未应用 await 操作符,程序将继续运行而不会等待任务完成。在多数情况下,这种行为并不是你想要的。通常,调用方法的其他部分依赖调用结果,或者至少从包含此调用的方法中返回前需要完成此被调用的方法。 + +一个同样重要的问题是在调用的 async 方法中产生的异常将发生什么情况。在返回 Task 或 Task<TResult> 的方法中产生的异常存储在返回的任务中。如果你不等待任务完成或显式检查异常,则异常将丢失。如果你等待任务完成,则此异常将重新抛出。 + +最佳的做法是你应始终等待此调用完成。 + +仅当你确定不需要等待异步调用完成,并且调用的方法不会产生任何异常时,你可以考虑取消警告。为此,你可以通过将调用的任务结果分配给一个变量来取消警告。 - - A Windows Runtime event may not be passed as an out or ref parameter. - 无法作为 out 或 ref 参数传递 Windows 运行时事件。 + + 'MethodImplOptions.Synchronized' cannot be applied to an async method + '"MethodImplOptions.Synchronized" 不能应用于异步方法 - - Source interface '{0}' is missing method '{1}' which is required to embed event '{2}'. - 源接口“{0}”缺少方法“{1}”,此方法对嵌入事件“{2}”是必需的。 + + CallerLineNumberAttribute cannot be applied because there are no standard conversions from type '{0}' to type '{1}' + 无法应用 CallerLineNumberAttribute,因为不存在从类型“{0}”到类型“{1}”的标准转换 - - Interface '{0}' has an invalid source interface which is required to embed event '{1}'. - 接口“{0}”的源接口无效,该源接口是嵌入事件“{1}”所必需的。 + + CallerFilePathAttribute cannot be applied because there are no standard conversions from type '{0}' to type '{1}' + 无法应用 CallerFilePathAttribute,因为不存在从类型“{0}”到类型“{1}”的标准转换 - - Interop type '{0}' cannot be embedded because it is missing the required '{1}' attribute. - 无法嵌入互操作类型“{0}”,因为它缺少必需的“{1}”特性。 + + CallerMemberNameAttribute cannot be applied because there are no standard conversions from type '{0}' to type '{1}' + 无法应用 CallerMemberNameAttribute,因为不存在从类型“{0}”到类型“{1}”的标准转换 - - Cannot embed interop types from assembly '{0}' because it is missing the '{1}' attribute. - 无法嵌入来自程序集“{0}”的互操作类型,因为它缺少“{1}”特性。 + + The CallerLineNumberAttribute may only be applied to parameters with default values + CallerLineNumberAttribute 只能应用于具有默认值的参数 - - Cannot embed interop types from assembly '{0}' because it is missing either the '{1}' attribute or the '{2}' attribute. - 无法嵌入来自程序集“{0}”的互操作类型,因为它缺少“{1}”特性或“{2}”特性。 + + The CallerFilePathAttribute may only be applied to parameters with default values + CallerFilePathAttribute 只能应用于具有默认值的参数 - - Cannot embed interop type '{0}' found in both assembly '{1}' and '{2}'. Consider setting the 'Embed Interop Types' property to false. - 无法嵌入在程序集“{1}”和“{2}”中同时找到的互操作类型“{0}”。请考虑将“嵌入互操作类型”属性设置为 false。 + + The CallerMemberNameAttribute may only be applied to parameters with default values + CallerMemberNameAttribute 只能应用于具有默认值的参数 - - Embedding the interop type '{0}' from assembly '{1}' causes a name clash in the current assembly. Consider setting the 'Embed Interop Types' property to false. - 嵌入来自程序集“{1}”的互操作类型“{0}”会导致当前程序集中发生名称冲突。请考虑将“嵌入互操作类型”属性设置为 false。 + + The CallerLineNumberAttribute applied to parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments + 应用于形参“{0}”的 CallerLineNumberAttribute 将不起任何作用,因为它适用于不允许指定可选实参的上下文中使用的成员 - - A reference was created to embedded interop assembly '{0}' because of an indirect reference to that assembly created by assembly '{1}'. Consider changing the 'Embed Interop Types' property on either assembly. - 由于程序集“{1}”创建了对嵌入互操作程序集“{0}”的间接引用,因此创建了对该程序集的引用。请考虑更改其中一个程序集的“嵌入互操作类型”属性。 + + The CallerLineNumberAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments + CallerLineNumberAttribute 将不起任何作用,因为它适用于不允许可选参数的上下文中使用的成员 - - A reference was created to embedded interop assembly because of an indirect assembly reference - 由于使用间接程序集引用,因此创建了对嵌入互操作程序集的引用 + + The CallerFilePathAttribute applied to parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments + 应用到参数“{0}”的 CallerFilePathAttribute 将不起作用,因为它应用到的成员在不允许使用可选参数的上下文中使用 - - You have added a reference to an assembly using /link (Embed Interop Types property set to True). This instructs the compiler to embed interop type information from that assembly. However, the compiler cannot embed interop type information from that assembly because another assembly that you have referenced also references that assembly using /reference (Embed Interop Types property set to False). - -To embed interop type information for both assemblies, use /link for references to each assembly (set the Embed Interop Types property to True). - -To remove the warning, you can use /reference instead (set the Embed Interop Types property to False). In this case, a primary interop assembly (PIA) provides interop type information. - 使用 /link 添加了对程序集的引用(“嵌入互操作类型”属性设置为 True)。这指示编译器嵌入来自该程序集的互操作类型信息。但是,编译器无法嵌入来自该程序集的互操作类型信息,因为已引用的另一个程序集也使用 /reference 引用该程序集(“嵌入互操作类型”属性设置为 False)。 - -要嵌入两个程序集的互操作类型信息,请对每个程序集的引用使用 /link (将“嵌入互操作类型”属性设置为 True)。 - -要移除警告,可以改用 /reference (将“嵌入互操作类型”属性设置为 False)。在这种情况下,主互操作程序集 (PIA) 会提供互操作类型信息。 + + The CallerFilePathAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments + CallerFilePathAttribute 将不起作用,因为它应用到的成员在不允许使用可选参数的上下文中使用 - - Type '{0}' from assembly '{1}' cannot be used across assembly boundaries because it has a generic type argument that is an embedded interop type. - 无法跨程序集边界使用程序集“{1}”中的类型“{0}”,因为它有身为嵌入的互操作类型的泛型类型参数。 + + The CallerMemberNameAttribute applied to parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments + 应用于形参“{0}”的 CallerMemberNameAttribute 将不起任何作用,因为它适用于不允许指定可选实参的上下文中使用的成员 - - Cannot find the interop type that matches the embedded interop type '{0}'. Are you missing an assembly reference? - 找不到与嵌入互操作类型“{0}”相匹配的互操作类型。是否缺少程序集引用? + + The CallerMemberNameAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments + CallerMemberNameAttribute 将不起任何作用,因为它适用于不允许可选参数的上下文中使用的成员 - - By-reference return type 'ref {0}' is not supported. - 不支持按引用返回类型“ref {0}”。 + + Program does not contain a static 'Main' method suitable for an entry point + 程序不包含适合于入口点的静态 "Main" 方法 - - Module name '{0}' stored in '{1}' must match its filename. - 存储在“{1}”中的模块名“{0}”必须与其文件名匹配。 + + An array initializer of length '{0}' is expected + 应为一个长度为“{0}”的数组初始值设定项 - - Invalid module name: {0} - 无效的模块名称: {0} + + A nested array initializer is expected + 应输入嵌套数组初始值设定项 - - Invalid '{0}' value: '{1}'. - “{0}”值无效:“{1}”。 + + Invalid variance modifier. Only interface and delegate type parameters can be specified as variant. + 方差修饰符无效。只有接口和委托类型的参数可以指定为变量。 - - AppConfigPath must be absolute. - AppConfigPath 必须是绝对的。 + + Unexpected use of an aliased name + 意外使用了别名 - - Attribute '{0}' from module '{1}' will be ignored in favor of the instance appearing in source - 来自模块“{1}”的特性“{0}”将忽略,以便支持源中出现的实例 + + Unexpected use of a generic name + 意外使用了通用名称 - - Attribute will be ignored in favor of the instance appearing in source - 将忽略特性,以便支持源中出现的实例 + + Unexpected use of an unbound generic name + 意外使用了未绑定的通用名称 - - Attribute '{0}' given in a source file conflicts with option '{1}'. - 源文件中提供的特定“{0}”与选项“{1}”冲突。 + + Expressions and statements can only occur in a method body + 表达式和语句只能在方法体中出现 - - A fixed buffer may only have one dimension. - 固定缓冲区只能有一个维度。 + + An array access may not have a named argument specifier + 数组访问可能没有命名参数说明符 - - Referenced assembly '{0}' does not have a strong name. - 引用程序集“{0}”没有强名称。 + + This language feature ('{0}') is not yet implemented. + 尚未实现此语言功能(“{0}”)。 + + + + Default values are not valid in this context. + 默认值在此上下文中无效。 - - Referenced assembly does not have a strong name - 引用程序集没有强名称 + + Error opening icon file {0} -- {1} + 打开图标文件 {0} 时出错 -- {1} - - Invalid signature public key specified in AssemblySignatureKeyAttribute. - 在 AssemblySignatureKeyAttribute 中指定的签名公钥无效。 + + Error opening Win32 manifest file {0} -- {1} + 打开 Win32 清单文件 {0} 时出错 -- {1} - - Type '{0}' exported from module '{1}' conflicts with type declared in primary module of this assembly. - 从模块“{1}”导出的类型“{0}”与此程序集主模块中声明的类型冲突。 + + Error building Win32 resources -- {0} + 生成 Win32 资源时出错 -- {0} - - Type '{0}' exported from module '{1}' conflicts with type '{2}' exported from module '{3}'. - 从模块“{1}”导出的类型“{0}”与从模块“{3}”导出的类型“{2}”冲突。 + + Optional parameters must appear after all required parameters + 可选参数必须出现在所有必需参数之后 - - Forwarded type '{0}' conflicts with type declared in primary module of this assembly. - 转发的类型“{0}”与此程序集主模块中声明的类型冲突。 + + Cannot inherit interface '{0}' with the specified type parameters because it causes method '{1}' to contain overloads which differ only on ref and out + 无法使用指定的类型参数继承接口“{0}”,因为它会导致方法“{1}”包含仅在 ref 和 out 上存在不同的重载 - - Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' forwarded to assembly '{3}'. - 转发到程序集“{1}”的类型“{0}”与转发到程序集“{3}”的类型“{2}”冲突。 + + Partial declarations of '{0}' must have the same type parameter names and variance modifiers in the same order + “{0}”的分部声明必须具有相同类型的参数名和差异修饰符,同时顺序也必须相同 - - Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' exported from module '{3}'. - 转发到程序集“{1}”的类型“{0}”与从模块“{3}”导出的类型“{2}”冲突。 + + Invalid variance: The type parameter '{1}' must be {3} valid on '{0}'. '{1}' is {2}. + 差异无效: 类型参数“{1}”必须是在“{0}”上有效的 {3}。“{1}”为 {2}。 - - Referenced assembly '{0}' has different culture setting of '{1}'. - 引用程序集“{0}”具有不同区域性设置“{1}”。 + + '{0}': cannot derive from the dynamic type + '“{0}”: 无法从动态类型派生 - - Referenced assembly has different culture setting - 引用程序集具有不同区域性设置 + + '{0}': cannot implement a dynamic interface '{1}' + '“{0}”: 无法实现动态接口“{1}” - - Agnostic assembly cannot have a processor specific module '{0}'. - 不可知的程序集不能具有特定于处理器的模块“{0}”。 + + Constraint cannot be the dynamic type + 约束不能为动态类型 - - Assembly and module '{0}' cannot target different processors. - 程序集和模块“{0}”不能以不同处理器为目标。 + + Constraint cannot be a dynamic type '{0}' + 约束不能是动态类型“{0}” - - Referenced assembly '{0}' targets a different processor. - 引用程序集“{0}”面向的是另一个处理器。 + + One or more types required to compile a dynamic expression cannot be found. Are you missing a reference? + 找不到编译动态表达式所需的一个或多个类型。是否缺少引用? - - Referenced assembly targets a different processor - 引用程序集面向的是另一个处理器 + + Name '{0}' exceeds the maximum length allowed in metadata. + 名称“{0}”超出元数据中允许的最大长度。 - - Cryptographic failure while creating hashes. - 创建哈希时加密失败。 + + Attributes are not valid in this context. + 特性在此上下文中无效。 - - Reference to '{0}' netmodule missing. - 缺少对“{0}”netmodule 的引用。 + + 'extern alias' is not valid in this context + '“外部别名”在此上下文中无效 - - Module '{0}' is already defined in this assembly. Each module must have a unique filename. - 模块“{0}”已在此程序集中定义。每个模块必须具有唯一的文件名。 + + Using '{0}' to test compatibility with '{1}' is essentially identical to testing compatibility with '{2}' and will succeed for all non-null values + 使用“{0}”测试与“{1}”的兼容性和测试与“{2}”的兼容性实质上是相同的,且对于所有非 null 值都将成功 - - Cannot read config file '{0}' -- '{1}' - 无法读取配置文件“{0}”--“{1}” + + Using 'is' to test compatibility with 'dynamic' is essentially identical to testing compatibility with 'Object' + 使用 "is" 测试与 "dynamic" 的兼容性和测试与 "object" 的兼容性实质上是相同的 - - Cannot continue since the edit includes a reference to an embedded type: '{0}'. - 无法继续,因为编辑包括对嵌入类型的引用:“{0}”。 + + Cannot use 'yield' in top-level script code + 无法在顶级脚本代码中使用“yield” - - Member '{0}' added during the current debug session can only be accessed from within its declaring assembly '{1}'. - 在当前调试会话期间添加的成员“{0}”只能从其声明的程序集“{1}”中访问。 + + Cannot declare namespace in script code + 无法在脚本代码中声明命名空间 - - Compilation options '{0}' and '{1}' can't both be specified at the same time. - 无法同时指定编译选项“{0}”和“{1}”。 + + Assembly and module attributes are not allowed in this context + 在此上下文中不允许有程序集和模块特性 - - Linked netmodule metadata must provide a full PE image: '{0}'. - 链接 netmodule 元数据必须提供完整 PE 映像:“{0}”。 + + Delegate '{0}' has no invoke method or an invoke method with a return type or parameter types that are not supported. + 委托“{0}”没有调用方法,或调用方法有不受支持的返回类型或参数类型。 - - /platform:anycpu32bitpreferred can only be used with /t:exe, /t:winexe and /t:appcontainerexe - /platform:anycpu32bitpreferred 只能与 /t:exe、/t:winexe 和 /t:appcontainerexe 一起使用 + + The entry point of the program is global script code; ignoring '{0}' entry point. + 程序的入口点是全局脚本代码;正在忽略“{0}”入口点。 - - <path list> - <路径列表> + + The entry point of the program is global script code; ignoring entry point + 程序的入口点是全局脚本代码;正在忽略入口点 - - <text> - <文本> + + The second operand of an 'is' or 'as' operator may not be static type '{0}' + “is”或“as”运算符的第二个操作数不能是静态类型“{0}” - - null propagating operator - 空传播运算符 + + Inconsistent accessibility: event type '{1}' is less accessible than event '{0}' + 可访问性不一致: 事件类型“{1}”的可访问性低于事件“{0}” - - expression-bodied method - expression-bodied 方法 + + Named argument specifications must appear after all fixed arguments have been specified. Please use language version {0} or greater to allow non-trailing named arguments. + 命名参数规范必须出现在所有固定参数都已指定完毕后。请使用语言版本 {0} 或更高版本,以允许非尾随命名参数。 - - expression-bodied property - expression-bodied 属性 + + Named argument specifications must appear after all fixed arguments have been specified in a dynamic invocation. + 命名参数规范必须出现在已在动态调用中指定所有固定参数之后。 - - expression-bodied indexer - expression-bodied 索引器 + + The best overload for '{0}' does not have a parameter named '{1}' + “{0}”的最佳重载没有名为“{1}”的参数 - - auto property initializer - 自动属性初始值设定项 + + The delegate '{0}' does not have a parameter named '{1}' + 委托“{0}”没有名为“{1}”的参数 - - <namespace> - <命名空间> + + Named argument '{0}' cannot be specified multiple times + 不能多次指定所命名的参数“{0}”。 - - byref locals and returns - byref 局部变量和返回 + + Named argument '{0}' specifies a parameter for which a positional argument has already been given + 命名参数“{0}”指定的形参已被赋予位置参数 - - readonly references - 只读引用 + + Named argument '{0}' is used out-of-position but is followed by an unnamed argument + 命名参数“{0}”的使用位置不当,但后跟一个未命名参数 - - ref structs - ref 结构 + + Cannot specify default parameter value in conjunction with DefaultParameterAttribute or OptionalAttribute + 不能同时指定默认参数值与 DefaultParameterAttribute 或 OptionalAttribute - - Compilation (C#): - 编译(C#): + + Default parameter value for '{0}' must be a compile-time constant + “{0}”的默认参数值必须是编译时常量 - - Syntax node is not within syntax tree - 语法节点不在语法树中 + + A ref or out parameter cannot have a default value + ref 或 out 参数不能有默认值 - - Location must be provided in order to provide minimal type qualification. - 必须提供位置才能提供最低程度的类型限定。 + + Cannot specify a default value for the 'this' parameter + 不能为 "this" 参数指定默认值 - - SyntaxTreeSemanticModel must be provided in order to provide minimal type qualification. - 必须提供 SyntaxTreeSemanticModel 才能提供最低程度的类型限定。 + + Cannot specify a default value for a parameter array + 无法为参数数组指定默认值 - - Can't reference compilation of type '{0}' from {1} compilation. - 无法从 {1} 编译引用类型为“{0}”的编译。 + + A value of type '{0}' cannot be used as a default parameter because there are no standard conversions to type '{1}' + 不能将“{0}”类型的值用作默认参数,因为没有到类型“{1}”的标准转换 - - Syntax tree already present - 语法树已存在 + + A value of type '{0}' cannot be used as default parameter for nullable parameter '{1}' because '{0}' is not a simple type + 无法将类型为“{0}”的值用作可以为 null 的参数“{1}”的默认参数,因为“{0}”不是简单类型 - - Submission can only include script code. - 提交只能包含脚本代码。 + + '{0}' is of type '{1}'. A default parameter value of a reference type other than string can only be initialized with null + '“{0}”的类型为“{1}”。只能用 Null 对引用类型(字符串除外)的默认参数值进行初始化 - - Submission can have at most one syntax tree. - 提交最多可以具有一个语法树。 + + The default value specified for parameter '{0}' will have no effect because it applies to a member that is used in contexts that do not allow optional arguments + 为形参“{0}”指定的默认值将不起任何作用,因为它适用于在不允许指定可选实参的上下文中使用的成员 - - tree must have a root node with SyntaxKind.CompilationUnit - 树必须具有带 SyntaxKind.CompilationUnit 的根节点 + + The default value specified will have no effect because it applies to a member that is used in contexts that do not allow optional arguments + 指定的默认值将不起任何作用,因为它适用于不允许可选参数的上下文中使用的成员 - - Type argument cannot be null - 类型参数不能是 null + + Error signing output with public key from file '{0}' -- {1} + 使用来自文件“{0}”的公钥对输出签名时出错 -- {1} - - Wrong number of type arguments - 类型参数的数目不正确 + + Error signing output with public key from container '{0}' -- {1} + 使用来自容器“{0}”的公钥对输出签名时出错 -- {1} - - Name conflict for name {0} - 名称 {0} 出现名称冲突 + + The typeof operator cannot be used on the dynamic type + typeof 运算符不能用在动态类型上 - - LookupOptions has an invalid combination of options - LookupOptions 具有无效的选项组合 + + An expression tree may not contain a dynamic operation + 表达式树不能包含动态操作 - - items: must be non-empty - 项目: 不能为空 + + Async lambda expressions cannot be converted to expression trees + 异步 lambda 表达式无法转换为表达式树 - - Use Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Identifier or Microsoft.CodeAnalysis.CSharp.SyntaxFactory.VerbatimIdentifier to create identifier tokens. - 使用 Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Identifier 或 Microsoft.CodeAnalysis.CSharp.SyntaxFactory.VerbatimIdentifier 可创建标识符标记。 + + Cannot define a class or member that utilizes 'dynamic' because the compiler required type '{0}' cannot be found. Are you missing a reference? + 无法定义使用“dynamic”的类或成员,因为找不到编译器所需的类型“{0}”。是否缺少引用? - - Use Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Literal to create character literal tokens. - 使用 Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Literal 可创建字符文本标记。 + + Cannot pass null for friend assembly name + 无法为友元程序集名称传递 null - - Use Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Literal to create numeric literal tokens. - 使用 Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Literal 可创建数字文本标记。 + + Key file '{0}' is missing the private key needed for signing + 密钥文件“{0}”缺少签名所需的私钥 - - This method can only be used to create tokens - {0} is not a token kind. - 此方法只能用于创建标记 - {0} 不出标记类型。 + + Public signing was specified and requires a public key, but no public key was specified. + 指定了公共签名并需要公钥,但未指定公钥。 - - Generic parameter is definition when expected to be reference {0} - 泛型参数是定义,但应是引用 {0} + + Public signing is not supported for netmodules. + netmodule 不支持公共签名。 - - Called GetDeclarationName for a declaration node that can possibly contain multiple variable declarators. - 为可能包含多个变量声明符的声明节点调用了 GetDeclarationName。 + + Delay signing was specified and requires a public key, but no public key was specified + 指定了延迟签名,这需要公钥,但是未指定任何公钥 - - tree not part of compilation - 树不属于编译 + + Delay signing was specified and requires a public key, but no public key was specified + 指定了延迟签名,这需要公钥,但是未指定任何公钥 - - Position is not within syntax tree with full span {0} - 位置不在具有完整范围 {0} 的语法树中 + + The specified version string does not conform to the required format - major[.minor[.build[.revision]]] + 指定版本字符串不符合所需格式 - major[.minor[.build[.revision]]] - - The language name '{0}' is invalid. - 语言名“{0}”无效。 + + The specified version string contains wildcards, which are not compatible with determinism. Either remove wildcards from the version string, or disable determinism for this compilation + 指定的版本字符串包含通配符,这与确定性不兼容。请删除版本字符串中的通配符,或禁用此编译的确定性。 - - The language name is invalid - 语言名无效 + + The specified version string does not conform to the required format - major.minor.build.revision (without wildcards) + 指定的版本字符串不符合所需格式 - major.minor.build.revision (不带通配符) - - Transparent identifier member access failed for field '{0}' of '{1}'. Does the data being queried implement the query pattern? - 针对“{1}”的字段“{0}”的透明标识符成员访问失败。所查询的数据是否实现查询模式? + + The specified version string does not conform to the recommended format - major.minor.build.revision + 指定版本字符串不符合建议格式 - major.minor.build.revision - - The parameter has multiple distinct default values. - 参数具有多个不同的默认值。 + + The specified version string does not conform to the recommended format - major.minor.build.revision + 指定版本字符串不符合建议格式 - major.minor.build.revision - - The field has multiple distinct constant values. - 字段具有多个不同的常量值。 + + Executables cannot be satellite assemblies; culture should always be empty + 可执行文件不能是附属程序集;区域性应始终为空 - - Within cref attributes, nested types of generic types should be qualified. - 在 cref 特性中,应限定泛型类型的嵌套类型。 + + There is no argument given that corresponds to the required formal parameter '{0}' of '{1}' + 未提供与“{1}”的必需形参“{0}”对应的实参 - - Within cref attributes, nested types of generic types should be qualified - 在 cref 特性中,应限定泛型类型的嵌套类型 + + The command line switch '{0}' is not yet implemented and was ignored. + 命令行开关“{0}”尚未实现,已忽略。 - - Not a C# symbol. - 不是 C# 符号。 + + Command line switch is not yet implemented + 命令行开关尚未实现 - - Unnecessary using directive. - 不需要的 using 指令。 + + Failed to emit module '{0}'. + 未能发出模块“{0}”。 - - Unused extern alias. - 未使用的外部别名。 + + Cannot use fixed local '{0}' inside an anonymous method, lambda expression, or query expression + 在匿名方法、lambda 表达式或查询表达式中不能使用固定的局部变量“{0}” - - Elements cannot be null. - 元素不能为 Null。 + + An expression tree may not contain a named argument specification + 表达式树可能不包含命名参数规范 - - LIB environment variable - LIB 环境变量 + + An expression tree may not contain a call or invocation that uses optional arguments + 表达式树可能不包含使用可选参数的调用 - - /LIB option - /LIB 选项 + + An expression tree may not contain an indexed property + 表达式树不能包含索引属性 - - /REFERENCEPATH option - /REFERENCEPATH 选项 + + Indexed property '{0}' has non-optional arguments which must be provided + 索引属性“{0}”具有必须提供的非可选参数 - - directory does not exist - 目录不存在 + + Indexed property '{0}' must have all arguments optional + 索引属性“{0}”的所有参数都必须可选 - - path is too long or invalid - 路径太长或无效 + + Instance of type '{0}' cannot be used inside a nested function, query expression, iterator block or async method + “{0}”类型的实例不能在嵌套函数、查询表达式、迭代器块或异步方法中使用 - - No value for RuntimeMetadataVersion found. No assembly containing System.Object was found nor was a value for RuntimeMetadataVersion specified through options. - 找不到 RuntimeMetadataVersion 的值。找不到包含 System.Object 的程序集,或未通过选项为 RuntimeMetadataVersion 指定值。 + + First argument to a security attribute must be a valid SecurityAction + 安全特性的第一个参数必须是有效的 SecurityAction - - No value for RuntimeMetadataVersion found - 找不到 RuntimeMetadataVersion 的值 + + Security attribute '{0}' has an invalid SecurityAction value '{1}' + 安全特性“{0}”具有无效 SecurityAction 值“{1}” - - Expected a {0} SemanticModel. - 应为 {0} SemanticModel。 + + SecurityAction value '{0}' is invalid for security attributes applied to an assembly + SecurityAction 值“{0}”对于应用于程序集的安全特性无效 - - lambda expression - lambda 表达式 + + SecurityAction value '{0}' is invalid for security attributes applied to a type or a method + SecurityAction 值“{0}”对于应用于类型或方法的安全特性无效 - - Feature '{0}' is not available in C# 1. Please use language version {1} or greater. - 功能“{0}”在 C# 1 中不可用。请使用 {1} 或更高的语言版本。 + + SecurityAction value '{0}' is invalid for PrincipalPermission attribute + SecurityAction 值“{0}”对于 PrincipalPermission 特性无效 - - Feature '{0}' is not available in C# 2. Please use language version {1} or greater. - 功能“{0}”在 C# 2 中不可用。请使用 {1} 或更高的语言版本。 + + An expression tree may not contain '{0}' + 表达式树不能包含“{0}” - - Feature '{0}' is not available in C# 3. Please use language version {1} or greater. - 功能“{0}”在 C# 3 中不可用。请使用 {1} 或更高的语言版本。 + + Unable to resolve file path '{0}' specified for the named argument '{1}' for PermissionSet attribute + 无法解析为 PermissionSet 特性的命名参数“{1}”指定的文件路径“{0}” - - Feature '{0}' is not available in C# 4. Please use language version {1} or greater. - 功能“{0}”在 C# 4 中不可用。请使用 {1} 或更高的语言版本。 + + Error reading file '{0}' specified for the named argument '{1}' for PermissionSet attribute: '{2}' + 读取为 PermissionSet 特性的命名参数“{1}”指定的文件“{0}”时出错:“{2}” - - Feature '{0}' is not available in C# 5. Please use language version {1} or greater. - 功能“{0}”在 C# 5 中不可用。请使用 {1} 或更高的语言版本。 + + The type name '{0}' could not be found in the global namespace. This type has been forwarded to assembly '{1}' Consider adding a reference to that assembly. + 未能在全局命名空间中找到类型名“{0}”。此类型已转发到程序集“{1}”。请考虑添加对该程序集的引用。 - - Feature '{0}' is not available in C# 6. Please use language version {1} or greater. - 功能“{0}”在 C# 6 中不可用。请使用 {1} 或更高的语言版本。 + + The type name '{0}' could not be found in the namespace '{1}'. This type has been forwarded to assembly '{2}' Consider adding a reference to that assembly. + 未能在命名空间“{1}”中找到类型名“{0}”。此类型已转发到程序集“{2}”。请考虑添加对该程序集的引用。 - - Feature '{0}' is not available in C# 7.0. Please use language version {1} or greater. - C# 7.0 中不支持功能“{0}”。请使用 {1} 或更高的语言版本。 + + The type name '{0}' could not be found. This type has been forwarded to assembly '{1}'. Consider adding a reference to that assembly. + 未能找到类型名“{0}”。此类型已转发到程序集“{1}”。请考虑添加对该程序集的引用。 - - Feature '{0}' is not implemented in this compiler. - 此编译器中未实现功能“{0}”。 + + Assemblies '{0}' and '{1}' refer to the same metadata but only one is a linked reference (specified using /link option); consider removing one of the references. + 程序集“{0}”和“{1}”引用相同元数据,但是只有一个是链接引用(使用 /link 选项指定);请考虑删除其中一个引用。 - - 'experimental' - '“实验” + + The best overloaded Add method '{0}' for the collection initializer element is obsolete. + 与集合初始值设定项元素最匹配的重载 Add 方法“{0}”已过时。 + + + + The best overloaded Add method for the collection initializer element is obsolete + 与集合初始值设定项元素最匹配的重载 Add 方法已过时 - - Position must be within span of the syntax tree. - 位置必须处于语法树范围内。 + + The best overloaded Add method '{0}' for the collection initializer element is obsolete. {1} + 与集合初始值设定项元素最匹配的重载 Add 方法“{0}”已过时。{1} - - Syntax node to be speculated cannot belong to a syntax tree from the current compilation. - 要推断的语法节点不能属于来自当前编译的语法树。 + + The best overloaded Add method for the collection initializer element is obsolete + 与集合初始值设定项元素最匹配的重载 Add 方法已过时 - - Chaining speculative semantic model is not supported. You should create a speculative model from the non-speculative ParentModel. - 不支持链接推理语义模型。应从非推理 ParentModel 创建推理模型。 + + The best overloaded Add method '{0}' for the collection initializer element is obsolete. {1} + 与集合初始值设定项元素最匹配的重载 Add 方法“{0}”已过时。{1} - - Microsoft (R) Visual C# Compiler - Microsoft(R) Visual C# 编译器 + + Yield statements may not appear at the top level in interactive code. + Yield 语句不能出现在交互代码中的顶层。 - - {0} version {1} - {0} 版本 {1} + + Security attribute '{0}' is not valid on this declaration type. Security attributes are only valid on assembly, type and method declarations. + 安全特性“{0}”对此声明类型无效。安全特性仅对程序集、类型和方法声明有效。 - - Copyright (C) Microsoft Corporation. All rights reserved. - 版权所有(C) Microsoft Corporation。保留所有权利。 + + Cannot use an expression of type '{0}' as an argument to a dynamically dispatched operation. + 无法将类型为“{0}”的表达式用作动态调度的操作的参数。 - - Supported language versions: - 支持的语言版本: + + Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type. + 如果不事先将 lambda 表达式强制转换为委托或表达式树类型,则无法将该表达式用作动态调度的操作的参数。 - - - Visual C# Compiler Options - - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. - - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. - - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] - - - CODE GENERATION - --debug[+|-] Emit debugging information --debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. - - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. - - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. --nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. - - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR - - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. - - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections --pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module - - - Visual C# 编译器选项 - - - 输出文件 - --out:<file> 指定输出文件名称(默认: 具有主类的文件或 - 第一个文件的基名称) --target:exe 生成控制台可执行文件(默认)(缩 - 写: -t:exe) --target:winexe 生成 Windows 可执行文件(缩写: - -t:winexe) --target:library 生成库(缩写: -t:library) --target:module 生成可添加到另一个程序集的 - 模块(缩写: -t:module) --target:appcontainerexe 生成 Appcontainer 可执行文件(缩写: - -t:appcontainerexe) --target:winmdobj 生成 WinMDExp 使用的 - Windows 运行时中间文件(缩写: -t:winmdobj) --doc:<file> 要生成的 XML 文档文件 --refout:<file> 要生成的引用程序集输出 --platform:<string> 限制此代码可以在其上运行的平台: x86、 - Itanium、x64、arm、arm64、anycpu32bitpreferred 或 - anycpu。默认平台为 anycpu。 - - - 输入文件 - --recurse:<wildcard> 根据通配符规范包括当前目录和 - 子目录中的所有 - 文件 --reference:<alias >=<file> 使用给定别名从指定程序集 - 引用元数据(缩写: -r) --reference:<file list> 从指定程序集文件引用 - 元数据(缩写: -r) --addmodule:<file list> 将指定模块链接到此程序集中 --link:<file list> 嵌入指定互操作程序集文件中的 - 元数据(缩写: -l) --analyzer:<file list> 运行此程序集中的分析器 - (缩写: -a) --additionalfile:<file list> 不会直接影响代码生成 - 但可能被分析器用于生成 - 错误或警告的其他文件。 --embed 嵌入 PDB 中的所有源文件。 --embed:<file list> 嵌入 PDB 中的特定文件 - - - 资源 - --win32res:<file> 指定 Win32 资源文件(.res) --win32icon:<file> 使用此图标输出 --win32manifest:<file> 指定 Win32 清单文件(.xml) --nowin32manifest 不包括默认的 Win32 清单 --resource:<resinfo> 嵌入指定资源(缩写: -res) --linkresource:<resinfo> 将指定资源链接到此程序集 - (缩写: -linkres)其中 resinfo 的格式 - 是 <文件>[,<字符串名称>[,public|private]] - - - 代码生成 - --debug[+|-] 发出调试信息 --debug:{full|pdbonly|portable|embedded} - 指定调试类型(默认为 "full", - "portable" 为跨平台格式, - "embedded" 为嵌入目标 .dll 或 .exe 的 - 跨平台格式) --optimize[+|-] 启用优化(缩写: -o) --deterministic 生成确定性的程序集 - (包括模块版本 GUID 和时间戳) --refonly 生成引用程序集来替换主要输出 --instrument:TestCoverage 生成对其检测以收集覆盖率信息的 - 程序集 --sourcelink:<file> 要嵌入到 PDB 中的源链接信息。 + + Cannot use a method group as an argument to a dynamically dispatched operation. Did you intend to invoke the method? + 无法将方法组用作动态调度的操作的参数。是否要调用该方法? + + + + The call to method '{0}' needs to be dynamically dispatched, but cannot be because it is part of a base access expression. Consider casting the dynamic arguments or eliminating the base access. + 需要动态调度对方法“{0}”的调用,但无法实现,因为该调用是基访问表达式的一部分。请考虑强制转换动态参数或消除基访问。 + + + + Query expressions over source type 'dynamic' or with a join sequence of type 'dynamic' are not allowed + 不允许源类型 "dynamic" 上或具有类型 "dynamic" 的连接序列的查询表达式 + + + + The indexer access needs to be dynamically dispatched, but cannot be because it is part of a base access expression. Consider casting the dynamic arguments or eliminating the base access. + 索引器访问需要进行动态调度,但未能如此,因为它是基访问表达式的一般分。请考虑强制转换动态参数或消除基访问。 + + + + The dynamically dispatched call to method '{0}' may fail at runtime because one or more applicable overloads are conditional methods. + 动态调度的方法“{0}”调用可能会在运行时失败,因为一个或多个适用的重载为条件方法。 + + + + Dynamically dispatched call may fail at runtime because one or more applicable overloads are conditional methods + 动态调度的调用可能会在运行时失败,因为一个或多个适用的重载为条件方法 + + + + '{0}' has no applicable method named '{1}' but appears to have an extension method by that name. Extension methods cannot be dynamically dispatched. Consider casting the dynamic arguments or calling the extension method without the extension method syntax. + '“{0}”不具有名为“{1}”的适用方法,但是似乎有该名称的扩展方法。无法动态调度扩展方法。请考虑强制转换动态参数或在不使用扩展方法语法的情况下调用扩展方法。 + + + + The CallerMemberNameAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerFilePathAttribute. + 应用于参数“{0}”的 CallerMemberNameAttribute 将不起任何作用。它由 CallerFilePathAttribute 重写。 + + + + The CallerMemberNameAttribute will have no effect; it is overridden by the CallerFilePathAttribute + CallerMemberNameAttribute 将不起任何作用;它由 CallerFilePathAttribute 重写 + + + + The CallerMemberNameAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerLineNumberAttribute. + 应用于参数“{0}”的 CallerMemberNameAttribute 将不起任何作用。它由 CallerLineNumberAttribute 重写。 + + + + The CallerMemberNameAttribute will have no effect; it is overridden by the CallerLineNumberAttribute + CallerMemberNameAttribute 将不起任何作用;它由 CallerLineNumberAttribute 重写 + + + + The CallerFilePathAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerLineNumberAttribute. + 应用于参数“{0}”的 CallerFilePathAttribute 将不起任何作用。它由 CallerLineNumberAttribute 重写。 + + + + The CallerFilePathAttribute will have no effect; it is overridden by the CallerLineNumberAttribute + CallerFilePathAttribute 将不起任何作用;它由 CallerLineNumberAttribute 重写 + + + + Expression must be implicitly convertible to Boolean or its type '{0}' must define operator '{1}'. + 表达式必须可隐式转换为布尔值,或其类型“{0}”必须定义运算符“{1}”。 + + + + '{0}' cannot implement '{1}' because '{2}' is a Windows Runtime event and '{3}' is a regular .NET event. + '“{0}”无法实现“{1}”,因为“{2}”是 Windows 运行时事件,“{3}”是常规 .NET 事件。 + + + + Call System.IDisposable.Dispose() on allocated instance of {0} before all references to it are out of scope. + 请在对 {0} 的所有引用超出范围之前,对它的分配实例调用 Call System.IDisposable.Dispose()。 + + + + Call System.IDisposable.Dispose() on allocated instance before all references to it are out of scope + 在对已分配实例的所有引用超出范围之前,对它调用 System.IDisposable.Dispose() + + + + Allocated instance of {0} is not disposed along all exception paths. Call System.IDisposable.Dispose() before all references to it are out of scope. + {0} 的分配实例未按所有异常路径释放。请在对它的所有引用超出范围之前,调用 Call System.IDisposable.Dispose()。 + + + + Allocated instance is not disposed along all exception paths + 已分配实例未按所有异常路径释放 + + + + Object '{0}' can be disposed more than once. + 可以多次释放对象“{0}”。 + + + + Object can be disposed more than once + 可以多次释放对象 + + + + Interop type '{0}' cannot be embedded. Use the applicable interface instead. + 无法嵌入互操作类型“{0}”。请改用适用的接口。 + + + + Type '{0}' cannot be embedded because it is a nested type. Consider setting the 'Embed Interop Types' property to false. + 无法嵌入类型“{0}”,因为它是嵌套类型。请考虑将“嵌入互操作类型”属性设置为 false。 + + + + Type '{0}' cannot be embedded because it has a generic argument. Consider setting the 'Embed Interop Types' property to false. + 无法嵌入类型“{0}”,因为它有泛型参数。请考虑将“嵌入互操作类型”属性设置为 false。 + + + + Embedded interop struct '{0}' can contain only public instance fields. + 嵌入互操作结构“{0}”只能包含公共实例字段。 + + + + A Windows Runtime event may not be passed as an out or ref parameter. + 无法作为 out 或 ref 参数传递 Windows 运行时事件。 + + + + Source interface '{0}' is missing method '{1}' which is required to embed event '{2}'. + 源接口“{0}”缺少方法“{1}”,此方法对嵌入事件“{2}”是必需的。 + + + + Interface '{0}' has an invalid source interface which is required to embed event '{1}'. + 接口“{0}”的源接口无效,该源接口是嵌入事件“{1}”所必需的。 + + + + Interop type '{0}' cannot be embedded because it is missing the required '{1}' attribute. + 无法嵌入互操作类型“{0}”,因为它缺少必需的“{1}”特性。 + + + + Cannot embed interop types from assembly '{0}' because it is missing the '{1}' attribute. + 无法嵌入来自程序集“{0}”的互操作类型,因为它缺少“{1}”特性。 + + + + Cannot embed interop types from assembly '{0}' because it is missing either the '{1}' attribute or the '{2}' attribute. + 无法嵌入来自程序集“{0}”的互操作类型,因为它缺少“{1}”特性或“{2}”特性。 + + + + Cannot embed interop type '{0}' found in both assembly '{1}' and '{2}'. Consider setting the 'Embed Interop Types' property to false. + 无法嵌入在程序集“{1}”和“{2}”中同时找到的互操作类型“{0}”。请考虑将“嵌入互操作类型”属性设置为 false。 + + + + Embedding the interop type '{0}' from assembly '{1}' causes a name clash in the current assembly. Consider setting the 'Embed Interop Types' property to false. + 嵌入来自程序集“{1}”的互操作类型“{0}”会导致当前程序集中发生名称冲突。请考虑将“嵌入互操作类型”属性设置为 false。 + + + + A reference was created to embedded interop assembly '{0}' because of an indirect reference to that assembly created by assembly '{1}'. Consider changing the 'Embed Interop Types' property on either assembly. + 由于程序集“{1}”创建了对嵌入互操作程序集“{0}”的间接引用,因此创建了对该程序集的引用。请考虑更改其中一个程序集的“嵌入互操作类型”属性。 + + + + A reference was created to embedded interop assembly because of an indirect assembly reference + 由于使用间接程序集引用,因此创建了对嵌入互操作程序集的引用 + + + + You have added a reference to an assembly using /link (Embed Interop Types property set to True). This instructs the compiler to embed interop type information from that assembly. However, the compiler cannot embed interop type information from that assembly because another assembly that you have referenced also references that assembly using /reference (Embed Interop Types property set to False). - - 错误和警告 - --warnaserror[+|-] 将所有警告报告为错误 --warnaserror[+|-]:<warn list> 将特定警告报告为错误 --warn:<n> 设置警告级别(0-4)(缩写: -w) --nowarn:<warn list> 禁用特定警告消息 --ruleset:<file> 指定禁用特定诊断的 - 规则集文件。 --errorlog:<file> 指定用于记录所有编译器和分析器诊断的 - 文件。 --reportanalyzer 报告其他分析器信息,如 - 执行时间。 - - - 语言 - --checked[+|-] 生成溢出检查 --unsafe[+|-] 允许 "unsafe" 代码 --define:<symbol list> 定义条件编译符号(缩 - 写: -d) --langversion:? 显示允许的语言版本值 --langversion:<string> 指定语言版本,如 - “default” (最新主要版本)、 - “latest” (最新版本,包括次要版本) - 或 “6”、”7.1”等特定版本 --nullable[+|-] 指定可为 null 的上下文选项 enable|disable。 --nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - 指定可为 null 的上下文选项 enable|disable|safeonly|warnings|safeonlywarnings。 +To embed interop type information for both assemblies, use /link for references to each assembly (set the Embed Interop Types property to True). - - 安全 - --delaysign[+|-] 仅使用强名称密钥的公共部分对程序集 - 进行延迟签名 --publicsign[+|-] 仅使用强名称密钥的公共部分对程序集 - 进行公共签名 --keyfile:<file> 指定强名称密钥文件 --keycontainer:<string> 指定强名称密钥容器 --highentropyva[+|-] 启用高平均信息量 ASLR +To remove the warning, you can use /reference instead (set the Embed Interop Types property to False). In this case, a primary interop assembly (PIA) provides interop type information. + 使用 /link 添加了对程序集的引用(“嵌入互操作类型”属性设置为 True)。这指示编译器嵌入来自该程序集的互操作类型信息。但是,编译器无法嵌入来自该程序集的互操作类型信息,因为已引用的另一个程序集也使用 /reference 引用该程序集(“嵌入互操作类型”属性设置为 False)。 - - 杂项 - - @<file> 读取响应文件以获取更多选项 --help 显示此用法消息(缩写: -?) --nologo 取消显示编译器版权消息 --noconfig 不自动包括 CSC.RSP 文件 --parallel[+|-] 并发生成。 --version 显示编译器版本号并退出。 +要嵌入两个程序集的互操作类型信息,请对每个程序集的引用使用 /link (将“嵌入互操作类型”属性设置为 True)。 - - 高级 - --baseaddress:<address> 要生成的库的基址 --checksumalgorithm:<alg> 指定计算存储在 PDB 中的源文件 - 校验和的算法。支持的值是: - SHA1 (默认)或 SHA256。 --codepage:<n> 指定打开源文件时要使用的 - 代码页 --utf8output 以 UTF-8 编码格式输出编译器消息 --main:<type> 指定包含入口点的类型 - (忽略所有其他可能的入口点)(缩 - 写: -m) --fullpaths 编译器生成完全限定路径 --filealign:<n> 指定用于输出文件节的 - 对齐方式 --pathmap:<K1>=<V1>,<K2>=<V2>,... - 通过编译器指定源路径名称输出的 - 映射。 --pdb:<file> 指定调试信息文件名称(默认: - 具有 .pdb 扩展名的输出文件名) --errorendlocation 输出每个错误的结束位置 - 行和列 --preferreduilang 指定首选输出语言名称。 --nosdkpath 禁用搜索标准库程序集的默认 SDK 路径 --nostdlib[+|-] 不引用标准库(mscorlib.dll) --subsystemversion:<string> 指定此程序集的子系统版本 --lib:<file list> 指定要在其中搜索引用的附加 - 目录 --errorreport:<string> 指定如何处理内部编译器错误: - prompt、send、queue 或 none。默认为 - queue。 --appconfig:<file> 指定包含程序集绑定设置的 - 应用程序配置文件 --moduleassemblyname:<string> 此模块所属程序集 - 的名称 --modulename:<string> 指定源模块的名称 - - Visual C# Compiler Options +要移除警告,可以改用 /reference (将“嵌入互操作类型”属性设置为 False)。在这种情况下,主互操作程序集 (PIA) 会提供互操作类型信息。 + + + + Type '{0}' from assembly '{1}' cannot be used across assembly boundaries because it has a generic type argument that is an embedded interop type. + 无法跨程序集边界使用程序集“{1}”中的类型“{0}”,因为它有身为嵌入的互操作类型的泛型类型参数。 + + + + Cannot find the interop type that matches the embedded interop type '{0}'. Are you missing an assembly reference? + 找不到与嵌入互操作类型“{0}”相匹配的互操作类型。是否缺少程序集引用? + + + + By-reference return type 'ref {0}' is not supported. + 不支持按引用返回类型“ref {0}”。 + + + + Module name '{0}' stored in '{1}' must match its filename. + 存储在“{1}”中的模块名“{0}”必须与其文件名匹配。 + + + + Invalid module name: {0} + 无效的模块名称: {0} + + + + Invalid '{0}' value: '{1}'. + “{0}”值无效:“{1}”。 + + + + AppConfigPath must be absolute. + AppConfigPath 必须是绝对的。 + + + + Attribute '{0}' from module '{1}' will be ignored in favor of the instance appearing in source + 来自模块“{1}”的特性“{0}”将忽略,以便支持源中出现的实例 + + + + Attribute will be ignored in favor of the instance appearing in source + 将忽略特性,以便支持源中出现的实例 + + + + Attribute '{0}' given in a source file conflicts with option '{1}'. + 源文件中提供的特定“{0}”与选项“{1}”冲突。 + + + + A fixed buffer may only have one dimension. + 固定缓冲区只能有一个维度。 + + + + Referenced assembly '{0}' does not have a strong name. + 引用程序集“{0}”没有强名称。 + + + + Referenced assembly does not have a strong name + 引用程序集没有强名称 + + + + Invalid signature public key specified in AssemblySignatureKeyAttribute. + 在 AssemblySignatureKeyAttribute 中指定的签名公钥无效。 + + + + Type '{0}' exported from module '{1}' conflicts with type declared in primary module of this assembly. + 从模块“{1}”导出的类型“{0}”与此程序集主模块中声明的类型冲突。 + + + + Type '{0}' exported from module '{1}' conflicts with type '{2}' exported from module '{3}'. + 从模块“{1}”导出的类型“{0}”与从模块“{3}”导出的类型“{2}”冲突。 + + + + Forwarded type '{0}' conflicts with type declared in primary module of this assembly. + 转发的类型“{0}”与此程序集主模块中声明的类型冲突。 + + + + Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' forwarded to assembly '{3}'. + 转发到程序集“{1}”的类型“{0}”与转发到程序集“{3}”的类型“{2}”冲突。 + + + + Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' exported from module '{3}'. + 转发到程序集“{1}”的类型“{0}”与从模块“{3}”导出的类型“{2}”冲突。 + + + + Referenced assembly '{0}' has different culture setting of '{1}'. + 引用程序集“{0}”具有不同区域性设置“{1}”。 + + + + Referenced assembly has different culture setting + 引用程序集具有不同区域性设置 + + + + Agnostic assembly cannot have a processor specific module '{0}'. + 不可知的程序集不能具有特定于处理器的模块“{0}”。 + + + + Assembly and module '{0}' cannot target different processors. + 程序集和模块“{0}”不能以不同处理器为目标。 + + + + Referenced assembly '{0}' targets a different processor. + 引用程序集“{0}”面向的是另一个处理器。 + + + + Referenced assembly targets a different processor + 引用程序集面向的是另一个处理器 + + + + Cryptographic failure while creating hashes. + 创建哈希时加密失败。 + + + + Reference to '{0}' netmodule missing. + 缺少对“{0}”netmodule 的引用。 + + + + Module '{0}' is already defined in this assembly. Each module must have a unique filename. + 模块“{0}”已在此程序集中定义。每个模块必须具有唯一的文件名。 + + + + Cannot read config file '{0}' -- '{1}' + 无法读取配置文件“{0}”--“{1}” + + + + Cannot continue since the edit includes a reference to an embedded type: '{0}'. + 无法继续,因为编辑包括对嵌入类型的引用:“{0}”。 + + + + Member '{0}' added during the current debug session can only be accessed from within its declaring assembly '{1}'. + 在当前调试会话期间添加的成员“{0}”只能从其声明的程序集“{1}”中访问。 + + + + Compilation options '{0}' and '{1}' can't both be specified at the same time. + 无法同时指定编译选项“{0}”和“{1}”。 + + + + Linked netmodule metadata must provide a full PE image: '{0}'. + 链接 netmodule 元数据必须提供完整 PE 映像:“{0}”。 + + + + /platform:anycpu32bitpreferred can only be used with /t:exe, /t:winexe and /t:appcontainerexe + /platform:anycpu32bitpreferred 只能与 /t:exe、/t:winexe 和 /t:appcontainerexe 一起使用 + + + + <path list> + <路径列表> + + + + <text> + <文本> + + + + null propagating operator + 空传播运算符 + + + + expression-bodied method + expression-bodied 方法 + + + + expression-bodied property + expression-bodied 属性 + + + + expression-bodied indexer + expression-bodied 索引器 + + + + auto property initializer + 自动属性初始值设定项 + + + + <namespace> + <命名空间> + + + + byref locals and returns + byref 局部变量和返回 + + + + readonly references + 只读引用 + + + + ref structs + ref 结构 + + + + Compilation (C#): + 编译(C#): + + + + Syntax node is not within syntax tree + 语法节点不在语法树中 + + + + Location must be provided in order to provide minimal type qualification. + 必须提供位置才能提供最低程度的类型限定。 + + + + SyntaxTreeSemanticModel must be provided in order to provide minimal type qualification. + 必须提供 SyntaxTreeSemanticModel 才能提供最低程度的类型限定。 + + + + Can't reference compilation of type '{0}' from {1} compilation. + 无法从 {1} 编译引用类型为“{0}”的编译。 + + + + Syntax tree already present + 语法树已存在 + + + + Submission can only include script code. + 提交只能包含脚本代码。 + + + + Submission can have at most one syntax tree. + 提交最多可以具有一个语法树。 + + + + tree must have a root node with SyntaxKind.CompilationUnit + 树必须具有带 SyntaxKind.CompilationUnit 的根节点 + + + + Type argument cannot be null + 类型参数不能是 null + + + + Wrong number of type arguments + 类型参数的数目不正确 + + + + Name conflict for name {0} + 名称 {0} 出现名称冲突 + + + + LookupOptions has an invalid combination of options + LookupOptions 具有无效的选项组合 + + + + items: must be non-empty + 项目: 不能为空 + + + + Use Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Identifier or Microsoft.CodeAnalysis.CSharp.SyntaxFactory.VerbatimIdentifier to create identifier tokens. + 使用 Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Identifier 或 Microsoft.CodeAnalysis.CSharp.SyntaxFactory.VerbatimIdentifier 可创建标识符标记。 + + + + Use Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Literal to create character literal tokens. + 使用 Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Literal 可创建字符文本标记。 + + + + Use Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Literal to create numeric literal tokens. + 使用 Microsoft.CodeAnalysis.CSharp.SyntaxFactory.Literal 可创建数字文本标记。 + + + + This method can only be used to create tokens - {0} is not a token kind. + 此方法只能用于创建标记 - {0} 不出标记类型。 + + + + Generic parameter is definition when expected to be reference {0} + 泛型参数是定义,但应是引用 {0} + + + + Called GetDeclarationName for a declaration node that can possibly contain multiple variable declarators. + 为可能包含多个变量声明符的声明节点调用了 GetDeclarationName。 + + + + tree not part of compilation + 树不属于编译 + + + + Position is not within syntax tree with full span {0} + 位置不在具有完整范围 {0} 的语法树中 + + + + The language name '{0}' is invalid. + 语言名“{0}”无效。 + + + + The language name is invalid + 语言名无效 + + + + Transparent identifier member access failed for field '{0}' of '{1}'. Does the data being queried implement the query pattern? + 针对“{1}”的字段“{0}”的透明标识符成员访问失败。所查询的数据是否实现查询模式? + + + + The parameter has multiple distinct default values. + 参数具有多个不同的默认值。 + + + + The field has multiple distinct constant values. + 字段具有多个不同的常量值。 + + + + Within cref attributes, nested types of generic types should be qualified. + 在 cref 特性中,应限定泛型类型的嵌套类型。 + + + + Within cref attributes, nested types of generic types should be qualified + 在 cref 特性中,应限定泛型类型的嵌套类型 + + + + Not a C# symbol. + 不是 C# 符号。 + + + + Unnecessary using directive. + 不需要的 using 指令。 + + + + Unused extern alias. + 未使用的外部别名。 + + + + Elements cannot be null. + 元素不能为 Null。 + + + + LIB environment variable + LIB 环境变量 + + + + /LIB option + /LIB 选项 + + + + /REFERENCEPATH option + /REFERENCEPATH 选项 + + + + directory does not exist + 目录不存在 + + + + path is too long or invalid + 路径太长或无效 + + + + No value for RuntimeMetadataVersion found. No assembly containing System.Object was found nor was a value for RuntimeMetadataVersion specified through options. + 找不到 RuntimeMetadataVersion 的值。找不到包含 System.Object 的程序集,或未通过选项为 RuntimeMetadataVersion 指定值。 + + + + No value for RuntimeMetadataVersion found + 找不到 RuntimeMetadataVersion 的值 + + + + Expected a {0} SemanticModel. + 应为 {0} SemanticModel。 + + + + lambda expression + lambda 表达式 + + + + Feature '{0}' is not available in C# 1. Please use language version {1} or greater. + 功能“{0}”在 C# 1 中不可用。请使用 {1} 或更高的语言版本。 + + + + Feature '{0}' is not available in C# 2. Please use language version {1} or greater. + 功能“{0}”在 C# 2 中不可用。请使用 {1} 或更高的语言版本。 + + + + Feature '{0}' is not available in C# 3. Please use language version {1} or greater. + 功能“{0}”在 C# 3 中不可用。请使用 {1} 或更高的语言版本。 + + + + Feature '{0}' is not available in C# 4. Please use language version {1} or greater. + 功能“{0}”在 C# 4 中不可用。请使用 {1} 或更高的语言版本。 + + + + Feature '{0}' is not available in C# 5. Please use language version {1} or greater. + 功能“{0}”在 C# 5 中不可用。请使用 {1} 或更高的语言版本。 + + + + Feature '{0}' is not available in C# 6. Please use language version {1} or greater. + 功能“{0}”在 C# 6 中不可用。请使用 {1} 或更高的语言版本。 + + + + Feature '{0}' is not available in C# 7.0. Please use language version {1} or greater. + C# 7.0 中不支持功能“{0}”。请使用 {1} 或更高的语言版本。 + + + + Feature '{0}' is not implemented in this compiler. + 此编译器中未实现功能“{0}”。 + + + + 'experimental' + '“实验” + + + + Position must be within span of the syntax tree. + 位置必须处于语法树范围内。 + + + + Syntax node to be speculated cannot belong to a syntax tree from the current compilation. + 要推断的语法节点不能属于来自当前编译的语法树。 + + + + Chaining speculative semantic model is not supported. You should create a speculative model from the non-speculative ParentModel. + 不支持链接推理语义模型。应从非推理 ParentModel 创建推理模型。 + + + + Microsoft (R) Visual C# Compiler + Microsoft(R) Visual C# 编译器 + + + + {0} version {1} + {0} 版本 {1} + + + + Copyright (C) Microsoft Corporation. All rights reserved. + 版权所有(C) Microsoft Corporation。保留所有权利。 + + + + Supported language versions: + 支持的语言版本: + '{0}': a class with the ComImport attribute cannot specify field initializers. @@ -8925,7 +8926,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - ref 三元运算符的分支不能引用具有不兼容的声明范围的变量 + ref 条件运算符的分支不能引用具有不兼容的声明范围的变量 @@ -9505,7 +9506,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - “{0}”: 异步 using 语句中使用的类型必须可隐式转换为 “System.IAsyncDisposable” + “{0}”: 异步 using 语句中使用的类型必须可隐式转换为 "System.IAsyncDisposable" 或实现适用的 "DisposeAsync" 方法。 diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf index 1eee9b9fbd4aa..c1c39733a896e 100644 --- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf +++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf @@ -29,7 +29,7 @@ It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an as expression; use the underlying type '{0}' instead. + 在運算式中使用可為 Null 的參考型別 '{0}?' 不合法,請改用基礎類型 '{0}'。 @@ -124,7 +124,7 @@ The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. - The feature '{0}' is currently in Preview and *unsupported*. To use Preview features, use the 'preview' language version. + 功能 '{0}' 目前處於預覽階段,且*不受支援*。若要使用預覽功能,請使用「預覽語言」版本。 @@ -159,7 +159,7 @@ The suppression operator is not allowed in this context - The suppression operator is not allowed in this context + 此內容不允許隱藏項目運算子。 @@ -189,7 +189,7 @@ It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. - It is not legal to use nullable reference type '{0}?' in an is-type expression; use the underlying type '{0}' instead. + 在 is-type 運算式中使用可為 Null 的參考型別 '{0}' 不合法嗎? 請改用基礎類型 '{0}'。 @@ -199,7 +199,7 @@ Method '{0}' with an iterator block must be 'async' to return '{1}' - Method '{0}' with an iterator block must be 'async' to return '{1}' + 具有迭代器區塊的方法 '{0}' 必須為「非同步」才能傳回 '{1}' @@ -214,12 +214,12 @@ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. Did you mean 'using' rather than 'await using'? - '{0}': 在非同步 using 陳述式中所使用的類型,必須隱含可轉換為 'System.IAsyncDisposable'。您指的是 'using' 而不是 'await using' 嗎? + '{0}': 在非同步 using 陳述式中使用的類型,必須可隱含地轉換為 'System.IAsyncDisposable' 或實作合適的 'DisposeAsync' 方法。您指的是 'using' 而不是 'await using' 嗎? '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. Did you mean 'await using' rather than 'using'? - '{0}': 在 using 陳述式中所使用的類型,必須隱含可轉換為 'System.IDisposable'。您指的是 'await using' 而不是 'using' 嗎? + '{0}': 在 using 陳述式中使用的類型,必須可隱含地轉換為 'System.IDisposable' 或實作合適的 'Dispose' 方法。您指的是 'await using' 而不是 'using' 嗎? @@ -504,151 +504,151 @@ a part of -modulename:<string> Specify the name of the source module - - Visual C# Compiler Options + + Visual C# 編譯器選項 - - OUTPUT FILES - --out:<file> Specify output file name (default: base name of - file with main class or first file) --target:exe Build a console executable (default) (Short - form: -t:exe) --target:winexe Build a Windows executable (Short form: - -t:winexe) --target:library Build a library (Short form: -t:library) --target:module Build a module that can be added to another - assembly (Short form: -t:module) --target:appcontainerexe Build an Appcontainer executable (Short form: - -t:appcontainerexe) --target:winmdobj Build a Windows Runtime intermediate file that - is consumed by WinMDExp (Short form: -t:winmdobj) --doc:<file> XML Documentation file to generate --refout:<file> Reference assembly output to generate --platform:<string> Limit which platforms this code can run on: x86, - Itanium, x64, arm, arm64, anycpu32bitpreferred, or - anycpu. The default is anycpu. + - 輸出檔案 - +-out:<檔案> 指定輸出檔案名稱 (預設: 具有主要 + 類別的檔案或第一個檔案的基底名稱) +-target:exe 建置主控台可執行檔 (預設) (簡短 + 形式: -t:exe) +-target:winexe 建置 Windows 可執行檔 (簡短形式: + -t:winexe) +-target:library 建置程式庫 (簡短形式: -t:library) +-target:module 建置可新增至其他組件的 + 模組 (簡短形式: -t:module) +-target:appcontainerexe 建置 Appcontainer 可執行檔 (簡短形式: + -t:appcontainerexe) +-target:winmdobj 建置 WinMDExp 所使用的 Windows 執行階段 + 中繼檔案 (簡短形式: -t:winmdobj) +-doc:<檔案> 要產生的 XML 文件檔案 +-refout:<檔案> 要產生的參考組件輸出 +-platform:<字串> 限制此程式碼可執行的平台: x86、 + Itanium、x64、arm、arm64、anycpu32bitpreferred 或 + anycpu。預設為 anycpu。 - - INPUT FILES - --recurse:<wildcard> Include all files in the current directory and - subdirectories according to the wildcard - specifications --reference:<alias>=<file> Reference metadata from the specified assembly - file using the given alias (Short form: -r) --reference:<file list> Reference metadata from the specified assembly - files (Short form: -r) --addmodule:<file list> Link the specified modules into this assembly --link:<file list> Embed metadata from the specified interop - assembly files (Short form: -l) --analyzer:<file list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. --embed Embed all source files in the PDB. --embed:<file list> Embed specific files in the PDB. + - 輸入檔案 - +-recurse:<萬用字元> 根據萬用字元規格,包含 + 目前目錄和子目錄中的所有 + 檔案 +-reference:<別名>=<檔案> 使用給定的別名,參考指定組件檔 + 的中繼資料 (簡短形式: -r) +-reference:<檔案清單> 參考指定組件檔的 + 中繼資料 (簡短形式: -r) +-addmodule:<檔案清單> 將指定的模組連結至這個組件中 +-link:<檔案清單> 從指定的 Interop 組件檔內嵌 + 中繼資料 (簡短形式: -l) +-analyzer:<檔案清單> 從這個組件執行分析器 + (簡短形式: -a) +-additionalfile:<檔案清單> 不會直接影響程式碼產生, + 但分析器可用以產生錯誤或警告的 + 其他檔案。 +-embed 內嵌 PDB 中的所有來源檔案。 +-embed:<檔案清單> 內嵌 PDB 中的特定檔案 - - RESOURCES - --win32res:<file> Specify a Win32 resource file (.res) --win32icon:<file> Use this icon for the output --win32manifest:<file> Specify a Win32 manifest file (.xml) --nowin32manifest Do not include the default Win32 manifest --resource:<resinfo> Embed the specified resource (Short form: -res) --linkresource:<resinfo> Link the specified resource to this assembly - (Short form: -linkres) Where the resinfo format - is <file>[,<string name>[,public|private]] + - 資源 - +-win32res:<檔案> 指定 Win32 資源檔 (.res) +-win32icon:<檔案> 在輸出使用此圖示 +-win32manifest:<檔案> 指定 Win32 資訊清單檔案 (.xml) +-nowin32manifest 不要包含預設 Win32 資訊清單 +-resource:<資源資訊> 內嵌指定的資源 (簡短形式: -res) +-linkresource:<資源資訊> 將指定的資源連結至這個組件 + (簡短形式: -linkres) 其中 resinfo 的格式 + 為 <檔案>[,<字串名稱>[,public|private]] - - CODE GENERATION - --debug[+|-] Emit debugging information + - 程式碼產生 - +-debug[+|-] 發出偵錯資訊 -debug:{full|pdbonly|portable|embedded} - Specify debugging type ('full' is default, - 'portable' is a cross-platform format, - 'embedded' is a cross-platform format embedded into - the target .dll or .exe) --optimize[+|-] Enable optimizations (Short form: -o) --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + 指定偵錯類型 ('full' 為預設, + 'portable' 為跨平台格式, + 'embedded' 為內嵌至 target .dll 或 .exe 中的 + 跨平台格式) +-optimize[+|-] 啟用最佳化 (簡短形式: -o) +-deterministic 產生確定性組件 + (包括模組版本 GUID 與時間戳記) +-refonly 產生參考組件以代替主要輸出 +-instrument:TestCoverage 產生檢測組件,以收集 + 涵蓋範圍資訊 +-sourcelink:<檔案> 要內嵌至 PDB 中的來源連結資訊。 - - ERRORS AND WARNINGS - --warnaserror[+|-] Report all warnings as errors --warnaserror[+|-]:<warn list> Report specific warnings as errors --warn:<n> Set warning level (0-4) (Short form: -w) --nowarn:<warn list> Disable specific warning messages --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - 錯誤與警告 - +-warnaserror[+|-] 將所有警告回報為錯誤 +-warnaserror[+|-]:<警告清單> 將特定警告回報為錯誤 +-warn:<n> 設定警告層級 (0-4) (簡短形式: -w) +-nowarn:<警告清單> 停用特定的警告訊息 +-ruleset:<檔案> 指定會停用特定診斷的 + 規則集檔案。 +-errorlog:<檔案> 指定要記錄所有編譯器和分析器診斷的 + 檔案。 +-reportanalyzer 回報其他分析器資訊,例如 + 執行時間。 - - LANGUAGE - --checked[+|-] Generate overflow checks --unsafe[+|-] Allow 'unsafe' code --define:<symbol list> Define conditional compilation symbol(s) (Short - form: -d) --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `6` or `7.1` --nullable[+|-] Specify nullable context option enable|disable. + - 語言 - +-checked[+|-] 產生溢位檢查 +-unsafe[+|-] 允許 'unsafe' 程式碼 +-define:<符號清單> 定義條件式編譯符號 (簡短 + 形式: -d) +-langversion:? 顯示語言版本允許的值 +-langversion:<字串> 指定語言版本,例如 + `default` (最新的主要版本)、 + `latest` (最新版本,包含次要版本) + 或特定版本,例如 `6` 或 `7.1` +-nullable[+|-] 指定可為 Null 的文字選項 enable|disable。 -nullable:{enable|disable|safeonly|warnings|safeonlywarnings} - Specify nullable context option enable|disable|safeonly|warnings|safeonlywarnings. + 指定可為 Null 的文字選項 enable|disable|safeonly|warnings|safeonlywarnings。 - - SECURITY - --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key --keyfile:<file> Specify a strong name key file --keycontainer:<string> Specify a strong name key container --highentropyva[+|-] Enable high-entropy ASLR + - 安全性 - +-delaysign[+|-] 只使用強式名稱金鑰的公開部分 + 延遲簽署組件 +-publicsign[+|-] 只使用強式名稱金鑰的公開部分 + 公開簽署組件 +-keyfile:<檔案> 指定強式名稱金鑰檔 +-keycontainer:<字串> 指定強式名稱金鑰容器 +-highentropyva[+|-] 啟用高熵 ASLR - - MISCELLANEOUS - -@<file> Read response file for more options --help Display this usage message (Short form: -?) --nologo Suppress compiler copyright message --noconfig Do not auto include CSC.RSP file --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - 其他 - + @<檔案> 讀取回應檔以取得更多選項 +-help 顯示這個使用訊息 (簡短形式: -?) +-nologo 隱藏編譯器著作權訊息 +-noconfig 不自動納入 CSC.RSP 檔 +-parallel[+|-] 並行建置。 +-version 顯示編譯器版本號碼並結束。 - - ADVANCED - --baseaddress:<address> Base address for the library to be built --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<n> Specify the codepage to use when opening source - files --utf8output Output compiler messages in UTF-8 encoding --main:<type> Specify the type that contains the entry point - (ignore all other possible entry points) (Short - form: -m) --fullpaths Compiler generates fully qualified paths --filealign:<n> Specify the alignment used for output file - sections + - 進階 - +-baseaddress:<位址> 要建置的程式庫基底位址 +-checksumalgorithm:<演算法> 為計算儲存在 PDB 中的原始 + 程式檔總和檢查碼指定演算法。支援的值為: + SHA1 或 SHA256 (預設)。 +-codepage:<n> 指定開啟原始程式檔時要使用的 + 字碼頁 +-utf8output 以 UTF-8 編碼方式輸出編譯器訊息 +-main:<類型> 指定包含進入點 + (忽略所有其他可能的進入點) (簡短 + 形式: -m) +-fullpaths 編譯器會產生完整路徑 +-filealign:<n> 指定用於輸出檔案區段的 + 對齊方式 -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --pdb:<file> Specify debug information file name (default: - output file name with .pdb extension) --errorendlocation Output line and column of the end location of - each error --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --nostdlib[+|-] Do not reference standard library (mscorlib.dll) --subsystemversion:<string> Specify subsystem version of this assembly --lib:<file list> Specify additional directories to search in for - references --errorreport:<string> Specify how to handle internal compiler errors: - prompt, send, queue, or none. The default is - queue. --appconfig:<file> Specify an application configuration file - containing assembly binding settings --moduleassemblyname:<string> Name of the assembly which this module will be - a part of --modulename:<string> Specify the name of the source module + 為編譯器輸出的來源路徑名稱 + 指定對應。 +-pdb:<檔案> 指定偵錯資訊檔案名稱 (預設: + 副檔名為 .pdb 的輸出檔案名稱) +-errorendlocation 輸出每個錯誤之結束位置的 + 行與欄 +-preferreduilang 指定慣用的輸出語言名稱。 +-nosdkpath 停用標準程式庫組件的搜尋預設 SDK 路徑。 +-nostdlib[+|-] 不要參考標準程式庫 (mscorlib.dll) +-subsystemversion:<字串> 指定這個組件的子系統版本 +-lib:<檔案清單> 指定要搜尋的其他目錄以供 + 參考 +-errorreport:<字串> 指定如何處理內部編譯器錯誤: + prompt、send、queue 或 none。預設為 + queue。 +-appconfig:<檔案> 指定包含組件繫結設定的 + 應用程式設定檔 +-moduleassemblyname:<字串> 組件名稱,其中將會包含 + 此模組 +-modulename:<字串> 指定來源模組的名稱 Visual C# Compiler Options @@ -699,7 +699,7 @@ name shadowing in nested functions - name shadowing in nested functions + 巢狀函式中的名稱鏡像處理 @@ -714,7 +714,7 @@ warning action enable or safeonly - warning action enable or safeonly + 警告動作 enable 或 safeonly @@ -819,12 +819,12 @@ Include tag is invalid - Include 標記無效 + Include 標籤無效 No matching elements were found for the following include tag - 找不到與下列 include 標記相符的項目 + 找不到與下列 include 標籤相符的項目 @@ -1254,12 +1254,12 @@ Expected nullable - Expected nullable + 必須是可為 Null 的項目 Expected nullable after #pragma warning safeonly - Expected nullable after #pragma warning safeonly + 在#pragma warning safeonly 後面必須是可為 Null 的項目 @@ -1619,7 +1619,7 @@ Expected '>' or '/>' to close tag '{0}'. - 必須以 '>' 或 '/>' 做為結束標記 '{0}'。 + 必須以 '>' 或 '/>' 做為結束標籤 '{0}'。 @@ -1669,17 +1669,17 @@ End tag was not expected at this location. - 此位置不可出現結束標記。 + 此位置不可出現結束標籤。 End tag '{0}' does not match the start tag '{1}'. - 結束標記 '{0}' 與起始標記 '{1}' 不對稱。 + 結束標籤 '{0}' 與起始標籤 '{1}' 不對稱。 Expected an end tag for element '{0}'. - 必須是元素 '{0}' 的結束標記。 + 必須是元素 '{0}' 的結束標籤。 @@ -5297,42 +5297,42 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep XML comment has a duplicate param tag for '{0}' - XML 註解中的 '{0}' 有重複的 param 標記 + XML 註解中的 '{0}' 有重複的 param 標籤 XML comment has a duplicate param tag - XML 註解中有重複的 param 標記 + XML 註解中有重複的 param 標籤 XML comment has a param tag for '{0}', but there is no parameter by that name - XML 註解中的 '{0}' 有 param 標記,但沒有該名稱的參數。 + XML 註解中的 '{0}' 有 param 標籤,但沒有該名稱的參數。 XML comment has a param tag, but there is no parameter by that name - XML 註解具有 param 標記,但是沒有該名稱的參數 + XML 註解具有 param 標籤,但是沒有該名稱的參數 XML comment on '{1}' has a paramref tag for '{0}', but there is no parameter by that name - {1}' 上的 XML 註解中的 '{0}' 有 paramref 標記,但沒有該名稱的參數。 + {1}' 上的 XML 註解中的 '{0}' 有 paramref 標籤,但沒有該名稱的參數。 XML comment has a paramref tag, but there is no parameter by that name - XML 註解具有 paramref 標記,但是沒有該名稱的參數 + XML 註解具有 paramref 標籤,但是沒有該名稱的參數 Parameter '{0}' has no matching param tag in the XML comment for '{1}' (but other parameters do) - 參數 '{0}' 在 '{1}' 的 XML 註解中沒有相符的 param 標記 (但其他參數有) + 參數 '{0}' 在 '{1}' 的 XML 註解中沒有相符的 param 標籤 (但其他參數有) Parameter has no matching param tag in the XML comment (but other parameters do) - 在 XML 註解中,參數沒有相符的 param 標記 (但其他參數則相反) + 在 XML 註解中,參數沒有相符的 param 標籤 (但其他參數則相反) @@ -5647,12 +5647,12 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep Expected disable, restore, enable or safeonly - 必須是 disable 或 restore + 必須是 disable、restore、enable 或 safeonly Expected disable, restore, enable or safeonly after #pragma warning - #pragma 警告後面必須有 disable 或 restore + #pragma warning 後面必須有 disable、restore、enable 或 safeonly @@ -5897,7 +5897,7 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep '{0}': type used in a using statement must be implicitly convertible to 'System.IDisposable' or implement a suitable 'Dispose' method. - '{0}': 在 using 陳述式中所用的類型,必須可以隱含轉換成 'System.IDisposable'。 + '{0}': 在 using 陳述式中使用的類型,必須可隱含地轉換為 'System.IDisposable' 或實作合適的 'Dispose' 方法。 @@ -6127,42 +6127,42 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep XML comment has a duplicate typeparam tag for '{0}' - XML 註解中的 '{0}' 有重複的 typeparam 標記 + XML 註解中的 '{0}' 有重複的 typeparam 標籤 XML comment has a duplicate typeparam tag - XML 註解中有重複的 typeparam 標記 + XML 註解中有重複的 typeparam 標籤 XML comment has a typeparam tag for '{0}', but there is no type parameter by that name - XML 註解中的 '{0}' 有 typeparam 標記,但沒有該名稱的類型參數。 + XML 註解中的 '{0}' 有 typeparam 標籤,但沒有該名稱的類型參數。 XML comment has a typeparam tag, but there is no type parameter by that name - XML 註解具有 typeparam 標記,但是沒有該名稱的類型參數 + XML 註解具有 typeparam 標籤,但是沒有該名稱的類型參數 XML comment on '{1}' has a typeparamref tag for '{0}', but there is no type parameter by that name - {1}' 上的 XML 註解中的 '{0}' 有 typeparamref 標記,但沒有該名稱的類型參數。 + {1}' 上的 XML 註解中的 '{0}' 有 typeparamref 標籤,但沒有該名稱的類型參數。 XML comment has a typeparamref tag, but there is no type parameter by that name - XML 註解具有 typeparamref 標記,但是沒有該名稱的類型參數 + XML 註解具有 typeparamref 標籤,但是沒有該名稱的類型參數 Type parameter '{0}' has no matching typeparam tag in the XML comment on '{1}' (but other type parameters do) - 類型參數 '{0}' 在 '{1}' 的 XML 註解中沒有相符的 typeparam 標記 (但是其他類型參數有) + 類型參數 '{0}' 在 '{1}' 的 XML 註解中沒有相符的 typeparam 標籤 (但是其他類型參數有) Type parameter has no matching typeparam tag in the XML comment (but other type parameters do) - 在 XML 註解中,類型參數沒有相符的 typeparam 標記 (但其他類型參數則相反) + 在 XML 註解中,類型參數沒有相符的 typeparam 標籤 (但其他類型參數則相反) @@ -8925,7 +8925,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ Branches of a ref conditional operator cannot refer to variables with incompatible declaration scopes - ref 三元運算子分支無法參考具有不相容宣告範圍的變數 + ref 條件式運算子分支無法參考具有不相容宣告範圍的變數 @@ -9505,7 +9505,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ '{0}': type used in an async using statement must be implicitly convertible to 'System.IAsyncDisposable' or implement a suitable 'DisposeAsync' method. - '{0}': 在 async using 陳述式中所用的類型,必須可以隱含轉換成 'System.IAsyncDisposable' + '{0}': 在非同步 using 陳述式中使用的類型,必須可隱含地轉換為 'System.IAsyncDisposable' 或實作合適的 'DisposeAsync' 方法。 diff --git a/src/Compilers/CSharp/Test/Emit/CodeGen/CodeGenAsyncIteratorTests.cs b/src/Compilers/CSharp/Test/Emit/CodeGen/CodeGenAsyncIteratorTests.cs index 265fb4641f54f..97df1132b67e4 100644 --- a/src/Compilers/CSharp/Test/Emit/CodeGen/CodeGenAsyncIteratorTests.cs +++ b/src/Compilers/CSharp/Test/Emit/CodeGen/CodeGenAsyncIteratorTests.cs @@ -149,7 +149,7 @@ public async System.Threading.Tasks.Task GetTemperatureAsync() CompileAndVerify(comp); } - [Fact] + [ConditionalFact(typeof(DesktopOnly))] [WorkItem(30566, "https://github.com/dotnet/roslyn/issues/30566")] public void YieldReturnAwait1() { @@ -178,7 +178,7 @@ public static async Task Main(string[] args) 8"); } - [Fact] + [ConditionalFact(typeof(DesktopOnly))] [WorkItem(30566, "https://github.com/dotnet/roslyn/issues/30566")] public void YieldReturnAwait2() { diff --git a/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt b/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt index 30e5c7d31ad7d..e04632532af8d 100644 --- a/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt +++ b/src/Compilers/Core/Portable/PublicAPI.Unshipped.txt @@ -1,34 +1,5 @@ *REMOVED*Microsoft.CodeAnalysis.Operations.IEventAssignmentOperation.EventReference.get -> Microsoft.CodeAnalysis.Operations.IEventReferenceOperation -Microsoft.CodeAnalysis.IFieldSymbol.IsFixedSizeBuffer.get -> bool -Microsoft.CodeAnalysis.ITypeSymbol.IsRefLikeType.get -> bool -Microsoft.CodeAnalysis.ITypeSymbol.IsUnmanagedType.get -> bool -Microsoft.CodeAnalysis.OperationKind.Binary = 32 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.ConstructorBody = 89 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.DiscardPattern = 104 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.MethodBody = 88 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.Range = 99 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.RecursivePattern = 103 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.SwitchExpression = 105 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.SwitchExpressionArm = 106 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.TupleBinary = 87 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.Unary = 31 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.Operations.IDeclarationPatternOperation.MatchedType.get -> Microsoft.CodeAnalysis.ITypeSymbol -Microsoft.CodeAnalysis.Operations.IDeclarationPatternOperation.MatchesNull.get -> bool -Microsoft.CodeAnalysis.Operations.IDiscardPatternOperation -Microsoft.CodeAnalysis.Operations.IPatternOperation.InputType.get -> Microsoft.CodeAnalysis.ITypeSymbol -Microsoft.CodeAnalysis.Operations.InstanceReferenceKind.PatternInput = 2 -> Microsoft.CodeAnalysis.Operations.InstanceReferenceKind Microsoft.CodeAnalysis.SymbolDisplayMiscellaneousOptions.AllowDefaultLiteral = 128 -> Microsoft.CodeAnalysis.SymbolDisplayMiscellaneousOptions -Microsoft.CodeAnalysis.SymbolDisplayPartKind.ConstantName = 30 -> Microsoft.CodeAnalysis.SymbolDisplayPartKind -Microsoft.CodeAnalysis.SymbolDisplayPartKind.EnumMemberName = 28 -> Microsoft.CodeAnalysis.SymbolDisplayPartKind -Microsoft.CodeAnalysis.SymbolDisplayPartKind.ExtensionMethodName = 29 -> Microsoft.CodeAnalysis.SymbolDisplayPartKind -Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation -Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation.Guard.get -> Microsoft.CodeAnalysis.IOperation -Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation.Locals.get -> System.Collections.Immutable.ImmutableArray -Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation.Pattern.get -> Microsoft.CodeAnalysis.Operations.IPatternOperation -Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation.Value.get -> Microsoft.CodeAnalysis.IOperation -Microsoft.CodeAnalysis.Operations.ISwitchExpressionOperation -Microsoft.CodeAnalysis.Operations.ISwitchExpressionOperation.Arms.get -> System.Collections.Immutable.ImmutableArray -Microsoft.CodeAnalysis.Operations.ISwitchExpressionOperation.Value.get -> Microsoft.CodeAnalysis.IOperation abstract Microsoft.CodeAnalysis.Compilation.ClassifyCommonConversion(Microsoft.CodeAnalysis.ITypeSymbol source, Microsoft.CodeAnalysis.ITypeSymbol destination) -> Microsoft.CodeAnalysis.Operations.CommonConversion abstract Microsoft.CodeAnalysis.Compilation.ContainsSymbolsWithName(string name, Microsoft.CodeAnalysis.SymbolFilter filter = Microsoft.CodeAnalysis.SymbolFilter.TypeAndMember, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> bool abstract Microsoft.CodeAnalysis.Compilation.GetSymbolsWithName(string name, Microsoft.CodeAnalysis.SymbolFilter filter = Microsoft.CodeAnalysis.SymbolFilter.TypeAndMember, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Collections.Generic.IEnumerable @@ -39,6 +10,10 @@ abstract Microsoft.CodeAnalysis.Diagnostics.SymbolStartAnalysisContext.RegisterO abstract Microsoft.CodeAnalysis.Diagnostics.SymbolStartAnalysisContext.RegisterOperationBlockStartAction(System.Action action) -> void abstract Microsoft.CodeAnalysis.Diagnostics.SymbolStartAnalysisContext.RegisterSymbolEndAction(System.Action action) -> void abstract Microsoft.CodeAnalysis.Diagnostics.SymbolStartAnalysisContext.RegisterSyntaxNodeAction(System.Action action, System.Collections.Immutable.ImmutableArray syntaxKinds) -> void +const Microsoft.CodeAnalysis.WellKnownMemberNames.DisposeAsyncMethodName = "DisposeAsync" -> string +const Microsoft.CodeAnalysis.WellKnownMemberNames.DisposeMethodName = "Dispose" -> string +const Microsoft.CodeAnalysis.WellKnownMemberNames.GetAsyncEnumeratorMethodName = "GetAsyncEnumerator" -> string +const Microsoft.CodeAnalysis.WellKnownMemberNames.MoveNextAsyncMethodName = "MoveNextAsync" -> string Microsoft.CodeAnalysis.Compilation.HasImplicitConversion(Microsoft.CodeAnalysis.ITypeSymbol fromType, Microsoft.CodeAnalysis.ITypeSymbol toType) -> bool Microsoft.CodeAnalysis.Compilation.IsSymbolAccessibleWithin(Microsoft.CodeAnalysis.ISymbol symbol, Microsoft.CodeAnalysis.ISymbol within, Microsoft.CodeAnalysis.ITypeSymbol throughType = null) -> bool Microsoft.CodeAnalysis.Diagnostics.OperationAnalysisContext.GetControlFlowGraph() -> Microsoft.CodeAnalysis.FlowAnalysis.ControlFlowGraph @@ -137,29 +112,39 @@ Microsoft.CodeAnalysis.FlowAnalysis.IFlowCaptureReferenceOperation Microsoft.CodeAnalysis.FlowAnalysis.IFlowCaptureReferenceOperation.Id.get -> Microsoft.CodeAnalysis.FlowAnalysis.CaptureId Microsoft.CodeAnalysis.FlowAnalysis.IIsNullOperation Microsoft.CodeAnalysis.FlowAnalysis.IIsNullOperation.Operand.get -> Microsoft.CodeAnalysis.IOperation -Microsoft.CodeAnalysis.OperationKind.ReDim = 101 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.OperationKind.ReDimClause = 102 -> Microsoft.CodeAnalysis.OperationKind -Microsoft.CodeAnalysis.Operations.IReDimClauseOperation -Microsoft.CodeAnalysis.Operations.IReDimClauseOperation.DimensionSizes.get -> System.Collections.Immutable.ImmutableArray -Microsoft.CodeAnalysis.Operations.IReDimClauseOperation.Operand.get -> Microsoft.CodeAnalysis.IOperation -Microsoft.CodeAnalysis.Operations.IReDimOperation -Microsoft.CodeAnalysis.Operations.IReDimOperation.Clauses.get -> System.Collections.Immutable.ImmutableArray -Microsoft.CodeAnalysis.Operations.IReDimOperation.Preserve.get -> bool Microsoft.CodeAnalysis.FlowAnalysis.IStaticLocalInitializationSemaphoreOperation Microsoft.CodeAnalysis.FlowAnalysis.IStaticLocalInitializationSemaphoreOperation.Local.get -> Microsoft.CodeAnalysis.ILocalSymbol +Microsoft.CodeAnalysis.IFieldSymbol.IsFixedSizeBuffer.get -> bool Microsoft.CodeAnalysis.ILocalSymbol.IsFixed.get -> bool Microsoft.CodeAnalysis.IOperation.SemanticModel.get -> Microsoft.CodeAnalysis.SemanticModel +Microsoft.CodeAnalysis.ITypeSymbol.IsRefLikeType.get -> bool +Microsoft.CodeAnalysis.ITypeSymbol.IsUnmanagedType.get -> bool +Microsoft.CodeAnalysis.OperationKind.Binary = 32 -> Microsoft.CodeAnalysis.OperationKind Microsoft.CodeAnalysis.OperationKind.CaughtException = 94 -> Microsoft.CodeAnalysis.OperationKind Microsoft.CodeAnalysis.OperationKind.CoalesceAssignment = 97 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.ConstructorBody = 89 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.DiscardPattern = 104 -> Microsoft.CodeAnalysis.OperationKind Microsoft.CodeAnalysis.OperationKind.FlowAnonymousFunction = 96 -> Microsoft.CodeAnalysis.OperationKind Microsoft.CodeAnalysis.OperationKind.FlowCapture = 91 -> Microsoft.CodeAnalysis.OperationKind Microsoft.CodeAnalysis.OperationKind.FlowCaptureReference = 92 -> Microsoft.CodeAnalysis.OperationKind Microsoft.CodeAnalysis.OperationKind.IsNull = 93 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.MethodBody = 88 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.Range = 99 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.RecursivePattern = 103 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.ReDim = 101 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.ReDimClause = 102 -> Microsoft.CodeAnalysis.OperationKind Microsoft.CodeAnalysis.OperationKind.StaticLocalInitializationSemaphore = 95 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.SwitchExpression = 105 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.SwitchExpressionArm = 106 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.TupleBinary = 87 -> Microsoft.CodeAnalysis.OperationKind +Microsoft.CodeAnalysis.OperationKind.Unary = 31 -> Microsoft.CodeAnalysis.OperationKind Microsoft.CodeAnalysis.Operations.CommonConversion.IsImplicit.get -> bool Microsoft.CodeAnalysis.Operations.ICaseClauseOperation.Label.get -> Microsoft.CodeAnalysis.ILabelSymbol Microsoft.CodeAnalysis.Operations.ICoalesceAssignmentOperation Microsoft.CodeAnalysis.Operations.ICoalesceOperation.ValueConversion.get -> Microsoft.CodeAnalysis.Operations.CommonConversion +Microsoft.CodeAnalysis.Operations.IDeclarationPatternOperation.MatchedType.get -> Microsoft.CodeAnalysis.ITypeSymbol +Microsoft.CodeAnalysis.Operations.IDeclarationPatternOperation.MatchesNull.get -> bool +Microsoft.CodeAnalysis.Operations.IDiscardPatternOperation Microsoft.CodeAnalysis.Operations.IEventAssignmentOperation.EventReference.get -> Microsoft.CodeAnalysis.IOperation Microsoft.CodeAnalysis.Operations.IForLoopOperation.ConditionLocals.get -> System.Collections.Immutable.ImmutableArray Microsoft.CodeAnalysis.Operations.IForToLoopOperation.IsChecked.get -> bool @@ -169,21 +154,36 @@ Microsoft.CodeAnalysis.Operations.ILoopOperation.ExitLabel.get -> Microsoft.Code Microsoft.CodeAnalysis.Operations.InstanceReferenceKind Microsoft.CodeAnalysis.Operations.InstanceReferenceKind.ContainingTypeInstance = 0 -> Microsoft.CodeAnalysis.Operations.InstanceReferenceKind Microsoft.CodeAnalysis.Operations.InstanceReferenceKind.ImplicitReceiver = 1 -> Microsoft.CodeAnalysis.Operations.InstanceReferenceKind +Microsoft.CodeAnalysis.Operations.InstanceReferenceKind.PatternInput = 2 -> Microsoft.CodeAnalysis.Operations.InstanceReferenceKind +Microsoft.CodeAnalysis.Operations.IPatternOperation.InputType.get -> Microsoft.CodeAnalysis.ITypeSymbol Microsoft.CodeAnalysis.Operations.IRangeOperation Microsoft.CodeAnalysis.Operations.IRangeOperation.IsLifted.get -> bool Microsoft.CodeAnalysis.Operations.IRangeOperation.LeftOperand.get -> Microsoft.CodeAnalysis.IOperation Microsoft.CodeAnalysis.Operations.IRangeOperation.Method.get -> Microsoft.CodeAnalysis.IMethodSymbol Microsoft.CodeAnalysis.Operations.IRangeOperation.RightOperand.get -> Microsoft.CodeAnalysis.IOperation +Microsoft.CodeAnalysis.Operations.IReDimClauseOperation +Microsoft.CodeAnalysis.Operations.IReDimClauseOperation.DimensionSizes.get -> System.Collections.Immutable.ImmutableArray +Microsoft.CodeAnalysis.Operations.IReDimClauseOperation.Operand.get -> Microsoft.CodeAnalysis.IOperation +Microsoft.CodeAnalysis.Operations.IReDimOperation +Microsoft.CodeAnalysis.Operations.IReDimOperation.Clauses.get -> System.Collections.Immutable.ImmutableArray +Microsoft.CodeAnalysis.Operations.IReDimOperation.Preserve.get -> bool Microsoft.CodeAnalysis.Operations.ISwitchCaseOperation.Locals.get -> System.Collections.Immutable.ImmutableArray +Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation +Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation.Guard.get -> Microsoft.CodeAnalysis.IOperation +Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation.Locals.get -> System.Collections.Immutable.ImmutableArray +Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation.Pattern.get -> Microsoft.CodeAnalysis.Operations.IPatternOperation +Microsoft.CodeAnalysis.Operations.ISwitchExpressionArmOperation.Value.get -> Microsoft.CodeAnalysis.IOperation +Microsoft.CodeAnalysis.Operations.ISwitchExpressionOperation +Microsoft.CodeAnalysis.Operations.ISwitchExpressionOperation.Arms.get -> System.Collections.Immutable.ImmutableArray +Microsoft.CodeAnalysis.Operations.ISwitchExpressionOperation.Value.get -> Microsoft.CodeAnalysis.IOperation Microsoft.CodeAnalysis.Operations.ISwitchOperation.ExitLabel.get -> Microsoft.CodeAnalysis.ILabelSymbol Microsoft.CodeAnalysis.Operations.ISwitchOperation.Locals.get -> System.Collections.Immutable.ImmutableArray Microsoft.CodeAnalysis.Operations.ITryOperation.ExitLabel.get -> Microsoft.CodeAnalysis.ILabelSymbol Microsoft.CodeAnalysis.Operations.IUsingOperation.Locals.get -> System.Collections.Immutable.ImmutableArray Microsoft.CodeAnalysis.SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier = 64 -> Microsoft.CodeAnalysis.SymbolDisplayMiscellaneousOptions -const Microsoft.CodeAnalysis.WellKnownMemberNames.DisposeAsyncMethodName = "DisposeAsync" -> string -const Microsoft.CodeAnalysis.WellKnownMemberNames.DisposeMethodName = "Dispose" -> string -const Microsoft.CodeAnalysis.WellKnownMemberNames.GetAsyncEnumeratorMethodName = "GetAsyncEnumerator" -> string -const Microsoft.CodeAnalysis.WellKnownMemberNames.MoveNextAsyncMethodName = "MoveNextAsync" -> string +Microsoft.CodeAnalysis.SymbolDisplayPartKind.ConstantName = 30 -> Microsoft.CodeAnalysis.SymbolDisplayPartKind +Microsoft.CodeAnalysis.SymbolDisplayPartKind.EnumMemberName = 28 -> Microsoft.CodeAnalysis.SymbolDisplayPartKind +Microsoft.CodeAnalysis.SymbolDisplayPartKind.ExtensionMethodName = 29 -> Microsoft.CodeAnalysis.SymbolDisplayPartKind override Microsoft.CodeAnalysis.FlowAnalysis.CaptureId.Equals(object obj) -> bool override Microsoft.CodeAnalysis.FlowAnalysis.CaptureId.GetHashCode() -> int static Microsoft.CodeAnalysis.FlowAnalysis.ControlFlowGraph.Create(Microsoft.CodeAnalysis.Operations.IBlockOperation body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> Microsoft.CodeAnalysis.FlowAnalysis.ControlFlowGraph diff --git a/src/Compilers/Core/Portable/xlf/CodeAnalysisResources.pt-BR.xlf b/src/Compilers/Core/Portable/xlf/CodeAnalysisResources.pt-BR.xlf index 9b14357cddf61..6eb074d08f9f3 100644 --- a/src/Compilers/Core/Portable/xlf/CodeAnalysisResources.pt-BR.xlf +++ b/src/Compilers/Core/Portable/xlf/CodeAnalysisResources.pt-BR.xlf @@ -86,7 +86,7 @@ delegate - delegate + delegar @@ -161,7 +161,7 @@ <in-memory module> - <in-memory module> + <módulo na memória> diff --git a/src/Compilers/Core/Portable/xlf/CodeAnalysisResources.zh-Hant.xlf b/src/Compilers/Core/Portable/xlf/CodeAnalysisResources.zh-Hant.xlf index 161b15fae22b9..cd04bca39b241 100644 --- a/src/Compilers/Core/Portable/xlf/CodeAnalysisResources.zh-Hant.xlf +++ b/src/Compilers/Core/Portable/xlf/CodeAnalysisResources.zh-Hant.xlf @@ -161,7 +161,7 @@ <in-memory module> - <in-memory module> + <記憶體內部模組> diff --git a/src/Compilers/Extension/Roslyn.Compilers.Extension.csproj b/src/Compilers/Extension/Roslyn.Compilers.Extension.csproj index be9f6abe3b467..c6534fb2613c7 100644 --- a/src/Compilers/Extension/Roslyn.Compilers.Extension.csproj +++ b/src/Compilers/Extension/Roslyn.Compilers.Extension.csproj @@ -109,6 +109,8 @@ + + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.cs.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.cs.xlf index d6764cca59acb..74464a0c29c01 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.cs.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.cs.xlf @@ -7,7 +7,7 @@ parametry neomezeného typu v binárních podmíněných výrazech - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,165 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Parametry kompilátoru Visual Basic - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in - AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate + - VÝSTUPNÍ SOUBOR - +-out:<soubor> Určuje název výstupního souboru. +-target:exe Vytvoří konzolovou aplikaci (výchozí). + (Krátký tvar: -t) +-target:winexe Vytvoří aplikaci Windows. +-target:library Vytvoří sestavení knihovny. +-target:module Vytvoří modul, který jde přidat + do sestavení. +-target:appcontainerexe Vytvoří aplikaci Windows, která bude běžet + v kontejneru AppContainer. +-target:winmdobj Vytvoří pomocný soubor metadat Windows. +-doc[+|-] Generuje soubor dokumentace XML. +-doc:<soubor> Generuje soubor dokumentace XML s určeným názvem. +-refout:<file> Výstup referenčního sestavení, který se bude generovat - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - VSTUPNÍ SOUBORY - +-addmodule:<seznam_souborů> Odkazuje na metadata ze zadaných modulů. +-link:<seznam_souborů> Vloží metadata ze zadaného definičního + sestavení. (Krátký tvar: -l) +-recurse:<zástupný_znak> Zahrne všechny soubory v aktuálním adresáři + a podadresářích podle zadaného + zástupného znaku. +-reference:<seznam_souborů> Odkazuje na metadata ze zadaného + sestavení. (Krátký tvar: -r) +-analyzer:<seznam_souborů> Spustí analyzátory z tohoto sestavení. + (Krátký tvar: -a) +-additionalfile:<seznam_souborů> Další soubory, které přímo neovlivňují generování + kódu, ale analyzátory můžou jejich pomocí + produkovat chyby nebo upozornění. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + - PROSTŘEDKY - +-linkresource:<prostředek> Připojí zadaný soubor jako externí prostředek + sestavení. + prostředek: <soubor>[,<název>[,public|private]] + (Krátký tvar: -linkres) +-nowin32manifest Výchozí manifest by se neměl vkládat + do oddílu manifestu výstupního PE. +-resource:<prostředek> Přidá zadaný soubor jako vložený prostředek + sestavení. + prostředek: <soubor>[,<název>[,public|private]] + (Krátký tvar: -res) +-win32icon:<soubor> Určuje soubor ikony Win32 (.ico) pro + výchozí prostředky Win32. +-win32manifest:<soubor> Zadaný soubor se vloží do oddílu + manifestu výstupního PE. +-win32resource:<soubor> Určuje soubor prostředků Win32 (.res). - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - GENEROVÁNÍ KÓDU - +-optimize[+|-] Povolí optimalizace. +-removeintchecks[+|-] Odebere kontroly celých čísel. Standardně vypnuté. +-debug[+|-] Generuje ladicí informace. +-debug:full Generuje úplné ladicí informace (výchozí). +-debug:pdbonly Generuje úplné ladicí informace. +-debug:portable Generuje ladicí informace napříč platformami. +-debug:embedded Generuje ladicí informace napříč platformami + do cílového souboru .dll nebo .exe. +-deterministic Vytvoří deterministické sestavení + (včetně GUID verze modulu a časového razítka). +-refonly Vytvoří referenční sestavení na místě hlavního výstupu. +-instrument:TestCoverage Vytvoří sestavení instrumentované pro shromažďování informací + o pokrytí. +-sourcelink:<soubor> Informace o zdrojovém odkazu vkládané do přenosného PDB. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - CHYBY A UPOZORNĚNÍ - +-nowarn Zakáže všechna upozornění. +-nowarn:<seznam_čísel> Zakáže upozornění ze seznamu. +-warnaserror[+|-] Zpracuje všechna upozornění jako chyby. +-warnaserror[+|-]:<seznam_čísel> Zpracuje zadaná upozornění jako chyby. +-ruleset:<soubor> Určuje soubor sady pravidel, která zakazuje + specifickou diagnostiku. +-errorlog:<soubor> Určuje soubor pro protokolování veškeré diagnostiky + kompilátoru a analyzátoru. +-reportanalyzer Oznamuje další informace analyzátoru, jako třeba + dobu zpracování. - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. - import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. + - JAZYK - +-define:<seznam_symbolů> Deklaruje globální symboly podmíněné + kompilace. seznam_symbolů: název=hodnota,... + (Krátký tvar: -d) +-imports:<seznam_importů> Deklaruje globální importy pro obory názvů + v odkazovaných souborech metadat. + seznam_importů: obor_názvů,... +-langversion:? Zobrazí povolené hodnoty jazykové verze. +-langversion:<číslo> Určuje jazykovou verzi, například + default (nejnovější hlavní verze) nebo + latest (nejnovější verze včetně podverzí) nebo + konkrétní verze, například 14 nebo 15.3. +-optionexplicit[+|-] Vyžaduje explicitní deklarování proměnných. +-optioninfer[+|-] Povoluje odvození typu proměnných. +-rootnamespace:<řetězec> Určuje kořenový obor názvů pro všechny + deklarace typů. +-optionstrict[+|-] Vynucuje striktní sémantiku jazyka. +-optionstrict:custom Upozorňuje na nedodržování striktní + sémantiky jazyka. +-optioncompare:binary Určuje binární styl porovnávání řetězců. + Jde o výchozí možnost. +-optioncompare:text Určuje textový styl porovnávání řetězců. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - RŮZNÉ - +-help Zobrazí tuto zprávu o použití. (Krátký tvar: -?) +-noconfig Nezahrnuje automaticky soubor VBC.RSP. +-nologo Nezobrazí zprávu o autorských právech kompilátoru. +-quiet Určuje tichý výstupní režim. +-verbose Zobrazí podrobné zprávy. +-parallel[+|-] Souběžné sestavení +-version Zobrazí číslo verze kompilátoru a ukončí se. - - ADVANCED - --baseaddress:<number> The base address for a library or module - (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). + - POKROČILÉ - +-baseaddress:<číslo> Určuje základní adresu pro knihovnu nebo + modul (hex). +-checksumalgorithm:<alg> Určuje algoritmus pro výpočet kontrolního součtu + zdrojového souboru uloženého v PDB. Podporované + hodnoty jsou SHA1 nebo SHA256 (výchozí). +-codepage:<číslo> Určuje znakovou stránku, která se má použít + při otevírání zdrojových souborů. +-delaysign[+|-] Vytvoří zpožděný podpis sestavení s využitím + veřejné části klíče silného názvu. +-publicsign[+|-] Vytvoří veřejný podpis sestavení s využitím jenom veřejné + části klíče silného názvu. +-errorreport:<řetězec> Určuje způsob zpracování interních chyb + kompilátoru: prompt, send, none nebo queue + (výchozí). +-filealign:<číslo> Určuje zarovnání použité pro oddíly výstupního + souboru. +-highentropyva[+|-] Povoluje ASLR s vysokou entropií. +-keycontainer:<řetězec> Určuje kontejner klíče se silným názvem. +-keyfile:<soubor> Určuje soubor klíče se silným názvem. +-libpath:<seznam_cest> Seznam adresářů, kde se mají hledat odkazy + na metadata (oddělený středníky) +-main:<třída> Určuje třídu nebo modul obsahující + Sub Main. Může to být taky třída, která + dědí od System.Windows.Forms.Form. + (Krátký tvar: -m) +-moduleassemblyname:<řetězec> Určuje název sestavení, jehož součástí bude + tento modul. +-netcf Cílí na .NET Compact Framework. +-nostdlib Neodkazuje na standardní knihovny + (system.dll a VBC.RSP). -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory + Určuje mapování pro výstup zdrojových názvů cest + kompilátorem. +-platform:<řetězec> Omezuje platformy, na kterých se dá tento kód + spustit: x86, x64, Itanium, arm, arm64, + AnyCPU32BitPreferred nebo anycpu (výchozí). +-preferreduilang Určuje název upřednostňovaného výstupního jazyka. +-nosdkpath Zakáže hledání cesty k výchozí sadě SDK pro sestavení standardních knihoven. +-sdkpath:<cesta> Umístění adresáře s .NET Framework SDK (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. - version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-subsystemversion:<verze> Určuje verzi subsystému výstupního PE. + verze: <číslo>[.<číslo>] +-utf8output[+|-] Generuje výstup kompilátoru v kódování + UTF-8. +@<soubor> Vloží nastavení příkazového řádku ze souboru. +-vbruntime[+|-|*] Kompiluje s výchozím modulem runtime nebo bez něj + Visual Basicu. +-vbruntime:<soubor> Kompiluje s alternativním modulem runtime + Visual Basicu určeným parametrem <soubor>. @@ -9095,4 +9095,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.de.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.de.xlf index c73eb3b0ba89f..b0f8afcfc2a0a 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.de.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.de.xlf @@ -7,7 +7,7 @@ Nicht eingeschränkte Typparameter in binären bedingten Ausdrücken - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,165 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Visual Basic-Compileroptionen - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in - AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate + - AUSGABEDATEI - +-out:<Datei> Gibt den Ausgabedateinamen an. +-target:exe Erstellt eine Konsolenanwendung (Standardwert). + (Kurzform: -t) +-target:winexe Erstellt eine Windows-Anwendung. +-target:library Erstellt eine Bibliotheksassembly. +-target:module Erstellt ein Modul, das einer Assembly + hinzugefügt werden kann. +-target:appcontainerexe Erstellt eine Windows-Anwendung, die in + AppContainer ausgeführt wird. +-target:winmdobj Erstellt eine Windows-Metadatenzwischendatei. +-doc[+|-] Generiert eine XML-Dokumentationsdatei. +-doc:<Datei> Generiert eine XML-Dokumentationsdatei in <Datei>. +-refout:<Datei> Zu generierende Referenzassemblyausgabe - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - EINGABEDATEIEN - +-addmodule:<Dateiliste> Verweist auf Metadaten aus den angegebenen Modulen. +-link:<Dateiliste> Bettet Metadaten aus der angegebenen Interop- + assembly ein. (Kurzform: -l) +-recurse:<Platzhalter> Schließt alle Dateien im aktuellen Verzeichnis + und dessen Unterverzeichnissen gemäß den + Platzhalterspezifikationen ein. +-reference:<Dateiliste> Verweist auf Metadaten aus der angegebenen + Assembly. (Kurzform: -r) +-analyzer:<Dateiliste> Führt die Analyzer aus dieser Assembly aus. + (Kurzform: -a) +-additionalfile:<Dateiliste> Zusätzliche Dateien, die sich nicht direkt auf die Code- + generierung auswirken, aber ggf. von Analyzern zum Erstellen von + Fehlern oder Warnungen verwendet werden können. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + - RESSOURCEN - +-linkresource:<resinfo> Verknüpft die angegebene Datei als eine externe + Assemblyressource. + resinfo:<Datei>[,<Name>[,public|private]] + (Kurzform: -linkres) +-nowin32manifest Das Standardmanifest soll nicht in den + Manifestabschnitt der PE-Ausgabedatei eingebettet werden. +-resource:<resinfo> Fügt die angegebene Datei als eine eingebettete + Assemblyressource hinzu. + resinfo:<Datei>[,<Name>[,public|private]] + (Kurzform: -res) +-win32icon:<Datei> Gibt eine Win32-Symboldatei (ICO-Datei) für die + Win32-Standardressourcen an. +-win32manifest:<Datei> Die angegebene Datei wird im Manifest- + abschnitt der PE-Ausgabedatei eingebettet. +-win32resource:<Datei> Gibt eine Win32-Ressourcendatei (RES-Datei) an. - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - CODEGENERIERUNG - +-optimize[+|-] Aktiviert Optimierungen. +-removeintchecks[+|-] Entfernt Integerüberprüfungen. Standardmäßig deaktiviert. +-debug[+|-] Gibt Debuginformationen aus. +-debug:full Gibt vollständige Debuginformationen aus (Standardeinstellung). +-debug:pdbonly Gibt vollständige Debuginformationen aus. +-debug:portable Gibt plattformübergreifende Debuginformationen aus. +-debug:embedded Gibt plattformübergreifende Debuginformationen in + die Ziel-DLL oder -EXE aus. +-deterministic Generiert eine deterministische Assembly + (einschließlich Modulversion-GUID und Zeitstempel) +-refonly Erstellt eine Referenzassembly anstelle der Hauptausgabe +-instrument:TestCoverage Erstellt eine Assembly, die zum Erfassen von Abdeckungsinformationen + instrumentiert ist. +-sourcelink:<Datei> Quelllinkinformationen, die in die PDB-Datei eingebettet werden sollen. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - FEHLER UND WARNUNGEN - +-nowarn Deaktiviert alle Warnungen. +-nowarn:<Zahlenliste> Deaktiviert eine Liste einzelner Warnungen. +-warnaserror[+|-] Behandelt alle Warnungen als Fehler. +-warnaserror[+|-]:<Zahlenliste> Behandelt eine Liste von Warnungen als Fehler. +-ruleset:<Datei> Gibt eine Regelsatzdatei an, die bestimmte + Diagnosefunktionen deaktiviert. +-errorlog:<Datei> Gibt eine Datei an, in der alle Compiler- und Analyzer- + diagnosedaten protokolliert werden. +-reportanalyzer Meldet zusätzliche Analyzerinformationen, z. B. + die Ausführungszeit. - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. + - SPRACHE - +-define:< Symbolliste > Deklariert globale bedingte Kompilierung von + Symbolen. symbol_list:name=value,... + (Kurzform: -d) +-imports:< Importliste > Deklariert globale Importe für Namespaces in + Metadatendateien, auf die verwiesen wird. import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. +-langversion:? Zeigt die zulässigen Werte für die Sprachversion an. +-langversion:<Zeichenfolge> Gibt die Sprachversion an: + "default" (neueste Hauptversion) oder + "latest" (neueste Version, einschließlich Nebenversionen) + oder bestimmte Versionen wie "14" oder "15.3". +-optionexplicit[+|-] Erfordert die explizite Deklaration von Variablen. +-optioninfer[+|-] Lässt den Typrückschluss von Variablen zu. +-rootnamespace:<Zeichenfolge> Gibt den Stammnamespace für alle Typ- + deklarationen an. +-optionstrict[+|-] Erzwingt strenge Sprachsemantik. +-optionstrict:custom Warnt, wenn die strenge Sprachsemantik nicht + beachtet wird. +-optioncompare:binary Gibt Zeichenfolgenvergleiche im Binärstil an. + Dies ist die Standardeinstellung. +-optioncompare:text Gibt Zeichenfolgenvergleiche im Textstil an. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - SONSTIGES - +-help Zeigt diese Syntaxinformationen an. (Kurzform: -?) +-noconfig Schließt die VBC.RSP-Datei nicht automatisch ein. +-nologo Zeigt das Compilercopyrightbanner nicht an. +-quiet Stiller Ausgabemodus. +-verbose Zeigt ausführliche Meldungen an. +-parallel[+|-] Gleichzeitige Erstellung. +-version Zeigt die Compilerversionsnummer und die Beendigung an. - - ADVANCED - --baseaddress:<number> The base address for a library or module - (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). + - ERWEITERT - +-baseaddress:<Zahl> Die Basisadresse für eine Bibliothek oder ein Modul + (hexadezimal). +-checksumalgorithm:<alg> Legt den Algorithmus zum Berechnen der Quelldatei- + prüfsumme fest, die in der PDB-Datei gespeichert ist. Unterstützte Werte sind: + SHA1 oder SHA256 (Standard). +-codepage:<Zahl> Gibt die Codepage an, die beim Öffnen von + Quelldateien verwendet werden soll. +-delaysign[+|-] Signiert die Assembly verzögert nur mithilfe des öffentlichen + Teils des Schlüssels für einen starken Namen. +-publicsign[+|-] Signiert die Assembly öffentlich nur mithilfe des öffentlichen + Teils des Schlüssels für einen starken Namen. +-errorreport:<Zeichenfolge> Gibt an, wie interne Compiler- + fehler behandelt werden. Mögliche Werte sind "prompt", "send", "none" oder "queue" + (Standardwert). +-filealign:<Zahl> Gibt die Ausrichtung an, die für die Abschnitte der + Ausgabedatei verwendet wird. +-highentropyva[+|-] Aktiviert ASLR mit hoher Entropie. +-keycontainer:<Zeichenfolge> Gibt einen Schlüsselcontainer mit starkem Namen an. +-keyfile:<Datei> Gibt eine Schlüsseldatei mit starkem Namen an. +-libpath:<Pfadliste> Die Liste der Verzeichnisse, die nach Metadaten- + verweisen durchsucht werden sollen (durch Semikolons getrennt). +-main:<Klasse> Gibt die Klasse oder das Modul an, die bzw. das + "Sub Main" enthält. Es kann sich auch um eine Klasse handeln, + die von "System.Windows.Forms.Form" erbt. + (Kurzform: -m) +-moduleassemblyname:<Zeichenfolge> Der Name der Assembly, zu der dieses Modul + gehören wird. +-netcf Gibt .NET Compact Framework als Ziel an. +-nostdlib Keine Verweise auf Standardbibliotheken + ("system.dll" und VBC.RSP-Datei). -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory + Gibt eine Zuordnung für die Ausgabe der Quellpfadnamen durch + den Compiler an. +-platform:<Zeichenfolge> Schränkt die Plattformen ein, auf denen dieser Code ausgeführt werden kann; + gültige Werte sind x86, x64, Itanium, arm, arm64, + AnyCPU32BitPreferred oder anycpu (Standard). +-preferreduilang Gibt den Namen der bevorzugten Ausgabesprache an. +-nosdkpath Deaktivieren Sie das Durchsuchen des Standard-SDK-Pfads für Standardbibliotheksassemblys. +-sdkpath:<Pfad> Der Speicherort des .NET Framework SDK-Verzeichnisses (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. - version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-subsystemversion:<Version> Gibt die Subsystemversion der PE-Ausgabedatei an. + version:<Zahl>[.<Zahl>] +-utf8output[+|-] Gibt die Compilerausgabe in UTF8-Zeichen- + codierung aus. +@<Datei> Fügt Befehlszeileneinstellungen aus einer Textdatei ein. +-vbruntime[+|-|*] Kompiliert mit der bzw. ohne die Visual Basic- + Standardlaufzeit. +-vbruntime:<Datei> Kompiliert mit der Visual Basic- + Alternativlaufzeit in <Datei>. @@ -9095,4 +9095,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.es.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.es.xlf index 21be0bc503173..fa9ed61c6a7e8 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.es.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.es.xlf @@ -7,7 +7,7 @@ parámetros de tipo sin restricciones en expresiones condicionales binarias - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,166 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Opciones del compilador de Visual Basic - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in + - ARCHIVO DE SALIDA - +-out:<archivo> Especificar nombre del archivo de salida. +-target:exe Crear una aplicación de consola (predeterminado). + (Forma corta: -t) +-target:winexe Crear una aplicación de Windows. +-target:library Crear un ensamblado de biblioteca. +-target:module Crear un módulo que se pueda agregar a un + ensamblado. +-target:appcontainerexe Crear una aplicación de Windows que se ejecute en AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate +-target:winmdobj Crear un archivo intermedio de metadatos de Windows. +-doc[+|-] Genera un archivo de documentación XML. +-doc:<archivo> Genera un archivo de documentación XML en <archivo>. +-refout:<archivo> Salida del ensamblado de referencia para generar - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - ARCHIVOS DE ENTRADA - +-addmodule:<lista_archivos> Hacer referencia a metadatos desde los módulos especificados +-link:<lista_archivos> Insertar metadatos desde el ensamblado de interoperabilidad + especificado. (Forma corta: -l) +-recurse:<carácter comodín> Incluir todos los archivos en el directorio y los + subdirectorios actuales según las + especificaciones del carácter comodín. +-reference:<lista_archivos> Hacer referencia a los metadatos desde el ensamblado + especificado. (Forma corta: -r) +-analyzer:<lista_archivos > Ejecutar analizadores desde este ensamblado + (Forma corta: -a) +-additionalfile:<lista_archivos> Archivos adicionales que no afectan directamente a la + generación de código, pero que los analizadores pueden usar para producir + errores o advertencias. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + - RECURSOS - +-linkresource:<info recurso> Vincula el archivo especificado como un recurso + de ensamblado externo. + resinfo:<archivo>[,<nombre>[,public|private]] + (Forma corta: -linkres) +-nowin32manifest El manifiesto predeterminado no debe estar insertado + en la sección del manifiesto del PE de salida. +-resource:<info recurso> Agrega el archivo especificado como un recurso + de ensamblado externo. + resinfo:<archivo>[,<nombre>[,public|private]] + (Forma corta: -res) +-win32icon:<archivo> Especifica un archivo de icono Win32 (.ico) para los + recursos Win32 predeterminados. +-win32manifest:<archivo> El archivo proporcionado está insertado en la sección + del manifiesto del PE de salida. +-win32resource:<archivo> Especifica un archivo de recurso Win32 (.res). - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - GENERACIÓN DE CÓDIGO - +-optimize[+|-] Habilitar optimizaciones. +-removeintchecks[+|-] Quitar comprobaciones de enteros. Desactivado de forma predeterminada. +-debug[+|-] Emitir información de depuración. +-debug:full Emitir información de depuración completa (valor predeterminado). +-debug:pdbonly Emitir información de depuración completa. +-debug:portable Emitir información de depuración multiplataforma. +-debug:embedded Emitir información de depuración multiplataforma en el + archivo .dll o .exe de destino. +-deterministic Producir un ensamblado determinista + (que incluya el GUID de la versión y la marca de tiempo del módulo) +-refonly Producir un ensamblado de referencia en lugar de la salida principal +-instrument:TestCoverage Producir un ensamblado instrumentado para recopilar + la información de cobertura +-sourcelink:<archivo> Información del vínculo de origen para insertar en el PDB. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - ERRORES Y ADVERTENCIAS - +-nowarn Deshabilitar todas las advertencias. +-nowarn:<lista_números > Deshabilitar una lista de advertencias individuales. +-warnaserror[+|-] Tratar todas las advertencias como errores. +-warnaserror[+|-]:<lista_números > Tratar una lista de advertencias como errores. +-ruleset:<archivo> Especificar un archivo de conjunto de reglas que deshabilite diagnósticos + específicos. +-errorlog:<archivo> Especificar un archivo para registrar todos los diagnósticos del + compilador y del analizador. +-reportanalyzer Notificar información adicional del analizador, como + el tiempo de ejecución. - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. + - LENGUAJE - +-define:<lista_símbolos> Declarar símbolos de compilación condicional + global. symbol_list:name=value,... + (Forma corta: -d) +-imports:<lista_importaciones> Declarar importaciones globales para los espacios de nombres de + los archivos de metadatos a los que se hace referencia. import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. +-langversion:? Mostrar los valores permitidos para la versión del lenguaje +-langversion:<cadena> Especificar una versión del lenguaje, como + “predeterminada” (versión principal más reciente) o + “última” (última versión, incluidas las versiones secundarias) + o versiones específicas, como “14” o “15.3” +-optionexplicit[+|-] Requerir declaración explícita de variables. +-optioninfer[+|-] Permitir inferencia de tipos de variables. +-rootnamespace:<cadena> Especifica el espacio de nombres raíz para todas las declaraciones + de tipos. +-optionstrict[+|-] Exigir semántica de lenguaje estricta. +-optionstrict:custom Advertir cuando no se respete la semántica del lenguaje + estricta. +-optioncompare:binary Especificar comparaciones de cadenas de estilo binario. + Es el valor predeterminado. +-optioncompare:text Especificar comparaciones de cadenas de estilo de texto. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - VARIOS - +-help Mostrar este mensaje de uso. (Forma corta: -?) +-noconfig No incluir automáticamente el archivo VBC.RSP. +-nologo No mostrar pancarta de copyright del compilador. +-quiet Modo de salida silencioso. +-verbose Mostrar mensajes detallados. +-parallel[+|-] Compilación simultánea. +-version Mostrar el número de versión del compilador y salir. - - ADVANCED - --baseaddress:<number> The base address for a library or module + - AVANZADO - +-baseaddress:<número> Dirección base de una biblioteca o módulo (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). +-checksumalgorithm:<algoritmo> Especificar el algoritmo para calcular la suma de comprobación + del archivo de origen almacenado en PDB. Los valores admitidos son: + SHA1 o SHA256 (predeterminado). +-codepage:<número> Especifica la página de códigos que se va a usar al abrir + los archivos de código fuente. +-delaysign[+|-] Retrasar la firma del ensamblado con solo la parte pública + de la clave de nombre seguro. +-publicsign[+|-] Publicar firma del ensamblado con solo la parte pública + de la clave de nombre seguro. +-errorreport:<cadena> Especifica cómo tratar los errores internos del + compilador: avisar, enviar, ninguno o poner en cola + (predeterminado). +-filealign:<número> Especificar la alineación que se usa para las secciones del archivo de + salida. +-highentropyva[+|-] Habilitar ASLR de alta entropía. +-keycontainer:<cadena> Especifica un contenedor de clave de nombre seguro. +-keyfile:<archivo> Especifica un archivo de clave de nombre seguro. +-libpath:<lista_rutas> Lista de directorios para buscar referencias de + metadatos. (Delimitada por punto y coma). +-main:<clase> Especifica la clase o el módulo que contiene + Sub Main. También puede ser una clase que + herede de System.Windows.Forms.Form. + (Forma corta: -m) +-moduleassemblyname:<cadena> Nombre del ensamblado del que este módulo + formará parte. +-netcf Destino de.NET Compact Framework. +-nostdlib No hacer referencia a las bibliotecas estándar + (archivo system.dll y VBC.RSP). -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory + Especificar una asignación para los nombres de ruta de acceso de origen + producidos por el compilador. +-platform:<cadena> Limitar en qué plataformas se puede ejecutar este código. + Debe ser x86, x64, Itanium, arm, arm64, + AnyCPU32BitPreferred o anycpu (valor predeterminado). +-preferreduilang Especificar el nombre del lenguaje de salida preferido. +-nosdkpath Deshabilite la búsqueda de la ruta de acceso del SDK predeterminado para ensamblados + de biblioteca estándar. +-sdkpath:<ruta de acceso> Ubicación del directorio de .NET Framework SDK (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. - version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-subsystemversion:<versión> Especificar la versión del subsistema del PE de salida. + version:<número>[.<número>] +-utf8output[+|-] Emitir salida del compilador en codificación de caracteres + UTF8. +@<archivo> Insertar la configuración de línea de comandos desde un archivo de texto +-vbruntime[+|-|*] Compilar con o sin el entorno de ejecución predeterminado de + Visual Basic. +-vbruntime:<archivo> Compilar con el entorno de ejecución alternativo de + Visual Basic en <archivo>. @@ -9095,4 +9096,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.fr.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.fr.xlf index 2a97297b80a14..558af6d5b8152 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.fr.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.fr.xlf @@ -7,7 +7,7 @@ paramètres de type sans contrainte dans les expressions conditionnelles binaires - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,166 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Options du compilateur Visual Basic - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an + - FICHIER DE SORTIE - +-out:<fichier> Spécifie le nom du fichier de sortie. +-target:exe Créer une application console (par défaut). + (Forme abrégée : -t) +-target:winexe Créer une application Windows. +-target:library Créer un assembly de bibliothèque. +-target:module Créer un module qui peut être ajouté à un assembly. --target:appcontainerexe Create a Windows application that runs in +-target:appcontainerexe Créer une application Windows qui s'exécute dans AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate +-target:winmdobj Créer un fichier intermédiaire de métadonnées Windows +-doc[+|-] Génère un fichier de documentation XML. +-doc:<fichier> Génère un fichier de documentation XML dans <fichier>. +-refout:<fichier> Référencer la sortie d'assembly à générer - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - FICHIERS D'ENTRÉE - +-addmodule:<liste_fichiers> Référencer les métadonnées à partir des modules spécifiés +-link:<liste_fichiers> Incorporer les métadonnées à partir de + l'assembly d'interopérabilité spécifié. (Forme abrégée : -l) +-recurse:<générique> Inclure tous les fichiers dans le répertoire + et les sous-répertoires actifs en fonction des + spécifications des caractères génériques. +-reference:<liste_fichiers> Référencer les métadonnées à partir de + l'assembly spécifié. (Forme abrégée : -r) +-analyzer:<liste_fichiers> Exécuter les analyseurs à partir de cet assembly + (Forme abrégée : -a) +-additionalfile:<liste_fich.> Fichiers supplémentaires qui n'affectent pas directement + la génération de code mais qui peuvent être utilisés par les analyseurs pour produire + des erreurs ou des avertissements. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + - RESSOURCES - +-linkresource:<resinfo> Lie le fichier spécifié sous forme de + ressource d'assembly externe. + resinfo:<fichier>[,<nom>[,public|private]] + (Forme abrégée : -linkres) +-nowin32manifest Le manifeste par défaut ne doit pas être incorporé + dans la section manifest du PE de sortie. +-resource:<resinfo> Ajoute le fichier spécifié en tant que + ressource d'assembly incorporée. + resinfo:<fichier>[,<nom>[,public|private]] + (Forme abrégée : -res) +-win32icon:<fichier> Spécifie un fichier icône Win32 (.ico) pour les + ressources Win32 par défaut. +-win32manifest:<fichier> Le fichier fourni est incorporé dans la section manifest + du PE de sortie. +-win32resource:<fichier> Spécifie un fichier de ressources Win32 (.res). - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - GÉNÉRATION DE CODE - +-optimize[+|-] Activer les optimisations. +-removeintchecks[+|-] Supprimer les contrôles sur les entiers. La valeur par défaut est off. +-debug[+|-] Émettre des informations de débogage. +-debug:full Émettre des informations de débogage complètes (par défaut). +-debug:pdbonly Émettre des informations de débogage complètes. +-debug:portable Émettre des informations de débogage multiplateformes. +-debug:embedded Émettre des informations de débogage multiplateformes dans + le fichier .dll ou .exe cible. +-deterministic Produire un assembly déterministe + (en incluant le GUID et l'horodatage de la version du module) +-refonly Produire un assembly de référence à la place de la sortie principale +-instrument:TestCoverage Produire un assembly instrumenté pour collecter + les informations de couverture +-sourcelink:<fichier> Informations du lien source à incorporer dans le fichier PDB. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - ERREURS ET AVERTISSEMENTS - +-nowarn Désactiver tous les avertissements. +-nowarn:<liste_numéros> Désactiver une liste d'avertissements individuels. +-warnaserror[+|-] Traiter tous les avertissements comme des erreurs. +-warnaserror[+|-]:<liste_numéros> Traiter une liste d'avertissements comme des erreurs. +-ruleset:<fichier> Spécifier un fichier ruleset qui désactive des + diagnostics spécifiques. +-errorlog:<fichier> Spécifier un fichier pour journaliser tous les diagnostics du compilateur + et de l'analyseur. +-reportanalyzer Signaler des informations supplémentaires sur l'analyseur, comme + la durée d'exécution. - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. - import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. + - LANGAGE - +-define:<liste_symboles> Déclarer des symboles de compilation + conditionnelle globale. liste_symboles:name=value,... + (Forme abrégée : -d) +-imports:<liste_importations> Déclarer des importations globales pour les espaces de noms dans + les fichiers de métadonnées référencés. + liste_importations:namespace,... +-langversion:? Afficher les valeurs autorisées pour la version du langage +-langversion:<chaîne> Spécifier la version du langage, par exemple + 'default' (dernière version principale) ou + 'latest' (dernière version, en incluant les versions mineures), + ou des versions spécifiques comme '14' ou '15.3' +-optionexplicit[+|-] Imposer une déclaration explicite des variables. +-optioninfer[+|-] Autoriser l'inférence de type des variables. +-rootnamespace:<chaîne> Spécifie l'espace de noms racine pour toutes les + déclarations de type. +-optionstrict[+|-] Appliquer une sémantique stricte du langage. +-optionstrict:custom Avertir quand la sémantique stricte du langage n'est pas + respectée. +-optioncompare:binary Spécifie des comparaisons de chaînes de style binaire. + Il s'agit de la valeur par défaut. +-optioncompare:text Spécifie des comparaisons de chaînes de style texte. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - DIVERS - +-help Afficher ce message d'utilisation. (Forme abrégée : -?) +-noconfig Ne pas inclure automatiquement un fichier VBC.RSP. +-nologo Ne pas afficher la bannière de copyright du compilateur. +-quiet Mode de sortie silencieux. +-verbose Afficher des messages documentés. +-parallel[+|-] Build simultanée. +-version Afficher le numéro de version du compilateur et quitter le processus. - - ADVANCED - --baseaddress:<number> The base address for a library or module + - AVANCÉ - +-baseaddress:<numéro> Adresse de base d'une bibliothèque ou d'un module (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). +-checksumalgorithm:<alg> Spécifier l'algorithme de calcul de la somme de contrôle + de fichier source stockée dans le fichier PDB. Valeurs prises en charge : + SHA1 ou SHA256 (par défaut). +-codepage:<numéro> Spécifie la page de codes à utiliser à l'ouverture + des fichiers sources. +-delaysign[+|-] Différer la signature de l'assembly en utilisant uniquement + la partie publique de la clé de nom fort. +-publicsign[+|-] Signer publiquement l'assembly en utilisant uniquement + la partie publique de la clé de nom fort. +-errorreport:<chaîne> Spécifie comment prendre en charge les erreurs internes du + compilateur ; doit avoir la valeur prompt, send, none ou queue + (par défaut). +-filealign:<numéro> Spécifier l'alignement utilisé pour les + sections du fichier de sortie. +-highentropyva[+|-] Activer la randomisation du format d'espace d'adresse d'entropie élevée. +-keycontainer:<chaîne> Spécifie un conteneur de clé de nom fort. +-keyfile:<fichier> Spécifie un fichier de clé de nom fort. +-libpath:<liste_chemins> Liste de répertoires où rechercher des + références de métadonnées. (Valeurs délimitées par des points-virgules.) +-main:<classe> Spécifie la classe ou le module qui contient + Sub Main. Il peut également s'agir d'une classe qui + hérite de System.Windows.Forms.Form. + (Forme abrégée : -m) +-moduleassemblyname:<chaîne> Nom de l'assembly dont ce module + doit faire partie. +-netcf Cibler le .NET Compact Framework. +-nostdlib Ne pas référencer les bibliothèques standard + (fichiers system.dll et VBC.RSP). -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory + Spécifier un mappage pour les noms de chemins sources sortis par + le compilateur. +-platform:<chaîne> Limiter les plateformes sur lesquelles ce code peut s'exécuter ; + doit correspondre à x86, x64, Itanium, arm, arm64, + AnyCPU32BitPreferred ou anycpu (par défaut). +-preferreduilang Spécifier le nom du langage de sortie préféré. +-nosdkpath Désactiver la recherche dans le chemin du SDK par défaut pour trouver + des assemblys de bibliothèques standard. +-sdkpath:<chemin> Emplacement du répertoire du SDK .NET Framework (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. - version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-subsystemversion:<version> Spécifier la version du sous-système du PE de sortie. + version:<numéro>[.<numéro>] +-utf8output[+|-] Émettre la sortie du compilateur au format + d'encodage de caractères UTF8. +@<fichier> Insérer les paramètres de ligne de commande à partir d'un fichier texte +-vbruntime[+|-|*] Compiler avec/sans le + runtime Visual Basic par défaut. +-vbruntime:<fichier> Compiler avec le + runtime Visual Basic de remplacement dans <fichier>. @@ -9095,4 +9096,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.it.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.it.xlf index df12e2aef4eae..d22f5da9851c3 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.it.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.it.xlf @@ -7,7 +7,7 @@ parametri di tipo non senza vincoli in espressioni condizionali binarie - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,165 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Opzioni del compilatore Visual Basic - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in + - FILE DI OUTPUT - +-out:<file> Consente di specificare il nome del file di output. +-target:exe Crea un'applicazione console (impostazione predefinita). + Forma breve: -t +-target:winexe Crea un'applicazione Windows. +-target:library Crea un assembly di librerie. +-target:module Crea un modulo che può essere aggiunto a un + assembly. +-target:appcontainerexe Crea un'applicazione Windows che viene eseguita in AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate +-target:winmdobj Crea un file intermedio di metadati di Windows. +-doc[+|-] Genera un file di documentazione XML. +-doc:<file> Genera un file di documentazione XML in <file>. +-refout:<file> Output dell'assembly di riferimento da generare - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - FILE DI INPUT - +-addmodule:<elenco_file> Crea un riferimento ai metadati dai moduli specificati. +-link:<elenco_file> Incorpora metadati dall'assembly di interoperabilità + specificato. Forma breve: -l +-recurse:<caratterijolly> Include tutti i file presenti nella directory corrente + e nelle relative sottodirectory in base + ai caratteri jolly specificati. +-reference:<elenco_file> Crea un riferimento ai metadati dall'assembly + specificato. Forma breve: -r +-analyzer:<elenco_file> Esegue gli analizzatori dall'assembly. + Forma breve: -a +-additionalfile:<elenco file> File aggiuntivi che non influiscono + direttamente sulla generazione del codice ma possono essere usati + dagli analizzatori per produrre errori o avvisi. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + - RISORSE - +-linkresource:<inforisorsa> Collega il file specificato come + risorsa di assembly esterna. + resinfo:<file>[,<nome>[,public|private]] + Forma breve: -linkres +-nowin32manifest Il manifesto predefinito non deve essere incorporato nella + sezione manifesto del file PE di output. +-resource:<inforisorsa> Aggiunge il file specificato come + risorsa di assembly incorporata. + resinfo:<file>[,<nome>[,public|private]] + Forma breve: -res +-win32icon:<file> Consente di specificare un file di icona Win32 (.ico) per le risorse + Win32 predefinite. +-win32manifest:<file> Il file fornito è incorporato nella sezione manifesto + del file PE di output. +-win32resource:<file> Consente di specificare un file di risorse Win32 (.res). - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - GENERAZIONE CODICE - +-optimize[+|-] Abilita le ottimizzazioni. +-removeintchecks[+|-] Rimuove il controllo dei numeri interi. Per impostazione predefinita, è disattivato. +-debug[+|-] Crea le informazioni di debug. +-debug:full Crea le informazioni di debug complete (impostazione predefinita). +-debug:pdbonly Crea le informazioni di debug complete. +-debug:portable Crea informazioni di debug multipiattaforma. +-debug:embedded Crea informazioni di debug multipiattaforma nel file + DLL o EXE di destinazione. +-deterministic Produce un assembly deterministico + (che include GUID e timestamp della versione del modulo) +-refonly Produce un assembly di riferimento al posto dell'output principale +-instrument:TestCoverage Produce un assembly instrumentato per raccogliere + informazioni sul code coverage +-sourcelink:<file> Informazioni sul collegamento di origine da incorporare nel file PDB. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - ERRORI E AVVISI - +-nowarn Disabilita tutti gli avvisi. +-nowarn:<elenco_numeri> Disabilita un elenco di avvisi singoli. +-warnaserror[+|-] Considera tutti gli avvisi come errori. +-warnaserror[+|-]:<elenco_numeri> Considera un elenco di avvisi come errori. +-ruleset:<file> Consente di specificare un file di set di regole che disabilita + diagnostica specifica. +-errorlog:<file> Consente di specificare un file in cui registrare tutte le diagnostiche del + compilatore e dell'analizzatore. +-reportanalyzer Restituisce informazioni aggiuntive dell'analizzatore, ad + esempio il tempo di esecuzione. - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. - import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. + - LINGUAGGIO - +-define:<elenco_simboli> Dichiara simboli di compilazione condizionale + globale. elenco_simboli:nome=valore,... + Forma breve: -d +-imports:<elenco_importazioni> Dichiara importazioni globali per spazi dei nomi in + file di metadati a cui viene fatto riferimento. + elenco_importazioni:spazio dei nomi,... +-langversion:? Visualizza i valori consentiti per la versione del linguaggio +-langversion:<stringa> Consente di specificare la versione del linguaggio, ad esempio + `default` (ultima versione principale), o + `latest` (ultima versione che include versioni secondarie), + oppure versioni specifiche, come `14` o `15.3` +-optionexplicit[+|-] Richiede la dichiarazione esplicita delle variabili. +-optioninfer[+|-] Consente l'inferenza del tipo delle variabili. +-rootnamespace:<stringa> Consente di specificare lo spazio dei nomi radice per tutte le dichiarazioni + di tipo. +-optionstrict[+|-] Attiva la semantica del linguaggio strict. +-optionstrict:custom Avvisa quando la semantica del linguaggio strict non + viene rispettata. +-optioncompare:binary Consente di specificare i confronti fra stringhe binarie. + Impostazione predefinita. +-optioncompare:text Consente di specificare i confronti fra stringhe di testo. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - VARIE - +-help Visualizza questo messaggio relativo alla sintassi. Forma breve: -? +-noconfig Non include automaticamente il file VBC.RSP. +-nologo Non visualizza le informazioni sul copyright del compilatore. +-quiet Modalità di output non interattiva. +-verbose Visualizza messaggi dettagliati. +-parallel[+|-] Compilazione simultanea. +-version Visualizza il numero di versione del compilatore ed esce. - - ADVANCED - --baseaddress:<number> The base address for a library or module + - AVANZATE - +-baseaddress:<numero> Indirizzo di base di una libreria o di un modulo (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). +-checksumalgorithm:<alg> Consente di specificare l'algoritmo per calcolare il checksum + del file di origine archiviato nel file PDB. I valori supportati sono: + SHA1 o SHA256 (predefinito). +-codepage:<numero> Consente di specificare la tabella codici da usare all'apertura dei file + di origine. +-delaysign[+|-] Ritarda la firma dell'assembly usando solo la parte pubblica della + chiave con nome sicuro. +-publicsign[+|-] Firma pubblicamente l'assembly usando solo la parte pubblica + della chiave con nome sicuro. +-errorreport:<stringa> Consente di specificare come gestire gli errori interni del compilatore. + I valori devono essere prompt, send, none o queue + (impostazione predefinita). +-filealign:<numero> Consente di specificare l'allineamento usato per le sezioni del file di + output. +-highentropyva[+|-] Abilita ASLR a entropia elevata. +-keycontainer:<stringa> Consente di specificare un contenitore di chiavi con nome sicuro. +-keyfile:<file> Consente di specificare un file di chiave con nome sicuro. +-libpath:<elenco_percorsi> Elenco di directory delimitate da punti e virgola in cui cercare + riferimenti ai metadati. +-main:<classe> Consente di specificare la classe o il modulo che contiene + Sub Main. Può essere anche una classe che + eredita da System.Windows.Forms.Form. + Forma breve: -m +-moduleassemblyname:<stringa> Nome dell'assembly di cui farà parte questo + modulo. +-netcf Destinato a .NET Compact Framework. +-nostdlib Omette i riferimenti alle librerie standard + (system.dll e VBC.RSP file). -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory + Consente di specificare un mapping per i nomi di percorso di origine + visualizzati dal compilatore. +-platform:<stringa> Limita le piattaforme su cui è possibile seguire questo codice. + Il valore deve essere x86, x64, Itanium, arm, arm64, + AnyCPU32BitPreferred o anycpu (impostazione predefinita). +-preferreduilang Consente di specificare il nome del linguaggio di output preferito. +-nosdkpath Disabilita la ricerca di assembly di librerie standard nel percorso predefinito dell'SDK. +-sdkpath:<percorso> Percorso della directory di .NET Framework SDK (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. - version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-subsystemversion:<versione> Consente di specificare la versione del sottosistema del file PE di output. + version:<numero>[.<numero>] +-utf8output[+|-] Crea l'output del compilatore con codifica dei caratteri + UTF8. +@<file> Inserisce le impostazioni della riga di comando da un file di testo. +-vbruntime[+|-|*] Compila con/senza il runtime di Visual Basic + predefinito. +-vbruntime:<file> Compila con il runtime di Visual Basic alternativo + in <file>. @@ -9095,4 +9095,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.ja.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.ja.xlf index 7fc32356acb15..797214ea26f05 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.ja.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.ja.xlf @@ -7,7 +7,7 @@ バイナリ条件式での非制約型パラメーター - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,165 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Visual Basic コンパイラのオプション - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in - AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate + - 出力ファイル - +-out:<file> 出力ファイル名を指定します。 +-target:exe コンソール アプリケーションを作成します (既定)。 + (短い形式: -t) +-target:winexe Windows アプリケーションを作成します。 +-target:library ライブラリ アセンブリを作成します。 +-target:module アセンブリに追加できるモジュールを作成 + します。 +-target:appcontainerexe AppContainer で実行される Windows アプリケーションを + 作成します。 +-target:winmdobj Windows メタデータ中間ファイルを作成します +-doc[+|-] XML ドキュメント ファイルを生成します。 +-doc:<file> XML ドキュメント ファイルを <file> に生成します。 +-refout:<file> 生成する参照アセンブリ出力 - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - 入力ファイル - +-addmodule:<file_list> 指定されたモジュールからメタデータを参照します +-link:<file_list> 指定された相互運用アセンブリから + メタデータを埋め込みます。(短い形式: -l) +-recurse:<wildcard> ワイルドカードの指定に従い、 + 現在のディレクトリとサブディレクトリ内の + すべてのファイルをインクルードします。 +-reference:<file_list> 指定されたアセンブリから + メタデータを参照します。 (短い形式: -r) +-analyzer:<file_list> このアセンブリからアナライザーを実行します + (短い形式: -a) +-additionalfile:<file list> コード生成には直接影響しないものの、 + アナライザーがエラーまたは警告を + 生成するために必要な追加ファイル。 - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. + - リソース - +-linkresource:<resinfo> 指定されたファイルを外部のアセンブリ リソースとして + リンクします。 resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. + (短い形式: -linkres) +-nowin32manifest 出力 PE のマニフェスト セクションに既定の + マニフェストを埋め込んではいけません。 +-resource:<resinfo> 指定されたファイルを + 埋め込みアセンブリ リソースとして追加します。 resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + (短い形式: -res) +-win32icon:<file> Win32 アイコン ファイル (.ico) を + 既定の Win32 リソースに使用します。 +-win32manifest:<file> 指定されたファイルは出力 PE の + マニフェスト セクションに埋め込まれています。 +-win32resource:<file> Win32 リソース ファイル (.res) を指定します。 - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - コード生成 - +-optimize[+|-] 最適化を有効にします。 +-removeintchecks[+|-] 整数のチェックを削除します。既定値は Off です。 +-debug[+|-] デバッグ情報を生成します。 +-debug:full 完全なデバッグ情報を生成します (既定値)。 +-debug:pdbonly 完全なデバッグ情報を生成します。 +-debug:portable クロスプラットフォーム デバッグ情報を生成します。 +-debug:embedded クロスプラットフォーム デバッグ情報を + ターゲット .dll または .exe 内に生成します。 +-deterministic 決定論的アセンブリを作成します + (モジュール バージョン GUID やタイムスタンプなど) +-refonly メイン出力の代わりに参照アセンブリを生成します +-instrument:TestCoverage カバレッジ情報を収集するようにインストルメント + されたアセンブリを生成します +-sourcelink:<file> PDB に埋め込むソース リンク情報。 - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - エラーと警告 - +-nowarn すべての警告を無効にします。 +-nowarn:<number_list> 個々の警告リストを無効にします。 +-warnaserror[+|-] すべての警告をエラーとして扱います。 +-warnaserror[+|-]:<number_list> 警告リストをエラーとして扱います。 +-ruleset:<file> 特定の診断を無効にするルールセット ファイルを + 指定します。 +-errorlog:<file> すべてのコンパイラおよびアナライザーの診断を + ログに記録するためのファイルを指定します。 +-reportanalyzer 追加のアナライザー情報を報告します + (実行時間など)。 - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. + - 言語 - +-define:<symbol_list> 条件付きコンパイル シンボルをグローバルに宣言 + します。 symbol_list:name=value,... + (短い形式: -d) +-imports:<import_list> 参照されたメタデータ ファイルの + 名前空間に対して Imports をグローバルに宣言します。 import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. +-langversion:? 言語バージョンに許容される値を表示します +-langversion:<string> `default` (最新のメジャー バージョン)や + `latest` (マイナー バージョンを含む最新バージョン) + または、`14` や `15.3`などの特定バージョン + で言語バージョンを指定します。 +-optionexplicit[+|-] 変数の明示的な宣言が必要です。 +-optioninfer[+|-] 変数の型の推定を許可します。 +-rootnamespace:<string> すべての型宣言に対して + ルート名前空間を指定します。 +-optionstrict[+|-] 厳密な言語セマンティクスを適用します。 +-optionstrict:custom 厳密な言語セマンティクスが + 守られていないときに警告します。 +-optioncompare:binary バイナリ スタイルの文字列比較を指定します。 + これは既定値です。 +-optioncompare:text テキスト スタイルの文字列比較を指定します。 - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - その他 - +-help 使用法に関するメッセージを表示します。 (短い形式: -?) +-noconfig VBC.RSP ファイルを自動的にはインクルードしません。 +-nologo コンパイラの著作権情報を表示しません。 +-quiet 非表示出力モードです。 +-verbose 詳細メッセージを表示します。 +-parallel[+|-] ビルドを並列処理します。 +-version コンパイラのバージョン番号を出力して終了します。 - - ADVANCED - --baseaddress:<number> The base address for a library or module - (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). + - 詳細 - +-baseaddress:<number> ライブラリまたはモジュールのベース アドレス + (16 進)。 +-checksumalgorithm:<alg> PDB に格納されているソース ファイルのチェックサム + checksum を計算するアルゴリズムを指定します。サポートされる値: + SHA1 や SHA256 (既定)。 +-codepage:<number> ソース ファイルを開くときに使用するコード ページを + 指定します。 +-delaysign[+|-] アセンブリの遅延署名には厳密な名前キーのうち + 公開された部分のみを使用します。 +-publicsign[+|-] 厳密な名前キーの公開部分のみを使ってアセンブリ + を公開署名します。 +-errorreport:<string> 内部コンパイラ エラーの処理方法を指定 + します。prompt、send、none、queue + (既定) のいずれかでなければなりません。 +-filealign:<number> 出力ファイル セクションで使う配置 + を指定します。 +-highentropyva[+|-] 高エントロピ ASLR を有効化します。 +-keycontainer:<string> 厳密な名前キーのコンテナーを指定します。 +-keyfile:<file> 厳密な名前キーのファイルを指定します。 +-libpath:<path_list> メタデータ参照を検索する + ディレクトリの (セミコロン区切りの) リスト。 +-main:<class> Sub Main を含むクラスまたはモジュール + を指定します。System.Windows.Forms.Form から継承 + されるクラスにすることもできます。 + (短い形式: -m) +-moduleassemblyname:<string> このモジュールが一部となる + アセンブリ名です。 +-netcf .NET Compact Framework をターゲットにします。 +-nostdlib 標準ライブラリ + (system.dll と VBC.RSP ファイル)を参照しません。 -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory - (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. + コンパイラが出力するソース パス名のマッピングを + 指定します。 +-platform:<string> このコードを実行できるプラットフォームは + x86、x64、Itanium、arm、arm64、 + AnyCPU32BitPreferred、anycpu (既定) でなければなりません。 +-preferreduilang 出力用の言語名を指定します。 +-nosdkpath 標準ライブラリ アセンブリの既定の SDK パスの検索を無効にします。 +-sdkpath:<path> .NET Framework SDK ディレクトリ (mscorlib.dll) + の場所。 +-subsystemversion:<version> 出力 PE のサブシステム バージョンを指定します。 version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-utf8output[+|-] コンパイラ出力を UTF-8 文字エンコード + で作成します。 +@<file> コマンドライン設定をテキスト ファイルから挿入します +-vbruntime[+|-|*] 既定の Visual Basic ランタイムを使用して/使用せずに + コンパイルします。 +-vbruntime:<file> <file> の別の Visual Basic ランタイムを使用して + コンパイルします。 @@ -9095,4 +9095,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.ko.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.ko.xlf index 3783c8daa01b1..7e03991ca5d2c 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.ko.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.ko.xlf @@ -7,7 +7,7 @@ 이진 조건식의 비제한 형식 매개 변수 - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,165 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Visual Basic 컴파일러 옵션 - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in - AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate + - 출력 파일 - +-out:<file> 출력 파일 이름을 지정합니다. +-target:exe 콘솔 응용 프로그램을 만듭니다(기본값). + (약식: -t) +-target:winexe Windows 응용 프로그램을 만듭니다. +-target:library 라이브러리 어셈블리를 만듭니다. +-target:module 어셈블리에 추가할 수 있는 모듈을 + 만듭니다. +-target:appcontainerexe AppContainer에서 실행되는 Windows 응용 프로그램을 + 만듭니다. +-target:winmdobj Windows 메타데이터 중간 파일을 만듭니다. +-doc[+|-] XML 문서 파일을 생성합니다. +-doc:<file> XML 문서 파일을 <file>에 생성합니다. +-refout:<file> 생성할 참조 어셈블리 출력 - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - 입력 파일 - +-addmodule:<file_list> 지정된 모듈에서 메타데이터를 참조합니다. +-link:<file_list> 지정된 interop 어셈블리의 메타데이터를 + 포함합니다. (약식: -l) +-recurse:<wildcard> 와일드카드 지정에 따라 현재 디렉터리와 + 하위 디렉터리에 있는 모든 파일을 + 포함합니다. +-reference:<file_list> 지정한 어셈블리 파일에서 메타데이터를 + 참조합니다. (약식: -r) +-analyzer:<file_list> 이 어셈블리에서 분석기를 실행합니다. + (약식: -a) +-additionalfile:<file list> 코드 생성에 직접적인 영향을 주지 않지만 + 오류 또는 경고 생성을 위해 분석기에서 사용될 수 있는 + 추가 파일입니다. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. + - 리소스 - +-linkresource:<resinfo> 지정된 파일을 외부 어셈블리 + 리소스로 연결합니다. resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. + (약식: -linkres) +-nowin32manifest 기본 매니페스트는 출력 PE의 매니페스트 섹션에 + 포함되면 안 됩니다. +-resource:<resinfo> 지정한 파일을 포함된 어셈블리 + 리소스로 추가합니다. resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + (약식: -res) +-win32icon:<file> 기본 Win32 리소스에 사용되는 Win32 아이콘 파일(.ico)을 + 지정합니다. +-win32manifest:<file> 제공된 파일은 출력 PE의 매니페스트 + 섹션에 포함됩니다. +-win32resource:<file> Win32 리소스 파일(.res)을 지정합니다. - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - 코드 생성 - +-optimize[+|-] 최적화를 사용합니다. +-removeintchecks[+|-] 정수 확인을 제거합니다. 기본값은 off입니다. +-debug[+|-] 디버깅 정보를 내보냅니다. +-debug:full 전체 디버깅 정보를 내보냅니다(기본값). +-debug:pdbonly 전체 디버깅 정보를 내보냅니다. +-debug:portable 플랫폼 간 디버깅 정보를 내보냅니다. +-debug:embedded 플랫폼 간 디버깅 정보를 대상 .dll 또는 .exe로 + 내보냅니다. +-deterministic 결정적 어셈블리를 생성합니다 + (모듈 버전 GUID 및 타임스탬프 포함). +-refonly 주 출력 대신 참조 어셈블리를 생성합니다. +-instrument:TestCoverage 검사 정보를 수집하기 위해 계측한 + 어셈블리를 생성합니다. +-sourcelink:<file> PDB에 포함할 소스 링크 정보입니다. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - 오류 및 경고 - +-nowarn 모든 경고를 사용하지 않습니다. +-nowarn:<number_list> 개별 경고 목록을 사용하지 않습니다. +-warnaserror[+|-] 모든 경고를 오류로 처리합니다. +-warnaserror[+|-]:<number_list> 경고 목록을 오류로 처리합니다. +-ruleset:<file> 특정 진단을 사용하지 않도록 하는 규칙 집합을 + 지정합니다. +-errorlog:<file> 모든 컴파일러 및 분석기 진단을 기록할 파일을 + 지정합니다. +-reportanalyzer 추가 분석기 정보(예: 실행 시간)를 + 보고합니다. - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. + - 언어 - +-define:<symbol_list> 전역 조건부 컴파일 기호를 + 선언합니다. symbol_list:name=value,... + (약식: -d) +-imports:<import_list> 참조된 메타데이터 파일에 네임스페이스의 + 전역 가져오기를 선언합니다. import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. +-langversion:? 언어 버전에 허용되는 값을 표시합니다. +-langversion:<string> 언어 버전을 + `default`(최신 주 버전), + `latest`(최신 버전, 부 버전 포함), + `14` 또는 `15.3` 같은 특정 버전으로 지정합니다. +-optionexplicit[+|-] 변수의 명시적 선언을 요구합니다. +-optioninfer[+|-] 변수의 형식 유추를 허용합니다. +-rootnamespace:<string> 모든 형식 선언의 루트 네임스페이스를 + 지정합니다. +-optionstrict[+|-] 엄격한 언어 의미 체계를 적용합니다. +-optionstrict:custom 엄격한 언어 의미 체계가 사용되지 않을 때 + 경고합니다. +-optioncompare:binary 이진 스타일 문자열 비교를 지정합니다. + 기본값입니다. +-optioncompare:text 텍스트 스타일 문자열 비교를 지정합니다. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - 기타 - +-help 사용법 메시지를 표시합니다. (약식: -?) +-noconfig VBC.RSP 파일을 자동으로 포함하지 않습니다. +-nologo 컴파일러 저작권 배너를 표시하지 않습니다. +-quiet 자동 출력 모드입니다. +-verbose 자세한 메시지를 표시합니다. +-parallel[+|-] 동시 빌드입니다. +-version 컴파일러 버전 번호를 표시하고 종료합니다. - - ADVANCED - --baseaddress:<number> The base address for a library or module - (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). + - 고급 - +-baseaddress:<number> 16진수로 지정된 라이브러리 또는 모듈의 기준 + 주소입니다. +-checksumalgorithm:<alg> PDB에 저장된 소스 파일 체크섬을 계산하기 위한 + 알고리즘을 지정합니다. 지원되는 값은 + SHA1 또는 SHA256입니다 (기본값). +-codepage:<number> 소스 파일을 열 때 사용할 코드 페이지를 + 지정합니다. +-delaysign[+|-] 강력한 이름 키의 공개 부분만 사용하여 + 어셈블리 서명을 연기합니다. +-publicsign[+|-] 강력한 이름 키의 공개 부분만 사용하여 + 어셈블리에 공개 서명합니다. +-errorreport:<string> 내부 컴파일러 오류를 처리하는 방법을 + prompt, send, none 또는 queue(기본값) + 중에서 선택합니다. +-filealign:<number> 출력 파일 섹션에 사용되는 맞춤을 + 지정합니다. +-highentropyva[+|-] 높은 엔트로피 ASLR을 사용합니다. +-keycontainer:<string> 강력한 이름의 키 컨테이너를 지정합니다. +-keyfile:<file> 강력한 이름의 키 파일을 지정합니다. +-libpath:<path_list> 메타데이터 참조에 대해 검색할 디렉터리 + 목록이며 세미콜론으로 구분됩니다. +-main:<class> Sub Main을 포함하는 클래스 또는 모듈을 + 지정합니다. System.Windows.Forms.Form에서 상속하는 + 클래스를 사용할 수도 있습니다. + (약식: -m) +-moduleassemblyname:<string> 이 모듈이 속할 어셈블리의 + 이름입니다. +-netcf .NET Compact Framework를 대상으로 지정합니다. +-nostdlib 표준 라이브러리(system.dll 및 VBC.RSP 파일)를 + 참조하지 않습니다. -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory - (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. + 컴파일러에서 소스 경로 이름 출력에 대한 + 매핑을 지정합니다. +-platform:<string> 이 코드를 실행할 수 있는 플랫폼을 + x86, x64, Itanium, arm, arm64, + AnyCPU32BitPreferred 또는 anycpu(기본값)로 제한합니다. +-preferreduilang 기본 출력 언어 이름을 지정합니다. +-nosdkpath 표준 라이브러리 어셈블리의 기본 SDK 경로를 찾지 않도록 설정합니다. +-sdkpath:<path> .NET Framework SDK 디렉터리의 + 위치(mscorlib.dll)입니다. +-subsystemversion:<version> 출력 PE의 하위 시스템 버전을 지정합니다. version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-utf8output[+|-] UTF8 문자 인코딩으로 컴파일러 출력을 + 내보냅니다. +@<file> 텍스트 파일에서 명령줄 설정을 삽입합니다. +-vbruntime[+|-|*] 기본 Visual Basic 런타임을 사용하거나 사용하지 않고 + 컴파일합니다. +-vbruntime:<file> <file>에서 대체 Visual Basic 런타임을 사용하여 + 컴파일합니다. @@ -9095,4 +9095,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.pl.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.pl.xlf index 6d9f306a5be06..efe0ca0101bad 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.pl.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.pl.xlf @@ -7,7 +7,7 @@ parametry typu bez ograniczeń w binarnych wyrażeniach warunkowych - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,165 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Opcje kompilatora Visual Basic - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in - AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate + - PLIK WYJŚCIOWY - +-out:<plik> Określa nazwę pliku wyjściowego. +-target:exe Utwórz aplikację konsolową (domyślnie). + (krótka wersja: -t) +-target:winexe Utwórz aplikację systemu Windows. +-target:library Utwórz zestaw biblioteki. +-target:module Utwórz moduł, który można dodać do + zestawu. +-target:appcontainerexe Utwórz aplikację systemu Windows uruchamianą w + kontenerze aplikacji. +-target:winmdobj Utwórz plik pośredni metadanych systemu Windows +-doc[+|-] Generuje plik dokumentacji XML. +-doc:<plik> Generuje plik dokumentacji XML w pliku <plik>. +-refout:<plik> Dane wyjściowe zestawu odwołania do wygenerowania - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - PLIKI WEJŚCIOWE - +-addmodule:<lista_plików> Odwołuj się do metadanych z określonych modułów +-link:<lista_plików> Osadź metadane z określonego + zestawu międzyoperacyjnego. (krótka wersja: -l) +-recurse:<symbol wieloznaczny> Dołącz wszystkie pliki zawarte w bieżącym katalogu + i jego podkatalogach zgodnie ze + specyfikacją określoną przy użyciu symboli wieloznacznych. +-reference:<lista_plików> Odwołuj się do metadanych z określonego + zestawu. (krótka wersja: -r) +-analyzer:<lista_plików> Uruchom analizatory z tego zestawu + (krótka wersja: -a) +-additionalfile:<lista plików> Dodatkowe pliki, które nie mają bezpośredniego wpływu + na generowanie kodu, ale mogą być używane przez analizatory w celu tworzenia + komunikatów o błędach lub ostrzeżeń. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + - ZASOBY - +-linkresource:<informacje o zasobie> Łączy określony plik jako + zasób zewnętrzny zestawu. + resinfo:<plik>[,<nazwa>[,public|private]] + (krótka wersja: -linkres) +-nowin32manifest Manifest domyślny nie powinien być osadzony + w sekcji manifestu w wyjściowym środowisku PE. +-resource:<informacje o zasobie> Dodaje określony plik jako osadzony + zasób zestawu. + resinfo:<plik>[,<nazwa>[,public|private]] + (krótka wersja: -res) +-win32icon:<plik> Określa plik ikony środowiska Win32 (ico) dla + domyślnych zasobów środowiska Win32. +-win32manifest:<plik> Podany plik zostanie osadzony w + sekcji manifestu wyjściowego środowiska PE. +-win32resource:<plik> Określa plik zasobów środowiska Win32 (res). - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - GENEROWANIE KODU - +-optimize[+|-] Włącz optymalizacje. +-removeintchecks[+|-] Usuń kontrole liczb całkowitych. Domyślnie wyłączone. +-debug[+|-] Emituj informacje o debugowaniu. +-debug:full Emituj pełne informacje o debugowaniu (domyślnie). +-debug:pdbonly Emituj pełne informacje o emitowaniu. +-debug:portable Emituj informacje o debugowaniu międzyplatformowym. +-debug:embedded Emituj informacje o debugowaniu międzyplatformowym do + docelowego pliku DLL lub EXE. +-deterministic Utwórz zestaw deterministyczny + (w tym sygnaturę czasową i identyfikator GUID wersji modułu) +-refonly Utwórz zestaw odwołania zamiast głównych danych wyjściowych +-instrument:TestCoverage Utwórz zestaw instrumentowany w celu gromadzenia + informacji o pokryciu +-sourcelink:<file> Informacje o linku źródłowym do wbudowania w pliku PDB. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - BŁĘDY I OSTRZEŻENIA - +-nowarn Wyłącz wszystkie ostrzeżenia. +-nowarn:<lista_numerów> Wyłącz listę poszczególnych ostrzeżeń. +-warnaserror[+|-] Traktuj wszystkie ostrzeżenia jako błędy. +-warnaserror[+|-]:<lista_numerów> Traktuj ostrzeżenia z listy jako błędy. +-ruleset:<plik> Określ plik zestawu reguł, który wyłącza określone + opcje diagnostyczne. +-errorlog:<plik> Określ plik, w którym mają zostać zarejestrowane dane diagnostyczne + wszystkich kompilatorów i analizatorów. +-reportanalyzer Zgłoś dodatkowe informacje analizatora, takie jak + czas wykonywania. - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. - import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. + - JĘZYK - +-define:<lista_symboli> Zadeklaruj globalne symbole + kompilacji warunkowej. symbol_list:nazwa=wartość,... + (krótka wersja: -d) +-imports:<lista_importów> Zadeklaruj globalne importy dla przestrzeni nazw w + przywoływanych plikach metadanych. + import_list:przestrzeń_nazw, ,... +-langversion:? Wyświetl dozwolone wartości dla wersji języka +-langversion:<ciąg> Określ wersję języka, taką jak + „domyślna” (najnowsza wersja główna), lub + „najnowsza” (najnowsza wersja, z uwzględnieniem wersji pomocniczych) + lub konkretna wersja, na przykład „14” lub „15.3” +-optionexplicit[+|-] Wymagaj jawnej deklaracji zmiennych. +-optioninfer[+|-] Zezwalaj na wnioskowanie o typie zmiennych. +-rootnamespace:<ciąg> Określa główną przestrzeń nazw dla wszystkich + deklaracji typów. +-optionstrict[+|-] Wymuszaj ścisłą semantykę języka. +-optionstrict:custom Ostrzegaj, gdy ścisła semantyka języka nie jest + przestrzegana. +-optioncompare:binary Określa binarne porównywanie ciągów. + Jest ono domyślne. +-optioncompare:text Określa tekstowe porównywanie ciągów. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - RÓŻNE - +-help Wyświetl ten komunikat dotyczący użycia. (krótka wersja: -?) +-noconfig Nie dołączaj automatycznie pliku VBC.RSP. +-nologo Nie wyświetlaj transparentu kompilatora z informacjami o prawach autorskich. +-quiet Cichy tryb wyjściowy. +-verbose Wyświetl pełne komunikaty. +-parallel[+|-] Współbieżna kompilacja. +-version Wyświetl numer wersji kompilatora i wyjdź. - - ADVANCED - --baseaddress:<number> The base address for a library or module - (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). --pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory + - ZAAWANSOWANE - +-baseaddress:<numer> Podstawowy adres biblioteki lub modułu + (szesnastkowy). +-checksumalgorithm:<algorytm> Określ algorytm obliczania sumy kontrolnej + pliku źródłowego przechowywanej w pliku PDB. Obsługiwane wartości: + SHA1 lub SHA256 (domyślnie). +-codepage:<numer> Określa stronę kodową do użycia podczas otwierania + plików źródłowych. +-delaysign[+|-] Podpisz z opóźnieniem zestaw, używając tylko części publicznej + klucza o silnej nazwie. +-publicsign[+|-] Podpisz publicznie zestaw, używając tylko części publicznej + klucza o silnej nazwie. +-errorreport:<ciąg> Określa, w jaki sposób obsługiwać wewnętrzne + błędy kompilatora: musi mieć wartość prompt, send, none lub queue + (wartość domyślna). +-filealign:<numer> Określ wyrównanie stosowane dla sekcji + plików wyjściowych. +-highentropyva[+|-] Włącz losowe generowanie układu przestrzeni adresowej o wysokiej entropii. +-keycontainer:<ciąg> Określa kontener klucza o silnej nazwie. +-keyfile:<plik> Określa plik klucza o silnej nazwie. +-libpath:<lista_ścieżek> Lista katalogów, w których mają zostać wyszukane + odwołania do metadanych (lista wartości oddzielonych średnikami). +-main:<klasa> Określa klasę lub moduł zawierające + element Sub Main. Może to również być klasa + dziedzicząca po elemencie System.Windows.Forms.Form. + (krótka wersja: -m) +-moduleassemblyname:<ciąg> Nazwa zestawu, do którego będzie należeć + ten moduł. +-netcf Ustaw program .NET Compact Framework jako element docelowy. +-nostdlib Nie odwołuj się do bibliotek standardowych + (plików system.dll i VBC.RSP). +-pathmap:<K1>=<W1>,<K2>=<W2>,... + Określ mapowanie nazw ścieżek źródłowych wyprowadzanych + przez kompilator. +-platform:<ciąg> Ogranicz platformy, na jakich można uruchomić ten kod; + dozwolone wartości: x86, x64, Itanium, arm, arm64, + AnyCPU32BitPreferred lub anycpu (wartość domyślna). +-preferreduilang Określ nazwę preferowanego języka wyjściowego. +-nosdkpath Wyłącz wyszukiwanie ścieżki domyślnego zestawu SDK dla standardowych zestawów bibliotecznych. +-sdkpath:<ścieżka> Lokalizacja katalogu zestawu .NET Framework SDK (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. - version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-subsystemversion:<wersja> Określ wersję podsystemu wyjściowego środowiska PE. + version:<numer>[.<numer>] +-utf8output[+|-] Emituj dane wyjściowe kompilatora przy użyciu + kodowania znaków UTF8. +@<plik> Wstaw ustawienia wiersza polecenia z pliku tekstowego +-vbruntime[+|-|*] Wykonaj kompilację przy użyciu-bez użycia domyślnego + środowiska uruchomieniowego języka Visual Basic. +-vbruntime:<plik> Wykonaj kompilację przy użyciu alternatywnego + środowiska uruchomieniowego języka Visual Basic w pliku <plik>. @@ -9095,4 +9095,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.pt-BR.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.pt-BR.xlf index 9ce0de059b6ae..ec4a53143c33d 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.pt-BR.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.pt-BR.xlf @@ -7,7 +7,7 @@ parâmetros de tipo irrestritos em expressões condicionais binárias - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,165 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Opções do Compilador do Visual Basic - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an + – ARQUIVO DE SAÍDA – +-out:<file> Especifica o nome do arquivo de saída. +-target:exe Criar um aplicativo de console (padrão). + (Forma abreviada: -t) +-target:winexe Criar um aplicativo do Windows. +-target:library Criar um assembly de biblioteca. +-target:module Criar um módulo que pode ser adicionado a um assembly. --target:appcontainerexe Create a Windows application that runs in +-target:appcontainerexe Criar um aplicativo do Windows que executa no AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate +-target:winmdobj Criar um arquivo intermediário de Metadados do Windows +-doc[+|-] Gera um arquivo de documentação XML. +-doc:<file> Gera um arquivo de documentação XML para <file>. +-refout:<file> Saída do assembly de referência a ser gerado - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + – ARQUIVOS DE ENTRADA – +-addmodule:<file_list> Metadados de referência dos módulos especificados +-link:<file_list> Inserir metadados do assembly de interoperalidade + especificado. (Forma abreviada: -l) +-recurse:<wildcard> Incluir todos os arquivos no diretório e subdiretórios + atuais de acordo com as + especificações curinga. +-reference:<file_list> Metadados de referência do assembly + especificado. (Forma abreviada: -r) +-analyzer:<file_list> Executa os analisadores do assembly + (Forma abreviada: -a) +-additionalfile:<file list> Arquivos adicionais que não afetam diretamente a geração de + código, mas que podem ser usados por analisadores para produzir + erros ou avisos. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. + – RECURSOS – +-linkresource:<resinfo> Vincula o arquivo especificado como um recurso do + assembly externo. resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. + (Forma abreviada: -linkres) +-nowin32manifest O manifesto padrão não deve ser inserido + na seção do manifesto do PE de saída. +-resource:<resinfo> Adiciona o arquivo especificado como um recurso inserido do + assembly. resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + (Forma abreviada: -res) +-win32icon:<file> Especifica um arquivo de ícone Win32 (.ico) para os + recursos Win32 padrão. +-win32manifest:<file> O arquivo fornecido é inserido na seção do manifesto + do PE de saída. +-win32resource:<file> Especifica um arquivo de recurso Win32 (.res). - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + – GERAÇÃO DE CÓDIGO – +-optimize[+|-] Habilitar otimizações. +-removeintchecks[+|-] Remover verificações de números inteiros. O padrão é desligado. +-debug[+|-] Emitir informações de depuração. +-debug:full Emitir informações de depuração completas (padrão). +-debug:pdbonly Emitir informações de depuração completas. +-debug:portable Emitir informações de depuração multiplataforma. +-debug:embedded Emitir informações de depuração multiplataforma + no .dll ou no .exe de destino. +-deterministic Produzir um assembly determinístico + (incluindo carimbo de data/hora e GUID da versão do módulo) +-refonly Produzir um assembly de referência no lugar do instrumento de saída +-principal:TestCoverage Produzir um assembly instrumentado para coletar + informações de cobertura +-sourcelink:<file> Informações do link de origem para inserir no PDB. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + – ERROS E AVISOS – +-nowarn Desabilitar todos os avisos. +-nowarn:<number_list> Desabilitar uma lista de avisos individuais. +-warnaserror[+|-] Tratar todos os avisos como erros. +-warnaserror[+|-]:<number_list> Tratar uma lista de avisos como erros. +-ruleset:<file> Especificar um arquivo de conjunto de regras que desabilita um diagnóstico + específico. +-errorlog:<file> Especificar um arquivo para registrar todos os diagnósticos do compilador e do + analisador. +-reportanalyzer Relatar informações adicionais do analisador, como o + tempo de execução. - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. + – LINGUAGEM – +-define:<symbol_list> Declarar os símbolos globais de + compilação condicional. symbol_list:name=value,... + (Forma abreviada: -d) +-imports:<import_list> Declarar as importações globais dos namespaces nos + arquivos de metadados referenciados. import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. +-langversion:? Exibir todos os valores permitidos para a versão da linguagem +-langversion:<string> Especificar a versão da linguagem como: + `padrão` (versão principal mais recente) ou + `mais recente` (versão mais recente, incluindo versões secundárias), + ou versões específicas como `14` ou `15.3` +-optionexplicit[+|-] Exigir declaração explícita de variáveis. +-optioninfer[+|-] Permitir inferência de tipos de variáveis. +-rootnamespace:<string> Especifica o Namespace raiz para todos os tipos de + declarações. +-optionstrict[+|-] Impor semântica de linguagem estrita. +-optionstrict:custom Avisar quando a semântica de linguagem estrita não é + respeitada. +-optioncompare:binary Especifica comparações de cadeia de caracteres de estilo binário. + Esse é o padrão. +-optioncompare:text Especifica comparações de cadeia de caracteres de estilo de texto. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + – DIVERSOS – +-help Exibir essa mensagem de uso. (Forma abreviada: -?) +-noconfig Não incluir o arquivo VBC.RSP automaticamente. +-nologo Não exibir o banner de direitos autorais do compilador. +-quiet Modo de saída silencioso. +-verbose Exibir mensagens detalhadas. +-parallel[+|-] Build simultâneo. +-version Exibir o número de versão do compilador e sair. - - ADVANCED - --baseaddress:<number> The base address for a library or module - (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). + – AVANÇADO – +-baseaddress:<number> O endereço básico de uma biblioteca ou módulo + (hexadecimal). +-checksumalgorithm:<alg> Especificar o algoritmo para calcular a soma de verificação do + arquivo de origem armazenado no PDB. Os valores com suporte são: + SHA1 ou SHA256 (padrão). +-codepage:<number> Especifica a página de código a ser usada ao abrir os + arquivos de origem. +-delaysign[+|-] Sinalizar o assembly com atraso usando somente a parte pública + da chave de nome forte. +-publicsign[+|-] Sinalizar o assembly como público usando somente a parte pública + da chave do nome forte. +-errorreport:<string> Especifica como lidar com os erros internos do + compilador; deve ser prompt, send, none ou queue + (padrão). +-filealign:<number> Especificar o alinhamento usado nas seções do arquivo de + saída. +-highentropyva[+|-] Habilitar ASLR de alta entropia. +-keycontainer:<string> Especifica um contêiner de chaves de nome forte. +-keyfile:<file> Especifica um arquivo de chave de nome forte. +-libpath:<path_list> Lista de diretórios nas quais pesquisar as referências de + metadados. (Delimitada por ponto e vírgula.) +-main:<class> Especifica a Classe ou o Módulo que contém + Sub Main. Também pode ser uma Classe + herdada de System.Windows.Forms.Form. + (Forma abreviada: -m) +-moduleassemblyname:<string> Nome do assembly do qual o módulo + fará parte. +-netcf Direcionar ao .NET Compact Framework. +-nostdlib Não referenciar bibliotecas padrão + (arquivo system.dll e VBC.RSP). -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory + Especificar um mapeamento para nomes de caminhos de origem produzidos pelo + compilador. +-platform:<string> Limitar em quais plataformas o código pode ser executado; + deve ser x86, x64, Itanium, arm, arm64, + AnyCPU32BitPreferred ou anycpu (padrão). +-preferreduilang Especificar o nome da linguagem de saída preferencial. +-nosdkpath Desabilite a pesquisa no caminho de SDK padrão para assemblies de biblioteca padrão. +-sdkpath:<path> Localização do diretório do SDK do .NET Framework (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. +-subsystemversion:<version> Especificar a versão do subsistema do PE de saída. version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-utf8output[+|-] Emitir a saída do compilador em codificação de caracteres + UTF8. +@<file> Inserir configurações de linha de comando de um arquivo de texto +-vbruntime[+|-|*] Compilar com-sem o tempo de execução padrão do + Visual Basic. +-vbruntime:<file> Compilar com o tempo de execução alternativo do + Visual Basic em <file>. @@ -9095,4 +9095,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.ru.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.ru.xlf index 4659030a12bc1..ee3941f61822b 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.ru.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.ru.xlf @@ -7,7 +7,7 @@ параметры неограниченного типа в двоичных условных выражениях - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,165 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Параметры компилятора Visual Basic - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in + - ВЫХОДНОЙ ФАЙЛ - +-out:<файл> Задает имя выходного файла. +-target:exe Создать консольное приложение (по умолчанию). + (Краткая форма: -t) +-target:winexe Создать Windows-приложение. +-target:library Создать библиотечную сборку. +-target:module Создать модуль, который может быть добавлен в + сборку. +-target:appcontainerexe Создать Windows-приложение, выполняемое в контейнере AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate +-target:winmdobj Создать промежуточный файл метаданных Windows +-doc[+|-] Создает XML-файл документации. +-doc:<файл> Создает XML-файл документации <файл>. +-refout:<файл> Выходные данные создаваемой базовой сборки - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - ВХОДНЫЕ ФАЙЛЫ - +-addmodule:<список файлов> Ссылка на метаданные из заданного модуля +-link:<список файлов> Внедрять метаданные из указанной сборки + взаимодействия. (Краткая форма: -l) +-recurse:<подстановочный знак> Включить все файлы в текущем каталоге + и подкаталогах в соответствии с + заданным шаблоном. +-reference:<список файлов> Указывать метаданные из заданной + сборки. (Краткая форма: -r) +-analyzer:<список файлов> Запускать анализаторы из этой сборки + (Краткая форма: -a) +-additionalfile:<список файлов> Дополнительные файлы, которые не оказывают прямого влияния на создание + кода, но могут использоваться анализаторами для вывода + ошибок или предупреждений. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + - РЕСУРСЫ - +-linkresource:<данные_о_ресурсе> Привязывает указанный файл в качестве внешнего + ресурса сборки. + Данные о ресурсе: <файл>[,<имя>[,public|private]] + (Краткая форма: -linkres) +-nowin32manifest Манифест по умолчанию не должен внедряться + в раздел манифеста выходного PE. +-resource:<данные_о_ресурсе> Добавляет указанный файл в качестве внедренного + ресурса сборки. + Данные о ресурсе: <файл>[,<имя>[,public|private]] + (Краткая форма: -res) +-win32icon:<файл> Задает файл значка Win32 (ICO-файл) для + ресурсов Win32 по умолчанию. +-win32manifest:<файл> Предоставленный файл внедряется в + раздел манифеста выходного PE. +-win32resource:<файл> Задает файл ресурсов Win32 (RES-файл). - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - СОЗДАНИЕ КОДА - +-optimize[+|-] Включить оптимизацию. +-removeintchecks[+|-] Удалить проверки на целые числа. По умолчанию отключены. +-debug[+|-] Выдать отладочную информацию. +-debug:full Выдавать полные отладочные данные (по умолчанию). +-debug:pdbonly Выдавать полные отладочные данные. +-debug:portable Выдавать кроссплатформенные отладочные данные. +-debug:embedded Выдавать кроссплатформенные отладочные данные в + целевой DLL-файл или EXE-файл. +-deterministic Создать детерминированную сборку + (включая GUID версии модуля и метку времени) +-refonly Создавать базовую сборку вместо основных выходных данных +-instrument:TestCoverage Создавать сборку, инструментированную для сбора + данных о покрытии +-sourcelink:<файл> Данные о ссылке на исходные файлы для внедрения в PDB. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - ОШИБКИ И ПРЕДУПРЕЖДЕНИЯ - +-nowarn Отключить все предупреждения. +-nowarn:<список чисел> Отключить отдельные предупреждения. +-warnaserror[+|-] Обрабатывать все предупреждения как ошибки. +-warnaserror[+|-]:<список чисел> Обрабатывать список предупреждений как ошибки. +-ruleset:<файл> Указать файл набора правил, отключающий определенные + диагностические операции. +-errorlog:<файл> Указать файл для записи всех диагностических данных + компилятора и анализатора. +-reportanalyzer Сообщить дополнительные сведения об анализаторе, например + время выполнения. + - ЯЗЫК - - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. - import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. +-define:<список символов> Объявить глобальные символы условной + компиляции. Список символов:имя=значение,... + (Краткая форма: -d) +-imports:<список_импорта> Объявить глобальные импорты для пространств имен в + указанных файлах метаданных. + список_импорта:пространство_имен,... +-langversion:? Отображать допустимые значения версии языка +-langversion:<string> Указать версию языка, например + "default" (последняя основная версия) или + "latest" (последняя версия, включая дополнительные), + или конкретные версии, например 14 или 15.3 +-optionexplicit[+|-] Требовать явного объявления переменных. +-optioninfer[+|-] Разрешить вывод для типов переменных. +-rootnamespace:<строка> Задает корневое пространство имен для всех объявлений + типов. +-optionstrict[+|-] Требовать строгой семантики языка. +-optionstrict:custom Предупреждать, когда не соблюдается строгая семантика + языка. +-optioncompare:binary Задает сравнение строк как двоичных данных. + Задано по умолчанию. +-optioncompare:text Задает сравнение строк как текста. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - ПРОЧЕЕ - +-help Отображать это сообщение об использовании. (Краткая форма: -?) +-noconfig Файл VBC.RSP не включается в состав автоматически. +-nologo Не отображать заставку компилятора с информацией об авторских правах. +-quiet Режим вывода без сообщений. +-verbose Отображать подробные сообщения. +-parallel[+|-] Параллельная сборка. +-version Отображать номер версии компилятора и выполнять выход. - - ADVANCED - --baseaddress:<number> The base address for a library or module - (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). + - ДОПОЛНИТЕЛЬНО - +-baseaddress:<число> Базовый адрес библиотеки или модуля + (шестнадцатеричный). +-checksumalgorithm:<алгоритм> Задать алгоритм расчета контрольной суммы + исходного файла, хранимой в PDB. Поддерживаемые значения: + SHA1 или SHA256 (по умолчанию). +-codepage:<число> Указывает кодовую страницу, используемую при открытии + исходных файлов. +-delaysign[+|-] Использовать отложенную подпись для сборки, применяя только + открытую часть ключа строгого имени. +-publicsign[+|-] Подписать сборку, используя только открытую + часть ключа строгого имени. +-errorreport:<строка> Указывает способ обработки внутренних ошибок + компилятора; принимает prompt, send, none или queue + (по умолчанию). +-filealign:<число> Задать выравнивание для разделов выходных + файлов. +-highentropyva[+|-] Включить технологию ASLR с высокой энтропией. +-keycontainer:<строка> Задает контейнер ключа для строгого имени. +-keyfile:<файл> Задает файл ключа для строгого имени. +-libpath:<список_путей> Список каталогов для поиска ссылок на + метаданные. (разделитель — точка с запятой.) +-main:<класс> Задает класс или модуль, содержащий + Sub Main. Он может являться производным + классом от System.Windows.Forms.Form. + (Краткая форма: -m) +-moduleassemblyname:<строка> Имя сборки, частью которой будет + данный модуль. +-netcf Целевая версия .NET Compact Framework. +-nostdlib Не обращаться к стандартным библиотекам + (файл system.dll и VBC.RSP). -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory + Указать сопоставление для выходных данных имен исходного пути по + компилятору. +-platform:<строка> Ограничить платформы, на которых может выполняться этот код: + x86, x64, Itanium, arm, arm64, + AnyCPU32BitPreferred или anycpu (по умолчанию). +-preferreduilang Указать имя предпочтительного языка вывода. +-nosdkpath Отключение поиска пути пакета SDK по умолчанию для сборок стандартных библиотек. +-sdkpath:<путь> Расположение каталога пакета SDK .NET Framework (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. - version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-subsystemversion:<версия> Указать версию подсистемы выходного PE-файла. + version: <номер>[.<номер>] +-utf8output[+|-] Выдавать выходные данные компилятора в кодировке + UTF8. +@<файл> Вставить параметры командной строки из текстового файла +-vbruntime[+|-|*] Скомпилировать с помощью или без использования стандартной среды выполнения + Visual Basic. +-vbruntime:<файл> Скомпилировать с помощью альтернативной среды выполнения + Visual Basic в <файле>. @@ -2397,7 +2397,8 @@ 'Module' statement must end with a matching 'End Module'. - 'Оператор "Module" должен заканчиваться соответствующим оператором "End Module".
 + 'Оператор "Module" должен заканчиваться соответствующим оператором "End Module". + @@ -9095,4 +9096,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.tr.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.tr.xlf index b570fc8c58907..a903849ecd68b 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.tr.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.tr.xlf @@ -7,7 +7,7 @@ ikili koşullu ifadelerde kısıtlanmamış tür parametreleri - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,166 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Visual Basic Derleyici Seçenekleri - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in - AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate + - ÇIKIŞ DOSYASI - +-out:<file> Çıkış dosyası adını belirtir. +-target:exe Konsol uygulaması oluştur (varsayılan). + (Kısa biçim: -t) +-target:winexe Windows uygulaması oluştur. +-target:library Kitaplık bütünleştirilmiş kodu oluştur. +-target:module Bütünleştirilmiş koda eklenebilecek modül + oluştur. +-target:appcontainerexe AppContainer içinde çalışan Windows + uygulaması oluştur. +-target:winmdobj XML belge dosyası oluşturan bir Windows Meta Veri +-doc[+|-] ara dosyası oluştur. +-doc:<file> <file> içinde XML belge dosyası oluşturur. +-refout:<file> Oluşturulacak başvuru derlemesi çıkışı - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - GİRİŞ DOSYASI - +-addmodule:<file_list> Belirtilen modüllerdeki meta verilere başvur +-link:<file_list> Belirtilen birlikte çalışma bütünleştirilmiş kodundaki meta verileri + ekle. (Kısa biçim: -l) +-recurse:<wildcard> Bu dizin ve alt dizinlerdeki + tüm dosyaları joker karakter belirtimlerine + göre ekle. +-reference:<file_list> Belirtilen bütünleştirilmiş koddaki meta verilere + başvur. (Kısa biçim: -r) +-analyzer:<file_list> Çözümleyicileri bu bütünleştirilmiş koddan çalıştır + (Kısa biçim: -a) +-additionalfile:<file list> Kod oluşturmayı doğrudan etkilemeyen, ancak + çözümleyicilerin hata veya uyarı oluşturmak + için kullanılabileceği ek dosyalar. - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. + - KAYNAKLAR - +-linkresource:<resinfo> Belirtilen dosyayı dış bütünleştirilmiş kod kaynağı + olarak bağlar. resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. + (Kısa biçim: -linkres) +-nowin32manifest Varsayılan bildirim dosyası, çıkış PE'sinin + bildirim bölümüne eklenmemelidir. +-resource:<resinfo> Belirtilen dosyayı eklenen bütünleştirilmiş kod + kaynağı olarak ekler. resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + (Kısa biçim: -res) +-win32icon:<file> Varsayılan Win32 kaynakları için Win32 + simge dosyası (.ico) belirtir. +-win32manifest:<file> Belirtilen dosya, çıkış PE'sinin bildirim + bölümüne eklenir. +-win32resource:<file> Win32 kaynak dosyası (.res) belirtir. - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - KOD OLUŞTURMA - +-optimize[+|-] İyileştirmeleri etkinleştir. +-removeintchecks[+|-] Tamsayı denetimlerini kaldır. Varsayılan olarak kapalı. +-debug[+|-] Hata ayıklama bilgilerini yayınla. +-debug:full Tam hata ayıklama bilgilerini yayınla (varsayılan). +-debug:pdbonly Tam hata ayıklama bilgilerini yayınla. +-debug:portable Platformlar arası hata ayıklama bilgilerini yayınla. +-debug:embedded Platformlar arası hata ayıklama bilgilerini + hedef .dll veya .exe dosyasında yayınla. +-deterministic Belirleyici bütünleştirilmiş kod dosyası oluştur + (modül sürüm GUID'si ve zaman damgası içerir) +-refonly Ana çıkışın yerine başvuru derlemesi oluştur +-instrument:TestCoverage Kapsam bilgilerini toplamak üzere işaretlenen + bütünleştirilmiş kod oluştur +-sourcelink:<file> PDB'ye eklenecek kaynak bağlantı bilgileri. - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - HATALAR VE UYARILAR - +-nowarn Tüm uyarıları devre dışı bırak. +-nowarn:<number_list> Listelenen belirli uyarıları devre dışı bırak. +-warnaserror[+|-] Tüm uyarıları hata olarak işle. +-warnaserror[+|-]:<number_list> Listelenen belirli uyarıları hata olarak işle. +-ruleset:<file> Belirli tanılamaları devre dışı bırakan bir kural + kümesi dosyası belirt. +-errorlog:<file> Tüm derleyici ve çözümleyici tanılamalarının günlüğe kaydedileceği bir dosya + belirt. +-reportanalyzer Yürütme zamanı gibi ek çözümleyici + bilgilerini bildir. - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. + - DİL - +-define:<symbol_list> Genel koşullu derleme sembollerini + bildir. symbol_list:name=value,... + (Kısa biçim: -d) +-imports:<import_list> Başvurulan meta veri dosyalarındaki ad + alanları için genel İçeri Aktarma dosyaları bildir. import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. +-langversion:? Dil sürümü için izin verilen değerleri görüntüle +-langversion:<string> Dil sürümünü belirt. Örneğin: + `default` (en son birincil sürüm), or + `latest` (daha küçük sürümleri de içeren en son sürüm), + veya `14` ya da `15.3` gibi belirli sürümler +-optionexplicit[+|-] Değişkenlerin açık bir şekilde bildirilmesini gerektir. +-optioninfer[+|-] Değişkenlerde tür çıkarımına izin ver. +-rootnamespace:<string> Tüm tür bildirimleri için kök Ad Alanını + belirtir. +-optionstrict[+|-] Katı dil kurallarını uygula. +-optionstrict:custom Katı dil kurallarına uyulmadığında + uyar. +-optioncompare:binary İkili stil dize karşılaştırmalarını belirt. + Bu varsayılandır. +-optioncompare:text Metin stili dize karşılaştırmalarını belirt. - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - DİĞER - +-help Bu kullanım iletisini göster. (Kısa biçim: -?) +-noconfig VBC.RSP dosyasını otomatik olarak ekleme. +-nologo Derleyici telif hakkı başlığını gösterme. +-quiet Sessiz çıkış modu. +-verbose Ayrıntılı iletileri görüntüle. +-parallel[+|-] Eşzamanlı derleme. +-version Derleyici sürüm numarasını görüntüle ve çıkış yap. - - ADVANCED - --baseaddress:<number> The base address for a library or module - (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). + - GELİŞMİŞ - +-baseaddress:<number> Kitaplık veya modülün taban adresi + (onaltılık). +-checksumalgorithm:<alg> PDB'de depolanan kaynak dosya sağlama toplamını + hesaplama algoritmasını belirt. Desteklenen değerler: + SHA1 or SHA256 (varsayılan). +-codepage:<number> Kaynak dosyalar açılırken kullanılacak kod + sayfasını belirtir. +-delaysign[+|-] Bütünleştirilmiş kodu, tanımlayıcı ad anahtarının yalnızca genel + kısmıyla geç imzala. +-publicsign[+|-] Bütünleştirilmiş kodu, tanımlayıcı ad anahtarının yalnızca genel + bölümüyle genel olarak imzala. +-errorreport:<string> İç derleyici hatalarını işleme yöntemini + belirtir; prompt, send, none veya queue + (varsayılan) olmalıdır. +-filealign:<number> Çıkış dosyası bölümleri için kullanılan hizalamayı + belirt. +-highentropyva[+|-] Yüksek entropili ASLR'yi etkinleştir. +-keycontainer:<string> Tanımlayıcı ad anahtarı kapsayıcısı belirtir. +-keyfile:<file> Tanımlayıcı ad anahtarı dosyası belirtir. +-libpath:<path_list> Meta veri başvuruları için aranacak dizin + listesi. (Noktalı virgülle ayrılmış.) +-main:<class> Sub Main'i içeren Class veya Module'ü + belirtir. System.Windows.Forms.Form'dan + devralan bir Class da olabilir. + (Kısa biçim: -m) +-moduleassemblyname:<string> Bu modülün bir parçası olacağı bütünleştirilmiş kodun + adı. +-netcf .NET Compact Framework'ü hedefle. +-nostdlib Standart kitaplıklara (system.dll ve VBC.RSP dosyası) + başvurma. -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory - (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. + Derleyici tarafından kaynak yolu adları çıkışı için bir eşleme + belirt. +-platform:<string> Bu kodun çalışabileceği platformları sınırla; + x86, x64, Itanium, arm, arm64, AnyCPU32BitPreferred + veya anycpu (varsayılan) olmalıdır. +-preferreduilang Tercih edilen çıkış dilini belirt. +-nosdkpath Standart kitaplık bütünleştirilmiş kodlarında varsayılan SDK yolunu + aramayı devre dışı bırakın. +-sdkpath:<path> .NET Framework SDK (mscorlib.dll) dizininin + konumu. +-subsystemversion:<version> Çıkış PE'nin alt sistem sürümünü belirt. version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. +-utf8output[+|-] Derleyici çıkışını UTF8 kodlamasıyla + yayınla. +@<file> Metin dosyasından komut satırı ayarlarını ekle. +-vbruntime[+|-|*] Varsayılan Visual Basic çalışma zamanı dosyasıyla veya + dosya olmadan derle. +-vbruntime:<file> <file> içindeki alternatif Visual Basic çalışma zamanıyla + derle. @@ -9095,4 +9096,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.zh-Hans.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.zh-Hans.xlf index 4fb447da1a888..a8194aa0c3acb 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.zh-Hans.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.zh-Hans.xlf @@ -7,8235 +7,7 @@ 二进制条件表达式中的无约束类型参数 - - trees({0}) - 树({0}) - - - - trees({0}) must have root node with SyntaxKind.CompilationUnit. - 树({0}) 必须具有带 SyntaxKind.CompilationUnit 的根节点。 - - - - Cannot add compiler special tree - 无法添加特定于编译器的树 - - - - Syntax tree already present - 语法树已存在 - - - - Submission can have at most one syntax tree. - 提交最多可以具有一个语法树。 - - - - Cannot remove compiler special tree - 无法移除特定于编译器的树 - - - - SyntaxTree '{0}' not found to remove - 未找到要删除的 SyntaxTree“{0}”。 - - - - Tree must have a root node with SyntaxKind.CompilationUnit - 树必须具有带 SyntaxKind.CompilationUnit 的根节点 - - - - Compilation (Visual Basic): - 编译(Visual Basic): - - - - Node is not within syntax tree - 节点不在语法树中 - - - - Can't reference compilation of type '{0}' from {1} compilation. - 无法从 {1} 编译引用类型为“{0}”的编译。 - - - - position of type parameter too large - 类型参数的位置太大 - - - - Associated type does not have type parameters - 关联类型没有类型参数 - - - - function return type - 函数返回类型 - - - - Type argument cannot be Nothing - 类型参数不能是任何内容 - - - - Wrong number of type arguments - 类型参数的数目不正确 - - - - file '{0}' could not be found - 找不到文件“{0}”。 - - - - unable to open response file '{0}' - 无法打开响应文件“{0}” - - - - option '{0}' requires '{1}' - 选项“{0}”需要“{1}” - - - - option '{0}' can be followed only by '+' or '-' - 选项“{0}”后面只能跟“+”或“-” - - - - the value '{1}' is invalid for option '{0}' - 值“{1}”对选项“{0}”无效 - - - - Compilation options '{0}' and '{1}' can't both be specified at the same time. - 无法同时指定编译选项“{0}”和“{1}”。 - - - - The language name '{0}' is invalid. - 语言名“{0}”无效。 - - - - The language name for /preferreduilang is invalid - /preferreduilang 的语言名称无效 - - - - The options /vbruntime* and /target:module cannot be combined. - /vbruntime* 选项不能与 /target:module 选项组合。 - - - - Command-line syntax error: Invalid Guid format '{0}' for option '{1}' - 命令行语法错误: Guid 格式“{0}”对于选项“{1}”无效 - - - - Command-line syntax error: Missing Guid for option '{1}' - 命令行语法错误: 选项“{1}”缺少 Guid - - - - Algorithm '{0}' is not supported - 不支持算法“{0}” - - - - unrecognized option '{0}'; ignored - 无法识别的选项“{0}”;已忽略 - - - - Unrecognized command-line option - 无法识别的命令行选项 - - - - no input sources specified - 未指定输入源 - - - - source file '{0}' specified multiple times - 源文件“{0}”指定了多次 - - - - Source file specified multiple times - 多次指定源文件 - - - - can't open '{0}' for writing: {1} - 无法打开“{0}”进行写入: {1} - - - - code page '{0}' is invalid or not installed - 代码页“{0}”无效或未安装 - - - - the file '{0}' is not a text file - 文件“{0}”不是文本文件 - - - - could not find library '{0}' - 找不到库“{0}” - - - - Metadata references not supported. - 不支持元数据引用。 - - - - cannot specify both /win32icon and /win32resource - 不能同时指定 /win32icon 和 /win32resource - - - - ignoring /noconfig option because it was specified in a response file - /noconfig 选项是在响应文件中指定的,因此被忽略 - - - - Ignoring /noconfig option because it was specified in a response file - /noconfig 选项是在响应文件中指定的,因此被忽略 - - - - warning number '{0}' for the option '{1}' is either not configurable or not valid - 选项“{1}”的警告编号“{0}”不可配置或无效 - - - - Warning number is either not configurable or not valid - 警告编号不可配置或无效 - - - - cannot infer an output file name from resource only input files; provide the '/out' option - 无法从仅资源输入文件推理出输出文件名;提供“/out”选项 - - - - the /moduleassemblyname option may only be specified when building a target of type 'module' - 只有在生成“module”类型的目标时才能指定 /moduleassemblyname 选项 - - - - '{0}' is not a valid value for /moduleassemblyname - '“{0}”不是 /moduleassemblyname 的有效值。 - - - - Error embedding Win32 manifest: Option /win32manifest conflicts with /nowin32manifest. - 嵌入 Win32 清单时出错: 选项 /win32manifest 与 /nowin32manifest 冲突。 - - - - Option /win32manifest ignored. It can be specified only when the target is an assembly. - 已忽略选项 /win32manifest。只有在目标是程序集时才能指定该选项。 - - - - Option /win32manifest ignored - /win32manifest 选项已忽略 - - - - Statement is not valid in a namespace. - 语句在命名空间中无效。 - - - - Type '{0}' is not defined. - 未定义类型“{0}”。 - - - - 'Next' expected. - '应为 "Next"。 - - - - Character constant must contain exactly one character. - 字符常量必须正好包含一个字符。 - - - - Reference required to assembly '{0}' containing the definition for event '{1}'. Add one to your project. - 需要对程序集“{0}”(包含事件“{1}”的定义)的引用。请在项目中添加一个。 - - - - Reference required to module '{0}' containing the definition for event '{1}'. Add one to your project. - 需要对模块“{0}”(包含事件“{1}”的定义)的引用。请在项目中添加一个。 - - - - '#If' block must end with a matching '#End If'. - '"#If" 块必须以匹配的 "#End If" 结束。 - - - - '#ElseIf', '#Else', or '#End If' must be preceded by a matching '#If'. - '"#ElseIf"、"#Else" 或 "#End If" 前面必须是匹配的 "#If"。 - - - - '#ElseIf' must be preceded by a matching '#If' or '#ElseIf'. - '"#ElseIf" 前面必须是匹配的 "#If" 或 "#ElseIf"。 - - - - Inheriting from '{0}' is not valid. - 从“{0}”继承无效。 - - - - Labels are not valid outside methods. - 标签在方法外部无效。 - - - - Delegates cannot implement interface methods. - 委托无法实现接口方法。 - - - - Delegates cannot handle events. - 委托无法处理事件。 - - - - 'Is' operator does not accept operands of type '{0}'. Operands must be reference or nullable types. - '“Is”运算符不接受类型为“{0}”的操作数。操作数必须是引用类型或可以为 null 的类型。 - - - - 'TypeOf ... Is' requires its left operand to have a reference type, but this operand has the value type '{0}'. - '“TypeOf ... Is”要求它的左操作数具有引用类型,但此操作数具有值类型“{0}”。 - - - - Properties declared 'ReadOnly' cannot have a 'Set'. - 声明为 "ReadOnly" 的属性不能有 "Set"。 - - - - Properties declared 'WriteOnly' cannot have a 'Get'. - 声明为 "WriteOnly" 的属性不能有 "Get"。 - - - - Statement is not valid inside a method. - 语句在方法内部无效。 - - - - Statement is not valid inside '{0}' block. - 语句在“{0}”块内部无效。 - - - - Expression statement is only allowed at the end of an interactive submission. - 只允许在交互提交结尾处使用表达式语句。 - - - - Property missing 'End Property'. - Property 缺少 "End Property"。 - - - - 'End Sub' expected. - '应为 "End Sub"。 - - - - 'End Function' expected. - '应为 "End Function"。 - - - - '#Else' must be preceded by a matching '#If' or '#ElseIf'. - '"#Else" 前面必须是匹配的 "#If" 或 "#ElseIf"。 - - - - Derived classes cannot raise base class events. - 派生类不能引发基类事件。 - - - - Try must have at least one 'Catch' or a 'Finally'. - Try 必须至少有一个 "Catch" 或 "Finally"。 - - - - Events cannot have a return type. - 事件不能有返回类型。 - - - - Bracketed identifier is missing closing ']'. - 用括号标识的标识符缺少右边的 "]"。 - - - - Syntax error. - 语法错误。 - - - - Overflow. - 溢出。 - - - - Character is not valid. - 字符无效。 - - - - Option Strict On prohibits operands of type Object for operator '{0}'. - Option Strict On 禁止将 Object 类型的操作数用于运算符“{0}”。 - - - - Loop control variable cannot be a property or a late-bound indexed array. - 循环控制变量不能是属性或后期绑定索引数组。 - - - - First statement of a method body cannot be on the same line as the method declaration. - 方法体的第一条语句和方法声明不能位于同一行。 - - - - Maximum number of errors has been exceeded. - 已超出最大错误数。 - - - - '{0}' is valid only within an instance method. - '“{0}”仅在实例方法中有效。 - - - - '{0}' is not valid within a structure. - '“{0}”在结构中无效。 - - - - Attribute constructor has a parameter of type '{0}', which is not an integral, floating-point or Enum type or one of Object, Char, String, Boolean, System.Type or 1-dimensional array of these types. - 特性构造函数具有“{0}”类型的参数,此参数不是整型、浮点型或枚举类型,也不是 Object、Char、String、Boolean、System.Type 之一或这些类型的一维数组。 - - - - Method cannot have both a ParamArray and Optional parameters. - 方法不能同时具有 ParamArray 和 Optional 参数。 - - - - '{0}' statement requires an array. - '“{0}”语句需要数组。 - - - - ParamArray parameter must be an array. - ParamArray 参数必须是一个数组。 - - - - ParamArray parameter must be a one-dimensional array. - ParamArray 参数必须是一维数组。 - - - - Array exceeds the limit of 32 dimensions. - 数组超过了 32 维数限制。 - - - - Arrays cannot be declared with 'New'. - 不能用 "New" 声明数组。 - - - - Too many arguments to '{0}'. - “{0}”的参数太多。 - - - - Statements and labels are not valid between 'Select Case' and first 'Case'. - 位于 "Select Case" 与第一个 "Case" 之间的语句和标签无效。 - - - - Constant expression is required. - 要求常量表达式。 - - - - Conversion from '{0}' to '{1}' cannot occur in a constant expression. - 常量表达式中不能发生从“{0}”到“{1}”的转换。 - - - - 'Me' cannot be the target of an assignment. - '"Me" 不能作为赋值目标。 - - - - 'ReadOnly' variable cannot be the target of an assignment. - '"ReadOnly" 变量不能作为赋值目标。 - - - - 'Exit Sub' is not valid in a Function or Property. - '"Exit Sub" 在函数或属性中无效。 - - - - 'Exit Property' is not valid in a Function or Sub. - '“Exit Property”在函数或 Sub 中无效。 - - - - 'Exit Function' is not valid in a Sub or Property. - '"Exit Function" 在 Sub 或属性中无效。 - - - - Expression is a value and therefore cannot be the target of an assignment. - 表达式是一个值,因此不能作为赋值目标。 - - - - For loop control variable '{0}' already in use by an enclosing For loop. - For 循环控制变量“{0}”已由封闭 For 循环使用。 - - - - Next control variable does not match For loop control variable '{0}'. - Next 控制变量与 For 循环控制变量“{0}”不匹配。 - - - - 'Case Else' can only appear inside a 'Select Case' statement. - '“Case Else”只能出现在“Select Case”语句内。 - - - - 'Case' can only appear inside a 'Select Case' statement. - '“Case”只能出现在“Select Case”语句内。 - - - - Constant cannot be the target of an assignment. - 常量不能作为赋值目标。 - - - - Named arguments are not valid as array subscripts. - 命名参数作为数组下标无效。 - - - - 'If' must end with a matching 'End If'. - '“If”必须以匹配的“End If”结束。 - - - - 'While' must end with a matching 'End While'. - '“While”必须以匹配的“End While”结束。 - - - - 'Do' must end with a matching 'Loop'. - '"Do" 必须以匹配的 "Loop" 结束。 - - - - 'For' must end with a matching 'Next'. - '"For" 必须以匹配的 "Next" 结束。 - - - - 'With' must end with a matching 'End With'. - '“With”必须以匹配的“End With”结束。 - - - - 'Else' must be preceded by a matching 'If' or 'ElseIf'. - '"Else" 前面必须是匹配的 "If" 或 "ElseIf"。 - - - - 'End If' must be preceded by a matching 'If'. - '"End If" 前面必须是匹配的 "If"。 - - - - 'End Select' must be preceded by a matching 'Select Case'. - '"End Select" 前面必须是匹配的 "Select Case"。 - - - - 'Exit Do' can only appear inside a 'Do' statement. - '"Exit Do" 只能出现在 "Do" 语句内。 - - - - 'End While' must be preceded by a matching 'While'. - '“End While”前面必须是匹配的“While”。 - - - - 'Loop' must be preceded by a matching 'Do'. - '"Loop" 前面必须是匹配的 "Do"。 - - - - 'Next' must be preceded by a matching 'For'. - '"Next" 前面必须是匹配的 "For"。 - - - - 'End With' must be preceded by a matching 'With'. - '“End With”前面必须是匹配的“With”。 - - - - Label '{0}' is already defined in the current method. - 当前方法中已定义了标签“{0}”。 - - - - 'Select Case' must end with a matching 'End Select'. - '“Select Case”必须以匹配的“End Select”结束。 - - - - 'Exit For' can only appear inside a 'For' statement. - '"Exit For" 只能出现在 "For" 语句内。 - - - - 'Exit While' can only appear inside a 'While' statement. - '"Exit While" 只能出现在 "While" 语句内。 - - - - 'ReadOnly' property '{0}' cannot be the target of an assignment. - '“ReadOnly”属性“{0}”不能作为赋值目标。 - - - - 'Exit Select' can only appear inside a 'Select' statement. - '"Exit Select" 只能出现在 "Select" 语句内。 - - - - Branching out of a 'Finally' is not valid. - 从“Finally”中分支无效。 - - - - '!' requires its left operand to have a type parameter, class or interface type, but this operand has the type '{0}'. - '“!”要求其左操作数具有类型参数、类或接口类型,但此操作数的类型为“{0}”。 - - - - Number of indices is less than the number of dimensions of the indexed array. - 索引数少于索引数组的维数。 - - - - Number of indices exceeds the number of dimensions of the indexed array. - 索引数超过索引数组的维数。 - - - - '{0}' is an Enum type and cannot be used as an expression. - '“{0}”是一个枚举类型,不能用作表达式。 - - - - '{0}' is a type and cannot be used as an expression. - '“{0}”是一个类型,不能用作表达式。 - - - - '{0}' is a class type and cannot be used as an expression. - '“{0}”是一个类类型,不能用作表达式。 - - - - '{0}' is a structure type and cannot be used as an expression. - '“{0}”是一个结构类型,不能用作表达式。 - - - - '{0}' is an interface type and cannot be used as an expression. - '“{0}”是一个接口类型,不能用作表达式。 - - - - '{0}' is a namespace and cannot be used as an expression. - '“{0}”是一个命名空间,不能用作表达式。 - - - - '{0}' is not a valid name and cannot be used as the root namespace name. - '“{0}”不是有效名称,不能用作根命名空间名称。 - - - - '{0}' is an XML prefix and cannot be used as an expression. Use the GetXmlNamespace operator to create a namespace object. - '“{0}”是 XML 前缀,不能用作表达式。请使用 GetXmlNamespace 运算符创建命名空间对象。 - - - - 'Inherits' can appear only once within a 'Class' statement and can only specify one class. - '"Inherits" 只能在 "Class" 语句中出现一次,并且只能指定一个类。 - - - - Property without a 'ReadOnly' or 'WriteOnly' specifier must provide both a 'Get' and a 'Set'. - 不带 "ReadOnly" 或 "WriteOnly" 说明符的属性必须同时提供 "Get" 和 "Set"。 - - - - 'WriteOnly' property must provide a 'Set'. - '"WriteOnly" 属性必须提供 "Set"。 - - - - 'ReadOnly' property must provide a 'Get'. - '"ReadOnly" 属性必须提供 "Get"。 - - - - Attribute '{0}' is not valid: Incorrect argument value. - 特性“{0}”无效: 参数值不正确。 - - - - Label '{0}' is not defined. - 未定义标签“{0}”。 - - - - Error creating Win32 resources: {0} - 创建 Win32 资源时出错: {0} - - - - Cannot create temporary file: {0} - 无法创建临时文件: {0} - - - - First statement of this 'Sub New' must be a call to 'MyBase.New' or 'MyClass.New' because base class '{0}' of '{1}' does not have an accessible 'Sub New' that can be called with no arguments. - “{1}”的基类“{0}”没有不使用参数就可以调用的可访问“Sub New”,因此该“Sub New”的第一个语句必须是对“MyBase.New”或“MyClass.New”的调用。 - - - - {0} '{1}' must implement '{2}' for interface '{3}'. - {0}“{1}”必须为接口“{3}”实现“{2}”。 - - - - Leading '.' or '!' can only appear inside a 'With' statement. - 前导“.”或“!”只能出现在“With”语句内。 - - - - Only one of 'Public', 'Private', 'Protected', 'Friend', 'Protected Friend', or 'Private Protected' can be specified. - 只能指定 "Public"、"Private"、"Protected"、"Friend"、"Protected Friend" 或 "Private Protected" 中的一个。 - - - - Only one of 'NotOverridable', 'MustOverride', or 'Overridable' can be specified. - 只能指定 "NotOverridable"、"MustOverride" 或 "Overridable" 中的一个。 - - - - Specifier is duplicated. - 说明符重复。 - - - - {0} '{1}' and {2} '{3}' conflict in {4} '{5}'. - {0}“{1}”和 {2}“{3}”在 {4}“{5}”中冲突。 - - - - Keyword does not name a type. - 关键字没有指定类型。 - - - - Specifiers valid only at the beginning of a declaration. - 说明符仅在声明的开始处有效。 - - - - Type expected. - 应为类型。 - - - - Keyword is not valid as an identifier. - 关键字作为标识符无效。 - - - - 'End Enum' must be preceded by a matching 'Enum'. - '“End Enum”前面必须是匹配的“Enum”。 - - - - 'Enum' must end with a matching 'End Enum'. - '"Enum" 必须以匹配的 "End Enum" 结束。 - - - - Declaration expected. - 应为声明。 - - - - End of parameter list expected. Cannot define parameters after a paramarray parameter. - 应为参数列表的结尾。不能在 Paramarray 参数后定义参数。 - - - - Specifiers and attributes are not valid on this statement. - 说明符和特性在此语句上无效。 - - - - Expected one of 'Dim', 'Const', 'Public', 'Private', 'Protected', 'Friend', 'Shadows', 'ReadOnly' or 'Shared'. - 应为“Dim”、“Const”、“Public”、“Private”、“Protected”、“Friend”、“Shadows”、“ReadOnly”或“Shared”中的一个。 - - - - Comma expected. - 应为逗号。 - - - - 'As' expected. - '应为 "As"。 - - - - ')' expected. - '应为 ")"。 - - - - '(' expected. - '应为“(”。 - - - - 'New' is not valid in this context. - '"New" 在此上下文中无效。 - - - - Expression expected. - 应为表达式。 - - - - 'Optional' expected. - '应为 "Optional"。 - - - - Identifier expected. - 应为标识符。 - - - - Integer constant expected. - 应为整数常量。 - - - - End of statement expected. - 应为语句结束。 - - - - 'Option' must be followed by 'Compare', 'Explicit', 'Infer', or 'Strict'. - '“Option”的后面必须跟有“Compare”、“Explicit”、“Infer”或“Strict”。 - - - - 'Option Compare' must be followed by 'Text' or 'Binary'. - '"Option Compare" 的后面必须跟有 "Text" 或 "Binary"。 - - - - 'Compare' expected. - '应为 "Compare"。 - - - - Option Strict On requires all variable declarations to have an 'As' clause. - Option Strict On 要求所有变量声明都有 "As" 子句。 - - - - Option Strict On requires all Function, Property, and Operator declarations to have an 'As' clause. - Option Strict On 要求所有函数、属性和运算符声明都有 "As" 子句。 - - - - Option Strict On requires that all method parameters have an 'As' clause. - Option Strict On 要求所有方法参数都有 "As" 子句。 - - - - Comma or ')' expected. - 应为逗号或 ")"。 - - - - 'Sub' or 'Function' expected. - '应为“Sub”或“Function”。 - - - - String constant expected. - 应为字符串常量。 - - - - 'Lib' expected. - '应为 "Lib"。 - - - - Delegate class '{0}' has no Invoke method, so an expression of this type cannot be the target of a method call. - 委托类“{0}”没有 Invoke 方法,所以此类型的表达式不能作为方法调用的目标。 - - - - 'Is' expected. - '应为 "Is"。 - - - - 'Option {0}' statement can only appear once per file. - '每个文件中只能出现一次“Option {0}”语句。 - - - - 'Inherits' not valid in Modules. - '"Inherits" 在模块中无效。 - - - - 'Implements' not valid in Modules. - '"Implements" 在模块中无效。 - - - - Implemented type must be an interface. - 已实现的类型必须是接口。 - - - - '{0}' is not valid on a constant declaration. - '“{0}”在常量声明中无效。 - - - - '{0}' is not valid on a WithEvents declaration. - '“{0}”在 WithEvents 声明中无效。 - - - - '{0}' is not valid on a member variable declaration. - '“{0}”在成员变量声明中无效。 - - - - Parameter already declared with name '{0}'. - 已用名称“{0}”声明了参数。 - - - - 'Loop' cannot have a condition if matching 'Do' has one. - '"Loop" 和匹配的 "Do" 不能同时具有条件。 - - - - Relational operator expected. - 应为关系运算符。 - - - - 'Exit' must be followed by 'Sub', 'Function', 'Property', 'Do', 'For', 'While', 'Select', or 'Try'. - '“Exit”的后面必须跟有“Sub”、“Function”、“Property”、“Do”、“For”、“While”、“Select”或“Try”。 - - - - Named argument expected. - 应为命名参数。 - - - - Named argument specifications must appear after all fixed arguments have been specified in a late bound invocation. - 命名参数规范必须出现在已在后期绑定调用中指定的所有固定参数之后。 - - - - Named argument expected. Please use language version {0} or greater to use non-trailing named arguments. - 需要命名参数。请使用语言版本 {0} 或更高版本,以使用非尾随命名参数。 - - - - '{0}' is not valid on a method declaration. - '“{0}”在方法声明中无效。 - - - - '{0}' is not valid on an event declaration. - '“{0}”在事件声明中无效。 - - - - '{0}' is not valid on a Declare. - '“{0}”在 Declare 中无效。 - - - - '{0}' is not valid on a local constant declaration. - '“{0}”在局部常量声明中无效。 - - - - '{0}' is not valid on a local variable declaration. - '“{0}”在局部变量声明中无效。 - - - - 'If', 'ElseIf', 'Else', 'Const', 'Region', 'ExternalSource', 'ExternalChecksum', 'Enable', 'Disable', 'End' or 'R' expected. - '应为“If”、“ElseIf”、“Else”、“Const”、“Region”、“ExternalSource”、“ExternalChecksum”、“Enable”、“Disable”、“End”或“R”。 - - - - '=' expected. - '应为 "="。 - - - - Type '{0}' has no constructors. - 类型“{0}”没有构造函数。 - - - - 'End Interface' must be preceded by a matching 'Interface'. - '“End Interface”前面必须是匹配的“Interface”。 - - - - 'Interface' must end with a matching 'End Interface'. - '"Interface" 必须以匹配的 "End Interface" 结束。 - - - - - '{0}' inherits from '{1}'. - - “{0}”从“{1}”继承。 - - - - - '{0}' is nested in '{1}'. - - “{0}”嵌套在“{1}”中。 - - - - Class '{0}' cannot inherit from itself: {1} - 类“{0}”不能从自身继承: {1} - - - - Classes can inherit only from other classes. - 类只能从其他类继承。 - - - - '{0}' is already declared as '{1}' in this {2}. - '“{0}”已在此 {2} 中声明为“{1}”。 - - - - '{0}' cannot override '{1}' because they have different access levels. - '“{0}”无法重写“{1}”,因为它们具有不同的访问级别。 - - - - '{0}' cannot override '{1}' because it is declared 'NotOverridable'. - '“{0}”无法重写“{1}”,因为后者已声明为“NotOverridable”。 - - - - '{0}' has multiple definitions with identical signatures. - '“{0}”具有多个带相同签名的定义。 - - - - '{0}' has multiple definitions with identical signatures with different tuple element names, including '{1}'. - '“{0}”具有多个带不同元组元素名称却有相同签名的定义,包括“{1}”。 - - - - '{0}' is not valid on an interface method declaration. - '“{0}”在接口方法声明中无效。 - - - - '{0}' is not a parameter of '{1}'. - '“{0}”不是“{1}”的参数。 - - - - '{0}' is not valid on an interface property declaration. - '“{0}”在接口属性声明中无效。 - - - - Parameter '{0}' of '{1}' already has a matching argument. - “{1}”的参数“{0}”已有匹配的参数。 - - - - '{0}' is not valid on an interface event declaration. - '“{0}”在接口事件声明中无效。 - - - - Type character '{0}' does not match declared data type '{1}'. - 类型字符“{0}”与声明的数据类型“{1}”不匹配。 - - - - 'Sub' or 'Function' expected after 'Delegate'. - '“Delegate”后面应为“Sub”或“Function”。 - - - - Enum '{0}' must contain at least one member. - 枚举“{0}”必须至少包含一个成员。 - - - - Constructor call is valid only as the first statement in an instance constructor. - 构造函数调用仅作为实例构造函数中的第一条语句有效。 - - - - 'Sub New' cannot be declared 'Overrides'. - '“Sub New”不能声明为“Overrides”。 - - - - 'Sub New' cannot be declared 'Partial'. - '“Sub New”不能声明为“Partial”。 - - - - Failed to emit module '{0}'. - 未能发出模块“{0}”。 - - - - Cannot update '{0}'; attribute '{1}' is missing. - 无法更新“{0}”;特性“{1}”缺失。 - - - - {0} '{1}' cannot be declared 'Overrides' because it does not override a {0} in a base class. - {0}“{1}”不能声明为“Overrides”,因为它不重写基类中的 {0}。 - - - - '.' expected. - '应为“.”。 - - - - Local variable '{0}' is already declared in the current block. - 当前块中已声明了局部变量“{0}”。 - - - - Statement cannot appear within a method body. End of method assumed. - 语句不能出现在方法体内。假定为方法末尾。 - - - - Local variable cannot have the same name as the function containing it. - 局部变量不能与包含它的函数同名。 - - - - - '{0}' contains '{1}' (variable '{2}'). - - “{0}”包含“{1}”(变量“{2}”)。 - - - - Structure '{0}' cannot contain an instance of itself: {1} - 结构“{0}”不能包含自身的实例: {1} - - - - Interface '{0}' cannot inherit from itself: {1} - 接口“{0}”不能从自身继承: {1} - - - - - '{0}' calls '{1}'. - - “{0}”调用“{1}”。 - - - - Constructor '{0}' cannot call itself: {1} - 构造函数“{0}”不能调用自身: {1} - - - - '{0}' cannot inherit from {2} '{1}' because '{1}' is declared 'NotInheritable'. - '“{1}”已声明为“NotInheritable”,因此“{0}”无法从 {2}“{1}”继承。 - - - - '{0}' and '{1}' cannot overload each other because they differ only by optional parameters. - '“{0}” 和“{1}”的差异仅在于可选参数,因此它们无法重载对方。 - - - - '{0}' and '{1}' cannot overload each other because they differ only by return types. - '“{0}”和“{1}”的差异仅在于返回类型,因此它们无法重载对方。 - - - - Type character '{0}' cannot be used in a declaration with an explicit type. - 在具有显式类型的声明中不能使用类型字符“{0}”。 - - - - Type character cannot be used in a 'Sub' declaration because a 'Sub' doesn't return a value. - "Sub" 不返回值,因此在 "Sub" 声明中不能使用类型字符。 - - - - '{0}' and '{1}' cannot overload each other because they differ only by the default values of optional parameters. - '“{0}”和“{1}”的差异仅在于可选参数的默认值,因此它们无法重载对方。 - - - - Array subscript expression missing. - 缺少数组下标表达式。 - - - - '{0}' cannot override '{1}' because they differ by the default values of optional parameters. - '“{0}”无法重写“{1}”,因为它们在可选参数的默认值上存在差异。 - - - - '{0}' cannot override '{1}' because they differ by optional parameters. - '“{0}”无法重写“{1}”,因为它们在可选参数上存在差异。 - - - - Cannot refer to '{0}' because it is a member of the value-typed field '{1}' of class '{2}' which has 'System.MarshalByRefObject' as a base class. - “{0}”,是使用“System.MarshalByRefObject”作为基类的类“{2}”的值类型字段“{1}”的成员,无法引用。 - - - - Value of type '{0}' cannot be converted to '{1}'. - 类型“{0}”的值无法转换为“{1}”。 - - - - 'Case' cannot follow a 'Case Else' in the same 'Select' statement. - '在同一“Select”语句中,“Case”不能位于“Case Else”之后。 - - - - Value of type '{0}' cannot be converted to '{1}' because '{2}' is not derived from '{3}'. - 类型“{0}”的值无法转换为“{1}”,因为“{2}”不是从“{3}”派生的。 - - - - Value of type '{0}' cannot be converted to '{1}' because '{2}' is not a reference type. - 类型“{0}”的值无法转换为“{1}”,因为“{2}”不是引用类型。 - - - - 'For' loop control variable cannot be of type '{0}' because the type does not support the required operators. - '“For”循环控制变量的类型不能是“{0}”,因为该类型不支持所需的运算符。 - - - - '{0}' and '{1}' cannot overload each other because they differ only by parameters declared 'ByRef' or 'ByVal'. - '“{0}”和“{1}”的差异仅在于声明为“ByRef”或“ByVal”的参数,因此它们无法重载对方。 - - - - Interface can inherit only from another interface. - 接口只能从其他接口继承。 - - - - 'Inherits' statements must precede all declarations in an interface. - '“Inherits”语句必须位于接口中的所有声明之前。 - - - - 'Default' can be applied to only one property name in a {0}. - '“Default”只可应用于“{0}”中的一个属性名称。 - - - - '{0}' and '{1}' cannot overload each other because only one is declared 'Default'. - '“{0}”和“{1}”中只有一个声明为“Default”,因此它们无法相互重载。 - - - - '{0}' cannot override '{1}' because they differ by 'ReadOnly' or 'WriteOnly'. - '“{0}”无法重写“{1}”,因为它们在是“ReadOnly”还是“WriteOnly”上不同。 - - - - 'Sub New' cannot be declared in an interface. - '"Sub New" 不能在接口中声明。 - - - - 'Sub New' cannot be declared '{0}'. - '“Sub New”不能声明为“{0}”。 - - - - '{0}' and '{1}' cannot overload each other because they differ only by 'ReadOnly' or 'WriteOnly'. - '“{0}” 和“{1}”的差异仅在于“ReadOnly”和“WriteOnly”,因此它们无法重载对方。 - - - - Class '{0}' cannot be indexed because it has no default property. - 无法为类“{0}”编制索引,因为它没有默认属性。 - - - - '{0}' and '{1}' cannot overload each other because they differ only by parameters declared 'ParamArray'. - '“{0}”和“{1}”的差异仅在于声明为“ParamArray”的参数,因此它们无法重载对方。 - - - - Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class. - 没有类的显式实例,就无法从共享方法或共享成员初始值设定项中引用该类的实例成员。 - - - - '}' expected. - '应为 "}"。 - - - - Module '{0}' cannot be used as a type. - 模块“{0}”不能用作类型。 - - - - 'New' cannot be used on an interface. - '"New"不能在接口上使用。 - - - - 'Catch' cannot appear after 'Finally' within a 'Try' statement. - '在“Try”语句中,“Catch”不能出现在“Finally”之后。 - - - - 'Catch' cannot appear outside a 'Try' statement. - '“Catch”不能出现在“Try”语句之外。 - - - - 'Finally' can only appear once in a 'Try' statement. - '“Finally”只能在“Try”语句中出现一次。 - - - - 'Finally' cannot appear outside a 'Try' statement. - '“Finally”不能出现在“Try”语句之外。 - - - - 'End Try' must be preceded by a matching 'Try'. - '“End Try”前面必须是匹配的“Try”。 - - - - 'Try' must end with a matching 'End Try'. - '“Try”必须以匹配的“End Try”结束。 - - - - '{0}' is not valid on a Delegate declaration. - '“{0}”在委托声明中无效。 - - - - Class '{0}' must declare a 'Sub New' because its base class '{1}' does not have an accessible 'Sub New' that can be called with no arguments. - 类“{0}”必须声明一个“Sub New”,原因是它的基类“{1}”没有不使用参数就可以调用的可访问“Sub New”。 - - - - '{0}' is not accessible in this context because it is '{1}'. - '“{0}”是“{1}”,因此它在此上下文中不可访问。 - - - - '{0}.{1}' is not accessible in this context because it is '{2}'. - '“{0}.{1}”是“{2}” ,因此它在此上下文中不可访问。 - - - - 'Catch' cannot catch type '{0}' because it is not 'System.Exception' or a class that inherits from 'System.Exception'. - '“Catch”无法捕捉类型“{0}”,因为该类型既不是“System.Exception”也不是从“System.Exception”继承的类。 - - - - 'Exit Try' can only appear inside a 'Try' statement. - '"Exit Try" 只能出现在 "Try" 语句内。 - - - - '{0}' is not valid on a Structure declaration. - '“{0}”在结构声明中无效。 - - - - '{0}' is not valid on an Enum declaration. - '“{0}”在枚举声明中无效。 - - - - '{0}' is not valid on an Interface declaration. - '“{0}”在接口声明中无效。 - - - - '{0}' cannot override '{1}' because they differ by a parameter that is marked as 'ByRef' versus 'ByVal'. - '“{0}”无法重写“{1}”,因为它们在某个参数上存在差异,一个被标记为“ByRef”,而另一个被标记为“ByVal”。 - - - - 'MyBase' cannot be used with method '{0}' because it is declared 'MustOverride'. - '“MyBase”不能用和方法“{0}”一起使用,因为它被声明为“MustOverride”。 - - - - '{0}' cannot implement '{1}' because there is no matching {2} on interface '{3}'. - '“{0}”无法实现“{1}”,因为接口“{3}”上不存在匹配的 {2}。 - - - - '{0}' cannot implement {1} '{2}' on interface '{3}' because the tuple element names in '{4}' do not match those in '{5}'. - '“{0}”不能在接口“{3}”上实现{1}“{2}”,因为“{4}”中的元组元素名称与“{5}”中的名称不匹配。 - - - - 'WithEvents' variables must have an 'As' clause. - '"WithEvents" 变量必须有 "As" 子句。 - - - - 'WithEvents' variables can only be typed as classes, interfaces or type parameters with class constraints. - '"WithEvents" 变量只能类型化为具有类约束的类、接口或类型参数。 - - - - Value of type '{0}' cannot be converted to '{1}' because the array types have different numbers of dimensions. - 类型“{0}”的值无法转换为“{1}”,原因是数组类型的维数不同。 - - - - 'ReDim' cannot change the number of dimensions of an array. - '"ReDim" 无法更改数组的维数。 - - - - 'Sub Main' was not found in '{0}'. - '“{0}”中找不到“Sub Main”。 - - - - Constants must be of an intrinsic or enumerated type, not a class, structure, type parameter, or array type. - 常量必须是内部类型或者枚举类型,不能是类、结构、类型参数或数组类型。 - - - - 'End Sub' must be preceded by a matching 'Sub'. - '“End Sub”前面必须是匹配的“Sub”。 - - - - 'End Function' must be preceded by a matching 'Function'. - '“End Function”前面必须是匹配的“Function”。 - - - - 'End Property' must be preceded by a matching 'Property'. - '“End Property”前面必须是匹配的“Property”。 - - - - Methods in a Module cannot be declared '{0}'. - 模块中的方法不能声明为“{0}”。 - - - - Events in a Module cannot be declared '{0}'. - 模块中的事件不能声明为“{0}”。 - - - - Members in a Structure cannot be declared '{0}'. - 结构中的成员不能声明为“{0}”。 - - - - '{0}' cannot override '{1}' because they differ by their return types. - '“{0}”无法重写“{1}”,因为它们的返回类型不同。 - - - - '{0}' cannot override '{1}' because they differ by their tuple element names. - '“{0}”不能替代“{1}”,因为它们的元组元素名称不同。 - - - - Member cannot override because it differs by its tuple element names. - 成员不能替代,因为它的元组元素名称不同。 - - - - Constants must have a value. - 常量必须具有值。 - - - - Constant expression not representable in type '{0}'. - 常量表达式无法在类型“{0}”中表示。 - - - - 'Get' is already declared. - '已声明 "Get"。 - - - - 'Set' is already declared. - '已声明 "Set"。 - - - - '{0}' is not declared. It may be inaccessible due to its protection level. - '未声明“{0}”。由于其保护级别,它可能无法访问。 - - - - Operator '{0}' is not defined for types '{1}' and '{2}'. - 没有为类型“{1}”和“{2}”定义运算符“{0}”。 - - - - Expression is not a method. - 表达式不是方法。 - - - - Argument not specified for parameter '{0}' of '{1}'. - 没有为“{1}”的形参“{0}”指定实参。 - - - - '{0}' is not a member of '{1}'. - '“{0}”不是“{1}”的成员。 - - - - 'End Class' must be preceded by a matching 'Class'. - '"End Class" 前面必须是匹配的 "Class"。 - - - - Classes cannot be declared '{0}'. - 类不能声明为“{0}”。 - - - - 'Imports' statements must precede any declarations. - '“Imports”语句前面必须是声明。 - - - - '{1}' for the Imports '{0}' does not refer to a Namespace, Class, Structure, Enum or Module. - 'Imports “{0}”的“{1}”不引用命名空间、类、结构、枚举或模块。 - - - - Type declaration characters are not valid in this context. - 类型声明字符在此上下文中无效。 - - - - Reference to a non-shared member requires an object reference. - 对非共享成员的引用要求对象引用。 - - - - 'MyClass' cannot be used outside of a class. - '"MyClass" 不能在类的外部使用。 - - - - Expression is not an array or a method, and cannot have an argument list. - 表达式不是数组或方法,不能具有参数列表。 - - - - 'WithEvents' variables cannot be typed as arrays. - '“WithEvents”变量不能类型化为数组。 - - - - Shared 'Sub New' cannot have any parameters. - 共享的 "Sub New" 不能具有任何参数。 - - - - Shared 'Sub New' cannot be declared '{0}'. - 共享的“Sub New”不能声明为“{0}”。 - - - - 'Class' statement must end with a matching 'End Class'. - '“Class”语句必须以匹配的“End Class”结束。 - - - - Operator '{0}' is not defined for type '{1}'. - 没有为类型“{1}”定义运算符“{0}”。 - - - - 'Default' cannot be combined with '{0}'. - '“Default”不能与“{0}”组合。 - - - - Expression does not produce a value. - 表达式不产生值。 - - - - Constructor must be declared as a Sub, not as a Function. - 构造函数必须声明为 Sub,而不是 Function。 - - - - Exponent is not valid. - 指数无效。 - - - - 'Sub New' cannot handle events. - '"Sub New" 无法处理事件。 - - - - Constant '{0}' cannot depend on its own value. - 常量“{0}”不能依赖自身的值。 - - - - 'Shared' cannot be combined with '{0}' on a method declaration. - '“Shared”不能与方法声明上的“{0}”组合。 - - - - 'Shared' cannot be combined with '{0}' on a property declaration. - '“Shared”不能与属性声明上的“{0}”组合。 - - - - Properties in a Module cannot be declared '{0}'. - 模块中的属性不能声明为“{0}”。 - - - - Methods or events that implement interface members cannot be declared 'Shared'. - 实现接口成员的方法或事件不能声明为 "Shared"。 - - - - Handles clause requires a WithEvents variable defined in the containing type or one of its base types. - Handles 子句要求一个在包含类型或它的某个基类型中定义的 WithEvents 变量。 - - - - '{0}' cannot inherit from {1} '{2}' because it expands the access of the base {1} to {3} '{4}'. - '“{0}”将对基 {1} 的访问扩展到 {3}“{4}”,因此无法从 {1}“{2}”继承。 - - - - Option Strict On disallows implicit conversions from '{0}' to '{1}'. - Option Strict On 不允许从“{0}”到“{1}”的隐式转换。 - - - - Overload resolution failed because no accessible '{0}' accepts this number of arguments. - 重载决策失败,因为没有可访问的“{0}”接受此数目的参数。 - - - - Overload resolution failed because no '{0}' is accessible. - 重载决策失败,因为没有可访问的“{0}”。 - - - - Overload resolution failed because no accessible '{0}' can be called with these arguments:{1} - 重载决策失败,因为没有可使用这些参数调用的可访问“{0}”: {1} - - - - Overload resolution failed because no accessible '{0}' can be called:{1} - 重载决策失败,原因是没有可访问的“{0}”可以进行调用:{1} - - - - Overload resolution failed because no accessible '{0}' can be called without a narrowing conversion:{1} - 重载决策失败,因为没有不使用收缩转换即可调用的可访问重载“{0}”: {1} - - - - Argument matching parameter '{0}' narrows from '{1}' to '{2}'. - 与参数“{0}”匹配的参数从“{1}”收缩到“{2}”。 - - - - Overload resolution failed because no accessible '{0}' is most specific for these arguments:{1} - 重载决策失败,因为没有可访问的“{0}”最适合这些参数: {1} - - - - Not most specific. - 不是最适合。 - - - - - '{0}': {1} - - “{0}”: {1} - - - - Property '{0}' is 'WriteOnly'. - 属性“{0}”为“WriteOnly”。 - - - - Property '{0}' is 'ReadOnly'. - 属性“{0}”为“ReadOnly”。 - - - - All parameters must be explicitly typed if any of them are explicitly typed. - 如果任何一个参数已显式类型化,则所有参数都必须显式类型化。 - - - - Parameter cannot have the same name as its defining function. - 参数不能与它的定义函数同名。 - - - - Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method. - 从“Date”到“Double”的转换需要调用“Date.ToOADate”方法。 - - - - Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method. - 从 "Double" 到 "Date" 的转换需要调用 "Date.FromOADate" 方法。 - - - - Division by zero occurred while evaluating this expression. - 计算此表达式时出现被零除的情况。 - - - - Method cannot contain both a 'Try' statement and an 'On Error' or 'Resume' statement. - 方法不能既包含 "Try" 语句,又包含 "On Error" 或 "Resume" 语句。 - - - - Property access must assign to the property or use its value. - 属性访问必须分配给属性或使用属性值。 - - - - '{0}' cannot be indexed because it has no default property. - '无法为“{0}”编制索引,因为它没有默认属性。 - - - - Attribute '{0}' cannot be applied to an assembly. - 属性“{0}”不能应用于程序集。 - - - - Attribute '{0}' cannot be applied to a module. - 属性“{0}”不能应用于模块。 - - - - '{0}' is ambiguous. - '“{0}”不明确。 - - - - Default member of '{0}' is not a property. - “{0}”的默认成员不是属性。 - - - - '{0}' is ambiguous in the namespace '{1}'. - '“{1}”在命名空间中“{0}”不明确。 - - - - '{0}' is ambiguous, imported from the namespaces or types '{1}'. - '“{0}”不明确,从命名空间或类型“{1}”导入。 - - - - '{0}' is ambiguous between declarations in Modules '{1}'. - '“{0}”在模块“{1}”中的声明之间不明确。 - - - - '{0}' is ambiguous between declarations in namespaces '{1}'. - '“{0}”在命名空间“{1}”中的声明之间不明确。 - - - - Array initializer has too few dimensions. - 数组初始值设定项的维数太少。 - - - - Array initializer has too many dimensions. - 数组初始值设定项的维数太多。 - - - - Array initializer is missing {0} elements. - 数组初始值设定项缺少 {0} 个元素。 - - - - Array initializer has {0} too many elements. - 数组初始值设定项拥有的元素太多({0}个)。 - - - - 'New' cannot be used on a class that is declared 'MustInherit'. - '"New" 不能在声明为 "MustInherit" 的类上使用。 - - - - Alias '{0}' is already declared. - 已声明别名“{0}”。 - - - - XML namespace prefix '{0}' is already declared. - 已声明 XML 命名空间前缀“{0}”。 - - - - Option Strict On disallows late binding. - Option Strict On 不允许后期绑定。 - - - - 'AddressOf' operand must be the name of a method (without parentheses). - '“AddressOf”操作数必须是某个方法的名称(不带圆括号)。 - - - - '#End ExternalSource' must be preceded by a matching '#ExternalSource'. - '"#End ExternalSource" 前面必须是匹配的 "#ExternalSource"。 - - - - '#ExternalSource' statement must end with a matching '#End ExternalSource'. - '“#ExternalSource”语句必须以匹配的“#End ExternalSource”结束。 - - - - '#ExternalSource' directives cannot be nested. - '"#ExternalSource" 指令不能嵌套。 - - - - 'AddressOf' expression cannot be converted to '{0}' because '{0}' is not a delegate type. - '“AddressOf”表达式无法转换为“{0} ”,因为“{0}”不是委托类型。 - - - - 'SyncLock' operand cannot be of type '{0}' because '{0}' is not a reference type. - '"SyncLock" 操作数不能是“{0}”类型,因为“{0}”不是引用类型。 - - - - '{0}.{1}' cannot be implemented more than once. - '“{0}.{1}”不能多次实现。 - - - - '{0}' cannot be inherited more than once. - '“{0}”不能被继承多次。 - - - - Named argument cannot match a ParamArray parameter. - 命名实参不能匹配 ParamArray 形参。 - - - - Omitted argument cannot match a ParamArray parameter. - 省略的实参不能匹配 ParamArray 形参。 - - - - Argument cannot match a ParamArray parameter. - 参数不能匹配 ParamArray 参数。 - - - - Event '{0}' cannot be found. - 找不到事件“{0}”。 - - - - Variables in Modules cannot be declared '{0}'. - 模块中的变量不能声明为“{0}”。 - - - - Events of shared WithEvents variables cannot be handled by non-shared methods. - 共享 WithEvents 变量的事件不能由非共享方法处理。 - - - - '-' expected. - '应为“-”。 - - - - Interface members must be methods, properties, events, or type definitions. - 接口成员必须是方法、属性、事件或类型定义。 - - - - Statement cannot appear within an interface body. - 语句不能出现在接口体内。 - - - - Statement cannot appear within an interface body. End of interface assumed. - 语句不能出现在接口体内。假定为接口末尾。 - - - - 'NotInheritable' classes cannot have members declared '{0}'. - '“NotInheritable”类不能有声明为“{0}”的成员。 - - - - Class '{0}' must either be declared 'MustInherit' or override the following inherited 'MustOverride' member(s): {1}. - 类“{0}”必须声明为“MustInherit”或重写以下继承的“MustOverride”成员: {1}。 - - - - '{0}' is a MustOverride event in the base class '{1}'. Visual Basic does not support event overriding. You must either provide an implementation for the event in the base class, or make class '{2}' MustInherit. - '“{0}”是基类“{1}” 中的 MustOverride 事件。Visual Basic 不支持事件替代。必须提供基类中事件的实现或让类“{2}“成为 MustInherit。 - - - - Array dimensions cannot have a negative size. - 数组维数的大小不能为负。 - - - - 'MustOverride' method '{0}' cannot be called with 'MyClass'. - '无法用“MyClass”调用“MustOverride”方法“{0}”。 - - - - 'End' statement cannot be used in class library projects. - '在类库项目中不能使用 "End" 语句。 - - - - Variable '{0}' hides a variable in an enclosing block. - 变量“{0}”在封闭块中隐藏变量。 - - - - 'Module' statements can occur only at file or namespace level. - '"Module" 语句只能出现在文件级或命名空间级。 - - - - 'Namespace' statements can occur only at file or namespace level. - '"Namespace" 语句只能出现在文件级或命名空间级。 - - - - Statement cannot appear within an Enum body. - 语句不能出现在枚举体内。 - - - - Statement cannot appear within an Enum body. End of Enum assumed. - 语句不能出现在枚举体内。假定已到达枚举末尾。 - - - - 'Option Strict' can be followed only by 'On' or 'Off'. - '"Option Strict" 的后面只能跟 "On" 或 "Off"。 - - - - 'End Structure' must be preceded by a matching 'Structure'. - '"End Structure" 前面必须是匹配的 "Structure"。 - - - - 'End Module' must be preceded by a matching 'Module'. - '"End Module" 前面必须是匹配的 "Module"。 - - - - 'End Namespace' must be preceded by a matching 'Namespace'. - '"End Namespace" 前面必须是匹配的 "Namespace"。 - - - - 'Structure' statement must end with a matching 'End Structure'. - '“Structure”语句必须以匹配的“End Structure”结束。 - - - - 'Module' statement must end with a matching 'End Module'. - '“Module”语句必须以匹配的“End Module”结束。 - - - - 'Namespace' statement must end with a matching 'End Namespace'. - '“Namespace”语句必须以匹配的“End Namespace”结束。 - - - - 'Option' statements must precede any declarations or 'Imports' statements. - '"Option" 语句必须位于任何声明或 "Imports" 语句之前。 - - - - Structures cannot have 'Inherits' statements. - 结构不能有 "Inherits" 语句。 - - - - Structures cannot declare a non-shared 'Sub New' with no parameters. - 结构不能声明没有参数的非共享 "Sub New"。 - - - - 'End Get' must be preceded by a matching 'Get'. - '“End Get”前面必须是匹配的“Get”。 - - - - 'Get' statement must end with a matching 'End Get'. - '"Get" 语句必须以匹配的 "End Get" 结束。 - - - - 'End Set' must be preceded by a matching 'Set'. - '“End Set”前面必须是匹配的“Set”。 - - - - 'Set' statement must end with a matching 'End Set'. - '"Set" 语句必须以匹配的 "End Set" 结束。 - - - - Statement cannot appear within a property body. End of property assumed. - 语句不能出现在属性体内。假定为属性末尾。 - - - - 'ReadOnly' and 'WriteOnly' cannot be combined. - '"ReadOnly" 不能与 "WriteOnly" 组合。 - - - - '>' expected. - '应为“>”。 - - - - Assembly or Module attribute statements must precede any declarations in a file. - Assembly 或 Module 特性语句必须位于文件中的任何声明之前。 - - - - Array bounds cannot appear in type specifiers. - 数组界限不能出现在类型说明符中。 - - - - Properties cannot be declared '{0}'. - 属性不能声明为“{0}”。 - - - - 'Option Explicit' can be followed only by 'On' or 'Off'. - '"Option Explicit" 的后面只能跟 "On" 或 "Off"。 - - - - 'ByVal' and 'ByRef' cannot be combined. - '“ByVal”不能与“ByRef”组合。 - - - - 'Optional' and 'ParamArray' cannot be combined. - '"Optional" 不能与 "ParamArray" 组合。 - - - - Property '{0}' is of an unsupported type. - 属性“{0}”的类型不受支持。 - - - - Attribute '{0}' cannot be applied to a method with optional parameters. - 属性“{0}”不能应用于具有可选参数的方法。 - - - - 'Return' statement in a Sub or a Set cannot return a value. - 'Sub 或 Set 中的 "Return" 语句不能返回值。 - - - - String constants must end with a double quote. - 字符串常量必须以双引号结束。 - - - - '{0}' is an unsupported type. - '“{0}”是不受支持的类型。 - - - - Enums must be declared as an integral type. - 枚举必须声明为整型。 - - - - {0} parameters cannot be declared 'ByRef'. - {0} 参数不能声明为“ByRef”。 - - - - Reference required to assembly '{0}' containing the type '{1}'. Add one to your project. - 需要对程序集“{0}”(包含类型“{1}”)的引用。请在项目中添加一个。 - - - - Reference required to module '{0}' containing the type '{1}'. Add one to your project. - 需要对模块“{0}”(包含类型“{1}”)的引用。请在项目中添加一个。 - - - - 'Return' statement in a Function, Get, or Operator must return a value. - 'Function、Get 或 Operator 中的 "Return" 语句必须返回值。 - - - - Field '{0}' is of an unsupported type. - 字段“{0}”的类型不受支持。 - - - - '{0}' has a return type that is not supported or parameter types that are not supported. - '“{0}”有不受支持的返回类型或不受支持的参数类型。 - - - - Property '{0}' with no parameters cannot be found. - 无法找到不带参数的属性“{0}”。 - - - - Property or field '{0}' does not have a valid attribute type. - 属性或字段“{0}”没有有效的特性类型。 - - - - Attributes cannot be applied to local variables. - 特性不能应用于局部变量。 - - - - Field or property '{0}' is not found. - 找不到字段或属性“{0}”。 - - - - Attribute '{0}' cannot be applied to '{1}' because the attribute is not valid on this declaration type. - 属性“{0}”不能应用于“{1}”,因为该属性在此声明类型中无效。 - - - - Attribute '{0}' cannot be applied to '{1}' of '{2}' because the attribute is not valid on this declaration type. - 属性“{0}”不能应用于“{2}”的“{1}”,因为该属性在此声明类型中无效。 - - - - Class '{0}' cannot reference its nested type '{1}' in Inherits clause. - 类“{0}”无法在 Inherits 子句中引用其嵌套类型“{1}”。 - - - - Class '{0}' cannot reference itself in Inherits clause. - 类“{0}”不能在 Inherits 子句中引用自己。 - - - - - Base type of '{0}' needs '{1}' to be resolved. - - “{0}”基类型需要解析“{1}”。 - - - - Inherits clause of {0} '{1}' causes cyclic dependency: {2} - {0}“{1}”的继承子句会导致循环依赖: {2} - - - - Attribute '{0}' cannot be applied multiple times. - 属性“{0}”不能应用多次。 - - - - Attribute '{0}' in '{1}' cannot be applied multiple times. - “{1}”中的属性“{0}”不能应用多次。 - - - - 'Throw' operand must derive from 'System.Exception'. - '“Throw”操作数必须从“System.Exception”派生。 - - - - 'Throw' statement cannot omit operand outside a 'Catch' statement or inside a 'Finally' statement. - '"Throw" 语句在 "Catch" 语句外或 "Finally" 语句内不能省略操作数。 - - - - ParamArray parameters must be declared 'ByVal'. - ParamArray 参数必须声明为 "ByVal"。 - - - - '{0}' is obsolete: '{1}'. - '“{0}”已过时:“{1}”。 - - - - 'ReDim' statements require a parenthesized list of the new bounds of each dimension of the array. - '"ReDim" 语句需要一个带括号的列表,该列表列出数组每个维度的新界限。 - - - - Explicit initialization is not permitted with multiple variables declared with a single type specifier. - 不允许通过用单个类型说明符声明多个变量来进行显式初始化。 - - - - Explicit initialization is not permitted for arrays declared with explicit bounds. - 对于用显式界限声明的数组不允许进行显式初始化。 - - - - 'End SyncLock' must be preceded by a matching 'SyncLock'. - '“End SyncLock”前面必须是匹配的“SyncLock”。 - - - - 'SyncLock' statement must end with a matching 'End SyncLock'. - '“SyncLock”语句必须以匹配的“End SyncLock”结束。 - - - - '{0}' is not an event of '{1}'. - '“{0}”不是“{1}”的事件。 - - - - 'AddHandler' or 'RemoveHandler' statement event operand must be a dot-qualified expression or a simple name. - '“AddHandler”或“RemoveHandler”语句事件操作数必须是以点限定的表达式或者是简单的名称。 - - - - 'End' statement not valid. - '"End" 语句无效。 - - - - Array initializers are valid only for arrays, but the type of '{0}' is '{1}'. - 数组初始值设定项仅对数组有效,但“{0}”的类型是“{1}”。 - - - - '#End Region' must be preceded by a matching '#Region'. - '"#End Region" 前面必须是匹配的 "#Region"。 - - - - '#Region' statement must end with a matching '#End Region'. - '"#Region" 语句必须以匹配的 "#End Region" 结束。 - - - - 'Inherits' statement must precede all declarations in a class. - '“Inherits”语句必须位于类中的所有声明之前。 - - - - '{0}' is ambiguous across the inherited interfaces '{1}' and '{2}'. - '“{0}”在继承接口“{1}”和“{2}”之间不明确。 - - - - Default property access is ambiguous between the inherited interface members '{0}' of interface '{1}' and '{2}' of interface '{3}'. - 默认属性访问在接口“{1}”的继承接口成员“{0}”和接口“{3}”的继承接口成员“{2}”之间不明确。 - - - - Events in interfaces cannot be declared '{0}'. - 接口中的事件无法声明为“{0}”。 - - - - Statement cannot appear outside of a method body. - 语句不能出现在方法体外。 - - - - Structure '{0}' cannot be indexed because it has no default property. - 无法为结构“{0}”编制索引,因为它没有默认属性。 - - - - {0} '{1}' must be declared 'Shadows' because another member with this name is declared 'Shadows'. - {0}“{1}”必须声明为“Shadows”,因为具有此名称的另一个成员被声明为“Shadows”。 - - - - '{0}' cannot override '{1}' because they differ by the types of optional parameters. - '“{0}”无法重写“{1}”,因为它们在可选参数类型上存在差异。 - - - - End of expression expected. - 应为表达式结尾。 - - - - Methods declared in structures cannot have 'Handles' clauses. - 结构中声明的方法不能有 "Handles" 子句。 - - - - Methods declared 'Overrides' cannot be declared 'Overridable' because they are implicitly overridable. - 声明为 "Overrides" 的方法是隐式可重写的,因此它们不能声明为 "Overridable"。 - - - - '{0}' is already declared as a parameter of this method. - '“{0}”已声明为此方法的参数。 - - - - Variable '{0}' is already declared as a parameter of this or an enclosing lambda expression. - 变量“{0}”已声明为此 lambda 表达式或某个封闭 lambda 表达式的参数。 - - - - Type in a Module cannot be declared '{0}'. - 模块中的类型不能声明为“{0}”。 - - - - No accessible 'Main' method with an appropriate signature was found in '{0}'. - “{0}”中找不到带有适当签名的可访问“Main”方法。 - - - - 'Sub Main' is declared more than once in '{0}': {1} - '在“{0}”中多次声明了“Sub Main”: {1} - - - - Value '{0}' cannot be converted to '{1}'. - 值“{0}”无法转换为“{1}”。 - - - - 'On Error' statements are not valid within 'SyncLock' statements. - '"On Error" 语句在 "SyncLock" 语句内无效。 - - - - Option Strict On disallows implicit conversions from '{0}' to '{1}'; the Visual Basic 6.0 collection type is not compatible with the .NET Framework collection type. - Option Strict On 不允许从“{0}”到“{1}”的隐式转换;Visual Basic 6.0 集合类型与 .NET Framework 集合类型不兼容。 - - - - 'GoTo {0}' is not valid because '{0}' is inside a 'Try', 'Catch' or 'Finally' statement that does not contain this statement. - '“GoTo {0}”语句无效,因为“{0}”位于不包含此语句的“Try”、“Catch”或“Finally”语句中。 - - - - 'GoTo {0}' is not valid because '{0}' is inside a 'SyncLock' statement that does not contain this statement. - '“GoTo {0}”无效,因为“{0}”位于不包含此语句的“SyncLock”语句中。 - - - - 'GoTo {0}' is not valid because '{0}' is inside a 'With' statement that does not contain this statement. - '“GoTo {0}”无效,因为“{0}”位于不包含此语句的“With”语句中。 - - - - 'GoTo {0}' is not valid because '{0}' is inside a 'For' or 'For Each' statement that does not contain this statement. - '“GoTo {0}”无效,因为“{0}”位于不包含此语句的“For”或“For Each”语句中。 - - - - Attribute cannot be used because it does not have a Public constructor. - 特性没有 Public 构造函数,因此不能使用。 - - - - Event '{0}' specified by the 'DefaultEvent' attribute is not a publicly accessible event for this class. - 由“DefaultEvent”属性指定的事件“{0}”不是该类的公共可访问事件。 - - - - 'NonSerialized' attribute will not have any effect on this member because its containing class is not exposed as 'Serializable'. - '"NonSerialized" 特性对此成员无效,因为它的包含类不作为 "Serializable" 公开。 - - - - 'Continue' must be followed by 'Do', 'For' or 'While'. - '“Continue”的后面必须跟有“Do”、“For”或“While”。 - - - - 'Continue Do' can only appear inside a 'Do' statement. - '“Continue Do”只能出现在“Do”语句内。 - - - - 'Continue For' can only appear inside a 'For' statement. - '“Continue For”只能出现在“For”语句内。 - - - - 'Continue While' can only appear inside a 'While' statement. - '“Continue While”只能出现在“While”语句内。 - - - - Parameter specifier is duplicated. - 参数说明符重复。 - - - - 'Declare' statements in a Module cannot be declared '{0}'. - '模块中的“Declare”语句不能声明为“{0}”。 - - - - 'Declare' statements in a structure cannot be declared '{0}'. - '结构中的“Declare”语句不能声明为“{0}”。 - - - - 'TryCast' operand must be reference type, but '{0}' is a value type. - '“TryCast”操作数必须是引用类型,但“{0}”是值类型。 - - - - 'TryCast' operands must be class-constrained type parameter, but '{0}' has no class constraint. - '“TryCast”操作数必须是类约束类型参数,但“{0}”没有类约束。 - - - - No accessible '{0}' is most specific: {1} - 没有非常明确的可访问“{0}”: {1} - - - - Non-shared members in a Structure cannot be declared 'New'. - Structure 中的非共享成员不能声明为 "New"。 - - - - None of the accessible 'Main' methods with the appropriate signatures found in '{0}' can be the startup method since they are all either generic or nested in generic types. - 在“{0}”中找到的带有适当签名的可访问“Main”方法要么都是泛型方法,要么嵌套在泛型类型中,因此均不能用作启动方法。 - - - - Error in project-level import '{0}' at '{1}' : {2} - 项目级 import“{0}”中的“{1}”位置出错: {2} - - - - '{1}' for the Imports alias to '{0}' does not refer to a Namespace, Class, Structure, Interface, Enum or Module. - '“{0}”的 Imports 别名的“{1}”不引用命名空间、类、结构、接口、枚举或模块。 - - - - Field '{0}.{1}' has an invalid constant value. - 字段“{0}.{1}”具有无效常量值。 - - - - Method arguments must be enclosed in parentheses. - 方法参数必须括在括号中。 - - - - Labels that are numbers must be followed by colons. - 数字标签后面必须跟冒号。 - - - - 'Type' statements are no longer supported; use 'Structure' statements instead. - '不再支持 "Type" 语句;请改用 "Structure" 语句。 - - - - 'Variant' is no longer a supported type; use the 'Object' type instead. - '"Variant" 不再是受支持的类型;请改用 "Object" 类型。 - - - - 'Let' and 'Set' assignment statements are no longer supported. - '不再支持 "Let" 和 "Set" 赋值语句。 - - - - Property Get/Let/Set are no longer supported; use the new Property declaration syntax. - 不再支持 Property Get/Let/Set;请使用新的 Property 声明语法。 - - - - 'Wend' statements are no longer supported; use 'End While' statements instead. - '不再支持 "Wend" 语句;请改用 "End While" 语句。 - - - - 'ReDim' statements can no longer be used to declare array variables. - '"ReDim" 语句不能再用于声明数组变量。 - - - - Optional parameters must specify a default value. - 可选参数必须指定默认值。 - - - - 'GoSub' statements are no longer supported. - '不再支持 "GoSub" 语句。 - - - - 'On GoTo' and 'On GoSub' statements are no longer supported. - '不再支持 "On GoTo" 和 "On GoSub" 语句。 - - - - 'EndIf' statements are no longer supported; use 'End If' instead. - '不再支持 "EndIf" 语句;请改用 "End If"。 - - - - 'D' can no longer be used to indicate an exponent, use 'E' instead. - '"D" 不能再用来表示指数;请改用 "E"。 - - - - 'As Any' is not supported in 'Declare' statements. - '"Declare" 语句中不支持 "As Any"。 - - - - 'Get' statements are no longer supported. File I/O functionality is available in the 'Microsoft.VisualBasic' namespace. - '不再支持 "Get" 语句。"Microsoft.VisualBasic" 命名空间中有文件 I/O 功能。 - - - - '{0}' cannot override '{1}' because they differ by parameters declared 'ParamArray'. - '“{0}”无法重写“{1}”,因为它们在声明为“ParamArray”的参数上存在差异。 - - - - This inheritance causes circular dependencies between {0} '{1}' and its nested or base type '{2}'. - 此继承将导致在 {0}“{1}”及其嵌套类型或基类型“{2}”之间产生循环依赖项。 - - - - {0} '{1}' cannot inherit from a type nested within it. - {0}“{1}”不能从嵌套在它里面的类型继承。 - - - - '{0}' cannot expose type '{1}' outside the project through {2} '{3}'. - '“{0}”不能通过 {2}“{3}”在项目外部公开类型“{1}”。 - - - - '{0}' cannot inherit from {1} '{2}' because it expands the access of the base {1} outside the assembly. - '“{0}”将对基 {1} 的访问扩展到程序集之外,因此无法从 {1}“{2}”继承。 - - - - '{0}' accessor of '{1}' is obsolete: '{2}'. - '“{1}”的“{0}”访问器已过时:“{2}”。 - - - - '{0}' accessor of '{1}' is obsolete. - '“{1}”的“{0}”访问器已过时。 - - - - '{0}' cannot expose the underlying delegate type '{1}' of the event it is implementing to {2} '{3}' through {4} '{5}'. - '“{0}”不能通过 {4}“{5}”向 {2}“{3}”公开它正在实现的事件的基础委托类型“{1}”。 - - - - '{0}' cannot expose the underlying delegate type '{1}' of the event it is implementing outside the project through {2} '{3}'. - '“{0}”不能通过 {2}“{3}”公开它正在实现的事件的基础委托类型“{1}”。 - - - - Type '{0}' is not supported because it either directly or indirectly inherits from itself. - 类型“{0}”直接或者间接从自身继承,因此不受支持。 - - - - Class '{0}' must declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete. - 类“{0}”必须声明一个“Sub New”,因为它的基类“{2}”中的“{1}”被标记为已过时。 - - - - Class '{0}' must declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete: '{3}'. - 类“{0}”必须声明一个“Sub New”,因为它的基类“{2}”中的“{1}”被标记为已过时:“{3}”。 - - - - First statement of this 'Sub New' must be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete. - 此“Sub New”的第一条语句必须是对“MyBase.New”或“MyClass.New”的显式调用,因为“{2}”的基类“{1}”中的“{0}”被标为已过时。 - - - - First statement of this 'Sub New' must be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete: '{3}'. - 此“Sub New”的第一条语句必须是对“MyBase.New”或“MyClass.New”的显式调用,因为“{2}”的基类“{1}”中的“{0}”被标为已过时:“{3}”。 - - - - '{0}' cannot inherit from {1} '{2}' because it expands the access of type '{3}' to {4} '{5}'. - '“{0}”将对类型“{3}”的访问扩展到{4}“{5}”,因此无法从 {1}“{2}”继承。 - - - - '{0}' cannot inherit from {1} '{2}' because it expands the access of type '{3}' outside the assembly. - '“{0}”将对类型“{3}”的访问扩展到程序集之外,因此无法从 {1}“{2}”继承。 - - - - Specified access '{0}' for '{1}' does not match the access '{2}' specified on one of its other partial types. - “{1}”的指定访问“{0}”与它的一个其他分部类型上指定的访问“{2}”不匹配。 - - - - 'MustInherit' cannot be specified for partial type '{0}' because it cannot be combined with 'NotInheritable' specified for one of its other partial types. - '“MustInherit”不能为分部类型“{0}”指定,因为它不能与为该类型的某个其他分部类型指定的“NotInheritable”组合。 - - - - 'MustOverride' cannot be specified on this member because it is in a partial type that is declared 'NotInheritable' in another partial definition. - '不能在此成员上指定“MustOverride”,因为它所在的分部类型在另一个分部定义中被声明为“NotInheritable”。 - - - - Base class '{0}' specified for class '{1}' cannot be different from the base class '{2}' of one of its other partial types. - 为类“{1}”指定的基类“{0}”不能与它的其他分部类型之一的基类“{2}”不同。 - - - - Type parameter name '{0}' does not match the name '{1}' of the corresponding type parameter defined on one of the other partial types of '{2}'. - 类型参数名“{0}”与在“{2}”的某个其他分部类型上定义的相应类型参数的名称“{1}”不匹配。 - - - - Constraints for this type parameter do not match the constraints on the corresponding type parameter defined on one of the other partial types of '{0}'. - 此类型参数的约束与在“{0}”的某个其他分部类型上定义的相应类型参数的约束不匹配。 - - - - Late bound overload resolution cannot be applied to '{0}' because the accessing instance is an interface type. - 后期绑定重载决策不能应用于“{0}”,因为访问实例是一个接口类型。 - - - - Conversion from '{0}' to '{1}' cannot occur in a constant expression used as an argument to an attribute. - 在用作属性参数的常量表达式中不能发生从“{0}”到“{1}”的转换。 - - - - Member '{0}' that matches this signature cannot be overridden because the class '{1}' contains multiple members with this same name and signature: {2} - 无法重写与此签名匹配的成员“{0}”,因为类“{1}”包含多个具有此相同名称和签名的成员: {2} - - - - - '{0}' - - “{0}” - - - - Member '{0}.{1}' that matches this signature cannot be implemented because the interface '{2}' contains multiple members with this same name and signature: - '{3}' - '{4}' - 无法实现与此签名匹配的成员“{0}.{1}”,因为接口“{2}”包含多个具有此相同名称和签名的成员: - '{3}' - '{4}' - - - - 'AddressOf' expression cannot be converted to '{0}' because type '{0}' is declared 'MustInherit' and cannot be created. - '“AddressOf”表达式无法转换为“{0}”,因为类型“{0}”已声明为“MustInherit”,无法创建。 - - - - Generic methods cannot be exposed to COM. - 泛型方法不能向 COM 公开。 - - - - Syntax error in cast operator; two arguments separated by comma are required. - 强制转换运算符中有语法错误;需要两个用逗号分隔的参数。 - - - - Array initializer cannot be specified for a non constant dimension; use the empty initializer '{}'. - 无法为不定维度指定数组初始值设定项;请使用空初始值设定项“{}”。 - - - - No accessible method '{0}' has a signature compatible with delegate '{1}':{2} - 没有任何可访问的方法“{0}”具有与委托“{1}”兼容的签名: {2} - - - - Attribute 'StructLayout' cannot be applied to a generic type. - 特性 "StructLayout" 不能应用于泛型类型。 - - - - Range variable '{0}' hides a variable in an enclosing block or a range variable previously defined in the query expression. - 范围变量“{0}”隐藏封闭块中的某个变量或以前在查询表达式中定义的某个范围变量。 - - - - 'Option Infer' can be followed only by 'On' or 'Off'. - '"Option Infer" 后面只能跟 "On" 或 "Off"。 - - - - Type of '{0}' cannot be inferred from an expression containing '{0}'. - 无法从包含“{0}”的表达式中推断“{0}”的类型。 - - - - '{0}' in class '{1}' cannot override '{2}' in class '{3}' because an intermediate class '{4}' overrides '{2}' in class '{3}' but is not accessible. - '类“{1}”中的“{0}”不能重写类“{3}”中的“{2}”,因为中间类“{4}”重写了类“{3}”中的“{2}”,但不可访问。 - - - - Type of '{0}' cannot be inferred because the loop bounds and the step clause do not convert to the same type. - 无法推断“{0}”的类型,因为循环边界和 step 子句不会转换为同一类型。 - - - - Type of '{0}' is ambiguous because the loop bounds and the step clause do not convert to the same type. - “{0}”的类型不明确,因为循环边界和 step 子句不会转换为同一类型。 - - - - '=' expected (object initializer). - '应为 "="(对象初始值设定项)。 - - - - Name of field or property being initialized in an object initializer must start with '.'. - 正在对象初始值设定项中初始化的字段或属性的名称必须以 "."开头。 - - - - '{' expected. - '应为 "{"。 - - - - Type or 'With' expected. - 应为类型或 "With"。 - - - - Multiple initializations of '{0}'. Fields and properties can be initialized only once in an object initializer expression. - 多次初始化“{0}”的。字段和属性只能在对象初始值设定项表达式中初始化一次。 - - - - Member '{0}' cannot be initialized in an object initializer expression because it is not a field or property. - 无法在对象初始值设定项表达式中初始化成员“{0}”,因为它不是一个字段或属性。 - - - - Member '{0}' cannot be initialized in an object initializer expression because it is shared. - 无法在对象初始值设定项表达式中初始化成员“{0}”,因为它是共享的。 - - - - Property '{0}' cannot be initialized in an object initializer expression because it requires arguments. - 无法在对象初始值设定项表达式中初始化属性“{0}”,因为它需要参数。 - - - - Property '{0}' cannot be initialized in an object initializer expression because all accessible overloads require arguments. - 无法在对象初始值设定项表达式中初始化属性“{0}”,因为所有可访问的重载都需要参数。 - - - - Object initializer syntax cannot be used to initialize an instance of 'System.Object'. - 不能使用对象初始值设定项语法初始化“System.Object”的实例。 - - - - Initializer expected. - 应为初始值设定项。 - - - - Line continuation character '_' must be preceded by at least one white space and must be the last character on the line. - 行继续符 "_" 的前面必须至少有一个空白字符,而且必须是所在行中的最后一个字符。 - - - - Unable to load module file '{0}': {1} - 无法加载模块文件“{0}”: {1} - - - - Unable to load referenced library '{0}': {1} - 无法加载引用的库“{0}”: {1} - - - - Method '{0}' cannot handle event '{1}' because they do not have a compatible signature. - 方法“{0}”无法处理事件“{1}”,因为它们的签名不兼容。 - - - - Conditional compilation constant '{1}' is not valid: {0} - 条件编译常数“{1}”无效: {0} - - - - Interface '{0}' can be implemented only once by this type. - 接口“{0}”只能由此类型实现一次。 - - - - Interface '{0}' can be implemented only once by this type, but already appears with different tuple element names, as '{1}'. - 接口“{0}”只能通过此类型实现一次,但已显示有不同的元组元素名称,如“{1}”。 - - - - Interface '{0}' can be implemented only once by this type, but already appears with different tuple element names, as '{1}' (via '{2}'). - 接口“{0}”只能通过此类型实现一次,但已显示有不同的元组元素名称,如“{1}”(通过“{2}”)。 - - - - Interface '{0}' (via '{1}') can be implemented only once by this type, but already appears with different tuple element names, as '{2}'. - 接口“{0}”只能通过此类型实现一次(通过“{1}”),但已显示有不同的元组元素名称,如“{2}”。 - - - - Interface '{0}' (via '{1}') can be implemented only once by this type, but already appears with different tuple element names, as '{2}' (via '{3}'). - 接口“{0}”只能通过此类型实现一次(通过“{1}”),但已显示有不同的元组元素名称,如“{2}”(通过“{3}”)。 - - - - Interface '{0}' can be inherited only once by this interface, but already appears with different tuple element names, as '{1}'. - 接口“{0}”只能通过此接口继承一次,但已显示有不同的元组元素名称,如“{1}”。 - - - - Interface '{0}' can be inherited only once by this interface, but already appears with different tuple element names, as '{1}' (via '{2}'). - 接口“{0}”只能通过此接口继承一次,但已显示有不同的元组元素名称,如“{1}”(通过“{2}”)。 - - - - Interface '{0}' (via '{1}') can be inherited only once by this interface, but already appears with different tuple element names, as '{2}'. - 接口“{0}”只能通过此接口继承一次(通过“{1}”),但已显示有不同的元组元素名称,如“{2}”。 - - - - Interface '{0}' (via '{1}') can be inherited only once by this interface, but already appears with different tuple element names, as '{2}' (via '{3}'). - 接口“{0}”只能通过此接口继承一次(通过“{1}”),但已显示有不同的元组元素名称,如“{2}”(通过“{3}”)。 - - - - Interface '{0}' is not implemented by this class. - 接口“{0}”不是由此类实现的。 - - - - '{0}' exists in multiple base interfaces. Use the name of the interface that declares '{0}' in the 'Implements' clause instead of the name of the derived interface. - '“{0}”存在于多个基接口中。请使用在“Implements”子句中声明“{0}”的接口的名称,而不要使用派生接口的名称。 - - - - 'Sub New' cannot implement interface members. - '“Sub New”无法实现接口成员。 - - - - Arrays declared as structure members cannot be declared with an initial size. - 声明为结构成员的数组不能用初始大小声明。 - - - - Events declared with an 'As' clause must have a delegate type. - 用 "As" 子句声明的事件必须有委托类型。 - - - - Protected types can only be declared inside of a class. - 受保护的类型只能在类内部声明。 - - - - Properties with no required parameters cannot be declared 'Default'. - 不带必选参数的属性不能声明为“Default”。 - - - - Initializers on structure members are valid only for 'Shared' members and constants. - 结构成员上的初始值设定项仅对“Shared”成员和常量有效。 - - - - Namespace or type '{0}' has already been imported. - 已导入命名空间或类型呢“{0}”。 - - - - Modules cannot be declared '{0}'. - 模块不能声明为“{0}”。 - - - - 'Implements' statements must follow any 'Inherits' statement and precede all declarations in a class. - '“Implements”语句在类中必须位于任何“Inherits”语句之后,所有声明之前。 - - - - {0} '{1}' implicitly defines '{2}', which conflicts with a member implicitly declared for {3} '{4}' in {5} '{6}'. - {0}“{1}”隐式定义的“{2}”与为 {5}“{6}”中的 {3}“{4}”隐式声明的成员冲突。 - - - - {0} '{1}' implicitly defines '{2}', which conflicts with a member of the same name in {3} '{4}'. - {0}“{1}”隐式定义的“{2}”与 {3}“{4}”中的同名成员冲突。 - - - - {0} '{1}' conflicts with a member implicitly declared for {2} '{3}' in {4} '{5}'. - {0}“{1}”与为 {4}“{5}”中的 {2}“{3}”隐式声明的成员冲突。 - - - - {0} '{1}' conflicts with a Visual Basic Runtime {2} '{3}'. - {0}“{1}”与 Visual Basic 运行时 {2}“{3}”冲突。 - - - - First argument to a security attribute must be a valid SecurityAction. - 安全属性的第一个参数必须是有效的 SecurityAction。 - - - - Security attribute '{0}' has an invalid SecurityAction value '{1}'. - 安全属性“{0}”具有无效的 SecurityAction 值“{1}”。 - - - - SecurityAction value '{0}' is invalid for security attributes applied to an assembly. - SecurityAction 值“{0}”对应用于程序集的安全属性无效。 - - - - SecurityAction value '{0}' is invalid for security attributes applied to a type or a method. - SecurityAction 值“{0}”对应用于类型或方法的安全属性无效。 - - - - SecurityAction value '{0}' is invalid for PrincipalPermission attribute. - SecurityAction 值“{0}”对 PrincipalPermission 属性无效。 - - - - Unable to resolve file path '{0}' specified for the named argument '{1}' for PermissionSet attribute. - 无法解析为 PermissionSet 属性的命名参数“{1}”指定的文件路径“{0}”。 - - - - Error reading file '{0}' specified for the named argument '{1}' for PermissionSet attribute: '{2}'. - 读取为 PermissionSet 属性的命名参数“{1}”指定的文件“'{0}' ”时出错:“{2}”。 - - - - 'Set' method cannot have more than one parameter. - '"Set" 方法不能有一个以上的参数。 - - - - 'Set' parameter must have the same type as the containing property. - '"Set" 参数必须与包含属性的类型相同。 - - - - 'Set' parameter cannot be declared '{0}'. - '“Set”参数不能声明为“{0}”。 - - - - Method in a structure cannot be declared 'Protected', 'Protected Friend', or 'Private Protected'. - 结构中的方法不能声明为 "Protected"、"Protected Friend" 或 "Private Protected"。 - - - - Delegate in an interface cannot be declared '{0}'. - 接口中的委托不能声明为“{0}”。 - - - - Enum in an interface cannot be declared '{0}'. - 接口中的枚举不能声明为“{0}”。 - - - - Class in an interface cannot be declared '{0}'. - 接口中的类不能声明为“{0}”。 - - - - Structure in an interface cannot be declared '{0}'. - 接口中的结构不能声明为“{0}”。 - - - - Interface in an interface cannot be declared '{0}'. - 接口中的接口不能声明为“{0}”。 - - - - '{0}' is obsolete. - '“{0}”已过时。 - - - - '{0}' is a module and cannot be referenced as an assembly. - '“{0}”是一个模块,不能作为程序集引用。 - - - - '{0}' is an assembly and cannot be referenced as a module. - '“{0}”是一个程序集,不能作为模块引用。 - - - - Operator '{0}' is not defined for types '{1}' and '{2}'. Use 'Is' operator to compare two reference types. - 没有为类型“{1}”和“{2}”定义运算符“{0}”。请使用“Is”运算符比较两个引用的类型。 - - - - '{0}' is not a local variable or parameter, and so cannot be used as a 'Catch' variable. - '“{0}”不是局部变量或参数,因此不能用作“Catch”变量。 - - - - Members in a Module cannot implement interface members. - 模块中的成员无法实现接口成员。 - - - - Events cannot be declared with a delegate type that has a return type. - 事件不能用具有返回类型的委托类型声明。 - - - - Date constant is not valid. - 日期常量无效。 - - - - '{0}' cannot override '{1}' because it is not declared 'Overridable'. - '“{0}”无法重写“{1}”,因为后者未声明为“Overridable”。 - - - - Array modifiers cannot be specified on both a variable and its type. - 不能在变量及其类型上同时指定数组修饰符。 - - - - 'NotOverridable' cannot be specified for methods that do not override another method. - '不能为不重写另一个方法的方法指定 "NotOverridable"。 - - - - Types declared 'Private' must be inside another type. - 声明为 "Private" 的类型必须在另一个类型内。 - - - - Import of type '{0}' from assembly or module '{1}' failed. - 从程序集或模块“{1}”导入类型“{0}”失败。 - - - - Predefined type '{0}' is not defined or imported. - 预定义的类型“{0}”未定义或未导入。 - - - - ParamArray parameters must have an array type. - ParamArray 参数必须有数组类型。 - - - - Implementing class '{0}' for interface '{1}' cannot be found. - 无法找到接口“{1}”的实现类“{0}”。 - - - - Type '{0}' cannot be used as an implementing class. - 类型“{0}”不能用作实现类。 - - - - Reference to object under construction is not valid when calling another constructor. - 调用另一个构造函数时引用尚未完成的对象是无效的。 - - - - Implicit reference to object under construction is not valid when calling another constructor. - 调用另一个构造函数时隐式引用尚未完成的对象是无效的。 - - - - Member '{0}' cannot be found in class '{1}'. This condition is usually the result of a mismatched 'Microsoft.VisualBasic.dll'. - 类“{1}”中找不到成员“{0}”。此情况通常是由于不匹配的“Microsoft.VisualBasic.dll”造成的。 - - - - Property accessors cannot be declared '{0}'. - 不能将属性访问器声明为“{0}”。 - - - - Access modifier '{0}' is not valid. The access modifier of 'Get' and 'Set' should be more restrictive than the property access level. - 访问修饰符“{0}”无效。“Get”和“Set”的访问修饰符的限制性应该比属性访问级别更强。 - - - - Access modifier can only be applied to either 'Get' or 'Set', but not both. - 访问修饰符只能用于 "Get" 或者 "Set",但不能同时用于这二者。 - - - - 'Set' accessor of property '{0}' is not accessible. - '属性“{0}”的“Set”访问器不可访问。 - - - - 'Get' accessor of property '{0}' is not accessible. - '属性“{0}”的“Get”访问器不可访问。 - - - - 'WriteOnly' properties cannot have an access modifier on 'Set'. - '"WriteOnly" 属性在 "Set" 上不能有访问修饰符。 - - - - 'ReadOnly' properties cannot have an access modifier on 'Get'. - '"ReadOnly" 属性在 "Get" 上不能有访问修饰符。 - - - - Property accessors cannot be declared '{0}' in a 'NotOverridable' property. - 属性访问器不能在“NotOverridable”属性中声明为“{0}”。 - - - - Property accessors cannot be declared '{0}' in a 'Default' property. - 属性访问器不能在“Default”属性中声明为“{0}”。 - - - - Property cannot be declared '{0}' because it contains a 'Private' accessor. - 属性包含“Private”访问器,因此不能声明为“{0}”。 - - - - Implementing class '{0}' for interface '{1}' is not accessible in this context because it is '{2}'. - 接口“{1}”的实现类“{0}”是“{2}”,因此它在此上下文中不可访问。 - - - - Arrays used as attribute arguments are required to explicitly specify values for all elements. - 必须有用作特性参数的数组才能显式指定所有元素的值。 - - - - 'Exit AddHandler', 'Exit RemoveHandler' and 'Exit RaiseEvent' are not valid. Use 'Return' to exit from event members. - '"Exit AddHandler"、"Exit RemoveHandler" 和 "Exit RaiseEvent" 无效。请使用 "Return" 从事件成员中退出。 - - - - Statement cannot appear within an event body. End of event assumed. - 语句不能出现在事件体内。假定为事件末尾。 - - - - 'Custom Event' must end with a matching 'End Event'. - 'Custom Event 必须以匹配的 "End Event" 结束。 - - - - 'AddHandler' declaration must end with a matching 'End AddHandler'. - '"AddHandler" 声明必须以匹配的 "End AddHandler" 结束。 - - - - 'RemoveHandler' declaration must end with a matching 'End RemoveHandler'. - '"RemoveHandler" 声明必须以匹配的 "End RemoveHandler" 结束。 - - - - 'RaiseEvent' declaration must end with a matching 'End RaiseEvent'. - '"RaiseEvent" 声明必须以匹配的 "End RaiseEvent" 结束。 - - - - 'Custom' modifier is not valid on events declared in interfaces. - '“Custom”修饰符在接口中声明的事件上无效。 - - - - 'Custom' modifier is not valid on events declared without explicit delegate types. - '“Custom”修饰符在未用显式委托类型声明的事件上无效。 - - - - 'End Event' must be preceded by a matching 'Custom Event'. - '“End Event”前面必须是匹配的“Custom Event”。 - - - - 'End AddHandler' must be preceded by a matching 'AddHandler' declaration. - '“End AddHandler”前面必须是匹配的“AddHandler”声明。 - - - - 'End RemoveHandler' must be preceded by a matching 'RemoveHandler' declaration. - '“End RemoveHandler”前面必须是匹配的“RemoveHandler”声明。 - - - - 'End RaiseEvent' must be preceded by a matching 'RaiseEvent' declaration. - '“End RaiseEvent”前面必须是匹配的“RaiseEvent”声明。 - - - - 'AddHandler' is already declared. - '已经声明 "AddHandler"。 - - - - 'RemoveHandler' is already declared. - '已经声明 "RemoveHandler"。 - - - - 'RaiseEvent' is already declared. - '已经声明 "RaiseEvent"。 - - - - 'AddHandler' definition missing for event '{0}'. - '缺少事件“{0}”的“AddHandler”定义。 - - - - 'RemoveHandler' definition missing for event '{0}'. - '缺少事件“{0}”的“RemoveHandler”定义。 - - - - 'RaiseEvent' definition missing for event '{0}'. - '缺少事件“{0}”的“RaiseEvent”定义。 - - - - 'AddHandler' and 'RemoveHandler' methods must have exactly one parameter. - '“AddHandler”和“RemoveHandler”方法必须正好有一个参数。 - - - - 'AddHandler' and 'RemoveHandler' method parameters cannot be declared 'ByRef'. - '“AddHandler”和“RemoveHandler”方法参数不能声明为“ByRef”。 - - - - Specifiers are not valid on 'AddHandler', 'RemoveHandler' and 'RaiseEvent' methods. - 说明符在 "AddHandler"、"RemoveHandler" 和 "RaiseEvent" 方法上无效。 - - - - 'AddHandler' and 'RemoveHandler' method parameters must have the same delegate type as the containing event. - '“AddHandler”和“RemoveHandler”方法参数必须与包含事件具有相同的委托类型。 - - - - 'RaiseEvent' method must have the same signature as the containing event's delegate type '{0}'. - '“RaiseEvent”方法必须具有与包含事件的委托类型“{0}”相同的签名。 - - - - 'AddHandler', 'RemoveHandler' and 'RaiseEvent' method parameters cannot be declared '{0}'. - '“AddHandler”、“RemoveHandler”和“RaiseEvent”方法参数不能声明为“{0}”。 - - - - '{0}' cannot refer to itself through its default instance; use 'Me' instead. - '“{0}”不能通过其默认实例指代自身;请改用“Me”。 - - - - 'Custom' modifier can only be used immediately before an 'Event' declaration. - '"Custom" 修饰符只能在紧靠 "Event" 声明之前使用。 - - - - Option Strict Custom can only be used as an option to the command-line compiler (vbc.exe). - Option Strict Custom 只能用作命令行编译器(vbc.exe)的选项。 - - - - '{0}' cannot be applied to the 'AddHandler', 'RemoveHandler', or 'RaiseEvent' definitions. If required, apply the attribute directly to the event. - '“{0}”不能应用于“'AddHandler”、“RemoveHandler”或“'RaiseEvent”定义。如有必要,请将该属性直接应用于事件。 - - - - Method '{0}' does not have a signature compatible with delegate '{1}'. - 方法“{0}”没有与委托“{1}”兼容的签名。 - - - - XML name expected. - 应为 XML 名称。 - - - - XML namespace prefix '{0}' is not defined. - 未定义 XML 命名空间前缀“{0}”。 - - - - Duplicate XML attribute '{0}'. - 重复的 XML 属性“{0}”。 - - - - End tag </{0}{1}{2}> expected. - 应为结束标记 </{0}{1}{2}>。 - - - - Element is missing an end tag. - 元素缺少结束标记。 - - - - XML namespace prefix '{0}' is reserved for use by XML and the namespace URI cannot be changed. - XML 命名空间前缀“{0}”已保留供 XML 使用,并且命名空间 URI 不能更改。 - - - - Required attribute 'version' missing from XML declaration. - XML 声明中缺少必需的特性 "version"。 - - - - XML declaration does not allow attribute '{0}{1}{2}'. - XML 声明不允许属性“{0}{1}{2}”。 - - - - Embedded expression cannot appear inside a quoted attribute value. Try removing quotes. - 带引号的特性值内不能出现嵌入式表达式。请尝试移除引号。 - - - - XML attribute 'version' must be the first attribute in XML declaration. - XML 特性 "version" 必须是 XML 声明中的第一个特性。 - - - - XML attribute '{0}' must appear before XML attribute '{1}'. - XML 特性“{0}”必须出现在 XML 特性“{1}”之前。 - - - - Expected closing '%>' for embedded expression. - 应为嵌入表达式的结束标记“%>”。 - - - - Expected closing '?>' for XML processor instruction. - 应为 XML 处理器指令的结束标记“?>”。 - - - - Expected closing '-->' for XML comment. - 应为 XML 注释的结束标记“-->”。 - - - - Expected closing ']]>' for XML CDATA section. - 应为 XML CDATA 部分的结束标记“]]>”。 - - - - Expected matching closing single quote for XML attribute value. - XML 特性值应有匹配的右单引号。 - - - - Expected matching closing double quote for XML attribute value. - XML 特性值应有匹配的右双引号。 - - - - Expected beginning '<' for an XML tag. - XML 标记前应有 "<"。 - - - - Expected quoted XML attribute value or embedded expression. - 应为带引号的 XML 特性值或嵌入式表达式。 - - - - Expected '/' for XML end tag. - 应使用“/”作为 XML 结束标记。 - - - - XML axis properties do not support late binding. - XML 轴属性不支持后期绑定。 - - - - Character '{0}' ({1}) is not allowed at the beginning of an XML name. - XML 名称的开头不允许出现字符“{0}”({1})。 - - - - Character '{0}' ({1}) is not allowed in an XML name. - XML 名称中允许字符“{0}”({1})。 - - - - Character sequence '--' is not allowed in an XML comment. - XML 注释中不允许出现字符序列“--”。 - - - - An embedded expression cannot be used here. - 不能在此处使用嵌入式表达式。 - - - - Missing required white space. - 缺少必需的空白。 - - - - XML processing instruction name '{0}' is not valid. - XML 处理指令名称“{0}”无效。 - - - - XML DTDs are not supported. - 不支持 XML DTD。 - - - - White space cannot appear here. - 此处不能使用空白。 - - - - Expected closing ';' for XML entity. - 应为 XML 实体的结束标记“;”。 - - - - Expected '%=' at start of an embedded expression. - 嵌入表达式的开头应为“%=”。 - - - - XML entity references are not supported. - 不支持 XML 实体引用。 - - - - Attribute value is not valid; expecting '{0}'. - 属性值无效;应为“{0}”。 - - - - Attribute value is not valid; expecting '{0}' or '{1}'. - 属性值无效;应为“{0}”或“{1}”。 - - - - Prefix '{0}' cannot be bound to namespace name reserved for '{1}'. - 不能将前缀“{0}”绑定到为“{1}”保留的命名空间名称。 - - - - Namespace declaration with prefix cannot have an empty value inside an XML literal. - 带前缀的命名空间声明在 XML 文本中不能有空值。 - - - - ':' is not allowed. XML qualified names cannot be used in this context. - '不允许使用 ":"。不能在此上下文中使用 XML 限定名称。 - - - - Namespace declaration must start with 'xmlns'. - 命名空间声明必须以“xmlns”开头。 - - - - Element names cannot use the 'xmlns' prefix. - 元素名不能使用“xmlns”前缀。 - - - - XML literals and XML axis properties are not available. Add references to System.Xml, System.Xml.Linq, and System.Core or other assemblies declaring System.Linq.Enumerable, System.Xml.Linq.XElement, System.Xml.Linq.XName, System.Xml.Linq.XAttribute and System.Xml.Linq.XNamespace types. - XML 文本和 XML 轴属性不可用。添加对 System.Xml、System.Xml.Linq 和 System.Core 的引用,或其他声明 System.Linq.Enumerable、System.Xml.Linq.XElement、System.Xml.Linq.XName、System.Xml.Linq.XAttribute 和 System.Xml.Linq.XNamespace 类型的程序集。 - - - - Unable to open Win32 manifest file '{0}' : {1} - 无法打开 Win32 清单文件“{0}”: {1} - - - - Cannot convert '{0}' to '{1}'. You can use the 'Value' property to get the string value of the first element of '{2}'. - 无法将“{0}”转换为“{1}”。可使用“Value”属性来获取“{2}”的第一个元素的字符串值。 - - - - Cannot convert IEnumerable(Of XElement) to String - 无法将 IEnumerable(Of XElement) 转换为字符串 - - - - Value of type '{0}' cannot be converted to '{1}'. You can use the 'Value' property to get the string value of the first element of '{2}'. - 类型“{0}”的值无法转换为“{1}”。可使用“Value”属性来获取“{2}”的第一个元素的字符串值。 - - - - Operator '{0}' is not defined for types '{1}' and '{2}'. You can use the 'Value' property to get the string value of the first element of '{3}'. - 没有为类型“{1}”和“{2}”定义运算符“{0}”。可使用“Value”属性来获取“{3}”的第一个元素的字符串值。 - - - - Full width characters are not valid as XML delimiters. - 全角字符不能用作 XML 分隔符。 - - - - The value '{0}' is not a valid subsystem version. The version must be 6.02 or greater for ARM or AppContainerExe, and 4.00 or greater otherwise. - 值“{0}”不是有效的子系统版本。对于 ARM 或 AppContainerExe,版本必须为 6.02 或更高版本,对于其他内容,版本必须为 4.00 或更高版本。 - - - - Invalid file section alignment '{0}' - 无效的文件节对齐方式“{0}” - - - - Invalid output name: {0} - 无效输出名: {0} - - - - Invalid debug information format: {0} - 无效的调试信息格式: {0} - - - - /platform:anycpu32bitpreferred can only be used with /t:exe, /t:winexe and /t:appcontainerexe. - /platform:anycpu32bitpreferred 只能与 /t:exe、/t:winexe 和 /t:appcontainerexe 一起使用。 - - - - Expression has the type '{0}' which is a restricted type and cannot be used to access members inherited from 'Object' or 'ValueType'. - 表达式的类型为“{0}”,这是受限类型,不能用于访问从“Object”或“ValueType”继承的成员。 - - - - Expression of type '{0}' cannot be converted to 'Object' or 'ValueType'. - 类型“{0}”的表达式无法转换为“Object”或“ValueType”。 - - - - Type characters are not allowed in label identifiers. - 标签标识符中不允许使用类型字符。 - - - - '{0}' cannot be made nullable, and cannot be used as the data type of an array element, field, anonymous type member, type argument, 'ByRef' parameter, or return statement. - '“{0}”不能设置为可以为 null,而且不能用作数组元素、字段、匿名类型成员、类型参数、“ByRef”参数或返回语句的数据类型。 - - - - Type characters are not allowed on Imports aliases. - 在 Imports 别名上不允许使用类型字符。 - - - - Class '{0}' has no accessible 'Sub New' and cannot be inherited. - 类“{0}”没有可访问的“Sub New”,不能被继承。 - - - - Local variables within methods of structures cannot be declared 'Static'. - 结构方法内部的局部变量不能声明为“Static”。 - - - - Static local variable '{0}' is already declared. - 已声明静态局部变量“{0}”。 - - - - Imports alias '{0}' conflicts with '{1}' declared in the root namespace. - Imports 别名“{0}”与根命名空间中声明的“{1}”冲突。 - - - - '{0}' cannot shadow a method declared 'MustOverride'. - '“{0}”不能隐藏声明为“MustOverride”的方法。 - - - - Event '{0}' cannot implement event '{2}.{1}' because its delegate type does not match the delegate type of another event implemented by '{0}'. - 事件“{0}”不能实现事件“{2}.{1}”,因为其委托类型与“{0}”实现的另一个事件的委托类型不匹配。 - - - - '{0}' and '{1}' cannot be combined. - '“{0}”不能与“{1}”组合。 - - - - {0} '{1}' must be declared 'Overloads' because another '{1}' is declared 'Overloads' or 'Overrides'. - {0}“{1}”必须声明为“Overloads”,因为另一个“{1}”声明为“Overloads”或“Overrides”。 - - - - '{0}' must be declared 'MustInherit' because it contains methods declared 'MustOverride'. - '“{0}”包含声明为“MustOverride”的方法,因此它必须声明为“MustInherit”。 - - - - 'Handles' in classes must specify a 'WithEvents' variable, 'MyBase', 'MyClass' or 'Me' qualified with a single identifier. - '类中的“Handles”必须指定用单个标识符限定的“WithEvents”变量、“MyBase”、“MyClass”或“Me”。 - - - - '{0}', implicitly declared for {1} '{2}', cannot shadow a 'MustOverride' method in the base {3} '{4}'. - '为 {1}“{2}”隐式声明的“{0}”不能隐藏基 {3}“{4}”中的“MustOverride”方法。 - - - - '{0}' cannot override '{1}' because it is not accessible in this context. - '“{0}”无法重写“{1}”,因为它在此上下文中是无法访问的。 - - - - 'Handles' in modules must specify a 'WithEvents' variable qualified with a single identifier. - '模块中的“Handles”必须指定用单个标识符限定的“WithEvents”变量。 - - - - 'IsNot' requires operands that have reference types, but this operand has the value type '{0}'. - '“IsNot”要求具有引用类型的操作数,但此操作数的值类型为“{0}”。 - - - - '{0}' conflicts with the reserved member by this name that is implicitly declared in all enums. - '“{0}”与在所有枚举中隐式声明的同名保留成员冲突。 - - - - '{0}' is already declared in this {1}. - '此 {1} 中已声明了“{0}”。 - - - - 'System.Void' can only be used in a GetType expression. - '“System.Void”只能在 GetType 表达式中使用。 - - - - Event '{0}' cannot implement event '{1}' on interface '{2}' because their delegate types '{3}' and '{4}' do not match. - 事件“{0}”无法实现接口“{2}”上的事件“{1}”,因为其委托类型“{3}”和“{4}”不匹配。 - - - - Type '{0}' in assembly '{1}' has been forwarded to assembly '{2}'. Either a reference to '{2}' is missing from your project or the type '{0}' is missing from assembly '{2}'. - 程序集“{1}”中的类型“{0}”已转发到程序集“{2}”。您的项目中缺少对“{2}”的引用或者程序集中“{2}”缺少类型“{0}”。 - - - - '{0}' in assembly '{1}' has been forwarded to itself and so is an unsupported type. - '程序集“{1}”中的“{0}”已被转发给自身,因此它是一种不受支持的类型。 - - - - Non-intrinsic type names are not allowed in conditional compilation expressions. - 在条件编译表达式中不允许有非内部的类型名。 - - - - Syntax error in conditional compilation expression. - 条件编译表达式中有语法错误。 - - - - Arrays of type 'System.Void' are not allowed in this expression. - 此表达式中不允许使用 "System.Void" 类型的数组。 - - - - '{0}' is ambiguous because multiple kinds of members with this name exist in {1} '{2}'. - '“{0}”不明确,因为 {1}“{2}”中存在多种具有此名称的成员 - - - - Expression of type '{0}' can never be of type '{1}'. - 类型“{0}”的表达式永远不能为类型“{1}”。 - - - - Partial methods must be declared 'Private' instead of '{0}'. - 必须将分部方法声明为“Private”,而不是“{0}”。 - - - - Partial methods must be declared 'Private'. - 必须将分部方法声明为 "Private"。 - - - - Method '{0}' cannot be declared 'Partial' because only one method '{1}' can be marked 'Partial'. - 方法“{0}”不能声明为“Partial”,因为只有一个方法“{1}”可以标记为“Partial”。 - - - - Method '{0}' cannot implement partial method '{1}' because '{2}' already implements it. Only one method can implement a partial method. - 方法“{0}”无法实现分部方法“{1}”,因为它已经由“{2}”实现。分部方法只能由一个方法实现。 - - - - Partial methods must have empty method bodies. - 分部方法必须具有空方法体。 - - - - '{0}' cannot be declared 'Partial' because partial methods must be Subs. - '“{0}”不能声明为“Partial”,因为分部方法必须为 Subs。 - - - - Method '{0}' does not have the same generic constraints as the partial method '{1}'. - 方法“{0}”没有与分部方法“{1}”相同的泛型约束。 - - - - Partial method '{0}' cannot use the 'Implements' keyword. - 分部方法“{0}”不能使用“Implements”关键字。 - - - - 'AddressOf' cannot be applied to '{0}' because '{0}' is a partial method without an implementation. - '“AddressOf”不能应用于“{0}”,因为“{0}”是不包含实现的分部方法。 - - - - Method '{0}' must be declared 'Private' in order to implement partial method '{1}'. - 方法“{0}”必须声明为“Private”,以便实现分部方法“{1}”。 - - - - Parameter name '{0}' does not match the name of the corresponding parameter, '{1}', defined on the partial method declaration '{2}'. - 参数名“{0}”与在分部方法声明“{2}”上定义的相应参数的名称“{1}”不匹配。 - - - - Name of type parameter '{0}' does not match '{1}', the corresponding type parameter defined on the partial method declaration '{2}'. - 类型参数“{0}”的名称与在分部方法声明“{2}”上定义的相应类型参数“{1}”不匹配。 - - - - 'Shared' attribute property '{0}' cannot be the target of an assignment. - '“Shared”特性属性“{0}”不能作为赋值的目标。 - - - - 'ReadOnly' attribute property '{0}' cannot be the target of an assignment. - '“ReadOnly”特性属性“{0}”不能作为赋值的目标。 - - - - Resource name '{0}' cannot be used more than once. - 资源名称“{0}”不能多次使用。 - - - - Each linked resource and module must have a unique filename. Filename '{0}' is specified more than once in this assembly. - 每个链接的资源和模块都必须有唯一的文件名。此程序集中多次指定了文件名“{0}”。 - - - - '{0}' cannot be used as an attribute because it is not a class. - '“{0}”不是类,因此不能用作属性。 - - - - '{0}' cannot be used as an attribute because it does not inherit from 'System.Attribute'. - '“{0}”不从“System.Attribute”继承,因此不能用作属性。 - - - - '{0}' cannot be used as an attribute because it is declared 'MustInherit'. - '“{0}”已声明为“MustInherit”,因此不能用作属性。 - - - - Unable to open resource file '{0}': {1} - 无法打开资源文件“{0}”: {1} - - - - Attribute member '{0}' cannot be the target of an assignment because it is not declared 'Public'. - 特性成员“{0}”未声明为“Public”,因此不能作为赋值的目标。 - - - - 'System.STAThreadAttribute' and 'System.MTAThreadAttribute' cannot both be applied to the same method. - '"System.STAThreadAttribute" 和 "System.MTAThreadAttribute" 不能同时应用于同一方法。 - - - - Project '{0}' makes an indirect reference to assembly '{1}', which contains '{2}'. Add a file reference to '{3}' to your project. - 项目“{0}”间接引用包含“{2}”的程序集“{1}”。请在您的项目中添加对“{3}”的文件引用。 - - - - Type '{0}' cannot be used in an attribute because it is not declared 'Public'. - 类型“{0}”未声明为“Public”,因此不能用在特性中。 - - - - Type '{0}' cannot be used in an attribute because its container '{1}' is not declared 'Public'. - 类型“{0}”的容器“{1}”未声明为“Public”,因此不能用在特性中。 - - - - 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a Sub, Function, or Operator with a non-empty body. - '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于带有非空体的 Sub、Function 或 Operator。 - - - - 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a Declare. - '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于 Declare。 - - - - 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a Get or Set. - '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于 Get 或 Set。 - - - - 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a method that is generic or contained in a generic type. - '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于属于泛型类型或者包含在泛型类型中的方法。 - - - - 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to a class that is generic or contained inside a generic type. - '“Microsoft.VisualBasic.ComClassAttribute”不能应用于属于泛型类型或者包含在泛型类型中的类。 - - - - 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to instance method. - '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于实例方法。 - - - - 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to interface methods. - '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于接口方法。 - - - - 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to 'AddHandler', 'RemoveHandler' or 'RaiseEvent' method. - '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于 "AddHandler"、"RemoveHandler" 或 "RaiseEvent" 方法。 - - - - Friend assembly reference '{0}' is invalid. InternalsVisibleTo declarations cannot have a version, culture, public key token, or processor architecture specified. - 友元程序集引用“{0}”无效。不能在 InternalsVisibleTo 声明中指定版本、区域性、公钥标记或处理器架构。 - - - - Friend assembly reference '{0}' is invalid. Strong-name signed assemblies must specify a public key in their InternalsVisibleTo declarations. - 友元程序集引用“{0}”无效。强名称签名的程序集必须在其 InternalsVisibleTo 声明中指定一个公钥。 - - - - Friend declaration '{0}' is invalid and cannot be resolved. - 友元声明“{0}”无效,且无法解析。 - - - - Member '{0}' cannot override member '{1}' defined in another assembly/project because the access modifier 'Protected Friend' expands accessibility. Use 'Protected' instead. - 成员“{0}”无法重写另一个程序集/项目中定义的成员“{1}”,因为访问修饰符“Protected Friend”扩展了可访问性。请改用“Protected”。 - - - - Local variable '{0}' cannot be referred to before it is declared. - 局部变量“{0}”在声明之前不能被引用。 - - - - '{0}' is not valid within a Module. - '“{0}”在模块中无效。 - - - - Statement cannot end a block outside of a line 'If' statement. - 语句不能在“If”语句行之外结束块。 - - - - 'Char' values cannot be converted to '{0}'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit. - '“Char”值不能转换为“{0}”。请使用“Microsoft.VisualBasic.AscW”将字符解释为 Unicode 值,或者使用“Microsoft.VisualBasic.Val”将字符解释为数字。 - - - - '{0}' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit. - '“{0}”值不能转换为“Char”。使用“Microsoft.VisualBasic.ChrW”将数值解释为 Unicode 字符或先将其转换为“String”以产生数字。 - - - - Delegate '{0}' requires an 'AddressOf' expression or lambda expression as the only argument to its constructor. - 委托“{0}”需要使用一个“AddressOf”表达式或 lambda 表达式作为其构造函数的唯一参数。 - - - - Method declaration statements must be the first statement on a logical line. - 方法声明语句必须是逻辑行上的第一条语句。 - - - - '{0}' cannot be named as a parameter in an attribute specifier because it is not a field or property. - '“{0}”不是字段或属性(Property),因此不能命名为属性(Attribute)说明符中的参数。 - - - - Option Strict On disallows operands of type Object for operator '{0}'. Use the 'Is' operator to test for object identity. - Option Strict On 不允许将类型 Object 的操作数用于运算符“{0}”。请使用“Is”运算符测试对象标识。 - - - - Bounds can be specified only for the top-level array when initializing an array of arrays. - 初始化数组的数组时,只能指定顶级数组的界限。 - - - - 'Assembly' or 'Module' expected. - '应为“Assembly”或“Module”。 - - - - '{0}' has no parameters and its return type cannot be indexed. - '“{0}”没有任何参数,并且无法对它的返回类型进行索引。 - - - - Comma, ')', or a valid expression continuation expected. - 应为逗号、")" 或有效的表达式继续符。 - - - - 'Resume' or 'GoTo' expected. - '应为 "Resume" 或 "GoTo"。 - - - - '=' expected. - '应为 "="。 - - - - Parameter '{0}' in '{1}' already has a matching omitted argument. - “{1}”中的形参“{0}”已具有匹配的省略实参。 - - - - '{0}' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event. - '“{0}”是事件,不能直接调用。请使用“RaiseEvent”语句引发事件。 - - - - Expression is of type '{0}', which is not a collection type. - 表达式的类型为“{0}”,该类型不是集合类型。 - - - - Default values cannot be supplied for parameters that are not declared 'Optional'. - 无法向未声明为 "Optional" 的参数提供默认值。 - - - - 'MyBase' must be followed by '.' and an identifier. - '“MyBase”的后面必须跟有“.”和标识符。 - - - - 'MyClass' must be followed by '.' and an identifier. - '“MyClass”的后面必须跟有“.”和标识符。 - - - - Option Strict On disallows narrowing from type '{1}' to type '{2}' in copying the value of 'ByRef' parameter '{0}' back to the matching argument. - 将“ByRef”形参“{0}”的值复制回匹配实参时,Option Strict On 不允许从类型“{1}”收缩为类型“{2}”。 - - - - '#ElseIf' cannot follow '#Else' as part of a '#If' block. - '"#ElseIf" 不能作为 "#If" 块的一部分跟在 "#Else" 之后。 - - - - Attribute specifier is not a complete statement. Use a line continuation to apply the attribute to the following statement. - 特性说明符不是一个完整的语句。请使用行继续符将该特性应用于下列语句。 - - - - Class '{0}' must declare a 'Sub New' because its base class '{1}' has more than one accessible 'Sub New' that can be called with no arguments. - 类“{0}”必须声明一个“Sub New”,因它的基类“{1}”有多个不使用参数就可以调用的可访问“Sub New”。 - - - - 'Next' statement names more variables than there are matching 'For' statements. - '“Next”语句命名的变量比已有的匹配“For”语句多。 - - - - First statement of this 'Sub New' must be a call to 'MyBase.New' or 'MyClass.New' because base class '{0}' of '{1}' has more than one accessible 'Sub New' that can be called with no arguments. - “{1}”的基类“{0}”没有不使用参数就可以调用的可访问“Sub New”,因此该“Sub New”的第一个语句必须是对“MyBase.New”或“MyClass.New”的调用。 - - - - Array declared as for loop control variable cannot be declared with an initial size. - 声明用于循环控制变量的数组时不能使用初始大小的值。 - - - - The '{0}' keyword is used to overload inherited members; do not use the '{0}' keyword when overloading 'Sub New'. - “{0}”关键字用于重载继承的成员;重载“Sub New”时不要使用“{0}”关键字。 - - - - Type character cannot be used in a type parameter declaration. - 在类型参数声明中不能使用类型字符。 - - - - Too few type arguments to '{0}'. - “{0}”的类型参数太少。 - - - - Too many type arguments to '{0}'. - “{0}”的类型参数太多。 - - - - Type argument '{0}' does not inherit from or implement the constraint type '{1}'. - 类型参数“{0}”不能继承自或实现约束类型“{1}”。 - - - - '{0}' has no type parameters and so cannot have type arguments. - '“{0}”没有类型形参,因此不能有类型实参。 - - - - 'New' cannot be used on a type parameter that does not have a 'New' constraint. - '不能在没有 "New" 约束的类型参数上使用 "New"。 - - - - Type parameter '{0}' can only have one constraint that is a class. - 类型参数“{0}”只能有一个属于类的约束。 - - - - Type constraint '{0}' must be either a class, interface or type parameter. - 类型约束“{0}”必须是类、接口或类型参数。 - - - - Type parameter already declared with name '{0}'. - 类型参数已使用名称“{0}”声明。 - - - - Type parameter '{0}' for '{1}' cannot be inferred. - 无法推断“{1}”的类型参数“{0}”。 - - - - 'Is' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a type parameter with no class constraint. - '类型“{0}”是没有类约束的类型参数,因此类型“{0}”的“Is”操作数只能与“Nothing”比较。 - - - - Copying the value of 'ByRef' parameter '{0}' back to the matching argument narrows from type '{1}' to type '{2}'. - 将“ByRef”参数“{0}”的值复制回匹配的参数将导致从类型“{1}”到类型“{2}”的收缩。 - - - - '{0}' has the same name as a type parameter. - '“{0}”与一个类型参数同名。 - - - - {0} '{1}' cannot inherit from a type parameter. - {0}“{1}”不能从类型参数中继承。 - - - - Type parameter not allowed in 'Implements' clause. - “Implements”子句中不允许类型参数。 - - - - Array lower bounds can be only '0'. - 数组的下限只能是“0”。 - - - - Type constraint cannot be a 'NotInheritable' class. - 类型约束不能是“NotInheritable”类。 - - - - '{0}' cannot be used as a type constraint. - '“{0}”不能用作类型约束。 - - - - Type parameters cannot be specified on this declaration. - 在此声明上不能指定类型参数。 - - - - Type arguments are not valid because attributes cannot be generic. - 由于特性不能是泛型,因此类型参数无效。 - - - - Type parameters, generic types or types contained in generic types cannot be used as attributes. - 类型参数、泛型类型或泛型类型中包含的类型不能用作特性。 - - - - Local variables within generic methods cannot be declared 'Static'. - 泛型方法中的局部变量不能声明为“Static”。 - - - - {0} '{1}' implicitly defines a member '{2}' which has the same name as a type parameter. - {0}“{1}”隐式定义了与某个类型参数同名的成员“{2}”。 - - - - Constraint type '{0}' already specified for this type parameter. - 已为此类型参数指定了约束类型“{0}”。 - - - - Cannot implement interface '{0}' because its implementation could conflict with the implementation of another implemented interface '{1}' for some type arguments. - 无法实现接口“{0}”,因为对于某些类型参数,该接口的实现可能与另一个已实现的接口“{1}”的实现冲突。 - - - - Modules cannot be generic. - 模块不能是泛型的。 - - - - Classes that are generic or contained in a generic type cannot inherit from an attribute class. - 属于泛型或包含在泛型类型中的类不能从特性类继承。 - - - - 'Declare' statements are not allowed in generic types or types contained in generic types. - '泛型类型或包含在泛型类型中的类型中不允许“Declare”语句。 - - - - '{0}' cannot override '{1}' because they differ by type parameter constraints. - '“{0}”无法重写“{1}”,因为它们在类型参数约束上存在差异。 - - - - '{0}' cannot implement '{1}.{2}' because they differ by type parameter constraints. - '“{0}”无法实现“{1}.{2}”,因为它们在类型参数约束上存在差异。 - - - - Type parameters or types constructed with type parameters are not allowed in attribute arguments. - 特性实参中不允许类型形参或用类型形参构造的类型。 - - - - Generic methods cannot use 'Handles' clause. - 泛型方法不能使用“Handles”子句。 - - - - 'New' constraint cannot be specified multiple times for the same type parameter. - '"New" 约束不能为同一类型参数指定多次。 - - - - Type argument '{0}' is declared 'MustInherit' and does not satisfy the 'New' constraint for type parameter '{1}'. - 类型实参“{0}”声明为“MustInherit”,并且不满足类型形参“{1}”的“New”约束。 - - - - Type argument '{0}' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter '{1}'. - 类型实参“{0}”必须具有一个公共的无参数实例构造函数,才能满足类型形参“{1}”的“New”约束。 - - - - Type parameter '{0}' must have either a 'New' constraint or a 'Structure' constraint to satisfy the 'New' constraint for type parameter '{1}'. - 类型参数“{0}”必须具有“New”约束或“Structure”约束,才能满足类型参数“{1}”的“New”约束。 - - - - Arguments cannot be passed to a 'New' used on a type parameter. - 无法给类型形参上使用的 "New" 传递实参。 - - - - Generic type '{0}' cannot be imported more than once. - 不能多次导入泛型类型“{0}”。 - - - - Overload resolution failed because no accessible '{0}' accepts this number of type arguments. - 重载决策失败,因为没有可访问的“{0}”接受此数量的类型参数。 - - - - Type arguments unexpected. - 不应为类型参数。 - - - - '{0}' is already declared as a type parameter of this method. - '“{0}”已声明为此方法的类型参数。 - - - - Type parameter cannot have the same name as its defining function. - 类型参数不能与其定义函数同名。 - - - - Type or 'New' expected. - 应为类型或“New”。 - - - - 'Of' required when specifying type arguments for a generic type or method. - '在指定泛型类型或方法的类型参数时需要 "Of"。 - - - - '(' unexpected. Arrays of uninstantiated generic types are not allowed. - '不应为 "("。不允许非实例化泛型类型的数组。 - - - - 'For Each' on type '{0}' is ambiguous because the type implements multiple instantiations of 'System.Collections.Generic.IEnumerable(Of T)'. - '类型“{0}”的“For Each”不明确,因为此类型实现了“System.Collections.Generic.IEnumerable(Of T)”的多个实例化。 - - - - 'IsNot' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a type parameter with no class constraint. - '类型“{0}”是没有类约束的类型参数,因此类型“{0}”的“Isnot”操作数只能与“Nothing”比较。 - - - - Type parameters cannot be used as qualifiers. - 类型参数不能用作限定符。 - - - - Comma or ')' expected. - 应为逗号或 ")"。 - - - - 'As', comma or ')' expected. - '应为 "As"、逗号或 ")"。 - - - - 'Class' constraint cannot be specified multiple times for the same type parameter. - '"Class" 约束不能为同一类型参数指定多次。 - - - - 'Structure' constraint cannot be specified multiple times for the same type parameter. - '"Structure" 约束不能为同一类型参数指定多次。 - - - - 'New' constraint and 'Structure' constraint cannot be combined. - '"New" 约束不能与 "Structure" 约束组合。 - - - - 'Class' constraint and 'Structure' constraint cannot be combined. - '"Class" 约束不能与 "Structure" 约束组合。 - - - - Type argument '{0}' does not satisfy the 'Structure' constraint for type parameter '{1}'. - 类型实参“{0}”不满足类型形参“{1}”的“Structure”约束。 - - - - Type argument '{0}' does not satisfy the 'Class' constraint for type parameter '{1}'. - 类型实参“{0}”不满足类型形参“{1}”的“Class”约束。 - - - - 'Class' constraint and a specific class type constraint cannot be combined. - '"Class" 约束不能与特定的类类型约束组合。 - - - - 'Structure' constraint and a specific class type constraint cannot be combined. - '"Structure" 约束不能与特定的类类型约束组合。 - - - - Indirect constraint '{0}' obtained from the type parameter constraint '{1}' conflicts with the indirect constraint '{2}' obtained from the type parameter constraint '{3}'. - 从类型参数约束“{1}”获得的间接约束“{0}”与从类型参数约束“{3}”获得的间接约束“{2}”冲突。 - - - - Constraint '{0}' conflicts with the indirect constraint '{1}' obtained from the type parameter constraint '{2}'. - 约束“{0}”与从类型参数约束“{2}”获得的间接约束“{1}”冲突。 - - - - Indirect constraint '{0}' obtained from the type parameter constraint '{1}' conflicts with the constraint '{2}'. - 从类型参数约束“{1}”获得的间接约束“{0}”与约束“{2}”冲突。 - - - - - '{0}' is constrained to '{1}'. - - “{0}”被约束为“{1}”。 - - - - Type parameter '{0}' cannot be constrained to itself: {1} - 类型参数“{0}”不能约束为自身: {1} - - - - Type parameter with a 'Structure' constraint cannot be used as a constraint. - 具有 "Structure" 约束的类型参数不能用作约束。 - - - - 'System.Nullable' does not satisfy the 'Structure' constraint for type parameter '{0}'. Only non-nullable 'Structure' types are allowed. - '“System.Nullable”不满足类型参数“{0}”的“Structure”约束。仅允许不可为 null 的“Structure”类型。 - - - - Constraint '{0}' conflicts with the constraint '{1}' already specified for type parameter '{2}'. - 约束“{0}”与已为类型参数“{2}”指定的约束“{1}”冲突。 - - - - Cannot inherit interface '{0}' because it could be identical to interface '{1}' for some type arguments. - 无法继承接口“{0}”,因为对于某些类型参数,该接口与接口“{1}”相同。 - - - - Cannot inherit interface '{0}' because the interface '{1}' from which it inherits could be identical to interface '{2}' for some type arguments. - 无法继承接口“{0}”,因为对于某些类型参数,它所继承的接口“{1}”可能与接口“{2}”相同。 - - - - Cannot inherit interface '{0}' because the interface '{1}' from which it inherits could be identical to interface '{2}' from which the interface '{3}' inherits for some type arguments. - 无法继承接口“{0}”,因为对于某些类型参数,继承的接口“{1}”可能与接口“{3}”继承的接口“{2}”相同。 - - - - Cannot inherit interface '{0}' because it could be identical to interface '{1}' from which the interface '{2}' inherits for some type arguments. - 无法继承接口“{0}”,因为对于某些类型参数,该接口与接口“{2}”继承的接口“{1}”相同。 - - - - Cannot implement interface '{0}' because the interface '{1}' from which it inherits could be identical to implemented interface '{2}' for some type arguments. - 无法实现接口“{0}”,因为对于某些类型参数,它所继承的接口“{1}”可能与实现的接口“{2}”相同。 - - - - Cannot implement interface '{0}' because the interface '{1}' from which it inherits could be identical to interface '{2}' from which the implemented interface '{3}' inherits for some type arguments. - 无法实现接口“{0}”,因为对于某些类型参数,它所继承的接口“{1}”可能与实现的接口“{3}”所继承的接口“{2}”相同。 - - - - Cannot implement interface '{0}' because it could be identical to interface '{1}' from which the implemented interface '{2}' inherits for some type arguments. - 无法实现接口“{0}”,因为对于某些类型参数,它可能与实现的接口“{2}”所继承的接口“{1}”相同。 - - - - Generic parameters used as optional parameter types must be class constrained. - 用作可选参数类型的泛型参数必须受类约束。 - - - - Methods of 'System.Nullable(Of T)' cannot be used as operands of the 'AddressOf' operator. - “System.Nullable(Of T)”的方法不能用作“AddressOf”运算符的操作数。 - - - - 'Is' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a nullable type. - '类型“{0}”是可以为 null 的类型,因此“{0}”的“Is”操作数只能与“Nothing”进行比较。 - - - - 'IsNot' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a nullable type. - '类型“{0}”是可以为 null 的类型,因此“{0}”的“IsNot”操作数只能与“Nothing”进行比较。 - - - - '{0}' cannot be declared 'Shadows' outside of a class, structure, or interface. - '“{0}”不能在类、结构或接口外声明为“Shadows”。 - - - - Property parameters cannot have the name 'Value'. - 属性参数的名称不能为 "Value"。 - - - - The project currently contains references to more than one version of '{0}', a direct reference to version {2} and an indirect reference to version {1}. Change the direct reference to use version {1} (or higher) of {0}. - 项目当前包含对多个版本的“{0}”的引用、对版本 {2} 的直接引用和对版本 {1} 的间接引用。请将直接引用更改为使用 {0} 的版本 {1} (或更高版本)。 - - - - Multiple assemblies with equivalent identity have been imported: '{0}' and '{1}'. Remove one of the duplicate references. - 导入了具有等效标识的多个程序集:“{0}”和“{1}”。请删除重复引用之一。 - - - - Project already has a reference to assembly '{0}'. A second reference to '{1}' cannot be added. - 项目已经具有对程序集“{0}”的引用。无法添加另一个对“{1}”的引用。 - - - - Illegal call expression or index expression. - 非法的调用表达式或索引表达式。 - - - - Conflict between the default property and the 'DefaultMemberAttribute' defined on '{0}'. - 默认属性与“{0}”上定义的“DefaultMemberAttribute”之间有冲突。 - - - - '{0}' cannot be applied because the format of the GUID '{1}' is not correct. - 'GUID“{1}”的格式不正确,因此无法应用“{0}”。 - - - - 'Microsoft.VisualBasic.ComClassAttribute' and '{0}' cannot both be applied to the same class. - '“Microsoft.VisualBasic.ComClassAttribute”和“{0}”不能同时应用于同一个类。 - - - - 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to '{0}' because its container '{1}' is not declared 'Public'. - '“Microsoft.VisualBasic.ComClassAttribute”的容器“{1}”未声明为“Public”,因此不能应用于“{0}”。 - - - - 'System.Runtime.InteropServices.DispIdAttribute' cannot be applied to '{0}' because 'Microsoft.VisualBasic.ComClassAttribute' reserves zero for the default property. - '“Microsoft.VisualBasic.ComClassAttribute”为默认属性保留的值为零,因此“System.Runtime.InteropServices.DispIdAttribute”不能应用于“{0}”。 - - - - 'System.Runtime.InteropServices.DispIdAttribute' cannot be applied to '{0}' because 'Microsoft.VisualBasic.ComClassAttribute' reserves values less than zero. - '“Microsoft.VisualBasic.ComClassAttribute”保留的值小于零,因此“System.Runtime.InteropServices.DispIdAttribute”不能应用于“{0}”。 - - - - 'InterfaceId' and 'EventsId' parameters for 'Microsoft.VisualBasic.ComClassAttribute' on '{0}' cannot have the same value. - '“{0}”上“Microsoft.VisualBasic.ComClassAttribute”的“InterfaceId”和“EventsId”参数的值不能相同。 - - - - 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to a class that is declared 'MustInherit'. - '“Microsoft.VisualBasic.ComClassAttribute”不能应用于被声明为“MustInherit”的类。 - - - - 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to '{0}' because it is not declared 'Public'. - '“Microsoft.VisualBasic.ComClassAttribute”未声明为“Public”,因此不能应用于“{0}”。 - - - - Operator declaration must be one of: +, -, *, \, /, ^, &, Like, Mod, And, Or, Xor, Not, <<, >>, =, <>, <, <=, >, >=, CType, IsTrue, IsFalse. - 运算符声明必须是以下符号之一: +、-、*、\、/、^、&,、Like、Mod、And、Or、Xor、Not、<<、>>、=、<>、<、<=、>、>=、CType、IsTrue 和 IsFalse。 - - - - 'Widening' and 'Narrowing' cannot be combined. - '"Widening" 不能与 "Narrowing" 组合。 - - - - Operator is not overloadable. Operator declaration must be one of: +, -, *, \, /, ^, &, Like, Mod, And, Or, Xor, Not, <<, >>, =, <>, <, <=, >, >=, CType, IsTrue, IsFalse. - 运算符不可重载。运算符声明必须是以下符号之一: +、-、*、\、/、^、&,、Like、Mod、And、Or、Xor、Not、<<、>>、=、<>、<、<=、>、>=、CType、IsTrue 和 IsFalse。 - - - - 'Handles' is not valid on operator declarations. - '“Handles”在运算符声明上无效。 - - - - 'Implements' is not valid on operator declarations. - '“Implements”在运算符声明上无效。 - - - - 'End Operator' expected. - '应为 "End Operator"。 - - - - 'End Operator' must be the first statement on a line. - '“End Operator”必须是一行中的第一条语句。 - - - - 'End Operator' must be preceded by a matching 'Operator'. - '“End Operator”前面必须是匹配的“Operator”。 - - - - 'Exit Operator' is not valid. Use 'Return' to exit an operator. - '"Exit Operator" 无效。请使用 "Return" 从运算符中退出。 - - - - '{0}' parameters cannot be declared 'ParamArray'. - '“{0}”参数不能声明为“ParamArray”。 - - - - '{0}' parameters cannot be declared 'Optional'. - '“{0}”参数不能声明为“Optional”。 - - - - Operators must be declared 'Public'. - 运算符必须声明为 "Public"。 - - - - Operators must be declared 'Shared'. - 运算符必须声明为 "Shared"。 - - - - Operators cannot be declared '{0}'. - 运算符不能声明为“{0}”。 - - - - Operator '{0}' must have one parameter. - 运算符“{0}”必须有一个参数。 - - - - Operator '{0}' must have two parameters. - 运算符“{0}”必须有两个参数。 - - - - Operator '{0}' must have either one or two parameters. - 运算符“{0}”必须有一个两个参数。 - - - - Conversion operators must be declared either 'Widening' or 'Narrowing'. - 转换运算符必须声明为“Widening”或者“Narrowing”。 - - - - Operators cannot be declared in modules. - 运算符不能在模块中声明。 - - - - Only conversion operators can be declared '{0}'. - 只有转换运算符可以声明为“{0}”。 - - - - Parameter of this unary operator must be of the containing type '{0}'. - 此一元运算符的参数必须属于包含类型“{0}”。 - - - - At least one parameter of this binary operator must be of the containing type '{0}'. - 此二元运算符的至少一个参数必须属于包含类型“{0}”。 - - - - Either the parameter type or the return type of this conversion operator must be of the containing type '{0}'. - 此转换运算符的参数类型或返回类型必须属于包含类型“{0}”。 - - - - Operator '{0}' must have a return type of Boolean. - 运算符“{0}”必须具有 Boolean 返回类型。 - - - - Conversion operators cannot convert from a type to the same type. - 转换运算符不能从某一类型转换为相同的类型。 - - - - Conversion operators cannot convert to an interface type. - 转换运算符不能转换为接口类型。 - - - - Conversion operators cannot convert from a type to its base type. - 转换运算符不能从某一类型转换为它的基类型。 - - - - Conversion operators cannot convert from a type to its derived type. - 转换运算符不能从某一类型转换为它的派生类型。 - - - - Conversion operators cannot convert to Object. - 转换运算符不能转换为 Object。 - - - - Conversion operators cannot convert from an interface type. - 转换运算符不能从接口类型转换。 - - - - Conversion operators cannot convert from a base type. - 转换运算符不能从基类型转换。 - - - - Conversion operators cannot convert from a derived type. - 转换运算符不能从派生类型转换。 - - - - Conversion operators cannot convert from Object. - 转换运算符不能从 Object 转换。 - - - - Matching '{0}' operator is required for '{1}'. - “{1}”需要匹配“{0}”运算符。 - - - - Return and parameter types of '{0}' must be '{1}' to be used in a '{2}' expression. - “{0}”的返回类型和参数类型必须是“{1}”,才能在“{2}”表达式中使用。 - - - - Type '{0}' must define operator '{1}' to be used in a '{2}' expression. - 类型“{0}”必须定义运算符“{1}”,才能在“{2}”表达式中使用。 - - - - Cannot copy the value of 'ByRef' parameter '{0}' back to the matching argument because type '{1}' cannot be converted to type '{2}'. - 由于类型“{1}”不能转换为类型“{2}”,因此无法将“ByRef”参数“{0}”的值复制回匹配的参数。 - - - - Type '{0}' must define operator '{1}' to be used in a 'For' statement. - 类型“{0}”必须定义运算符“{1}”,才能在“For”语句中使用。 - - - - Return and parameter types of '{0}' must be '{1}' to be used in a 'For' statement. - “{0}”的返回类型和参数类型必须是“{1}”,才能在“For”语句中使用。 - - - - Parameter types of '{0}' must be '{1}' to be used in a 'For' statement. - “{0}”的参数类型必须是“{1}”,才能在“For”语句中使用。 - - - - Operator '{0}' must have a second parameter of type 'Integer' or 'Integer?'. - 运算符“{0}”必须有另一个“Integer”或“Integer?”类型的参数。 - - - - Nullable modifier cannot be specified on both a variable and its type. - 不能在变量及其类型上同时指定可以为 null 的修饰符。 - - - - Type '{0}' must be a value type or a type argument constrained to 'Structure' in order to be used with 'Nullable' or nullable modifier '?'. - 类型“{0}”必须是一个被约束为“Structure”的值类型或类型参数,才能与“Nullable”或可以为 null 的修饰符“?”一起使用。 - - - - Nullable modifier '?' and array modifiers '(' and ')' cannot be specified on both a variable and its type. - 不能在变量及其类型上同时指定可为 null 的修饰符“?”和数组修饰符“(”/“)”。 - - - - Expressions used with an 'If' expression cannot contain type characters. - 与“If”表达式一起使用的表达式不能包含类型字符。 - - - - 'If' operands cannot be named arguments. - '“If”操作数不能是命名参数。 - - - - Cannot infer a common type for the second and third operands of the 'If' operator. One must have a widening conversion to the other. - 无法推断“If”运算符的第二个和第三个操作数的通用类型。其中一个必须是另一个的扩大转换。 - - - - First operand in a binary 'If' expression must be a nullable value type, a reference type, or an unconstrained generic type. - 二进制“If”表达式中的第一个操作数必须是可以为 null 的类型或引用类型。 - - - - 'If' operator cannot be used in a 'Call' statement. - '“If”运算符不能在“Call”语句中使用。 - - - - Nullable modifier cannot be specified in variable declarations with 'As New'. - 在变量声明中不能用“As New”指定可以为 null 的修饰符。 - - - - Cannot infer a common type for the first and second operands of the binary 'If' operator. One must have a widening conversion to the other. - 无法推断二元“If”运算符的第一个和第二个操作数的通用类型。其中一个必须是另一个的扩大转换。 - - - - Nullable types are not allowed in conditional compilation expressions. - 在条件编译表达式中不允许有可以为 null 的类型。 - - - - Nullable modifier cannot be used with a variable whose implicit type is 'Object'. - 可以为 null 的修饰符不能与隐式类型为 "Object" 的变量一起使用。 - - - - Requested operation is not available because the runtime library function '{0}' is not defined. - 所请求的操作不可用,因为没有定义运行库函数“{0}”。 - - - - 'Global' must be followed by '.' and an identifier. - '“Global”的后面必须跟有“.”和标识符。 - - - - 'Global' not allowed in this context; identifier expected. - '此上下文中不允许 "Global";应为标识符。 - - - - 'Global' not allowed in handles; local name expected. - '句柄中不允许 "Global";应为本地名称。 - - - - 'ElseIf' must be preceded by a matching 'If' or 'ElseIf'. - '"ElseIf" 前面必须是匹配的 "If" 或 "ElseIf"。 - - - - Attribute constructor has a 'ByRef' parameter of type '{0}'; cannot use constructors with byref parameters to apply the attribute. - 特性构造函数有一个“{0}”类型的“ByRef”参数;不能用带有 byref 参数的构造函数来应用特性。 - - - - 'End Using' must be preceded by a matching 'Using'. - '“End Using”前面必须是匹配的“Using”。 - - - - 'Using' must end with a matching 'End Using'. - '“Using”必须以匹配的“End Using”结束。 - - - - 'GoTo {0}' is not valid because '{0}' is inside a 'Using' statement that does not contain this statement. - '“GoTo {0}”无效,因为“{0}”位于不包含此语句的“Using”语句中。 - - - - 'Using' operand of type '{0}' must implement 'System.IDisposable'. - '“{0}”类型的“Using”操作数必须实现“System.IDisposable”。 - - - - 'Using' resource variable must have an explicit initialization. - '"Using" 资源变量必须有一个显式初始化。 - - - - 'Using' resource variable type can not be array type. - '"Using" 资源变量类型不能是数组类型。 - - - - 'On Error' statements are not valid within 'Using' statements. - '"On Error" 语句在 "Using" 语句内无效。 - - - - '{0}' has the same name as a member used for type '{1}' exposed in a 'My' group. Rename the type or its enclosing namespace. - '“{0}”与“My”组中公开的类型“{1}”所使用的成员同名。请重命名该类型或其封闭命名空间。 - - - - Implicit variable '{0}' is invalid because of '{1}'. - 由于“{1}”,隐式变量“{0}”无效。 - - - - Object initializers require a field name to initialize. - 对象初始值设定项需要一个字段名称以便进行初始化。 - - - - 'From' expected. - '应为“From”。 - - - - Nested function does not have the same signature as delegate '{0}'. - 嵌套函数与委托“{0}”的签名不相同。 - - - - Nested sub does not have a signature that is compatible with delegate '{0}'. - 嵌套 Sub 的签名与委托“{0}”不兼容。 - - - - 'ByRef' parameter '{0}' cannot be used in a query expression. - '不能在查询表达式中使用“ByRef”参数“{0}”。 - - - - Expression cannot be converted into an expression tree. - 无法将表达式转换为表达式树。 - - - - Instance members and 'Me' cannot be used within query expressions in structures. - 无法在结构中的查询表达式中使用实例成员和“Me”。 - - - - Variable cannot be initialized with non-array type '{0}'. - 无法用非数组类型“{0}”初始化变量。 - - - - References to 'ByRef' parameters cannot be converted to an expression tree. - 对“ByRef”参数的引用无法转换为表达式树。 - - - - Anonymous type member or property '{0}' is already declared. - 已声明匿名类型成员或属性“{0}”。 - - - - Cannot convert anonymous type to an expression tree because a property of the type is used to initialize another property. - 无法将匿名类型转换为表达式树,因为此类型的属性用于初始化其他属性。 - - - - Anonymous type property '{0}' cannot be used in the definition of a lambda expression within the same initialization list. - 不能在同一个初始化列表中的 lambda 表达式定义中使用匿名类型属性“{0}”。 - - - - 'Extension' attribute can be applied only to 'Module', 'Sub', or 'Function' declarations. - '“Extension”特性只能应用于“Module”、“Sub”或“Function”声明。 - - - - Extension methods can be defined only in modules. - 只能在模块中定义扩展方法。 - - - - Extension methods must declare at least one parameter. The first parameter specifies which type to extend. - 扩展方法必须至少声明一个参数。第一个参数指定要扩展的类型。 - - - - 'Optional' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend. - '“Optional”无法应用于扩展方法的第一个参数。第一个参数指定要扩展哪个类型。 - - - - 'ParamArray' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend. - '“ParamArray”无法应用于扩展方法的第一个参数。第一个参数指定要扩展哪个类型。 - - - - Anonymous type member name can be inferred only from a simple or qualified name with no arguments. - 只能从不带参数的简单名或限定名中推断匿名类型成员名称。 - - - - '{0}' is not a member of '{1}'; it does not exist in the current context. - '“{0}”不是“{1}”的成员;它不存在于当前上下文。 - - - - The custom-designed version of 'System.Runtime.CompilerServices.ExtensionAttribute' found by the compiler is not valid. Its attribute usage flags must be set to allow assemblies, classes, and methods. - 编译器找到的“System.Runtime.CompilerServices.ExtensionAttribute”的自定义设计版本无效。必须将其特性用法标志设置为允许程序集、类和方法使用。 - - - - Anonymous type member property '{0}' cannot be used to infer the type of another member property because the type of '{0}' is not yet established. - 无法使用匿名类型成员属性“{0}”来推断另一个成员属性的类型,因为尚未建立“{0}”的类型。 - - - - Type characters cannot be used in anonymous type declarations. - 不能在匿名类型声明中使用类型字符。 - - - - Type characters cannot be used in tuple literals. - 类型字符无法用在元组文本中。 - - - - 'New' cannot be used with tuple type. Use a tuple literal expression instead. - '"New" 不能用于元组类型。请改用元组文本表达式。 - - - - Predefined type '{0}' must be a structure. - 预定义的类型“{0}”必须是一种结构。 - - - - Extension method '{0}' has type constraints that can never be satisfied. - 扩展方法“{0}”具有无法满足的类型约束。 - - - - - Extension method '{0}' defined in '{1}': {2} - - “{1}”中定义的扩展方法“{0}”: {2} - - - - Method does not have a signature compatible with the delegate. - 方法没有与委托兼容的签名。 - - - - Type arguments could not be inferred from the delegate. - 未能从委托中推断类型参数。 - - - - Too many arguments. - 参数太多。 - - - - Parameter '{0}' already has a matching omitted argument. - 形参“{0}”已具有匹配的省略实参。 - - - - Parameter '{0}' already has a matching argument. - 形参“{0}”已具有匹配的实参。 - - - - '{0}' is not a method parameter. - '“{0}”不是方法参数。 - - - - Argument not specified for parameter '{0}'. - 没有为参数“{0}”指定参数。 - - - - Type parameter '{0}' cannot be inferred. - 无法推断类型参数“{0}”。 - - - - - Extension method '{0}' defined in '{1}'. - - “{1}”中定义的扩展方法“{0}”。 - - - - Anonymous type must contain at least one member. - 匿名类型必须至少包含一个成员。 - - - - Anonymous type member name must be preceded by a period. - 匿名类型成员名前面必须有一个句点。 - - - - Identifier expected, preceded with a period. - 应为开头带有句点的标识符。 - - - - Too many arguments to extension method '{0}' defined in '{1}'. - 对“{1}”中定义的扩展方法“{0}”而言,参数太多。 - - - - Parameter '{0}' in extension method '{1}' defined in '{2}' already has a matching omitted argument. - “{2}”中定义的扩展方法中的“{1}”形参“{0}”已具有匹配的省略实参。 - - - - Parameter '{0}' of extension method '{1}' defined in '{2}' already has a matching argument. - “{2}”中定义的扩展方法“{1}”的形参“{0}”已具有匹配的实参。 - - - - '{0}' is not a parameter of extension method '{1}' defined in '{2}'. - '“{0}”不是“{2}”中定义的扩展方法“{1}”的参数。 - - - - Argument not specified for parameter '{0}' of extension method '{1}' defined in '{2}'. - 没有为“{2}”中定义的扩展方法“{1}”的形参“{0}”指定实参。 - - - - Type parameter '{0}' for extension method '{1}' defined in '{2}' cannot be inferred. - 无法推断“{2}”中定义的扩展方法“{1}”的类型参数“{0}”。 - - - - Too few type arguments to extension method '{0}' defined in '{1}'. - 对“{1}”中定义的扩展方法“{0}”而言,类型参数太少。 - - - - Too many type arguments to extension method '{0}' defined in '{1}'. - 对“{1}”中定义的扩展方法“{0}”而言,类型参数太多。 - - - - 'In' or '=' expected. - '应为“In”或“=”。 - - - - Expression of type '{0}' is not queryable. Make sure you are not missing an assembly reference and/or namespace import for the LINQ provider. - 类型“{0}”的表达式不可查询。请确保不缺少程序集引用和/或 LINQ 提供程序的命名空间导入。 - - - - Definition of method '{0}' is not accessible in this context. - 方法“{0}”的定义在此上下文中不可访问。 - - - - Method cannot contain both a '{0}' statement and a definition of a variable that is used in a lambda or query expression. - 方法不能同时包含“{0}”语句以及在 lambda 或查询表达式中使用的变量的定义。 - - - - '{0}{1}' is not valid because '{2}' is inside a scope that defines a variable that is used in a lambda or query expression. - '“{0}{1}”无效,因为“{2}”所在的范围定义一个用在 lambda 表达式或查询表达式中的变量。 - - - - Instance of restricted type '{0}' cannot be used in a query expression. - 不能在查询表达式中使用受限类型“{0}”的实例。 - - - - Range variable name can be inferred only from a simple or qualified name with no arguments. - 只能从不带参数的简单名或限定名中推断范围变量名。 - - - - Range variable '{0}' is already declared. - 已声明范围变量“{0}”。 - - - - Type characters cannot be used in range variable declarations. - 在范围变量声明中不能使用类型字符。 - - - - 'ReadOnly' variable cannot be the target of an assignment in a lambda expression inside a constructor. - '在构造函数内的 lambda 表达式中,"ReadOnly" 变量不能作为赋值的目标。 - - - - Multi-dimensional array cannot be converted to an expression tree. - 多维数组无法转换为表达式树。 - - - - Late binding operations cannot be converted to an expression tree. - 后期绑定操作无法转换为表达式树。 - - - - 'By' expected. - '应为 "By"。 - - - - Range variable name cannot match the name of a member of the 'Object' class. - 范围变量名无法与 "Object" 类的成员名匹配。 - - - - 'In' expected. - '应为“In”。 - - - - Name '{0}' is either not declared or not in the current scope. - 名称“{0}”未声明或不在当前作用域中。 - - - - Return type of nested function matching parameter '{0}' narrows from '{1}' to '{2}'. - 与参数“{0}”匹配的嵌套函数的返回类型从“{1}”收缩到“{2}”。 - - - - Anonymous type member name cannot be inferred from an XML identifier that is not a valid Visual Basic identifier. - 无法根据不是有效 Visual Basic 标识符的 XML 标识符推断出匿名类型成员名称。 - - - - Range variable name cannot be inferred from an XML identifier that is not a valid Visual Basic identifier. - 无法根据不是有效 Visual Basic 标识符的 XML 标识符推断出范围变量名。 - - - - 'Into' expected. - '应为“Into”。 - - - - Aggregate function name cannot be used with a type character. - 聚合函数名不能与类型字符一起使用。 - - - - 'On' expected. - '应为 "On"。 - - - - 'Equals' expected. - '应为“Equals”。 - - - - 'And' expected. - '应为 "And"。 - - - - 'Equals' cannot compare a value of type '{0}' with a value of type '{1}'. - '“Equals”不能对类型为“{0}”的值与类型“{1}”的值进行比较。 - - - - You must reference at least one range variable on both sides of the 'Equals' operator. Range variable(s) {0} must appear on one side of the 'Equals' operator, and range variable(s) {1} must appear on the other. - “Equals”运算符的每一侧都必须至少引用一个范围变量。范围变量 {0} 必须出现在“Equals”运算符的一侧,范围变量 {1} 必须出现在另一侧。 - - - - Lambda expression cannot be converted to '{0}' because '{0}' is not a delegate type. - Lambda 表达式无法转换为“{0}”,因为“{0}”不是委托类型。 - - - - Lambda expression cannot be converted to '{0}' because type '{0}' is declared 'MustInherit' and cannot be created. - Lambda 表达式无法转换为“{0}”,因为类型“{0}”被声明为“MustInherit”,无法创建。 - - - - A nullable type cannot be inferred for variable '{0}'. - 对于变量“{0}”不能推断可以为 null 的类型。 - - - - Nullable type inference is not supported in this context. - 在该上下文中不支持可以为 null 的类型推理。 - - - - 'Join' expected. - '应为“Join”。 - - - - Nullable parameters must specify a type. - 可以为 null 的参数必须指定一个类型。 - - - - Range variable '{0}' hides a variable in an enclosing block, a previously defined range variable, or an implicitly declared variable in a query expression. - 范围变量“{0}”隐藏封闭块中的某个变量、以前定义的某个范围变量或者在查询表达式中隐式声明的某个变量。 - - - - Attributes cannot be applied to parameters of lambda expressions. - 特性不能应用于 lambda 表达式的参数。 - - - - Lambda expressions are not valid in the first expression of a 'Select Case' statement. - Lambda 表达式在 "Select Case" 语句的第一个表达式中无效。 - - - - 'AddressOf' expressions are not valid in the first expression of a 'Select Case' statement. - '“AddressOf”表达式在“Select Case”语句的第一个表达式中无效。 - - - - The '?' character cannot be used here. - 此处不能使用 "?" 字符。 - - - - Instance members and 'Me' cannot be used within a lambda expression in structures. - 无法在结构中的 lambda 表达式内使用实例成员和“Me”。 - - - - 'ByRef' parameter '{0}' cannot be used in a lambda expression. - '不能在 lambda 表达式中使用“ByRef”参数“{0}”。 - - - - Instance of restricted type '{0}' cannot be used in a lambda expression. - 不能在 lambda 表达式中使用受限类型“{0}”的实例。 - - - - Lambda parameter '{0}' hides a variable in an enclosing block, a previously defined range variable, or an implicitly declared variable in a query expression. - Lambda 参数“{0}”隐藏封闭块中的某个变量、以前定义的某个范围变量或者在查询表达式中隐式声明的某个变量。 - - - - Option Strict On requires each lambda expression parameter to be declared with an 'As' clause if its type cannot be inferred. - Option Strict On 要求使用 "As" 子句来声明其类型无法推断的每个 lambda 表达式参数。 - - - - Array modifiers cannot be specified on lambda expression parameter name. They must be specified on its type. - 不能在 lambda 表达式的参数名中指定数组修饰符。数组修饰符必须在其类型中指定。 - - - - Data type(s) of the type parameter(s) cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. - 无法从这些实参推断类型形参的数据类型。显式指定该数据类型可更正此错误。 - - - - Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. - 无法从这些实参推断方法“{0}”中类型形参的数据类型。显式指定数据类型可更正此错误。 - - - - Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. - 无法从这些实参推断“{1}”中定义的扩展方法“{0}”中类型形参的数据类型。显式指定数据类型可更正此错误。 - - - - Data type(s) of the type parameter(s) cannot be inferred from these arguments. - 无法从这些实参推断类型形参的数据类型。 - - - - Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments. - 无法从这些实参推断方法“{0}”中类型形参的数据类型。 - - - - Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments. - 无法从这些实参推断“{1}”中定义的扩展方法“{0}”中类型形参的数据类型。 - - - - Data type(s) of the type parameter(s) cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error. - 无法从这些实参推断类型形参的数据类型,因为可能会存在多个类型。显式指定数据类型可更正此错误。 - - - - Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error. - 无法从这些实参推断方法“{0}”中类型形参的数据类型,因为可能会存在多个类型。显式指定数据类型可更正此错误。 - - - - Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error. - 无法从这些实参推断“{0}”中定义的扩展方法“{1}”中类型形参的数据类型,因为可能会存在多个类型。显式指定数据类型可更正此错误。 - - - - Data type(s) of the type parameter(s) cannot be inferred from these arguments because more than one type is possible. - 无法从这些实参推断类型形参的数据类型,因为可能会存在多个类型。 - - - - Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because more than one type is possible. - 无法从这些实参推断方法“{0}”中类型形参的数据类型,因为可能会存在多个类型。 - - - - Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because more than one type is possible. - 无法从这些实参推断“{0}”中定义的扩展方法“{1}”中类型形参的数据类型,因为可能会存在多个类型。 - - - - Data type(s) of the type parameter(s) cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error. - 无法从这些实参推断类型形参的数据类型,因为这些数据类型不会转换为同一类型。显式指定数据类型可更正此错误。 - - - - Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error. - 无法从这些实参推断方法“{0}”中类型形参的数据类型,因为这些数据类型不会转换为同一类型。显式指定数据类型可更正此错误。 - - - - Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error. - 无法从这些实参推断“{1}”中定义的扩展方法“{0}”中类型形参的数据类型,因为这些数据类型不会转换为同一类型。显式指定数据类型可更正此错误。 - - - - Data type(s) of the type parameter(s) cannot be inferred from these arguments because they do not convert to the same type. - 无法从这些实参推断类型形参的数据类型,因为这些数据类型不会转换为同一类型。 - - - - Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because they do not convert to the same type. - 无法从这些实参推断方法“{0}”中类型形参的数据类型,因为这些数据类型不会转换为同一类型。 - - - - Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because they do not convert to the same type. - 无法从这些实参推断“{1}”中定义的扩展方法“{0}”中类型形参的数据类型,因为这些数据类型不会转换为同一类型。 - - - - Option Strict On does not allow narrowing in implicit type conversions between method '{0}' and delegate '{1}'. - Option Strict On 不允许对方法“{0}”和委托“{1}”之间的隐式类型转换进行收缩。 - - - - '{0}' is not accessible in this context because the return type is not accessible. - '“{0}”是不可访问的返回类型,因此它在此上下文中不可访问。 - - - - 'Group' or an identifier expected. - '应为“Group”或标识符。 - - - - 'Group' not allowed in this context; identifier expected. - '此上下文中不允许 "Group";应为标识符。 - - - - Option Strict On does not allow narrowing in implicit type conversions between extension method '{0}' defined in '{2}' and delegate '{1}'. - Option Strict On 不允许对“{2}”中定义的扩展方法“{0}”和委托“{1}”之间的隐式类型转换进行收缩。 - - - - Extension Method '{0}' defined in '{2}' does not have a signature compatible with delegate '{1}'. - “{2}”中定义的扩展方法“{0}”没有与委托“{1}”兼容的签名。 - - - - Argument matching parameter '{0}' narrows to '{1}'. - 与形参“{0}”匹配的实参收缩到“{1}”。 - - - - - {0} - - {0} - - - - Auto-implemented Properties contained in Structures cannot have initializers unless they are marked 'Shared'. - 如果没有将结构中包含的自动实现的属性标记为 "Shared",这些属性就不能有初始值设定项。 - - - - XML elements cannot be selected from type '{0}'. - XML 元素不能从类型“{0}”中选择。 - - - - XML attributes cannot be selected from type '{0}'. - XML 特性不能从类型“{0}”中选择。 - - - - XML descendant elements cannot be selected from type '{0}'. - XML 子代元素不能从类型“{0}”中选择。 - - - - Extension method '{0}' defined in '{1}' is not generic (or has no free type parameters) and so cannot have type arguments. - “{1}”中定义的扩展方法“{0}”不是泛型方法(或没有可用的类型形参),因此无法拥有类型实参。 - - - - Late-bound extension methods are not supported. - 不支持后期绑定的扩展方法。 - - - - Cannot infer a data type for '{0}' because the array dimensions do not match. - 无法推断“{0}”的数据类型,因为数组维数不匹配。 - - - - Type of the range variable cannot be inferred, and late binding is not allowed with Option Strict on. Use an 'As' clause to specify the type. - 无法推断范围变量的类型,且 Option Strict on 不允许后期绑定。请使用“As”子句来指定类型。 - - - - Type '{0}' cannot be embedded because it has generic argument. Consider disabling the embedding of interop types. - 无法嵌入类型“{0}”,因为它有泛型参数。请考虑禁用互操作类型嵌入。 - - - - Type '{0}' cannot be used across assembly boundaries because it has a generic type argument that is an embedded interop type. - 无法跨程序集边界使用类型“{0}”,因为它有身为嵌入的互操作类型的泛型类型参数。 - - - - '{0}' is obsolete: '{1}'. - '“{0}”已过时:“{1}”。 - - - - Type or member is obsolete - 类型或成员已过时 - - - - {0} '{1}' shadows an overloadable member declared in the base {2} '{3}'. If you want to overload the base method, this method must be declared 'Overloads'. - {0}“{1}”隐藏在基 {2}“{3}”中声明的可重载的成员。如果要重载基方法,则此方法必须声明为“Overloads”。 - - - - Member shadows an overloadable member declared in the base type - 成员隐藏在基类型中声明的可重载的成员 - - - - {0} '{1}' conflicts with {2} '{1}' in the base {3} '{4}' and should be declared 'Shadows'. - {0}“{1}”与基 {3}“{4}”中的 {2}“{1}”冲突,应该声明为“Shadows”。 - - - - Member conflicts with member in the base type and should be declared 'Shadows' - 成员与基类型中的成员发生冲突,因此应声明为 "Shadows" - - - - {0} '{1}' shadows an overridable method in the base {2} '{3}'. To override the base method, this method must be declared 'Overrides'. - {0}“{1}”隐藏基 {2}“{3}”中的可重写方法。若要重写基方法,必须将此方法声明为“Overrides”。 - - - - Member shadows an overridable method in the base type - 成员隐藏基类型中的可重写的方法 - - - - Default property '{0}' conflicts with the default property '{1}' in the base {2} '{3}'. '{0}' will be the default property. '{0}' should be declared 'Shadows'. - 默认属性“{0}”与基 {2}“{3}”中的默认属性“{1}”冲突。“{0}”将成为默认属性。“{0}”应声明为“Shadows”。 - - - - Default property conflicts with the default property in the base type - 默认属性与基类型中的默认属性发生冲突 - - - - '{0}' is obsolete. - '“{0}”已过时。 - - - - Type or member is obsolete - 类型或成员已过时 - - - - Possible problem detected while building assembly: {0} - 生成程序集时检测到可能存在的问题: {0} - - - - Possible problem detected while building assembly - 生成程序集时检测到可能的问题 - - - - Possible problem detected while building assembly '{0}': {1} - 生成程序集“{0}”时检测到可能存在的问题: {1} - - - - Possible problem detected while building assembly - 生成程序集时检测到可能的问题 - - - - 'Microsoft.VisualBasic.ComClassAttribute' is specified for class '{0}' but '{0}' has no public members that can be exposed to COM; therefore, no COM interfaces are generated. - '为类“{0}”指定了“Microsoft.VisualBasic.ComClassAttribute”,但“{0}”没有可以向 COM 公开的公共成员;因此不生成 COM 接口。 - - - - 'Microsoft.VisualBasic.ComClassAttribute' is specified for class but class has no public members that can be exposed to COM - '为类指定了 "Microsoft.VisualBasic.ComClassAttribute",但类没有可向 COM 公开的公共成员 - - - - {0} '{1}' implicitly declares '{2}', which conflicts with a member in the base {3} '{4}', and so the {0} should be declared 'Shadows'. - {0}“{1}”隐式声明的“{2}”与基 {3}“{4}”中的成员冲突,因此应将 {0} 声明为“Shadows”。 - - - - Property or event implicitly declares type or member that conflicts with a member in the base type - 属性或事件隐式声明与基类型中的成员发生冲突的类型或成员 - - - - {0} '{1}' conflicts with a member implicitly declared for {2} '{3}' in the base {4} '{5}' and should be declared 'Shadows'. - {0}“{1}”与为基 {4}“{5}”中 {2}“{3}”隐式声明的成员冲突,应将它声明为“Shadows”。 - - - - Member conflicts with a member implicitly declared for property or event in the base type - 成员与为基类型中的属性或事件隐式声明的成员冲突 - - - - {0} '{1}' implicitly declares '{2}', which conflicts with a member implicitly declared for {3} '{4}' in the base {5} '{6}'. {0} should be declared 'Shadows'. - {0}“{1}”隐式声明的“{2}”与为基 {5}“{6}”中的 {3}“{4}”隐式声明的成员冲突。{0} 应声明为“Shadows”。 - - - - Property or event implicitly declares member, which conflicts with a member implicitly declared for property or event in the base type - 属性或事件隐式声明与为基类型中的属性或事件隐式声明的成员发生冲突的成员 - - - - '{0}' accessor of '{1}' is obsolete: '{2}'. - '“{1}”的“{0}”访问器已过时:“{2}”。 - - - - Property accessor is obsolete - 属性访问器已过时 - - - - '{0}' accessor of '{1}' is obsolete. - '“{1}”的“{0}”访问器已过时。 - - - - Property accessor is obsolete - 属性访问器已过时 - - - - Type of member '{0}' is not CLS-compliant. - 成员“{0}”的类型不符合 CLS。 - - - - Type of member is not CLS-compliant - 成员的类型不符合 CLS - - - - '{0}' is not CLS-compliant because it derives from '{1}', which is not CLS-compliant. - '“{0}”不符合 CLS,因为它是从不符合 CLS 的“{1}”派生的。 - - - - Type is not CLS-compliant because it derives from base type that is not CLS-compliant - 类型不符合 CLS,原因是它从不符合 CLS 的基类型派生 - - - - Return type of function '{0}' is not CLS-compliant. - 函数“{0}”的返回类型不符合 CLS。 - - - - Return type of function is not CLS-compliant - 函数的返回类型不符合 CLS - - - - Type of parameter '{0}' is not CLS-compliant. - 参数“{0}”的类型不符合 CLS。 - - - - Type of parameter is not CLS-compliant - 参数的类型不符合 CLS - - - - '{0}' is not CLS-compliant because the interface '{1}' it inherits from is not CLS-compliant. - '“{0}”不符合 CLS,因为它所继承的接口“{1}”不符合 CLS。 - - - - Type is not CLS-compliant because the interface it inherits from is not CLS-compliant - 类型不符合 CLS,原因是它继承自的接口不符合 CLS - - - - {0} '{1}' cannot be marked CLS-compliant because its containing type '{2}' is not CLS-compliant. - {0}“{1}”不能被标记为符合 CLS,因为它的包含类型“{2}”不符合 CLS。 - - - - Member cannot be marked CLS-compliant because its containing type is not CLS-compliant - 无法将成员标记为符合 CLS,原因是它的包含类型不符合 CLS - - - - Name '{0}' is not CLS-compliant. - 名称“{0}”不符合 CLS。 - - - - Name is not CLS-compliant - 名称不符合 CLS - - - - Underlying type '{0}' of Enum is not CLS-compliant. - 枚举的基础类型“{0}”不符合 CLS。 - - - - Underlying type of Enum is not CLS-compliant - 枚举的基础类型不符合 CLS - - - - Non CLS-compliant '{0}' is not allowed in a CLS-compliant interface. - 在符合 CLS 的接口中不允许出现不符合 CLS 的“{0}”。 - - - - Non CLS-compliant member is not allowed in a CLS-compliant interface - 在符合 CLS 的接口中不允许出现不符合 CLS 的成员 - - - - Non CLS-compliant 'MustOverride' member is not allowed in CLS-compliant type '{0}'. - 在符合 CLS 的类型“{0}”中不允许出现不符合 CLS 的 "MustOverride" 成员。 - - - - Non CLS-compliant 'MustOverride' member is not allowed in CLS-compliant type - 在符合 CLS 的类型中不允许出现不符合 CLS 的 "Mustoverride" 成员 - - - - '{0}' is not CLS-compliant because it overloads '{1}' which differs from it only by array of array parameter types or by the rank of the array parameter types. - '“{0}”不符合 CLS,因为它重载仅在数组参数类型的数组或数组参数类型的秩方面与它不同的“{1}”。 - - - - Method is not CLS-compliant because it overloads method which differs from it only by array of array parameter types or by the rank of the array parameter types - 方法不符合 CLS,因为它重载仅在数组参数类型的数组或数组参数类型的秩方面与它不同的方法 - - - - Root namespace '{0}' is not CLS-compliant. - 根命名空间“{0}”不符合 CLS。 - - - - Root namespace is not CLS-compliant - 根命名空间不符合 CLS - - - - Name '{0}' in the root namespace '{1}' is not CLS-compliant. - 根命名空间“{1}”中的名称“{0}”不符合 CLS。 - - - - Part of the root namespace is not CLS-compliant - 根命名空间的一部分不符合 CLS - - - - Generic parameter constraint type '{0}' is not CLS-compliant. - 泛型形参约束类型“{0}”不符合 CLS。 - - - - Generic parameter constraint type is not CLS-compliant - 泛型参数约束类型不符合 CLS - - - - Type '{0}' is not CLS-compliant. - 类型“{0}”不符合 CLS。 - - - - Type is not CLS-compliant - 类型不符合 CLS - - - - Type of optional value for optional parameter '{0}' is not CLS-compliant. - 可选参数“{0}”的可选值的类型不符合 CLS。 - - - - Type of optional value for optional parameter is not CLS-compliant - 可选参数的可选值类型不符合 CLS - - - - System.CLSCompliantAttribute cannot be applied to property 'Get' or 'Set'. - System.CLSCompliantAttribute 不能应用于属性 "Get" 或 "Set"。 - - - - System.CLSCompliantAttribute cannot be applied to property 'Get' or 'Set' - System.CLSCompliantAttribute 不能应用于属性 "Get" 或 "Set" - - - - {0} '{1}' and partial {2} '{3}' conflict in {4} '{5}', but are being merged because one of them is declared partial. - {0}“{1}”和分部 {2}“{3}”在 {4}“{5}”中冲突,但由于其中的一个被声明为 Partial,因此正在合并。 - - - - Type and partial type conflict, but are being merged because one of them is declared partial - 类型和分部类型冲突,但由于其中一个被声明为 Partial,因此正在合并 - - - - Type parameter '{0}' has the same name as a type parameter of an enclosing type. Enclosing type's type parameter will be shadowed. - 类型参数“{0}”与封闭类型的类型参数同名。封闭类型的类型参数将被隐藏。 - - - - Type parameter has the same name as a type parameter of an enclosing type - 类型参数与封闭类型的类型参数具有相同的名称 - - - - Could not find standard library '{0}'. - 未能找到标准库“{0}”。 - - - - Could not find standard library - 找不到标准库 - - - - Delegate type '{0}' of event '{1}' is not CLS-compliant. - 事件“{1}”的委托类型“{0}”不符合 CLS。 - - - - Delegate type of event is not CLS-compliant - 事件的委托类型不符合 CLS - - - - System.Diagnostics.DebuggerHiddenAttribute does not affect 'Get' or 'Set' when applied to the Property definition. Apply the attribute directly to the 'Get' and 'Set' procedures as appropriate. - System.Diagnostics.DebuggerHiddenAttribute 在应用于属性定义时不影响“Get”或“Set”。请根据相应的情况,将此特性直接应用于“Get”和“Set”过程。 - - - - System.Diagnostics.DebuggerHiddenAttribute does not affect 'Get' or 'Set' when applied to the Property definition - 在应用到属性定义时,System.Diagnostics.DebuggerHiddenAttribute 不影响 "Get" 或 "Set" - - - - Range specified for 'Case' statement is not valid. Make sure that the lower bound is less than or equal to the upper bound. - 为 "Case" 语句指定的范围无效。请确保下限小于或等于上限。 - - - - Range specified for 'Case' statement is not valid - 为 "Case" 语句指定的范围无效 - - - - '{0}' method for event '{1}' cannot be marked CLS compliant because its containing type '{2}' is not CLS compliant. - '事件“{1}”的“{0}”方法不能被标记为符合 CLS,因为它的包含类型“{2}”不符合 CLS。 - - - - AddHandler or RemoveHandler method for event cannot be marked CLS compliant because its containing type is not CLS compliant - 事件的 AddHandler 方法或 RemoveHandler 方法无法标记为符合 CLS,原因是它的包含类型不符合 CLS - - - - '{0}' in designer-generated type '{1}' should call InitializeComponent method. - '设计器生成的类型“{1}”中的“{0}”应调用 InitializeComponent 方法。 - - - - Constructor in designer-generated type should call InitializeComponent method - 设计器生成的类型中的构造函数应调用 InitializeComponent 方法 - - - - Casing of namespace name '{0}' does not match casing of namespace name '{1}' in '{2}'. - 命名空间名“{0}”的大小写与“{2}”中命名空间名“{1}”的大小写不匹配。 - - - - Casing of namespace name does not match - 命名空间名称的大小写不匹配 - - - - Namespace or type specified in the Imports '{0}' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. - Imports“{0}”中指定的命名空间或类型不包含任何公共成员,或者找不到该命名空间或类型。确保定义了该命名空间或类型且其中至少包含一个公共成员。确保导入的元素名不使用任何别名。 - - - - Namespace or type specified in Imports statement doesn't contain any public member or cannot be found - 在 Imports 语句中指定的命名空间或类型不包含任何公共成员或找不到公共成员 - - - - Namespace or type specified in the project-level Imports '{0}' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. - 项目级 Imports“{0}”中指定的命名空间或类型不包含任何公共成员,或者找不到公共成员。要确保定义了该命名空间或类型且其中至少包含一个公共成员;还要确保导入的元素名不使用任何别名。 - - - - Namespace or type imported at project level doesn't contain any public member or cannot be found - 在项目级别导入的命名空间或类型不包含任何公共成员或找不到公共成员 - - - - A reference was created to embedded interop assembly '{0}' because of an indirect reference to that assembly from assembly '{1}'. Consider changing the 'Embed Interop Types' property on either assembly. - 已创建对嵌入的互操作程序集“{0}”的引用,因为程序集“{1}”间接引用了该程序集。请考虑更改其中一个程序集的“嵌入互操作类型”属性。 - - - - A reference was created to embedded interop assembly because of an indirect reference to that assembly - 已创建对嵌入的互操作程序集的引用,因为间接引用了该程序集 - - - - Class '{0}' should declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete. - 类“{0}”应该声明一个“Sub New”,因为其基类“{2}”中的“{1}”被标记为已过时。 - - - - Class should declare a 'Sub New' because the constructor in its base class is marked obsolete - 类应声明 "Sub New",原因是它的基类中的构造函数被标记为已过时 - - - - Class '{0}' should declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete: '{3}'. - 类“{0}”应该声明一个“Sub New”,因为其基类“{2}”中的“{1}”被标记为已过时:“{3}”。 - - - - Class should declare a 'Sub New' because the constructor in its base class is marked obsolete - 类应声明 "Sub New",原因是它的基类中的构造函数被标记为已过时 - - - - First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete. - 此“Sub New”中的第一条语句应为对“MyBase.New”或“MyClass.New”的显式调用,因为“{2}”的基类“{1}”中的“{0}”被标记为已过时。 - - - - First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the constructor in the base class is marked obsolete - 此 "Sub New" 的第一条语句必须是对 "MyBase.New" 或 "MyClass.New" 的显式调用,原因是基类中的构造函数被标为已过时 - - - - First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete: '{3}' - 此“Sub New”中的第一条语句应为对“MyBase.New”或“MyClass.New”的显式调用,因为“{2}”的基类“{1}”中的“{0}”被标记为已过时:“{3}” - - - - First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the constructor in the base class is marked obsolete - 此 "Sub New" 的第一条语句必须是对 "MyBase.New" 或 "MyClass.New" 的显式调用,原因是基类中的构造函数被标为已过时 - - - - Operator without an 'As' clause; type of Object assumed. - 运算符没有 "As" 子句;假定为 Object 类型。 - - - - Operator without an 'As' clause - 运算符没有 "As" 子句 - - - - Type arguments inferred for method '{0}' result in the following warnings :{1} - 为方法“{0}”推断的类型参数导致以下警告:{1} - - - - Type arguments inferred for method result in warnings - 为方法推断的类型参数导致警告 - - - - Attribute 'Conditional' is only valid on 'Sub' declarations. - 特性 "Conditional" 只在 "Sub" 声明中有效。 - - - - Attribute 'Conditional' is only valid on 'Sub' declarations - 特性 "Conditional" 只在 "Sub" 声明中有效 - - - - Use command-line option '{0}' or appropriate project settings instead of '{1}'. - 请使用命令行选项“{0}”或适当的项目设置,而不是“{1}”。 - - - - Use command-line option /keyfile, /keycontainer, or /delaysign instead of AssemblyKeyFileAttribute, AssemblyKeyNameAttribute, or AssemblyDelaySignAttribute - 使用命令行选项 /keyfile、/keycontainer 或 /delaysign,而不要使用 AssemblyKeyFileAttribute、AssemblyKeyNameAttribute 或 AssemblyDelaySignAttribute - - - - Statement recursively calls the containing '{0}' for event '{1}'. - 语句以递归方式调用事件“{1}”的包含“{0}”。 - - - - Statement recursively calls the event's containing AddHandler - 语句递归调用事件包含的 AddHandler - - - - Implicit conversion from '{1}' to '{2}' in copying the value of 'ByRef' parameter '{0}' back to the matching argument. - 将“ByRef”形参“{0}”的值复制回匹配实参时,发生从“{1}”到“{2}”的隐式转换。 - - - - Implicit conversion in copying the value of 'ByRef' parameter back to the matching argument - 在把 "ByRef" 参数的值复制回匹配参数的过程中进行隐式转换 - - - - {0} '{1}' conflicts with other members of the same name across the inheritance hierarchy and so should be declared 'Shadows'. - {0}“{1}”与继承层次结构中的其他同名成员冲突,因此应声明为“Shadows”。 - - - - Method conflicts with other members of the same name across the inheritance hierarchy and so should be declared 'Shadows' - 方法与继承层次结构中的其他同名成员冲突,因此应声明为 "Shadows" - - - - Expression recursively calls the containing Operator '{0}'. - 表达式以递归方式调用包含运算符“{0}”。 - - - - Expression recursively calls the containing Operator - 表达式递归调用包含运算符 - - - - Implicit conversion from '{0}' to '{1}'. - 从“{0}”到“{1}”的隐式转换。 - - - - Implicit conversion - 隐式转换 - - - - Local variable '{0}' is read-only and its type is a structure. Invoking its members or passing it ByRef does not change its content and might lead to unexpected results. Consider declaring this variable outside of the 'Using' block. - 局部变量“{0}”是只读的并且其类型是结构。调用此变量的成员或通过 ByRef 传递它不会更改其内容,并可能导致意外的错误。考虑在“Using”块之外声明此变量。 - - - - Local variable declared by Using statement is read-only and its type is a structure - Using 语句声明的局部变量是只读的,它的类型是一种结构 - - - - Local variable '{0}' is read-only. When its type is a structure, invoking its members or passing it ByRef does not change its content and might lead to unexpected results. Consider declaring this variable outside of the 'Using' block. - 局部变量“{0}”是只读的。其类型为结构时,调用其成员或使用 ByRef 传递该类型不会更改其内容,并可能会导致意外的结果。考虑在“Using”块之外声明此变量。 - - - - Local variable declared by Using statement is read-only and its type may be a structure - Using 语句声明的局部变量是只读的,它的类型可能是一种结构 - - - - {0} - {0} - - - - Implicit conversion - 隐式转换 - - - - Late bound resolution; runtime errors could occur. - 后期绑定解决方案;可能会发生运行时错误。 - - - - Late bound resolution - 后期绑定解决方案 - - - - Operands of type Object used for operator '{0}'; use the 'Is' operator to test object identity. - 对运算符“{0}”使用了 Object 类型的操作数;应使用“Is”运算符来测试对象标识。 - - - - Operands of type Object used for operator - 为运算符使用的 Object 类型的操作数 - - - - Operands of type Object used for operator '{0}'; runtime errors could occur. - 对运算符“{0}”使用了 Object 类型的操作数;可能会发生运行时错误。 - - - - Operands of type Object used for operator - 为运算符使用的 Object 类型的操作数 - - - - {0} - {0} - - - - Variable declaration without an 'As' clause - 变量声明没有 "As" 子句 - - - - {0} - {0} - - - - Function without an 'As' clause - 函数没有 "As" 子句 - - - - {0} - {0} - - - - Property without an 'As' clause - 属性没有 "As" 子句 - - - - Variable declaration without an 'As' clause; type of Object assumed. - 变量声明没有 "As" 子句;假定为 Object 类型。 - - - - Variable declaration without an 'As' clause - 变量声明没有 "As" 子句 - - - - Function without an 'As' clause; return type of Object assumed. - 函数没有 "As" 子句;假定返回类型为 Object。 - - - - Function without an 'As' clause - 函数没有 "As" 子句 - - - - Property without an 'As' clause; type of Object assumed. - 属性没有 "As" 子句;假定为 Object 类型。 - - - - Property without an 'As' clause - 属性没有 "As" 子句 - - - - Unused local variable: '{0}'. - 未使用的局部变量:“{0}”。 - - - - Unused local variable - 未使用的本地变量 - - - - Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated. - 通过实例访问共享成员、常量成员、枚举成员或嵌套类型;将不计算限定表达式。 - - - - Access of shared member, constant member, enum member or nested type through an instance - 通过实例访问共享成员、常量成员、枚举成员或嵌套类型 - - - - Expression recursively calls the containing property '{0}'. - 表达式递归调用包含属性“{0}”。 - - - - Expression recursively calls the containing property - 表达式递归调用包含属性 - - - - 'Catch' block never reached, because '{0}' inherits from '{1}'. - '永远不会到达“Catch”块,因为“{0}”从“{1}”继承。 - - - - 'Catch' block never reached; exception type's base type handled above in the same Try statement - '永远不会到达 "Catch" 块;异常类型的基类型已在上面同一个 Try 语句中处理 - - - - Variable '{0}' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. - 变量“{0}”在赋值前按引用传递。可能会在运行时导致 null 引用异常。 - - - - Variable is passed by reference before it has been assigned a value - 在为变量赋值之前,变量已被引用传递 - - - - 'Catch' block never reached; '{0}' handled above in the same Try statement. - '永远不会到达“Catch”块;“{0}”已在上面同一个 Try 语句中处理。 - - - - 'Catch' block never reached; exception type handled above in the same Try statement - '永远不会到达 "Catch" 块;异常类型已在上面同一个 Try 语句中处理 - - - - Operands of type Object used for operator '{0}'; use the 'IsNot' operator to test object identity. - 对运算符“{0}”使用了 Object 类型的操作数;应使用“IsNot”运算符来测试对象标识。 - - - - Operands of type Object used for operator <> - 为运算符 <> 使用的 Object 类型的操作数 - - - - Bad checksum value, non hex digits or odd number of hex digits. - 错误的校验和值、非十六进制数字或奇数个十六进制数字。 - - - - Bad checksum value, non hex digits or odd number of hex digits - 错误的校验和值、非十六进制数字或奇数个十六进制数字 - - - - File name already declared with a different GUID and checksum value. - 已使用另一个 GUID 和校验和值声明了文件名。 - - - - File name already declared with a different GUID and checksum value - 已使用另一个 GUID 和校验和值声明了文件名 - - - - Bad GUID format. - 错误的 GUID 格式。 - - - - Bad GUID format - 错误的 GUID 格式 - - - - Operands of type Object used in expressions for 'Select', 'Case' statements; runtime errors could occur. - 在 "Select"、"Case" 语句的表达式中使用了 Object 类型的操作数;可能会发生运行时错误。 - - - - Operands of type Object used in expressions for 'Select', 'Case' statements - "Select"、"Case" 语句的表达式中使用的 Object 类型的操作数 - - - - This expression will always evaluate to Nothing (due to null propagation from the equals operator). To check if the value is null consider using 'Is Nothing'. - 此表达式的计算结果始终为 Nothing (由于来自等于运算符的 null 传播)。若要检查值是否为 null,请考虑使用 "Is Nothing"。 - - - - This expression will always evaluate to Nothing - 此表达式的计算结果始终为 Nothing - - - - This expression will always evaluate to Nothing (due to null propagation from the equals operator). To check if the value is not null consider using 'IsNot Nothing'. - 此表达式的计算结果始终为 Nothing (由于来自等于运算符的 null 传播)。若要检查值是否不为 null,请考虑使用 "IsNot Nothing"。 - - - - This expression will always evaluate to Nothing - 此表达式的计算结果始终为 Nothing - - - - Unused local constant: '{0}'. - 未使用的局部常量:“{0}”。 - - - - Unused local constant - 未使用的局部常量 - - - - 'Microsoft.VisualBasic.ComClassAttribute' on class '{0}' implicitly declares {1} '{2}', which conflicts with a member of the same name in {3} '{4}'. Use 'Microsoft.VisualBasic.ComClassAttribute(InterfaceShadows:=True)' if you want to hide the name on the base {4}. - '类“{0}”上的“Microsoft.VisualBasic.ComClassAttribute”隐式声明的 {1}“{2}”与 {3}“{4}”中的同名成员冲突。如果要隐藏基 {4} 上的名称,请使用“Microsoft.VisualBasic.ComClassAttribute(InterfaceShadows:=True)”。 - - - - 'Microsoft.VisualBasic.ComClassAttribute' on class implicitly declares member, which conflicts with a member of the same name - '类上的 "Microsoft.VisualBasic.ComClassAttribute" 隐式声明与同名成员发生冲突的成员 - - - - '{0}' cannot be exposed to COM as a property 'Let'. You will not be able to assign non-object values (such as numbers or strings) to this property from Visual Basic 6.0 using a 'Let' statement. - '“{0}”无法作为属性“Let”向 COM 公开。将无法使用“Let”语句从 Visual Basic 6.0 向该属性分配非对象值(如数字或字符串)。 - - - - Property cannot be exposed to COM as a property 'Let' - 无法将属性作为 "Let" 属性向 COM 公开 - - - - Variable '{0}' is used before it has been assigned a value. A null reference exception could result at runtime. - 变量“{0}”在赋值前被使用。可能会在运行时导致 null 引用异常。 - - - - Variable is used before it has been assigned a value - 在为变量赋值之前,变量已被使用 - - - - Function '{0}' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used. - 函数“{0}”不会在所有代码路径上都返回值。当使用结果时,可能会在运行时发生 null 引用异常。 - - - - Function doesn't return a value on all code paths - 函数没有在所有代码路径上返回值 - - - - Operator '{0}' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used. - 运算符“{0}”不会在所有代码路径上都返回值。当使用结果时,可能会在运行时发生 null 引用异常。 - - - - Operator doesn't return a value on all code paths - 运算符没有在所有代码路径上返回值 - - - - Property '{0}' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used. - 属性“{0}”不会在所有代码路径上都返回值。当使用结果时,可能会在运行时发生 null 引用异常。 - - - - Property doesn't return a value on all code paths - 属性没有在所有代码路径上返回值 - - - - Variable '{0}' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. Make sure the structure or all the reference members are initialized before use - 变量“{0}”在赋值前按引用传递。可能会在运行时导致 null 引用异常。请确保结构或所有引用成员在使用前已经初始化 - - - - Variable is passed by reference before it has been assigned a value - 在为变量赋值之前,变量已被引用传递 - - - - Variable '{0}' is used before it has been assigned a value. A null reference exception could result at runtime. Make sure the structure or all the reference members are initialized before use - 变量“{0}”在赋值前被使用。可能会在运行时导致 null 引用异常。请确保结构或所有引用成员在使用前已经初始化 - - - - Variable is used before it has been assigned a value - 在为变量赋值之前,变量已被使用 - - - - Static variable declared without an 'As' clause; type of Object assumed. - 未使用 "As" 子句声明的静态变量;假定为 Object 类型。 - - - - Static variable declared without an 'As' clause - 声明静态变量时未使用 "As" 子句 - - - - Assembly reference '{0}' is invalid and cannot be resolved. - 程序集引用“{0}”无效,无法解析。 - - - - Assembly reference is invalid and cannot be resolved - 程序集引用无效,无法解析 - - - - XML comment block must immediately precede the language element to which it applies. XML comment will be ignored. - XML 注释块必须紧挨着它应用于的语言元素的前面。XML 注释将被忽略。 - - - - XML comment block must immediately precede the language element to which it applies - XML 注释块必须紧跟它所应用于的语言元素 - - - - Only one XML comment block is allowed per language element. - 每个语言元素只能有一个 XML 注释块。 - - - - Only one XML comment block is allowed per language element - 每个语言元素只能有一个 XML 注释块 - - - - XML comment must be the first statement on a line. XML comment will be ignored. - XML 注释必须是一行中的第一条语句。XML 注释将被忽略。 - - - - XML comment must be the first statement on a line - XML 注释必须是一行上的第一条语句 - - - - XML comment cannot appear within a method or a property. XML comment will be ignored. - XML 注释不能在方法或属性内出现。XML 注释将被忽略。 - - - - XML comment cannot appear within a method or a property - XML 注释不能在方法或属性内出现 - - - - XML documentation parse error: {0} XML comment will be ignored. - XML 文档分析错误: {0} XML 注释将被忽略。 - - - - XML documentation parse error - XML 文档分析错误 - - - - XML comment tag '{0}' appears with identical attributes more than once in the same XML comment block. - 具有相同特性的 XML 注释标记“{0}”在同一 XML 注释块中出现多次。 - - - - XML comment tag appears with identical attributes more than once in the same XML comment block - 具有相同属性的 XML 注释标记在同一个 XML 注释块中出现多次 - - - - XML comment tag '{0}' is not permitted on a '{1}' language element. - “{1}”语言元素中不允许 XML 注释标记“{0}”。 - - - - XML comment tag is not permitted on language element - 语言元素中不允许出现 XML 注释标记 - - - - XML comment parameter '{0}' does not match a parameter on the corresponding '{1}' statement. - XML 注释参数“{0}”和相应的“{1}”语句的参数不匹配。 - - - - XML comment parameter does not match a parameter on the corresponding declaration statement - XML 注释参数与相应的声明语句上的参数不匹配 - - - - XML comment parameter must have a 'name' attribute. - XML 注释参数必须具有 "name" 属性。 - - - - XML comment parameter must have a 'name' attribute - XML 注释参数必须具有 "name" 属性 - - - - XML comment has a tag with a 'cref' attribute '{0}' that could not be resolved. - XML 注释中的一个标记具有未能解析的“cref”特性“{0}”。 - - - - XML comment has a tag with a 'cref' attribute that could not be resolved - XML 注释包含具有无法解析的 "cref" 属性的标记 - - - - XML comment tag 'include' must have a '{0}' attribute. XML comment will be ignored. - XML 注释标记“include”必须具有“{0}”特性。XML 注释将被忽略。 - - - - XML comment tag 'include' must have 'file' and 'path' attributes - XML 注释标记 "include" 必须具有 "file" 和 "path" 特性 - - - - Unable to create XML documentation file '{0}': {1} - 无法创建 XML 文档文件“{0}”: {1} - - - - Unable to create XML documentation file - 无法创建 XML 文档文件 - - - - XML documentation comments must precede member or type declarations. - XML 文档注释必须位于成员声明或类型声明之前。 - - - - XML documentation comments must precede member or type declarations - XML 文档注释必须位于成员声明或类型声明之前 - - - - XML comment tag 'returns' is not permitted on a 'WriteOnly' Property. - WriteOnly 属性中不允许有 XML 注释标记 "returns"。 - - - - XML comment tag 'returns' is not permitted on a 'WriteOnly' Property - "WriteOnly" 属性中不允许出现 XML 注释标记 "returns" - - - - XML comment cannot be applied more than once on a partial {0}. XML comments for this {0} will be ignored. - XML 注释在分部 {0} 中不能应用多次。此 {0} 的 XML 注释将被忽略。 - - - - XML comment cannot be applied more than once on a partial type - XML 注释无法在一个分部类型上应用多次 - - - - XML comment tag 'returns' is not permitted on a 'declare sub' language element. - declare sub 语言元素中不允许有 XML 注释标记 "returns"。 - - - - XML comment tag 'returns' is not permitted on a 'declare sub' language element - "declare sub" 语言元素中不允许出现 XML 注释标记 "returns" - - - - XML documentation parse error: Start tag '{0}' doesn't have a matching end tag. XML comment will be ignored. - XML 文档分析错误: 开始标记“{0}”没有匹配的结束标记。XML 注释将被忽略。 - - - - XML documentation parse error: Start tag doesn't have a matching end tag - XML 文档分析错误: 开始标记没有匹配的结束标记 - - - - XML comment type parameter '{0}' does not match a type parameter on the corresponding '{1}' statement. - XML 注释类型参数“{0}”和相应的“{1}”语句的类型参数不匹配。 - - - - XML comment type parameter does not match a type parameter on the corresponding declaration statement - XML 注释类型参数与相应的声明语句上的类型参数不匹配 - - - - XML comment type parameter must have a 'name' attribute. - XML 注释类型参数必须具有 "name" 属性。 - - - - XML comment type parameter must have a 'name' attribute - XML 注释类型参数必须具有 "name" 属性 - - - - XML comment exception must have a 'cref' attribute. - XML 注释异常必须具有 "cref" 属性。 - - - - XML comment exception must have a 'cref' attribute - XML 注释异常必须具有 "cref" 属性 - - - - Unable to include XML fragment '{0}' of file '{1}'. - 无法包括文件“{1}”的 XML 段落“{0}”。 - - - - Unable to include XML fragment - 无法包括 XML 段落。 - - - - Unable to include XML fragment '{1}' of file '{0}'. {2} - 无法包括文件“{0}”的 XML 段落“{1}”。{2} - - - - Unable to include XML fragment - 无法包括 XML 段落。 - - - - Runtime errors might occur when converting '{0}' to '{1}'. - 将“{0}”转换为“{1}”时可能发生运行时错误。 - - - - Runtime errors might occur when converting to or from interface type - 运行时错误可能在转换到或从接口类型转换时发生 - - - - Using the iteration variable in a lambda expression may have unexpected results. Instead, create a local variable within the loop and assign it the value of the iteration variable. - 在 lambda 表达式中使用迭代变量可能会产生意外的结果。应改为在循环中创建一个局部变量并将迭代变量的值赋给它。 - - - - Using the iteration variable in a lambda expression may have unexpected results - 在 lambda 表达式中使用迭代变量可能会产生意外的结果 - - - - Lambda expression will not be removed from this event handler. Assign the lambda expression to a variable and use the variable to add and remove the event. - Lambda 表达式将不会从此事件处理程序中移除。将 lambda 表达式赋给变量,并使用该变量添加和移除事件。 - - - - Lambda expression will not be removed from this event handler - Lambda 表达式将不会从此事件处理程序中删除 - - - - Using the iteration variable in a query expression may have unexpected results. Instead, create a local variable within the loop and assign it the value of the iteration variable. - 在查询表达式中使用迭代变量可能会产生意外的结果。应改为在循环中创建一个局部变量并将迭代变量的值赋给它。 - - - - Using the iteration variable in a query expression may have unexpected results - 在查询表达式中使用迭代变量可能会产生意外的结果 - - - - The 'AddressOf' expression has no effect in this context because the method argument to 'AddressOf' requires a relaxed conversion to the delegate type of the event. Assign the 'AddressOf' expression to a variable, and use the variable to add or remove the method as the handler. - "AddressOf" 表达式在此上下文中不起作用,因为 "AddressOf" 的方法参数需要到该事件的委托类型的宽松转换。将 "AddressOf' 表达式赋给变量,并使用变量将该方法作为处理程序进行添加或移除。 - - - - The 'AddressOf' expression has no effect in this context because the method argument to 'AddressOf' requires a relaxed conversion to the delegate type of the event - "AddressOf" 表达式在此上下文中不起作用,原因是 "AddressOf" 的方法参数需要到该事件的委托类型的宽松转换 - - - - Range variable is assumed to be of type Object because its type cannot be inferred. Use an 'As' clause to specify a different type. - 假定范围变量属于对象类型,因为无法推断其类型。请使用“As”子句指定不同类型。 - - - - Range variable is assumed to be of type Object because its type cannot be inferred - 范围变量被假设为 Object 类型,原因是无法推断它的类型 - - - - Multiline lambda expression is missing 'End Function'. - 多行 lambda 表达式缺少 "End Function"。 - - - - Multiline lambda expression is missing 'End Sub'. - 多行 lambda 表达式缺少 "End Sub"。 - - - - Attributes cannot be applied to return types of lambda expressions. - 特性不能应用于 lambda 表达式的返回类型。 - - - - Statement is not valid inside a single-line statement lambda. - 该语句在单行语句 lambda 中无效。 - - - - This single-line statement lambda must be enclosed in parentheses. For example: (Sub() <statement>)!key - 此单行语句 lambda 必须括在括号中。例如: (Sub() <语句>)!key - - - - This single-line statement lambda must be enclosed in parentheses. For example: (Sub() <statement>).Invoke() - 此单行语句 lambda 必须括在括号中。例如: (Sub() <语句>).Invoke() - - - - This single-line statement lambda must be enclosed in parentheses. For example: Call (Sub() <statement>) () - 此单行语句 lambda 必须括在括号中。例如: Call (Sub() <语句>) () - - - - Single-line statement lambdas must include exactly one statement. - 单行语句 lambda 必须仅包含一个语句。 - - - - Static local variables cannot be declared inside lambda expressions. - 无法在 lambda 表达式内声明静态局部变量。 - - - - Expanded Properties cannot be initialized. - 无法初始化扩展属性。 - - - - Auto-implemented properties cannot have parameters. - 自动实现的属性不能带有参数。 - - - - Auto-implemented properties cannot be WriteOnly. - 自动实现的属性不能为 WriteOnly。 - - - - 'If' operator requires either two or three operands. - '“If”运算符需要两个或三个操作数。 - - - - Cannot initialize the type '{0}' with a collection initializer because it is not a collection type. - 无法用集合初始值设定项初始化类型“{0}”,因为该类型不是集合类型。 - - - - Cannot initialize the type '{0}' with a collection initializer because it does not have an accessible 'Add' method. - 无法用集合初始值设定项初始化类型“{0}”,因为该类型没有可访问的“Add”方法。 - - - - An Object Initializer and a Collection Initializer cannot be combined in the same initialization. - 不能将对象初始值设定项与集合初始值设定项组合到同一个初始化过程中。 - - - - An aggregate collection initializer entry must contain at least one element. - 聚合集合初始值设定项必须至少包含一个元素。 - - - - XML end element must be preceded by a matching start element. - XML 结束元素前面必须是匹配的开始元素。 - - - - 'On Error' and 'Resume' cannot appear inside a lambda expression. - '“On Error”和“Resume”不能出现在 lambda 表达式内。 - - - - Keywords 'Out' and 'In' can only be used in interface and delegate declarations. - 关键字 "Out" 和 "In" 只能在接口声明和委托声明中使用。 - - - - The literal string ']]>' is not allowed in element content. - 元素内容中不允许使用字符串“]]>”。 - - - - Inappropriate use of '{0}' keyword in a module. - 模块中不恰当地使用了“{0}”关键字。 - - - - Type or namespace '{0}' is not defined. - 未定义类型或命名空间“{0}”。 - - - - Using DirectCast operator to cast a floating-point value to the same type is not supported. - 不支持使用 DirectCast 运算符将浮点值强制转换为同一类型。 - - - - Using DirectCast operator to cast a value-type to the same type is obsolete. - 使用 DirectCast 运算符将值类型强制转换为同一类型的做法已过时。 - - - - Using DirectCast operator to cast a value-type to the same type is obsolete - 使用 DirectCast 运算符将值类型强制转换为同一类型的做法已过时 - - - - Unreachable code detected. - 检测到无法访问的代码。 - - - - Unreachable code detected - 检测到无法访问的代码 - - - - Function '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement? - 函数“{0}”不会在所有代码路径上都返回值。是否缺少“Return”语句? - - - - Function doesn't return a value on all code paths - 函数没有在所有代码路径上返回值 - - - - Operator '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement? - 运算符“{0}”不会在所有代码路径上都返回值。是否缺少“Return”语句? - - - - Operator doesn't return a value on all code paths - 运算符没有在所有代码路径上返回值 - - - - Property '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement? - 属性“{0}”不会在所有代码路径上都返回值。是否缺少“Return”语句? - - - - Property doesn't return a value on all code paths - 属性没有在所有代码路径上返回值 - - - - Global namespace may not be nested in another namespace. - 全局命名空间不能嵌套在另一个命名空间中。 - - - - '{0}' cannot expose type '{1}' in {2} '{3}' through {4} '{5}'. - '“{0}”不能通过 {4}“{5}”在 {2}“{3}”中公开类型“{1}”。 - - - - '{0}' cannot be referenced because it is not a valid assembly. - '“{0}”不是有效程序集,因此无法引用它。 - - - - '{0}' cannot be implemented by a {1} property. - '“{0}”无法由 {1} 属性实现。 - - - - - {0}: {1} - - {0}: {1} - - - - Cannot infer a common type because more than one type is possible. - 无法推断通用类型,因为可能存在多个类型。 - - - - Cannot infer a common type because more than one type is possible; 'Object' assumed. - 无法推断通用类型,因为可能存在多个类型;假定为 "Object"。 - - - - Cannot infer a common type because more than one type is possible - 无法推断通用类型,原因是可能存在多个类型 - - - - Cannot infer a common type, and Option Strict On does not allow 'Object' to be assumed. - 无法推断通用类型,且 Option Strict On 不允许假定“Object”。 - - - - Cannot infer a common type; 'Object' assumed. - 无法推断通用类型;假定为“Object”。 - - - - Cannot infer a common type - 无法推断通用类型 - - - - Cannot infer a common type. - 无法推断通用类型。 - - - - Error extracting public key from file '{0}': {1} - 从文件“{0}”中提取公钥时出错: {1} - - - - Error extracting public key from container '{0}': {1} - 从容器“{0}”中提取公钥时出错: {1} - - - - Friend access was granted by '{0}', but the public key of the output assembly does not match that specified by the attribute in the granting assembly. - 友元访问权限由“{0}”授予,但是输出程序集的公钥与授予程序集中特性指定的公钥不匹配。 - - - - Friend access was granted by '{0}', but the strong name signing state of the output assembly does not match that of the granting assembly. - 友元访问权限由“{0}”授予,但是输出程序集的强名称签名状态与授予程序集的强名称签名状态不匹配。 - - - - Public sign was specified and requires a public key, but no public key was specified - 已指定公共符号并且它需要一个公钥,但未指定任何公钥 - - - - Public signing is not supported for netmodules. - netmodule 不支持公共签名。 - - - - Attribute '{0}' is ignored when public signing is specified. - 指定公共签名时,将忽略特性“{0}”。 - - - - Attribute is ignored when public signing is specified. - 指定公共签名时,将忽略特性。 - - - - Delay signing was specified and requires a public key, but no public key was specified. - 指定了延迟签名,这需要公钥,但是未指定任何公钥。 - - - - Delay signing was specified and requires a public key, but no public key was specified - 指定了延迟签名,这需要公钥,但是未指定任何公钥 - - - - Key file '{0}' is missing the private key needed for signing. - 密钥文件“{0}”缺少进行签名所需的私钥。 - - - - Error signing assembly '{0}': {1} - 对程序集“{0}”签名时出错: {1} - - - - The specified version string does not conform to the required format - major[.minor[.build|*[.revision|*]]] - 指定的版本字符串不符合所需格式 - major[.minor[.build|*[.revision|*]]] - - - - The specified version string does not conform to the recommended format - major.minor.build.revision - 指定版本字符串不符合建议格式 - major.minor.build.revision - - - - The specified version string does not conform to the recommended format - 指定的版本字符串不符合建议的格式 - - - - The specified version string does not conform to the recommended format - major.minor.build.revision - 指定版本字符串不符合建议格式 - major.minor.build.revision - - - - Executables cannot be satellite assemblies; culture should always be empty - 可执行文件不能是附属程序集;区域性应始终为空 - - - - The entry point of the program is global script code; ignoring '{0}' entry point. - 程序的入口点是全局脚本代码;正在忽略“{0}”入口点。 - - - - The entry point of the program is global script code; ignoring entry point - 程序的入口点是全局脚本代码;正在忽略入口点 - - - - The xmlns attribute has special meaning and should not be written with a prefix. - xmlns 特性具有特殊含义,不应使用前缀进行编写。 - - - - The xmlns attribute has special meaning and should not be written with a prefix - xmlns 特性具有特殊含义,不应使用前缀进行编写 - - - - It is not recommended to have attributes named xmlns. Did you mean to write 'xmlns:{0}' to define a prefix named '{0}'? - 建议不要将特性命名为 xmlns。是否有意编写“xmlns:{0}”以定义名为“{0}”的前缀? - - - - It is not recommended to have attributes named xmlns - 不建议拥有名为 xmlns 的属性 - - - - Expected a single script (.vbx file) - 需要一个脚本 (.vbx 文件) - - - - The assembly name '{0}' is reserved and cannot be used as a reference in an interactive session - 程序集名“{0}”保留名称,不能在交互会话中用作引用 - - - - #R is only allowed in scripts - 仅在脚本中允许 #R - - - - You cannot declare Namespace in script code - 不能在脚本代码中声明命名空间 - - - - You cannot use '{0}' in top-level script code - 您不能使用顶级脚本代码中的“{0}” - - - - Cannot infer a return type. Consider adding an 'As' clause to specify the return type. - 无法推断返回类型。请考虑添加一个“As”子句来指定返回类型。 - - - - Cannot infer a return type; 'Object' assumed. - 无法推断返回类型;假定为 "Object"。 - - - - Cannot infer a return type - 无法推断返回类型 - - - - Cannot infer a return type because more than one type is possible; 'Object' assumed. - 无法推断返回类型,因为可能存在多个类型;假定为 "Object"。 - - - - Cannot infer a return type because more than one type is possible - 无法推断返回类型,原因是可能存在多个类型 - - - - Cannot infer a return type. Consider adding an 'As' clause to specify the return type. - 无法推断返回类型。请考虑添加一个 "As" 子句来指定返回类型。 - - - - Cannot infer a return type because more than one type is possible. Consider adding an 'As' clause to specify the return type. - 无法推断返回类型,因为可能存在多个类型。请考虑添加一个 "As" 子句来指定返回类型。 - - - - The command line switch '{0}' is not yet implemented and was ignored. - 命令行开关“{0}”尚未实现,已忽略。 - - - - Command line switch is not yet implemented - 命令行开关尚未实现 - - - - Cannot infer an element type, and Option Strict On does not allow 'Object' to be assumed. Specifying the type of the array might correct this error. - 无法推断元素类型,且 Option Strict On 不允许假定 "Object"。指定数组的类型可更正此错误。 - - - - Cannot infer an element type. Specifying the type of the array might correct this error. - 无法推断元素类型。指定数组的类型可更正此错误。 - - - - Cannot infer an element type because more than one type is possible. Specifying the type of the array might correct this error. - 无法推断元素类型,因为可能存在多个类型。指定数组的类型可更正此错误。 - - - - Cannot infer an element type; 'Object' assumed. - 无法推断元素类型;假定为 "Object"。 - - - - Cannot infer an element type - 无法推断元素类型 - - - - Cannot infer an element type because more than one type is possible; 'Object' assumed. - 无法推断元素类型,因为可能存在多个类型;假定为 "Object"。 - - - - Cannot infer an element type because more than one type is possible - 无法推断元素类型,原因是可能存在多个类型 - - - - Data type of '{0}' in '{1}' could not be inferred. '{2}' assumed. - 未能推断“{1}”中“{0}”的数据类型。假定为“{2}”。 - - - - Data type could not be inferred - 无法推断数据类型 - - - - Option Strict On does not allow implicit conversions from '{0}' to '{1}' because the conversion is ambiguous. - Option Strict 不允许进行“{0}”到“{1}”的隐式转换,因为转换不明确。 - - - - Conversion from '{0}' to '{1}' may be ambiguous. - 从“{0}”到“{1}”的转换可能不明确。 - - - - Conversion may be ambiguous - 转换可能不明确 - - - - '{0}' cannot be converted to '{1}'. Consider using '{2}' instead. - '“{0}”不能转换为“{1}”。考虑改用“{2}”。 - - - - '{0}' cannot be converted to '{1}'. Consider using '{2}' instead. - '“{0}”不能转换为“{1}”。考虑改用“{2}”。 - - - - Type cannot be converted to target collection type - 无法将类型转换为目标集合类型 - - - - '{4}' cannot be converted to '{5}' because '{0}' is not derived from '{1}', as required for the 'In' generic parameter '{2}' in '{3}'. - '“{4}”不能转换为“{5}”,因为根据“{3}”中“In”泛型形参“{2}”的需要,“{0}”不是从“{1}”派生的。 - - - - '{4}' cannot be converted to '{5}' because '{0}' is not derived from '{1}', as required for the 'Out' generic parameter '{2}' in '{3}'. - '“{4}”不能转换为“{5}”,因为根据“{3}”中“Out”泛型形参“{2}”的需要,“{0}”不是从“{1}”派生的。 - - - - Implicit conversion from '{4}' to '{5}'; this conversion may fail because '{0}' is not derived from '{1}', as required for the 'In' generic parameter '{2}' in '{3}'. - 从“{4}”到“{5}”的隐式转换;此转换可能失败,因为根据“{3}”中“In”泛型形参“{2}”的需要,“{0}”不是从“{1}”派生的。 - - - - Implicit conversion; this conversion may fail because the target type is not derived from the source type, as required for 'In' generic parameter - 隐式转换;此转换可能失败,原因是目标类型不是从源类型派生的,而这是 "In" 泛型参数所必需的 - - - - Implicit conversion from '{4}' to '{5}'; this conversion may fail because '{0}' is not derived from '{1}', as required for the 'Out' generic parameter '{2}' in '{3}'. - 从“{4}”到“{5}”的隐式转换;此转换可能失败,因为根据“{3}”中“Out”泛型形参“{2}”的需要,“{0}”不是从“{1}”派生的。 - - - - Implicit conversion; this conversion may fail because the target type is not derived from the source type, as required for 'Out' generic parameter - 隐式转换;此转换可能失败,原因是目标类型不是从源类型派生的,而这是 "Out" 泛型参数所必需的 - - - - '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an In type parameter, 'In {2}'. - '“{0}”不能转换为“{1}”。考虑在“{3}”的定义中将“{2}”改为 In 类型参数“In {2}”。 - - - - '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an Out type parameter, 'Out {2}'. - '“{0}”不能转换为“{1}”。考虑在“{3}”的定义中将“{2}”改为 Out 类型参数“Out {2}”。 - - - - '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an In type parameter, 'In {2}'. - '“{0}”不能转换为“{1}”。考虑在“{3}”的定义中将“{2}”改为 In 类型参数“In {2}”。 - - - - Type cannot be converted to target type - 无法将类型转换为目标类型 - - - - '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an Out type parameter, 'Out {2}'. - '“{0}”不能转换为“{1}”。考虑在“{3}”的定义中将“{2}”改为 Out 类型参数“Out {2}”。 - - - - Type cannot be converted to target type - 无法将类型转换为目标类型 - - - - Interface '{0}' is ambiguous with another implemented interface '{1}' due to the 'In' and 'Out' parameters in '{2}'. - “{2}”中的“In”和“Out”参数导致接口“{0}”与另一个已实现的接口“{1}”一起使用时目的不明确。 - - - - Interface is ambiguous with another implemented interface due to 'In' and 'Out' parameters - 接口对于另一个实现的接口不明确,原因在于 "In" 和 "Out" 参数 - - - - Enumerations, classes, and structures cannot be declared in an interface that has an 'In' or 'Out' type parameter. - 无法在含有 "In" 或 "Out" 类型参数的接口中声明枚举、类和结构。 - - - - Event definitions with parameters are not allowed in an interface such as '{0}' that has 'In' or 'Out' type parameters. Consider declaring the event by using a delegate type which is not defined within '{0}'. For example, 'Event {1} As Action(Of ...)'. - 在“{0}”这样的含有“In”或“Out”类型参数的接口中,不允许带参数的事件定义。考虑使用不在“{0}”中定义的委托类型来声明事件。例如,“Event {1} As Action(Of ...)”。 - - - - Type '{0}' cannot be used in this context because 'In' and 'Out' type parameters cannot be used for ByRef parameter types, and '{0}' is an 'In' type parameter. - 类型“{0}”不能用于此上下文,因为“In”和“Out”类型参数不能用于 ByRef 参数类型,且“{0}”是“In”类型参数。 - - - - Type '{0}' cannot be used in '{1}' because 'In' and 'Out' type parameters cannot be made nullable, and '{0}' is an 'In' type parameter. - 类型“{0}”不能用于“{1}”,因为“In”和“Out”类型参数不能设置为可以为 null,并且“{0}”是“In”类型参数。 - - - - Type '{0}' cannot be used in this context because '{0}' is an 'In' type parameter. - 类型“{0}”不能用于此上下文,因为“{0}”是“In”类型参数。 - - - - Type '{0}' cannot be used for the '{1}' in '{2}' in this context because '{0}' is an 'In' type parameter. - 在此上下文中,类型“{0}”不能用于“{2}”中的“{1}”,因为“{0}”是“In”类型参数。 - - - - Type '{0}' cannot be used in '{1}' in this context because '{0}' is an 'In' type parameter. - 在此上下文中,类型“{0}”不能用于“{1}”,因为“{0}”是“In”类型参数。 - - - - Type '{0}' cannot be used for the '{2}' of '{3}' in '{1}' in this context because '{0}' is an 'In' type parameter. - 在此上下文中,类型“{0}”不能用于“{1}”中“{3}”的“{2}”,因为“{0}”是“In”类型参数。 - - - - Type '{0}' cannot be used as a property type in this context because '{0}' is an 'In' type parameter and the property is not marked WriteOnly. - 在此上下文中,类型“{0}”不能用作属性类型,因为“{0}”是“In”类型参数,且该属性未标记为 WriteOnly。 - - - - Type '{0}' cannot be used as a ReadOnly property type because '{0}' is an 'In' type parameter. - 类型“{0}”不能用作 ReadOnly 属性类型,因为“{0}”是“In”类型参数。 - - - - Type '{0}' cannot be used as a return type because '{0}' is an 'In' type parameter. - 类型“{0}”不能用作返回类型,因为“{0}”是“In”类型参数。 - - - - Type '{0}' cannot be used in this context because 'In' and 'Out' type parameters cannot be used for ByRef parameter types, and '{0}' is an 'Out' type parameter. - 类型“{0}”不能用于此上下文,因为“In”和“Out”类型参数不能用于 ByRef 参数类型,且“{0}”是“Out”类型参数。 - - - - Type '{0}' cannot be used as a ByVal parameter type because '{0}' is an 'Out' type parameter. - 类型“{0}”不能用作 ByVal 参数类型,因为“{0}”是“Out”类型参数。 - - - - Type '{0}' cannot be used as a generic type constraint because '{0}' is an 'Out' type parameter. - 类型“{0}”不能用作泛型类型约束,因为“{0}”是“Out”类型参数。 - - - - Type '{0}' cannot be used in '{1}' because 'In' and 'Out' type parameters cannot be made nullable, and '{0}' is an 'Out' type parameter. - 类型“{0}”不能用于“{1}”,因为“In”和“Out”类型参数不能设置为可以为 null,并且“{0}”是“Out”类型参数。 - - - - Type '{0}' cannot be used in this context because '{0}' is an 'Out' type parameter. - 类型“{0}”不能用于此上下文,因为“{0}”是“Out”类型参数。 - - - - Type '{0}' cannot be used for the '{1}' in '{2}' in this context because '{0}' is an 'Out' type parameter. - 在此上下文中,类型“{0}”不能用于“{2}”中的“{1}”,因为“{0}”是“Out”类型参数。 - - - - Type '{0}' cannot be used in '{1}' in this context because '{0}' is an 'Out' type parameter. - 在此上下文中,类型“{0}”不能用于“{1}”,因为“{0}”是“Out”类型参数。 - - - - Type '{0}' cannot be used for the '{2}' of '{3}' in '{1}' in this context because '{0}' is an 'Out' type parameter. - 在此上下文中,类型“{0}”不能用于“{1}”中“{3}”的“{2}”,因为“{0}”是“Out”类型参数。 - - - - Type '{0}' cannot be used as a property type in this context because '{0}' is an 'Out' type parameter and the property is not marked ReadOnly. - 在此上下文中,类型“{0}”不能用作属性类型,因为“{0}”是“Out”类型参数,且该属性未标记为 ReadOnly。 - - - - Type '{0}' cannot be used as a WriteOnly property type because '{0}' is an 'Out' type parameter. - 类型“{0}”不能用作 ReadOnly 属性类型,因为“{0}”是“Out”类型参数。 - - - - Type '{0}' cannot be used in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'. - 类型“{0}”不能用于此上下文,因为此上下文和“{0}”的定义均嵌套在接口“{1}”内,而“{1}”含有“In”或“Out”类型参数。考虑将“{0}”的定义移出“{1}”。 - - - - Type '{0}' cannot be used for the '{2}' in '{3}' in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'. - 类型“{0}”不能在此上下文中用于“{3}”中的“{2}”,因为此上下文和“{0}”的定义均嵌套在接口“{1}”内,而“{1}”含有“In”或“Out”类型参数。考虑将“{0}”的定义移出“{1}”。 - - - - Type '{0}' cannot be used in '{2}' in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'. - 类型“{0}”不能在此上下文用于“{2}”,因为此上下文和“{0}”的定义均嵌套在接口“{1}”内,而“{1}”含有“In”或“Out”类型参数。考虑将“{0}”的定义移出“{1}”。 - - - - Type '{0}' cannot be used for the '{3}' of '{4}' in '{2}' in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'. - 类型“{0}”不能在此上下文中用于“{2}”中“{4}”的“{3}”,因为此上下文和“{0}”的定义均嵌套在接口“{1}”内,而“{1}”含有“In”或“Out”类型参数。考虑将“{0}”的定义移出“{1}”。 - - - - Parameter not valid for the specified unmanaged type. - 参数对于指定非托管类型无效。 - - - - Unmanaged type '{0}' not valid for fields. - 非托管类型“{0}”对于字段无效。 - - - - Unmanaged type '{0}' is only valid for fields. - 非托管类型“{0}”仅对字段有效。 - - - - Attribute parameter '{0}' must be specified. - 必须指定特性参数“{0}”。 - - - - Attribute parameter '{0}' or '{1}' must be specified. - 必须指定特性参数“{0}”或“{1}”。 - - - - Conflicts with '{0}', which is implicitly declared for '{1}' in {2} '{3}'. - 与为 {2}“{3}”中的“{1}”隐式声明的“{0}”冲突。 - - - - <project settings> - <项目设置> - - - - Attributes applied on a return type of a WriteOnly Property have no effect. - 应用于 WriteOnly 属性的返回类型的特性不起作用。 - - - - Attributes applied on a return type of a WriteOnly Property have no effect - 应用于 WriteOnly 属性的返回类型的特性不起作用 - - - - Security attribute '{0}' is not valid on this declaration type. Security attributes are only valid on assembly, type and method declarations. - 安全特性“{0}”对此声明类型无效。安全特性仅对程序集、类型和方法声明有效。 - - - - Cannot find the interop type that matches the embedded type '{0}'. Are you missing an assembly reference? - 找不到与嵌入的类型“{0}”匹配的互操作类型。是否缺少程序集引用? - - - - Reference to class '{0}' is not allowed when its assembly is configured to embed interop types. - 当类“{0}”的程序集配置为嵌入互操作类型时,不允许使用对该类的引用。 - - - - Embedded interop structure '{0}' can contain only public instance fields. - 嵌入的互操作结构“{0}”只能包含公共实例字段。 - - - - Interop type '{0}' cannot be embedded because it is missing the required '{1}' attribute. - 无法嵌入互操作类型“{0}”,因为它缺少必需的“{1}”特性。 - - - - Cannot embed interop types from assembly '{0}' because it is missing the '{1}' attribute. - 无法嵌入来自程序集“{0}”的互操作类型,因为它缺少“{1}”特性。 - - - - Cannot embed interop type '{0}' found in both assembly '{1}' and '{2}'. Consider disabling the embedding of interop types. - 无法嵌入程序集“{1}”和“{2}”中找到的互操作类型“{0}”。请考虑禁用互操作类型的嵌入。 - - - - Cannot embed interop types from assembly '{0}' because it is missing either the '{1}' attribute or the '{2}' attribute. - 无法嵌入来自程序集“{0}”的互操作类型,因为它缺少“{1}”特性或“{2}”特性。 - - - - Interface '{0}' has an invalid source interface which is required to embed event '{1}'. - 接口“{0}”的源接口无效,该源接口是嵌入事件“{1}”所必需的。 - - - - Source interface '{0}' is missing method '{1}', which is required to embed event '{2}'. - 源接口“{0}”缺少方法“{2}”,此方法对嵌入事件“{1}”是必需的。 - - - - Nested type '{0}' cannot be embedded. - 无法嵌入嵌套类型“{0}”。 - - - - Embedding the interop type '{0}' from assembly '{1}' causes a name clash in the current assembly. Consider disabling the embedding of interop types. - 嵌入来自程序集“{1}”中的互操作类型“{0}”会导致当前程序集中发生名称冲突。请考虑禁用互操作类型的嵌入。 - - - - Embedded interop method '{0}' contains a body. - 嵌入互操作方法“{0}”包含主体。 - - - - 'Await' may only be used in a query expression within the first collection expression of the initial 'From' clause or within the collection expression of a 'Join' clause. - '"Await" 只能在初始 "From" 子句的第一个集合表达式或 "Join" 子句的集合表达式的查询表达式中使用。 - - - - 'Await' requires that the type '{0}' have a suitable GetAwaiter method. - '“Await”要求类型“{0}”包含适当的 GetAwaiter 方法。 - - - - 'Await' requires that the return type '{0}' of '{1}.GetAwaiter()' have suitable IsCompleted, OnCompleted and GetResult members, and implement INotifyCompletion or ICriticalNotifyCompletion. - '“Await”要求“{1}.GetAwaiter()”的返回类型“{0}”包含适当的 IsCompleted、OnCompleted 和 GetResult 成员,并实现 INotifyCompletion 或 ICriticalNotifyCompletion - - - - '{0}' does not implement '{1}'. - '“{0}”未实现“{1}”。 - - - - Cannot await Nothing. Consider awaiting 'Task.Yield()' instead. - 不能等待 Nothing。请考虑改为等待“Task.Yield()”。 - - - - Async methods cannot have ByRef parameters. - 异步方法不能包含 ByRef 参数。 - - - - 'Async' and 'Iterator' modifiers cannot be used together. - '“Async”和“Iterator”修饰符不能一起使用。 - - - - The implicit return variable of an Iterator or Async method cannot be accessed. - 无法访问迭代器方法或异步方法的隐式返回变量。 - - - - 'Return' statements in this Async method cannot return a value since the return type of the function is 'Task'. Consider changing the function's return type to 'Task(Of T)'. - '此异步方法中的 "Return" 语句无法返回值,因为函数的返回类型为 "Task" 。请考虑将函数的返回类型更改为 "Task(Of T)"。 - - - - Since this is an async method, the return expression must be of type '{0}' rather than 'Task(Of {0})'. - 这是一个异步方法,因此返回表达式的类型必须为“{0}”而不是“Task(Of {0})”。 - - - - The 'Async' modifier can only be used on Subs, or on Functions that return Task or Task(Of T). - 只能在 Sub 上或者在返回 Task 或 Task(Of T) 的函数上使用 "Async" 修饰符。 - - - - '{0}' does not return a Task and cannot be awaited. Consider changing it to an Async Function. - '“{0}”不返回 Task 且无法等待。请考虑将它更改为 Async Function。 - - - - 'Only the 'Async' or 'Iterator' modifier is valid on a lambda. - '仅“Async”或“Iterator”修饰符在 lambda 上有效。 - - - - 'Await' can only be used within an Async method. Consider marking this method with the 'Async' modifier and changing its return type to 'Task(Of {0})'. - '“Await”只能在异步方法中使用。请考虑使用“Async”修饰符标记此方法,并将其返回类型更改为“Task(Of {0})”。 - - - - 'Await' can only be used within an Async method. Consider marking this method with the 'Async' modifier and changing its return type to 'Task'. - '“Await”只能用于异步方法中。请考虑用“Async”修饰符标记此方法,并将其返回类型更改为“Task”。 - - - - 'Await' can only be used within an Async lambda expression. Consider marking this lambda expression with the 'Async' modifier. - '“Await”只能用于异步 lambda 表达式中。请考虑用“Async”修饰符标记此 lambda 表达式。 - - - - 'Await' can only be used when contained within a method or lambda expression marked with the 'Async' modifier. - '仅当其包含方法或 lambda 表达式用“Async”修饰符标记时,才能使用“Await”。 - - - - Statement lambdas cannot be converted to expression trees. - 语句 lambda 不能转换为表达式树。 - - - - Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the Await operator to the result of the call. - 由于此调用不会等待,因此在调用完成前将继续执行当前方法。请考虑对调用结果应用 Await 运算符。 - - - - Because this call is not awaited, execution of the current method continues before the call is completed - 由于此调用不会等待,因此在调用完成前将继续执行当前方法 - - - - Loop control variable cannot include an 'Await'. - 循环控制变量不可包含 "Await"。 - - - - Static variables cannot appear inside Async or Iterator methods. - 静态变量不能出现在异步方法或迭代器方法内。 - - - - '{0}' cannot be used as a parameter type for an Iterator or Async method. - '“{0}”不能用作 Iterator 或 Async 方法的参数类型。 - - - - Constructor must not have the 'Async' modifier. - 构造函数不得包含“Async”修饰符。 - - - - '{0}' cannot be declared 'Partial' because it has the 'Async' modifier. - '“{0}”不能声明为“Partial”,因为它具有“Async”修饰符。 - - - - 'On Error' and 'Resume' cannot appear inside async or iterator methods. - '"On Error" 和 "Resume" 不能出现在异步方法或迭代器方法内。 - - - - Lambdas with the 'Async' or 'Iterator' modifiers cannot be converted to expression trees. - 无法将带 "Async" 或 "Iterator" 修饰符的 lambda 转换为表达式树。 - - - - Variable of restricted type '{0}' cannot be declared in an Async or Iterator method. - 不能在异步方法或迭代器方法中声明受限类型“{0}”的变量。 - - - - 'Await' cannot be used inside a 'Catch' statement, a 'Finally' statement, or a 'SyncLock' statement. - '不能在“Catch”语句、“Finally”语句或“SyncLock”语句内使用“Await”。 - - - - This async method lacks 'Await' operators and so will run synchronously. Consider using the 'Await' operator to await non-blocking API calls, or 'Await Task.Run(...)' to do CPU-bound work on a background thread. - 此异步方法缺少 "Await" 运算符,因此它将同步运行。请考虑使用 "Await" 运算符等待非阻止 API 调用,或使用 "Await Task.Run(...)" 利用后台线程执行占用大量 CPU 的工作。 - - - - This async method lacks 'Await' operators and so will run synchronously - 此异步方法缺少 "Await" 运算符,因此将以同步方式运行 - - - - The Task returned from this Async Function will be dropped, and any exceptions in it ignored. Consider changing it to an Async Sub so its exceptions are propagated. - 从此 Async Function 返回的任务将被删除,并且忽略其中的任何异常。考虑将其更改为 Async Sub,以便传播其异常。 - - - - The Task returned from this Async Function will be dropped, and any exceptions in it ignored - 自此 Async Function 返回的任务将被丢弃,它包含的任何异常也将被忽略 - - - - Async and Iterator methods are not allowed in a [Class|Structure|Interface|Module] that has the 'SecurityCritical' or 'SecuritySafeCritical' attribute. - 在具有“SecurityCritical”或“SecuritySafeCritical”属性的 [Class|Structure|Interface|Module] 中不允许使用 Async 或 Iterator 方法。 - - - - Security attribute '{0}' cannot be applied to an Async or Iterator method. - 安全属性“{0}”不能应用于 Async 或 Iterator 方法。 - - - - 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to an Async or Iterator method. - '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于异步方法或迭代器方法。 - - - - 'MethodImplOptions.Synchronized' cannot be applied to an Async method. - '"MethodImplOptions.Synchronized" 不能应用于异步方法。 - - - - The 'Main' method cannot be marked 'Async'. - "Main" 方法不能标记为 "Async"。 - - - - Some overloads here take an Async Function rather than an Async Sub. Consider either using an Async Function, or casting this Async Sub explicitly to the desired type. - 此处某些重载使用的是 Async Function 而不是 Async Sub。请考虑使用 Async Function 或将此 Async Sub 显式强制转换为所需类型。 - - - - Some overloads here take an Async Function rather than an Async Sub - 此处的一些重载采用的是 Async Function,而不是 Async Sub - - - - MyGroupCollectionAttribute cannot be applied to itself. - MyGroupCollectionAttribute 不能应用于自身。 - - - - Literal expected. - 应为文本。 - - - - Event declarations that target WinMD must specify a delegate type. Add an As clause to the event declaration. - 面向 WinMD 的事件声明必须指定委托类型。请在事件声明中添加一个 As 子句。 - - - - Event '{0}' cannot implement a Windows Runtime event '{1}' and a regular .NET event '{2}' - 事件“{0}”无法实现 Windows 运行时事件“{1}”和常规 .NET 事件“{2}” - - - - Event '{0}' cannot implement event '{1}' on interface '{2}' because the parameters of their 'RemoveHandler' methods do not match. - 事件“{0}”无法实现接口“{2}”上的事件“{1}”,因为其“RemoveHandler”方法的参数不匹配。 - - - - The type of the 'AddHandler' method's parameter must be the same as the type of the event. - “AddHandler”方法的参数的类型必须与事件的类型相同。 - - - - In a Windows Runtime event, the type of the 'RemoveHandler' method parameter must be 'EventRegistrationToken' - 在 Windows Runtime 事件中,“RemoveHandler”方法参数的类型必须为“EventRegistrationToken” - - - - '{0}.{1}' from 'implements {2}' is already implemented by the base class '{3}'. Re-implementation of Windows Runtime Interface '{4}' is not allowed - '“实现 {2}”中的“{0}.{1}”已由基类“{3}”实现。不允许重新实现 Windows Runtime 接口“{4}” - - - - '{0}.{1}' is already implemented by the base class '{2}'. Re-implementation of Windows Runtime Interface '{3}' is not allowed - '“{0}.{1}”已由基类“{2}”实现。不允许重新实现 Windows Runtime 接口“{3}” - - - - Iterator methods cannot have ByRef parameters. - 迭代器方法不能包含 ByRef 参数。 - - - - Single-line lambdas cannot have the 'Iterator' modifier. Use a multiline lambda instead. - 单行 lambda 不能包含“Iterator”修饰符。请改用多行 lambda。 - - - - Iterator functions must return either IEnumerable(Of T), or IEnumerator(Of T), or the non-generic forms IEnumerable or IEnumerator. - 迭代器函数必须返回 IEnumerable(Of T) 或 IEnumerator(Of T),或返回非泛型格式的 IEnumerable 或 IEnumerator。 - - - - To return a value from an Iterator function, use 'Yield' rather than 'Return'. - 若要从迭代器函数返回值,请使用“Yield”而不是“Return”。 - - - - 'Yield' can only be used in a method marked with the 'Iterator' modifier. - '只能在用“Iterator”修饰符标记的方法中使用“Yield”。 - - - - 'Yield' cannot be used inside a 'Catch' statement or a 'Finally' statement. - '不能在“Catch”语句或“Finally”语句内使用“Yield”。 - - - - The AddHandler for Windows Runtime event '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement? - Windows 运行时事件“{0}”的 AddHandler 不会在所有代码路径上都返回值。是否缺少“Return”语句? - - - - The AddHandler for Windows Runtime event doesn't return a value on all code paths - Windows 运行时事件的 AddHandler 没有在所有代码路径上返回值 - - - - Optional parameter of a method '{0}' does not have the same default value as the corresponding parameter of the partial method '{1}'. - 方法“{0}”的可选参数没有与分部方法“{1}”的相应参数相同的默认值。 - - - - Parameter of a method '{0}' differs by ParamArray modifier from the corresponding parameter of the partial method '{1}'. - 方法“{0}”的参数在分部方法“{1}”的相应参数的 ParamArray 修饰符上存在差异。 - - - - Module name '{0}' stored in '{1}' must match its filename. - 存储在“{1}”中的模块名“{0}”必须与其文件名匹配。 - - - - Invalid module name: {0} - 无效的模块名称: {0} - - - - Attribute '{0}' from module '{1}' will be ignored in favor of the instance appearing in source. - 来自模块“{1}”的特性“{0}”将忽略,以便支持源中出现的实例。 - - - - Attribute from module will be ignored in favor of the instance appearing in source - 为支持源中出现的实例,将忽略模块的特性 - - - - Attribute '{0}' given in a source file conflicts with option '{1}'. - 源文件中提供的特定“{0}”与选项“{1}”冲突。 - - - - Referenced assembly '{0}' does not have a strong name. - 引用程序集“{0}”没有强名称。 - - - - Referenced assembly does not have a strong name - 引用程序集没有强名称 - - - - Invalid signature public key specified in AssemblySignatureKeyAttribute. - 在 AssemblySignatureKeyAttribute 中指定的签名公钥无效。 - - - - Type '{0}' conflicts with public type defined in added module '{1}'. - 类型“{0}”与添加的模块“{1}”中定义的公共类型冲突。 - - - - Type '{0}' exported from module '{1}' conflicts with type declared in primary module of this assembly. - 从模块“{1}”导出的类型“{0}”与此程序集主模块中声明的类型冲突。 - - - - Type '{0}' exported from module '{1}' conflicts with type '{2}' exported from module '{3}'. - 从模块“{1}”导出的类型“{0}”与从模块“{3}”导出的类型“{2}”冲突。 - - - - Referenced assembly '{0}' has different culture setting of '{1}'. - 引用程序集“{0}”具有不同区域性设置“{1}”。 - - - - Referenced assembly has different culture setting - 引用程序集具有不同区域性设置 - - - - Agnostic assembly cannot have a processor specific module '{0}'. - 不可知的程序集不能具有特定于处理器的模块“{0}”。 - - - - Assembly and module '{0}' cannot target different processors. - 程序集和模块“{0}”不能以不同处理器为目标。 - - - - Referenced assembly '{0}' targets a different processor. - 引用程序集“{0}”面向的是另一个处理器。 - - - - Referenced assembly targets a different processor - 引用程序集面向的是另一个处理器 - - - - Cryptographic failure while creating hashes. - 创建哈希时加密失败。 - - - - Conflicting options specified: Win32 resource file; Win32 manifest. - 指定的选项冲突: Win32 资源文件;Win32 清单。 - - - - Forwarded type '{0}' conflicts with type declared in primary module of this assembly. - 转发的类型“{0}”与此程序集主模块中声明的类型冲突。 - - - - Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' forwarded to assembly '{3}'. - 转发到程序集“{1}”的类型“{0}”与转发到程序集“{3}”的类型“{2}”冲突。 - - - - Name '{0}' exceeds the maximum length allowed in metadata. - 名称“{0}”超出元数据中允许的最大长度。 - - - - Reference to '{0}' netmodule missing. - 缺少对“{0}”netmodule 的引用。 - - - - Module '{0}' is already defined in this assembly. Each module must have a unique filename. - 模块“{0}”已在此程序集中定义。每个模块必须具有唯一的文件名。 - - - - Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' exported from module '{3}'. - 转发到程序集“{1}”的类型“{0}”与从模块“{3}”导出的类型“{2}”冲突。 - - - - Adding assembly reference '{0}' - 正在添加程序集引用“{0}” - - - - Adding embedded assembly reference '{0}' - 正在添加嵌入程序集引用“{0}” - - - - Adding module reference '{0}' - 正在添加模块引用“{0}” - - - - Type '{0}' does not inherit the generic type parameters of its container. - 类型“{0}”不继承其容器的泛型类型参数。 - - - - Failure writing debug information: {0} - 写入调试信息失败: {0} - - - - The parameter has multiple distinct default values. - 参数具有多个不同的默认值。 - - - - The field has multiple distinct constant values. - 字段具有多个不同的常量值。 - - - - Cannot continue since the edit includes a reference to an embedded type: '{0}'. - 无法继续,因为编辑包括对嵌入类型的引用:“{0}”。 - - - - Member '{0}' added during the current debug session can only be accessed from within its declaring assembly '{1}'. - 在当前调试会话期间添加的成员“{0}”只能从其声明的程序集“{1}”中访问。 - - - - '{0}' is an unsupported .NET module. - '“{0}”是不受支持的 .NET 模块。 - - - - '{0}' is an unsupported event. - '“{0}”是不受支持的事件。 - - - - Properties can not have type arguments - 属性不能具有类型参数 - - - - IdentifierSyntax not within syntax tree - IdentifierSyntax 不在语法树中 - - - - AnonymousObjectCreationExpressionSyntax not within syntax tree - AnonymousObjectCreationExpressionSyntax 未在语法树内 - - - - FieldInitializerSyntax not within syntax tree - FieldInitializerSyntax 不在语法树中 - - - - The system cannot find the path specified - 系统无法找到指定路径 - - - - There are no pointer types in VB. - VB 中没有任何指针属性。 - - - - There is no dynamic type in VB. - VB 中没有任何动态类型。 - - - - variableSyntax not within syntax tree - variableSyntax 不在语法树中 - - - - AggregateSyntax not within syntax tree - AggregateSyntax 未在语法树内 - - - - FunctionSyntax not within syntax tree - FunctionSyntax 不在语法树中 - - - - Position is not within syntax tree - 位置不在语法树中 - - - - RangeVariableSyntax not within syntax tree - RangeVariableSyntax 不在语法树中 - - - - DeclarationSyntax not within syntax tree - DeclarationSyntax 未在语法树内 - - - - StatementOrExpression is not an ExecutableStatementSyntax or an ExpressionSyntax - StatementOrExpression 不是 ExecutableStatementSyntax 或 ExpressionSyntax - - - - DeclarationSyntax not within tree - DeclarationSyntax 未在树内 - - - - TypeParameter not within tree - TypeParameter 不在树中 - - - - not within tree - 不在树中 - - - - Location must be provided in order to provide minimal type qualification. - 必须提供位置才能提供最低程度的类型限定。 - - - - SemanticModel must be provided in order to provide minimal type qualification. - 必须提供 SemanticModel 才能提供最低程度的类型限定。 - - - - the number of type parameters and arguments should be the same - 类型形参和实参的数量应相同 - - - - Cannot link resource files when building a module - 生成模块时,无法链接资源文件 - - - - Not a VB symbol. - 不是 VB 符号。 - - - - Elements cannot be null. - 元素不能为 Null。 - - - - Unused import clause. - 未使用导入子句。 - - - - Unused import statement. - 未使用导入语句。 - - - - Expected a {0} SemanticModel. - 应为 {0} SemanticModel。 - - - - Position must be within span of the syntax tree. - 位置必须处于语法树范围内。 - - - - Syntax node to be speculated cannot belong to a syntax tree from the current compilation. - 要推断的语法节点不能属于来自当前编译的语法树。 - - - - Chaining speculative semantic model is not supported. You should create a speculative model from the non-speculative ParentModel. - 不支持链接推理语义模型。应从非推理 ParentModel 创建推理模型。 - - - - Microsoft (R) Visual Basic Compiler - Microsoft (R) Visual Basic 编译器 - - - - {0} version {1} - {0} 版本 {1} - - - - Copyright (C) Microsoft Corporation. All rights reserved. - 版权所有(C) Microsoft Corporation。保留所有权利。 - - - - Supported language versions: - 支持的语言版本: - - - + Visual Basic Compiler Options - OUTPUT FILE - @@ -8396,7 +168,7 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic 编译器选项 + Visual Basic 编译器选项 - 输出文件 - -out:<file> 指定输出文件名称。 @@ -8431,13 +203,13 @@ - 资源 - -linkresource:<resinfo> 将指定文件作为外部 程序集资源进行链接。 - resinfo:<file>[,<name>[,public|private]] + resinfo:<file>[,<name>[,public|private]] (缩写: -linkres) -nowin32manifest 默认清单不应嵌入 输出 PE 的清单部分。 -resource:<resinfo> 将指定文件作为嵌入式 程序集资源进行添加。 - resinfo:<file>[,<name>[,public|private]] + resinfo:<file>[,<name>[,public|private]] (缩写: -res) -win32icon:<file> 为默认的 Win32 资源 指定 Win32 图标文件(.ico)。 @@ -8455,7 +227,7 @@ -debug:embedded 发出跨平台调试信息到 目标 .dll 或 .exe. -deterministic 生成确定性程序集 - (包括模块版本 GUID 和时间戳) + (包括模块版本 GUID 和时间戳) -refonly 生成引用程序集来替代主要输出 -instrument:TestCoverage 生成对其检测以收集覆盖率信息的t 程序集 @@ -8475,7 +247,7 @@ - 语言 - -define:<symbol_list> 声明全局条件编译 - 符号。symbol_list:name=value,... + 符号。symbol_list:name=value,... (缩写: -d) -imports:<import_list> 为引用的元数据文件中的命名空间声明 全局导入。 @@ -8510,7 +282,7 @@ (十六进制)。 -checksumalgorithm:<alg> 指定计算存储在 PDB 中的源文件校验和 的算法。支持的值是: - SHA1 (默认)或 SHA256。 + SHA1 或 SHA256 (默认)。 -codepage:<number> 指定打开源文件时要使用的 代码页。 -delaysign[+|-] 仅使用强名称密钥的公共部分 @@ -8558,6 +330,8234 @@ + + trees({0}) + 树({0}) + + + + trees({0}) must have root node with SyntaxKind.CompilationUnit. + 树({0}) 必须具有带 SyntaxKind.CompilationUnit 的根节点。 + + + + Cannot add compiler special tree + 无法添加特定于编译器的树 + + + + Syntax tree already present + 语法树已存在 + + + + Submission can have at most one syntax tree. + 提交最多可以具有一个语法树。 + + + + Cannot remove compiler special tree + 无法移除特定于编译器的树 + + + + SyntaxTree '{0}' not found to remove + 未找到要删除的 SyntaxTree“{0}”。 + + + + Tree must have a root node with SyntaxKind.CompilationUnit + 树必须具有带 SyntaxKind.CompilationUnit 的根节点 + + + + Compilation (Visual Basic): + 编译(Visual Basic): + + + + Node is not within syntax tree + 节点不在语法树中 + + + + Can't reference compilation of type '{0}' from {1} compilation. + 无法从 {1} 编译引用类型为“{0}”的编译。 + + + + position of type parameter too large + 类型参数的位置太大 + + + + Associated type does not have type parameters + 关联类型没有类型参数 + + + + function return type + 函数返回类型 + + + + Type argument cannot be Nothing + 类型参数不能是任何内容 + + + + Wrong number of type arguments + 类型参数的数目不正确 + + + + file '{0}' could not be found + 找不到文件“{0}”。 + + + + unable to open response file '{0}' + 无法打开响应文件“{0}” + + + + option '{0}' requires '{1}' + 选项“{0}”需要“{1}” + + + + option '{0}' can be followed only by '+' or '-' + 选项“{0}”后面只能跟“+”或“-” + + + + the value '{1}' is invalid for option '{0}' + 值“{1}”对选项“{0}”无效 + + + + Compilation options '{0}' and '{1}' can't both be specified at the same time. + 无法同时指定编译选项“{0}”和“{1}”。 + + + + The language name '{0}' is invalid. + 语言名“{0}”无效。 + + + + The language name for /preferreduilang is invalid + /preferreduilang 的语言名称无效 + + + + The options /vbruntime* and /target:module cannot be combined. + /vbruntime* 选项不能与 /target:module 选项组合。 + + + + Command-line syntax error: Invalid Guid format '{0}' for option '{1}' + 命令行语法错误: Guid 格式“{0}”对于选项“{1}”无效 + + + + Command-line syntax error: Missing Guid for option '{1}' + 命令行语法错误: 选项“{1}”缺少 Guid + + + + Algorithm '{0}' is not supported + 不支持算法“{0}” + + + + unrecognized option '{0}'; ignored + 无法识别的选项“{0}”;已忽略 + + + + Unrecognized command-line option + 无法识别的命令行选项 + + + + no input sources specified + 未指定输入源 + + + + source file '{0}' specified multiple times + 源文件“{0}”指定了多次 + + + + Source file specified multiple times + 多次指定源文件 + + + + can't open '{0}' for writing: {1} + 无法打开“{0}”进行写入: {1} + + + + code page '{0}' is invalid or not installed + 代码页“{0}”无效或未安装 + + + + the file '{0}' is not a text file + 文件“{0}”不是文本文件 + + + + could not find library '{0}' + 找不到库“{0}” + + + + Metadata references not supported. + 不支持元数据引用。 + + + + cannot specify both /win32icon and /win32resource + 不能同时指定 /win32icon 和 /win32resource + + + + ignoring /noconfig option because it was specified in a response file + /noconfig 选项是在响应文件中指定的,因此被忽略 + + + + Ignoring /noconfig option because it was specified in a response file + /noconfig 选项是在响应文件中指定的,因此被忽略 + + + + warning number '{0}' for the option '{1}' is either not configurable or not valid + 选项“{1}”的警告编号“{0}”不可配置或无效 + + + + Warning number is either not configurable or not valid + 警告编号不可配置或无效 + + + + cannot infer an output file name from resource only input files; provide the '/out' option + 无法从仅资源输入文件推理出输出文件名;提供“/out”选项 + + + + the /moduleassemblyname option may only be specified when building a target of type 'module' + 只有在生成“module”类型的目标时才能指定 /moduleassemblyname 选项 + + + + '{0}' is not a valid value for /moduleassemblyname + '“{0}”不是 /moduleassemblyname 的有效值。 + + + + Error embedding Win32 manifest: Option /win32manifest conflicts with /nowin32manifest. + 嵌入 Win32 清单时出错: 选项 /win32manifest 与 /nowin32manifest 冲突。 + + + + Option /win32manifest ignored. It can be specified only when the target is an assembly. + 已忽略选项 /win32manifest。只有在目标是程序集时才能指定该选项。 + + + + Option /win32manifest ignored + /win32manifest 选项已忽略 + + + + Statement is not valid in a namespace. + 语句在命名空间中无效。 + + + + Type '{0}' is not defined. + 未定义类型“{0}”。 + + + + 'Next' expected. + '应为 "Next"。 + + + + Character constant must contain exactly one character. + 字符常量必须正好包含一个字符。 + + + + Reference required to assembly '{0}' containing the definition for event '{1}'. Add one to your project. + 需要对程序集“{0}”(包含事件“{1}”的定义)的引用。请在项目中添加一个。 + + + + Reference required to module '{0}' containing the definition for event '{1}'. Add one to your project. + 需要对模块“{0}”(包含事件“{1}”的定义)的引用。请在项目中添加一个。 + + + + '#If' block must end with a matching '#End If'. + '"#If" 块必须以匹配的 "#End If" 结束。 + + + + '#ElseIf', '#Else', or '#End If' must be preceded by a matching '#If'. + '"#ElseIf"、"#Else" 或 "#End If" 前面必须是匹配的 "#If"。 + + + + '#ElseIf' must be preceded by a matching '#If' or '#ElseIf'. + '"#ElseIf" 前面必须是匹配的 "#If" 或 "#ElseIf"。 + + + + Inheriting from '{0}' is not valid. + 从“{0}”继承无效。 + + + + Labels are not valid outside methods. + 标签在方法外部无效。 + + + + Delegates cannot implement interface methods. + 委托无法实现接口方法。 + + + + Delegates cannot handle events. + 委托无法处理事件。 + + + + 'Is' operator does not accept operands of type '{0}'. Operands must be reference or nullable types. + '“Is”运算符不接受类型为“{0}”的操作数。操作数必须是引用类型或可以为 null 的类型。 + + + + 'TypeOf ... Is' requires its left operand to have a reference type, but this operand has the value type '{0}'. + '“TypeOf ... Is”要求它的左操作数具有引用类型,但此操作数具有值类型“{0}”。 + + + + Properties declared 'ReadOnly' cannot have a 'Set'. + 声明为 "ReadOnly" 的属性不能有 "Set"。 + + + + Properties declared 'WriteOnly' cannot have a 'Get'. + 声明为 "WriteOnly" 的属性不能有 "Get"。 + + + + Statement is not valid inside a method. + 语句在方法内部无效。 + + + + Statement is not valid inside '{0}' block. + 语句在“{0}”块内部无效。 + + + + Expression statement is only allowed at the end of an interactive submission. + 只允许在交互提交结尾处使用表达式语句。 + + + + Property missing 'End Property'. + Property 缺少 "End Property"。 + + + + 'End Sub' expected. + '应为 "End Sub"。 + + + + 'End Function' expected. + '应为 "End Function"。 + + + + '#Else' must be preceded by a matching '#If' or '#ElseIf'. + '"#Else" 前面必须是匹配的 "#If" 或 "#ElseIf"。 + + + + Derived classes cannot raise base class events. + 派生类不能引发基类事件。 + + + + Try must have at least one 'Catch' or a 'Finally'. + Try 必须至少有一个 "Catch" 或 "Finally"。 + + + + Events cannot have a return type. + 事件不能有返回类型。 + + + + Bracketed identifier is missing closing ']'. + 用括号标识的标识符缺少右边的 "]"。 + + + + Syntax error. + 语法错误。 + + + + Overflow. + 溢出。 + + + + Character is not valid. + 字符无效。 + + + + Option Strict On prohibits operands of type Object for operator '{0}'. + Option Strict On 禁止将 Object 类型的操作数用于运算符“{0}”。 + + + + Loop control variable cannot be a property or a late-bound indexed array. + 循环控制变量不能是属性或后期绑定索引数组。 + + + + First statement of a method body cannot be on the same line as the method declaration. + 方法体的第一条语句和方法声明不能位于同一行。 + + + + Maximum number of errors has been exceeded. + 已超出最大错误数。 + + + + '{0}' is valid only within an instance method. + '“{0}”仅在实例方法中有效。 + + + + '{0}' is not valid within a structure. + '“{0}”在结构中无效。 + + + + Attribute constructor has a parameter of type '{0}', which is not an integral, floating-point or Enum type or one of Object, Char, String, Boolean, System.Type or 1-dimensional array of these types. + 特性构造函数具有“{0}”类型的参数,此参数不是整型、浮点型或枚举类型,也不是 Object、Char、String、Boolean、System.Type 之一或这些类型的一维数组。 + + + + Method cannot have both a ParamArray and Optional parameters. + 方法不能同时具有 ParamArray 和 Optional 参数。 + + + + '{0}' statement requires an array. + '“{0}”语句需要数组。 + + + + ParamArray parameter must be an array. + ParamArray 参数必须是一个数组。 + + + + ParamArray parameter must be a one-dimensional array. + ParamArray 参数必须是一维数组。 + + + + Array exceeds the limit of 32 dimensions. + 数组超过了 32 维数限制。 + + + + Arrays cannot be declared with 'New'. + 不能用 "New" 声明数组。 + + + + Too many arguments to '{0}'. + “{0}”的参数太多。 + + + + Statements and labels are not valid between 'Select Case' and first 'Case'. + 位于 "Select Case" 与第一个 "Case" 之间的语句和标签无效。 + + + + Constant expression is required. + 要求常量表达式。 + + + + Conversion from '{0}' to '{1}' cannot occur in a constant expression. + 常量表达式中不能发生从“{0}”到“{1}”的转换。 + + + + 'Me' cannot be the target of an assignment. + '"Me" 不能作为赋值目标。 + + + + 'ReadOnly' variable cannot be the target of an assignment. + '"ReadOnly" 变量不能作为赋值目标。 + + + + 'Exit Sub' is not valid in a Function or Property. + '"Exit Sub" 在函数或属性中无效。 + + + + 'Exit Property' is not valid in a Function or Sub. + '“Exit Property”在函数或 Sub 中无效。 + + + + 'Exit Function' is not valid in a Sub or Property. + '"Exit Function" 在 Sub 或属性中无效。 + + + + Expression is a value and therefore cannot be the target of an assignment. + 表达式是一个值,因此不能作为赋值目标。 + + + + For loop control variable '{0}' already in use by an enclosing For loop. + For 循环控制变量“{0}”已由封闭 For 循环使用。 + + + + Next control variable does not match For loop control variable '{0}'. + Next 控制变量与 For 循环控制变量“{0}”不匹配。 + + + + 'Case Else' can only appear inside a 'Select Case' statement. + '“Case Else”只能出现在“Select Case”语句内。 + + + + 'Case' can only appear inside a 'Select Case' statement. + '“Case”只能出现在“Select Case”语句内。 + + + + Constant cannot be the target of an assignment. + 常量不能作为赋值目标。 + + + + Named arguments are not valid as array subscripts. + 命名参数作为数组下标无效。 + + + + 'If' must end with a matching 'End If'. + '“If”必须以匹配的“End If”结束。 + + + + 'While' must end with a matching 'End While'. + '“While”必须以匹配的“End While”结束。 + + + + 'Do' must end with a matching 'Loop'. + '"Do" 必须以匹配的 "Loop" 结束。 + + + + 'For' must end with a matching 'Next'. + '"For" 必须以匹配的 "Next" 结束。 + + + + 'With' must end with a matching 'End With'. + '“With”必须以匹配的“End With”结束。 + + + + 'Else' must be preceded by a matching 'If' or 'ElseIf'. + '"Else" 前面必须是匹配的 "If" 或 "ElseIf"。 + + + + 'End If' must be preceded by a matching 'If'. + '"End If" 前面必须是匹配的 "If"。 + + + + 'End Select' must be preceded by a matching 'Select Case'. + '"End Select" 前面必须是匹配的 "Select Case"。 + + + + 'Exit Do' can only appear inside a 'Do' statement. + '"Exit Do" 只能出现在 "Do" 语句内。 + + + + 'End While' must be preceded by a matching 'While'. + '“End While”前面必须是匹配的“While”。 + + + + 'Loop' must be preceded by a matching 'Do'. + '"Loop" 前面必须是匹配的 "Do"。 + + + + 'Next' must be preceded by a matching 'For'. + '"Next" 前面必须是匹配的 "For"。 + + + + 'End With' must be preceded by a matching 'With'. + '“End With”前面必须是匹配的“With”。 + + + + Label '{0}' is already defined in the current method. + 当前方法中已定义了标签“{0}”。 + + + + 'Select Case' must end with a matching 'End Select'. + '“Select Case”必须以匹配的“End Select”结束。 + + + + 'Exit For' can only appear inside a 'For' statement. + '"Exit For" 只能出现在 "For" 语句内。 + + + + 'Exit While' can only appear inside a 'While' statement. + '"Exit While" 只能出现在 "While" 语句内。 + + + + 'ReadOnly' property '{0}' cannot be the target of an assignment. + '“ReadOnly”属性“{0}”不能作为赋值目标。 + + + + 'Exit Select' can only appear inside a 'Select' statement. + '"Exit Select" 只能出现在 "Select" 语句内。 + + + + Branching out of a 'Finally' is not valid. + 从“Finally”中分支无效。 + + + + '!' requires its left operand to have a type parameter, class or interface type, but this operand has the type '{0}'. + '“!”要求其左操作数具有类型参数、类或接口类型,但此操作数的类型为“{0}”。 + + + + Number of indices is less than the number of dimensions of the indexed array. + 索引数少于索引数组的维数。 + + + + Number of indices exceeds the number of dimensions of the indexed array. + 索引数超过索引数组的维数。 + + + + '{0}' is an Enum type and cannot be used as an expression. + '“{0}”是一个枚举类型,不能用作表达式。 + + + + '{0}' is a type and cannot be used as an expression. + '“{0}”是一个类型,不能用作表达式。 + + + + '{0}' is a class type and cannot be used as an expression. + '“{0}”是一个类类型,不能用作表达式。 + + + + '{0}' is a structure type and cannot be used as an expression. + '“{0}”是一个结构类型,不能用作表达式。 + + + + '{0}' is an interface type and cannot be used as an expression. + '“{0}”是一个接口类型,不能用作表达式。 + + + + '{0}' is a namespace and cannot be used as an expression. + '“{0}”是一个命名空间,不能用作表达式。 + + + + '{0}' is not a valid name and cannot be used as the root namespace name. + '“{0}”不是有效名称,不能用作根命名空间名称。 + + + + '{0}' is an XML prefix and cannot be used as an expression. Use the GetXmlNamespace operator to create a namespace object. + '“{0}”是 XML 前缀,不能用作表达式。请使用 GetXmlNamespace 运算符创建命名空间对象。 + + + + 'Inherits' can appear only once within a 'Class' statement and can only specify one class. + '"Inherits" 只能在 "Class" 语句中出现一次,并且只能指定一个类。 + + + + Property without a 'ReadOnly' or 'WriteOnly' specifier must provide both a 'Get' and a 'Set'. + 不带 "ReadOnly" 或 "WriteOnly" 说明符的属性必须同时提供 "Get" 和 "Set"。 + + + + 'WriteOnly' property must provide a 'Set'. + '"WriteOnly" 属性必须提供 "Set"。 + + + + 'ReadOnly' property must provide a 'Get'. + '"ReadOnly" 属性必须提供 "Get"。 + + + + Attribute '{0}' is not valid: Incorrect argument value. + 特性“{0}”无效: 参数值不正确。 + + + + Label '{0}' is not defined. + 未定义标签“{0}”。 + + + + Error creating Win32 resources: {0} + 创建 Win32 资源时出错: {0} + + + + Cannot create temporary file: {0} + 无法创建临时文件: {0} + + + + First statement of this 'Sub New' must be a call to 'MyBase.New' or 'MyClass.New' because base class '{0}' of '{1}' does not have an accessible 'Sub New' that can be called with no arguments. + “{1}”的基类“{0}”没有不使用参数就可以调用的可访问“Sub New”,因此该“Sub New”的第一个语句必须是对“MyBase.New”或“MyClass.New”的调用。 + + + + {0} '{1}' must implement '{2}' for interface '{3}'. + {0}“{1}”必须为接口“{3}”实现“{2}”。 + + + + Leading '.' or '!' can only appear inside a 'With' statement. + 前导“.”或“!”只能出现在“With”语句内。 + + + + Only one of 'Public', 'Private', 'Protected', 'Friend', 'Protected Friend', or 'Private Protected' can be specified. + 只能指定 "Public"、"Private"、"Protected"、"Friend"、"Protected Friend" 或 "Private Protected" 中的一个。 + + + + Only one of 'NotOverridable', 'MustOverride', or 'Overridable' can be specified. + 只能指定 "NotOverridable"、"MustOverride" 或 "Overridable" 中的一个。 + + + + Specifier is duplicated. + 说明符重复。 + + + + {0} '{1}' and {2} '{3}' conflict in {4} '{5}'. + {0}“{1}”和 {2}“{3}”在 {4}“{5}”中冲突。 + + + + Keyword does not name a type. + 关键字没有指定类型。 + + + + Specifiers valid only at the beginning of a declaration. + 说明符仅在声明的开始处有效。 + + + + Type expected. + 应为类型。 + + + + Keyword is not valid as an identifier. + 关键字作为标识符无效。 + + + + 'End Enum' must be preceded by a matching 'Enum'. + '“End Enum”前面必须是匹配的“Enum”。 + + + + 'Enum' must end with a matching 'End Enum'. + '"Enum" 必须以匹配的 "End Enum" 结束。 + + + + Declaration expected. + 应为声明。 + + + + End of parameter list expected. Cannot define parameters after a paramarray parameter. + 应为参数列表的结尾。不能在 Paramarray 参数后定义参数。 + + + + Specifiers and attributes are not valid on this statement. + 说明符和特性在此语句上无效。 + + + + Expected one of 'Dim', 'Const', 'Public', 'Private', 'Protected', 'Friend', 'Shadows', 'ReadOnly' or 'Shared'. + 应为“Dim”、“Const”、“Public”、“Private”、“Protected”、“Friend”、“Shadows”、“ReadOnly”或“Shared”中的一个。 + + + + Comma expected. + 应为逗号。 + + + + 'As' expected. + '应为 "As"。 + + + + ')' expected. + '应为 ")"。 + + + + '(' expected. + '应为“(”。 + + + + 'New' is not valid in this context. + '"New" 在此上下文中无效。 + + + + Expression expected. + 应为表达式。 + + + + 'Optional' expected. + '应为 "Optional"。 + + + + Identifier expected. + 应为标识符。 + + + + Integer constant expected. + 应为整数常量。 + + + + End of statement expected. + 应为语句结束。 + + + + 'Option' must be followed by 'Compare', 'Explicit', 'Infer', or 'Strict'. + '“Option”的后面必须跟有“Compare”、“Explicit”、“Infer”或“Strict”。 + + + + 'Option Compare' must be followed by 'Text' or 'Binary'. + '"Option Compare" 的后面必须跟有 "Text" 或 "Binary"。 + + + + 'Compare' expected. + '应为 "Compare"。 + + + + Option Strict On requires all variable declarations to have an 'As' clause. + Option Strict On 要求所有变量声明都有 "As" 子句。 + + + + Option Strict On requires all Function, Property, and Operator declarations to have an 'As' clause. + Option Strict On 要求所有函数、属性和运算符声明都有 "As" 子句。 + + + + Option Strict On requires that all method parameters have an 'As' clause. + Option Strict On 要求所有方法参数都有 "As" 子句。 + + + + Comma or ')' expected. + 应为逗号或 ")"。 + + + + 'Sub' or 'Function' expected. + '应为“Sub”或“Function”。 + + + + String constant expected. + 应为字符串常量。 + + + + 'Lib' expected. + '应为 "Lib"。 + + + + Delegate class '{0}' has no Invoke method, so an expression of this type cannot be the target of a method call. + 委托类“{0}”没有 Invoke 方法,所以此类型的表达式不能作为方法调用的目标。 + + + + 'Is' expected. + '应为 "Is"。 + + + + 'Option {0}' statement can only appear once per file. + '每个文件中只能出现一次“Option {0}”语句。 + + + + 'Inherits' not valid in Modules. + '"Inherits" 在模块中无效。 + + + + 'Implements' not valid in Modules. + '"Implements" 在模块中无效。 + + + + Implemented type must be an interface. + 已实现的类型必须是接口。 + + + + '{0}' is not valid on a constant declaration. + '“{0}”在常量声明中无效。 + + + + '{0}' is not valid on a WithEvents declaration. + '“{0}”在 WithEvents 声明中无效。 + + + + '{0}' is not valid on a member variable declaration. + '“{0}”在成员变量声明中无效。 + + + + Parameter already declared with name '{0}'. + 已用名称“{0}”声明了参数。 + + + + 'Loop' cannot have a condition if matching 'Do' has one. + '"Loop" 和匹配的 "Do" 不能同时具有条件。 + + + + Relational operator expected. + 应为关系运算符。 + + + + 'Exit' must be followed by 'Sub', 'Function', 'Property', 'Do', 'For', 'While', 'Select', or 'Try'. + '“Exit”的后面必须跟有“Sub”、“Function”、“Property”、“Do”、“For”、“While”、“Select”或“Try”。 + + + + Named argument expected. + 应为命名参数。 + + + + Named argument specifications must appear after all fixed arguments have been specified in a late bound invocation. + 命名参数规范必须出现在已在后期绑定调用中指定的所有固定参数之后。 + + + + Named argument expected. Please use language version {0} or greater to use non-trailing named arguments. + 需要命名参数。请使用语言版本 {0} 或更高版本,以使用非尾随命名参数。 + + + + '{0}' is not valid on a method declaration. + '“{0}”在方法声明中无效。 + + + + '{0}' is not valid on an event declaration. + '“{0}”在事件声明中无效。 + + + + '{0}' is not valid on a Declare. + '“{0}”在 Declare 中无效。 + + + + '{0}' is not valid on a local constant declaration. + '“{0}”在局部常量声明中无效。 + + + + '{0}' is not valid on a local variable declaration. + '“{0}”在局部变量声明中无效。 + + + + 'If', 'ElseIf', 'Else', 'Const', 'Region', 'ExternalSource', 'ExternalChecksum', 'Enable', 'Disable', 'End' or 'R' expected. + '应为“If”、“ElseIf”、“Else”、“Const”、“Region”、“ExternalSource”、“ExternalChecksum”、“Enable”、“Disable”、“End”或“R”。 + + + + '=' expected. + '应为 "="。 + + + + Type '{0}' has no constructors. + 类型“{0}”没有构造函数。 + + + + 'End Interface' must be preceded by a matching 'Interface'. + '“End Interface”前面必须是匹配的“Interface”。 + + + + 'Interface' must end with a matching 'End Interface'. + '"Interface" 必须以匹配的 "End Interface" 结束。 + + + + + '{0}' inherits from '{1}'. + + “{0}”从“{1}”继承。 + + + + + '{0}' is nested in '{1}'. + + “{0}”嵌套在“{1}”中。 + + + + Class '{0}' cannot inherit from itself: {1} + 类“{0}”不能从自身继承: {1} + + + + Classes can inherit only from other classes. + 类只能从其他类继承。 + + + + '{0}' is already declared as '{1}' in this {2}. + '“{0}”已在此 {2} 中声明为“{1}”。 + + + + '{0}' cannot override '{1}' because they have different access levels. + '“{0}”无法重写“{1}”,因为它们具有不同的访问级别。 + + + + '{0}' cannot override '{1}' because it is declared 'NotOverridable'. + '“{0}”无法重写“{1}”,因为后者已声明为“NotOverridable”。 + + + + '{0}' has multiple definitions with identical signatures. + '“{0}”具有多个带相同签名的定义。 + + + + '{0}' has multiple definitions with identical signatures with different tuple element names, including '{1}'. + '“{0}”具有多个带不同元组元素名称却有相同签名的定义,包括“{1}”。 + + + + '{0}' is not valid on an interface method declaration. + '“{0}”在接口方法声明中无效。 + + + + '{0}' is not a parameter of '{1}'. + '“{0}”不是“{1}”的参数。 + + + + '{0}' is not valid on an interface property declaration. + '“{0}”在接口属性声明中无效。 + + + + Parameter '{0}' of '{1}' already has a matching argument. + “{1}”的参数“{0}”已有匹配的参数。 + + + + '{0}' is not valid on an interface event declaration. + '“{0}”在接口事件声明中无效。 + + + + Type character '{0}' does not match declared data type '{1}'. + 类型字符“{0}”与声明的数据类型“{1}”不匹配。 + + + + 'Sub' or 'Function' expected after 'Delegate'. + '“Delegate”后面应为“Sub”或“Function”。 + + + + Enum '{0}' must contain at least one member. + 枚举“{0}”必须至少包含一个成员。 + + + + Constructor call is valid only as the first statement in an instance constructor. + 构造函数调用仅作为实例构造函数中的第一条语句有效。 + + + + 'Sub New' cannot be declared 'Overrides'. + '“Sub New”不能声明为“Overrides”。 + + + + 'Sub New' cannot be declared 'Partial'. + '“Sub New”不能声明为“Partial”。 + + + + Failed to emit module '{0}'. + 未能发出模块“{0}”。 + + + + Cannot update '{0}'; attribute '{1}' is missing. + 无法更新“{0}”;特性“{1}”缺失。 + + + + {0} '{1}' cannot be declared 'Overrides' because it does not override a {0} in a base class. + {0}“{1}”不能声明为“Overrides”,因为它不重写基类中的 {0}。 + + + + '.' expected. + '应为“.”。 + + + + Local variable '{0}' is already declared in the current block. + 当前块中已声明了局部变量“{0}”。 + + + + Statement cannot appear within a method body. End of method assumed. + 语句不能出现在方法体内。假定为方法末尾。 + + + + Local variable cannot have the same name as the function containing it. + 局部变量不能与包含它的函数同名。 + + + + + '{0}' contains '{1}' (variable '{2}'). + + “{0}”包含“{1}”(变量“{2}”)。 + + + + Structure '{0}' cannot contain an instance of itself: {1} + 结构“{0}”不能包含自身的实例: {1} + + + + Interface '{0}' cannot inherit from itself: {1} + 接口“{0}”不能从自身继承: {1} + + + + + '{0}' calls '{1}'. + + “{0}”调用“{1}”。 + + + + Constructor '{0}' cannot call itself: {1} + 构造函数“{0}”不能调用自身: {1} + + + + '{0}' cannot inherit from {2} '{1}' because '{1}' is declared 'NotInheritable'. + '“{1}”已声明为“NotInheritable”,因此“{0}”无法从 {2}“{1}”继承。 + + + + '{0}' and '{1}' cannot overload each other because they differ only by optional parameters. + '“{0}” 和“{1}”的差异仅在于可选参数,因此它们无法重载对方。 + + + + '{0}' and '{1}' cannot overload each other because they differ only by return types. + '“{0}”和“{1}”的差异仅在于返回类型,因此它们无法重载对方。 + + + + Type character '{0}' cannot be used in a declaration with an explicit type. + 在具有显式类型的声明中不能使用类型字符“{0}”。 + + + + Type character cannot be used in a 'Sub' declaration because a 'Sub' doesn't return a value. + "Sub" 不返回值,因此在 "Sub" 声明中不能使用类型字符。 + + + + '{0}' and '{1}' cannot overload each other because they differ only by the default values of optional parameters. + '“{0}”和“{1}”的差异仅在于可选参数的默认值,因此它们无法重载对方。 + + + + Array subscript expression missing. + 缺少数组下标表达式。 + + + + '{0}' cannot override '{1}' because they differ by the default values of optional parameters. + '“{0}”无法重写“{1}”,因为它们在可选参数的默认值上存在差异。 + + + + '{0}' cannot override '{1}' because they differ by optional parameters. + '“{0}”无法重写“{1}”,因为它们在可选参数上存在差异。 + + + + Cannot refer to '{0}' because it is a member of the value-typed field '{1}' of class '{2}' which has 'System.MarshalByRefObject' as a base class. + “{0}”,是使用“System.MarshalByRefObject”作为基类的类“{2}”的值类型字段“{1}”的成员,无法引用。 + + + + Value of type '{0}' cannot be converted to '{1}'. + 类型“{0}”的值无法转换为“{1}”。 + + + + 'Case' cannot follow a 'Case Else' in the same 'Select' statement. + '在同一“Select”语句中,“Case”不能位于“Case Else”之后。 + + + + Value of type '{0}' cannot be converted to '{1}' because '{2}' is not derived from '{3}'. + 类型“{0}”的值无法转换为“{1}”,因为“{2}”不是从“{3}”派生的。 + + + + Value of type '{0}' cannot be converted to '{1}' because '{2}' is not a reference type. + 类型“{0}”的值无法转换为“{1}”,因为“{2}”不是引用类型。 + + + + 'For' loop control variable cannot be of type '{0}' because the type does not support the required operators. + '“For”循环控制变量的类型不能是“{0}”,因为该类型不支持所需的运算符。 + + + + '{0}' and '{1}' cannot overload each other because they differ only by parameters declared 'ByRef' or 'ByVal'. + '“{0}”和“{1}”的差异仅在于声明为“ByRef”或“ByVal”的参数,因此它们无法重载对方。 + + + + Interface can inherit only from another interface. + 接口只能从其他接口继承。 + + + + 'Inherits' statements must precede all declarations in an interface. + '“Inherits”语句必须位于接口中的所有声明之前。 + + + + 'Default' can be applied to only one property name in a {0}. + '“Default”只可应用于“{0}”中的一个属性名称。 + + + + '{0}' and '{1}' cannot overload each other because only one is declared 'Default'. + '“{0}”和“{1}”中只有一个声明为“Default”,因此它们无法相互重载。 + + + + '{0}' cannot override '{1}' because they differ by 'ReadOnly' or 'WriteOnly'. + '“{0}”无法重写“{1}”,因为它们在是“ReadOnly”还是“WriteOnly”上不同。 + + + + 'Sub New' cannot be declared in an interface. + '"Sub New" 不能在接口中声明。 + + + + 'Sub New' cannot be declared '{0}'. + '“Sub New”不能声明为“{0}”。 + + + + '{0}' and '{1}' cannot overload each other because they differ only by 'ReadOnly' or 'WriteOnly'. + '“{0}” 和“{1}”的差异仅在于“ReadOnly”和“WriteOnly”,因此它们无法重载对方。 + + + + Class '{0}' cannot be indexed because it has no default property. + 无法为类“{0}”编制索引,因为它没有默认属性。 + + + + '{0}' and '{1}' cannot overload each other because they differ only by parameters declared 'ParamArray'. + '“{0}”和“{1}”的差异仅在于声明为“ParamArray”的参数,因此它们无法重载对方。 + + + + Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class. + 没有类的显式实例,就无法从共享方法或共享成员初始值设定项中引用该类的实例成员。 + + + + '}' expected. + '应为 "}"。 + + + + Module '{0}' cannot be used as a type. + 模块“{0}”不能用作类型。 + + + + 'New' cannot be used on an interface. + '"New"不能在接口上使用。 + + + + 'Catch' cannot appear after 'Finally' within a 'Try' statement. + '在“Try”语句中,“Catch”不能出现在“Finally”之后。 + + + + 'Catch' cannot appear outside a 'Try' statement. + '“Catch”不能出现在“Try”语句之外。 + + + + 'Finally' can only appear once in a 'Try' statement. + '“Finally”只能在“Try”语句中出现一次。 + + + + 'Finally' cannot appear outside a 'Try' statement. + '“Finally”不能出现在“Try”语句之外。 + + + + 'End Try' must be preceded by a matching 'Try'. + '“End Try”前面必须是匹配的“Try”。 + + + + 'Try' must end with a matching 'End Try'. + '“Try”必须以匹配的“End Try”结束。 + + + + '{0}' is not valid on a Delegate declaration. + '“{0}”在委托声明中无效。 + + + + Class '{0}' must declare a 'Sub New' because its base class '{1}' does not have an accessible 'Sub New' that can be called with no arguments. + 类“{0}”必须声明一个“Sub New”,原因是它的基类“{1}”没有不使用参数就可以调用的可访问“Sub New”。 + + + + '{0}' is not accessible in this context because it is '{1}'. + '“{0}”是“{1}”,因此它在此上下文中不可访问。 + + + + '{0}.{1}' is not accessible in this context because it is '{2}'. + '“{0}.{1}”是“{2}” ,因此它在此上下文中不可访问。 + + + + 'Catch' cannot catch type '{0}' because it is not 'System.Exception' or a class that inherits from 'System.Exception'. + '“Catch”无法捕捉类型“{0}”,因为该类型既不是“System.Exception”也不是从“System.Exception”继承的类。 + + + + 'Exit Try' can only appear inside a 'Try' statement. + '"Exit Try" 只能出现在 "Try" 语句内。 + + + + '{0}' is not valid on a Structure declaration. + '“{0}”在结构声明中无效。 + + + + '{0}' is not valid on an Enum declaration. + '“{0}”在枚举声明中无效。 + + + + '{0}' is not valid on an Interface declaration. + '“{0}”在接口声明中无效。 + + + + '{0}' cannot override '{1}' because they differ by a parameter that is marked as 'ByRef' versus 'ByVal'. + '“{0}”无法重写“{1}”,因为它们在某个参数上存在差异,一个被标记为“ByRef”,而另一个被标记为“ByVal”。 + + + + 'MyBase' cannot be used with method '{0}' because it is declared 'MustOverride'. + '“MyBase”不能用和方法“{0}”一起使用,因为它被声明为“MustOverride”。 + + + + '{0}' cannot implement '{1}' because there is no matching {2} on interface '{3}'. + '“{0}”无法实现“{1}”,因为接口“{3}”上不存在匹配的 {2}。 + + + + '{0}' cannot implement {1} '{2}' on interface '{3}' because the tuple element names in '{4}' do not match those in '{5}'. + '“{0}”不能在接口“{3}”上实现{1}“{2}”,因为“{4}”中的元组元素名称与“{5}”中的名称不匹配。 + + + + 'WithEvents' variables must have an 'As' clause. + '"WithEvents" 变量必须有 "As" 子句。 + + + + 'WithEvents' variables can only be typed as classes, interfaces or type parameters with class constraints. + '"WithEvents" 变量只能类型化为具有类约束的类、接口或类型参数。 + + + + Value of type '{0}' cannot be converted to '{1}' because the array types have different numbers of dimensions. + 类型“{0}”的值无法转换为“{1}”,原因是数组类型的维数不同。 + + + + 'ReDim' cannot change the number of dimensions of an array. + '"ReDim" 无法更改数组的维数。 + + + + 'Sub Main' was not found in '{0}'. + '“{0}”中找不到“Sub Main”。 + + + + Constants must be of an intrinsic or enumerated type, not a class, structure, type parameter, or array type. + 常量必须是内部类型或者枚举类型,不能是类、结构、类型参数或数组类型。 + + + + 'End Sub' must be preceded by a matching 'Sub'. + '“End Sub”前面必须是匹配的“Sub”。 + + + + 'End Function' must be preceded by a matching 'Function'. + '“End Function”前面必须是匹配的“Function”。 + + + + 'End Property' must be preceded by a matching 'Property'. + '“End Property”前面必须是匹配的“Property”。 + + + + Methods in a Module cannot be declared '{0}'. + 模块中的方法不能声明为“{0}”。 + + + + Events in a Module cannot be declared '{0}'. + 模块中的事件不能声明为“{0}”。 + + + + Members in a Structure cannot be declared '{0}'. + 结构中的成员不能声明为“{0}”。 + + + + '{0}' cannot override '{1}' because they differ by their return types. + '“{0}”无法重写“{1}”,因为它们的返回类型不同。 + + + + '{0}' cannot override '{1}' because they differ by their tuple element names. + '“{0}”不能替代“{1}”,因为它们的元组元素名称不同。 + + + + Member cannot override because it differs by its tuple element names. + 成员不能替代,因为它的元组元素名称不同。 + + + + Constants must have a value. + 常量必须具有值。 + + + + Constant expression not representable in type '{0}'. + 常量表达式无法在类型“{0}”中表示。 + + + + 'Get' is already declared. + '已声明 "Get"。 + + + + 'Set' is already declared. + '已声明 "Set"。 + + + + '{0}' is not declared. It may be inaccessible due to its protection level. + '未声明“{0}”。由于其保护级别,它可能无法访问。 + + + + Operator '{0}' is not defined for types '{1}' and '{2}'. + 没有为类型“{1}”和“{2}”定义运算符“{0}”。 + + + + Expression is not a method. + 表达式不是方法。 + + + + Argument not specified for parameter '{0}' of '{1}'. + 没有为“{1}”的形参“{0}”指定实参。 + + + + '{0}' is not a member of '{1}'. + '“{0}”不是“{1}”的成员。 + + + + 'End Class' must be preceded by a matching 'Class'. + '"End Class" 前面必须是匹配的 "Class"。 + + + + Classes cannot be declared '{0}'. + 类不能声明为“{0}”。 + + + + 'Imports' statements must precede any declarations. + '“Imports”语句前面必须是声明。 + + + + '{1}' for the Imports '{0}' does not refer to a Namespace, Class, Structure, Enum or Module. + 'Imports “{0}”的“{1}”不引用命名空间、类、结构、枚举或模块。 + + + + Type declaration characters are not valid in this context. + 类型声明字符在此上下文中无效。 + + + + Reference to a non-shared member requires an object reference. + 对非共享成员的引用要求对象引用。 + + + + 'MyClass' cannot be used outside of a class. + '"MyClass" 不能在类的外部使用。 + + + + Expression is not an array or a method, and cannot have an argument list. + 表达式不是数组或方法,不能具有参数列表。 + + + + 'WithEvents' variables cannot be typed as arrays. + '“WithEvents”变量不能类型化为数组。 + + + + Shared 'Sub New' cannot have any parameters. + 共享的 "Sub New" 不能具有任何参数。 + + + + Shared 'Sub New' cannot be declared '{0}'. + 共享的“Sub New”不能声明为“{0}”。 + + + + 'Class' statement must end with a matching 'End Class'. + '“Class”语句必须以匹配的“End Class”结束。 + + + + Operator '{0}' is not defined for type '{1}'. + 没有为类型“{1}”定义运算符“{0}”。 + + + + 'Default' cannot be combined with '{0}'. + '“Default”不能与“{0}”组合。 + + + + Expression does not produce a value. + 表达式不产生值。 + + + + Constructor must be declared as a Sub, not as a Function. + 构造函数必须声明为 Sub,而不是 Function。 + + + + Exponent is not valid. + 指数无效。 + + + + 'Sub New' cannot handle events. + '"Sub New" 无法处理事件。 + + + + Constant '{0}' cannot depend on its own value. + 常量“{0}”不能依赖自身的值。 + + + + 'Shared' cannot be combined with '{0}' on a method declaration. + '“Shared”不能与方法声明上的“{0}”组合。 + + + + 'Shared' cannot be combined with '{0}' on a property declaration. + '“Shared”不能与属性声明上的“{0}”组合。 + + + + Properties in a Module cannot be declared '{0}'. + 模块中的属性不能声明为“{0}”。 + + + + Methods or events that implement interface members cannot be declared 'Shared'. + 实现接口成员的方法或事件不能声明为 "Shared"。 + + + + Handles clause requires a WithEvents variable defined in the containing type or one of its base types. + Handles 子句要求一个在包含类型或它的某个基类型中定义的 WithEvents 变量。 + + + + '{0}' cannot inherit from {1} '{2}' because it expands the access of the base {1} to {3} '{4}'. + '“{0}”将对基 {1} 的访问扩展到 {3}“{4}”,因此无法从 {1}“{2}”继承。 + + + + Option Strict On disallows implicit conversions from '{0}' to '{1}'. + Option Strict On 不允许从“{0}”到“{1}”的隐式转换。 + + + + Overload resolution failed because no accessible '{0}' accepts this number of arguments. + 重载决策失败,因为没有可访问的“{0}”接受此数目的参数。 + + + + Overload resolution failed because no '{0}' is accessible. + 重载决策失败,因为没有可访问的“{0}”。 + + + + Overload resolution failed because no accessible '{0}' can be called with these arguments:{1} + 重载决策失败,因为没有可使用这些参数调用的可访问“{0}”: {1} + + + + Overload resolution failed because no accessible '{0}' can be called:{1} + 重载决策失败,原因是没有可访问的“{0}”可以进行调用:{1} + + + + Overload resolution failed because no accessible '{0}' can be called without a narrowing conversion:{1} + 重载决策失败,因为没有不使用收缩转换即可调用的可访问重载“{0}”: {1} + + + + Argument matching parameter '{0}' narrows from '{1}' to '{2}'. + 与参数“{0}”匹配的参数从“{1}”收缩到“{2}”。 + + + + Overload resolution failed because no accessible '{0}' is most specific for these arguments:{1} + 重载决策失败,因为没有可访问的“{0}”最适合这些参数: {1} + + + + Not most specific. + 不是最适合。 + + + + + '{0}': {1} + + “{0}”: {1} + + + + Property '{0}' is 'WriteOnly'. + 属性“{0}”为“WriteOnly”。 + + + + Property '{0}' is 'ReadOnly'. + 属性“{0}”为“ReadOnly”。 + + + + All parameters must be explicitly typed if any of them are explicitly typed. + 如果任何一个参数已显式类型化,则所有参数都必须显式类型化。 + + + + Parameter cannot have the same name as its defining function. + 参数不能与它的定义函数同名。 + + + + Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method. + 从“Date”到“Double”的转换需要调用“Date.ToOADate”方法。 + + + + Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method. + 从 "Double" 到 "Date" 的转换需要调用 "Date.FromOADate" 方法。 + + + + Division by zero occurred while evaluating this expression. + 计算此表达式时出现被零除的情况。 + + + + Method cannot contain both a 'Try' statement and an 'On Error' or 'Resume' statement. + 方法不能既包含 "Try" 语句,又包含 "On Error" 或 "Resume" 语句。 + + + + Property access must assign to the property or use its value. + 属性访问必须分配给属性或使用属性值。 + + + + '{0}' cannot be indexed because it has no default property. + '无法为“{0}”编制索引,因为它没有默认属性。 + + + + Attribute '{0}' cannot be applied to an assembly. + 属性“{0}”不能应用于程序集。 + + + + Attribute '{0}' cannot be applied to a module. + 属性“{0}”不能应用于模块。 + + + + '{0}' is ambiguous. + '“{0}”不明确。 + + + + Default member of '{0}' is not a property. + “{0}”的默认成员不是属性。 + + + + '{0}' is ambiguous in the namespace '{1}'. + '“{1}”在命名空间中“{0}”不明确。 + + + + '{0}' is ambiguous, imported from the namespaces or types '{1}'. + '“{0}”不明确,从命名空间或类型“{1}”导入。 + + + + '{0}' is ambiguous between declarations in Modules '{1}'. + '“{0}”在模块“{1}”中的声明之间不明确。 + + + + '{0}' is ambiguous between declarations in namespaces '{1}'. + '“{0}”在命名空间“{1}”中的声明之间不明确。 + + + + Array initializer has too few dimensions. + 数组初始值设定项的维数太少。 + + + + Array initializer has too many dimensions. + 数组初始值设定项的维数太多。 + + + + Array initializer is missing {0} elements. + 数组初始值设定项缺少 {0} 个元素。 + + + + Array initializer has {0} too many elements. + 数组初始值设定项拥有的元素太多({0}个)。 + + + + 'New' cannot be used on a class that is declared 'MustInherit'. + '"New" 不能在声明为 "MustInherit" 的类上使用。 + + + + Alias '{0}' is already declared. + 已声明别名“{0}”。 + + + + XML namespace prefix '{0}' is already declared. + 已声明 XML 命名空间前缀“{0}”。 + + + + Option Strict On disallows late binding. + Option Strict On 不允许后期绑定。 + + + + 'AddressOf' operand must be the name of a method (without parentheses). + '“AddressOf”操作数必须是某个方法的名称(不带圆括号)。 + + + + '#End ExternalSource' must be preceded by a matching '#ExternalSource'. + '"#End ExternalSource" 前面必须是匹配的 "#ExternalSource"。 + + + + '#ExternalSource' statement must end with a matching '#End ExternalSource'. + '“#ExternalSource”语句必须以匹配的“#End ExternalSource”结束。 + + + + '#ExternalSource' directives cannot be nested. + '"#ExternalSource" 指令不能嵌套。 + + + + 'AddressOf' expression cannot be converted to '{0}' because '{0}' is not a delegate type. + '“AddressOf”表达式无法转换为“{0} ”,因为“{0}”不是委托类型。 + + + + 'SyncLock' operand cannot be of type '{0}' because '{0}' is not a reference type. + '"SyncLock" 操作数不能是“{0}”类型,因为“{0}”不是引用类型。 + + + + '{0}.{1}' cannot be implemented more than once. + '“{0}.{1}”不能多次实现。 + + + + '{0}' cannot be inherited more than once. + '“{0}”不能被继承多次。 + + + + Named argument cannot match a ParamArray parameter. + 命名实参不能匹配 ParamArray 形参。 + + + + Omitted argument cannot match a ParamArray parameter. + 省略的实参不能匹配 ParamArray 形参。 + + + + Argument cannot match a ParamArray parameter. + 参数不能匹配 ParamArray 参数。 + + + + Event '{0}' cannot be found. + 找不到事件“{0}”。 + + + + Variables in Modules cannot be declared '{0}'. + 模块中的变量不能声明为“{0}”。 + + + + Events of shared WithEvents variables cannot be handled by non-shared methods. + 共享 WithEvents 变量的事件不能由非共享方法处理。 + + + + '-' expected. + '应为“-”。 + + + + Interface members must be methods, properties, events, or type definitions. + 接口成员必须是方法、属性、事件或类型定义。 + + + + Statement cannot appear within an interface body. + 语句不能出现在接口体内。 + + + + Statement cannot appear within an interface body. End of interface assumed. + 语句不能出现在接口体内。假定为接口末尾。 + + + + 'NotInheritable' classes cannot have members declared '{0}'. + '“NotInheritable”类不能有声明为“{0}”的成员。 + + + + Class '{0}' must either be declared 'MustInherit' or override the following inherited 'MustOverride' member(s): {1}. + 类“{0}”必须声明为“MustInherit”或重写以下继承的“MustOverride”成员: {1}。 + + + + '{0}' is a MustOverride event in the base class '{1}'. Visual Basic does not support event overriding. You must either provide an implementation for the event in the base class, or make class '{2}' MustInherit. + '“{0}”是基类“{1}” 中的 MustOverride 事件。Visual Basic 不支持事件替代。必须提供基类中事件的实现或让类“{2}“成为 MustInherit。 + + + + Array dimensions cannot have a negative size. + 数组维数的大小不能为负。 + + + + 'MustOverride' method '{0}' cannot be called with 'MyClass'. + '无法用“MyClass”调用“MustOverride”方法“{0}”。 + + + + 'End' statement cannot be used in class library projects. + '在类库项目中不能使用 "End" 语句。 + + + + Variable '{0}' hides a variable in an enclosing block. + 变量“{0}”在封闭块中隐藏变量。 + + + + 'Module' statements can occur only at file or namespace level. + '"Module" 语句只能出现在文件级或命名空间级。 + + + + 'Namespace' statements can occur only at file or namespace level. + '"Namespace" 语句只能出现在文件级或命名空间级。 + + + + Statement cannot appear within an Enum body. + 语句不能出现在枚举体内。 + + + + Statement cannot appear within an Enum body. End of Enum assumed. + 语句不能出现在枚举体内。假定已到达枚举末尾。 + + + + 'Option Strict' can be followed only by 'On' or 'Off'. + '"Option Strict" 的后面只能跟 "On" 或 "Off"。 + + + + 'End Structure' must be preceded by a matching 'Structure'. + '"End Structure" 前面必须是匹配的 "Structure"。 + + + + 'End Module' must be preceded by a matching 'Module'. + '"End Module" 前面必须是匹配的 "Module"。 + + + + 'End Namespace' must be preceded by a matching 'Namespace'. + '"End Namespace" 前面必须是匹配的 "Namespace"。 + + + + 'Structure' statement must end with a matching 'End Structure'. + '“Structure”语句必须以匹配的“End Structure”结束。 + + + + 'Module' statement must end with a matching 'End Module'. + '“Module”语句必须以匹配的“End Module”结束。 + + + + 'Namespace' statement must end with a matching 'End Namespace'. + '“Namespace”语句必须以匹配的“End Namespace”结束。 + + + + 'Option' statements must precede any declarations or 'Imports' statements. + '"Option" 语句必须位于任何声明或 "Imports" 语句之前。 + + + + Structures cannot have 'Inherits' statements. + 结构不能有 "Inherits" 语句。 + + + + Structures cannot declare a non-shared 'Sub New' with no parameters. + 结构不能声明没有参数的非共享 "Sub New"。 + + + + 'End Get' must be preceded by a matching 'Get'. + '“End Get”前面必须是匹配的“Get”。 + + + + 'Get' statement must end with a matching 'End Get'. + '"Get" 语句必须以匹配的 "End Get" 结束。 + + + + 'End Set' must be preceded by a matching 'Set'. + '“End Set”前面必须是匹配的“Set”。 + + + + 'Set' statement must end with a matching 'End Set'. + '"Set" 语句必须以匹配的 "End Set" 结束。 + + + + Statement cannot appear within a property body. End of property assumed. + 语句不能出现在属性体内。假定为属性末尾。 + + + + 'ReadOnly' and 'WriteOnly' cannot be combined. + '"ReadOnly" 不能与 "WriteOnly" 组合。 + + + + '>' expected. + '应为“>”。 + + + + Assembly or Module attribute statements must precede any declarations in a file. + Assembly 或 Module 特性语句必须位于文件中的任何声明之前。 + + + + Array bounds cannot appear in type specifiers. + 数组界限不能出现在类型说明符中。 + + + + Properties cannot be declared '{0}'. + 属性不能声明为“{0}”。 + + + + 'Option Explicit' can be followed only by 'On' or 'Off'. + '"Option Explicit" 的后面只能跟 "On" 或 "Off"。 + + + + 'ByVal' and 'ByRef' cannot be combined. + '“ByVal”不能与“ByRef”组合。 + + + + 'Optional' and 'ParamArray' cannot be combined. + '"Optional" 不能与 "ParamArray" 组合。 + + + + Property '{0}' is of an unsupported type. + 属性“{0}”的类型不受支持。 + + + + Attribute '{0}' cannot be applied to a method with optional parameters. + 属性“{0}”不能应用于具有可选参数的方法。 + + + + 'Return' statement in a Sub or a Set cannot return a value. + 'Sub 或 Set 中的 "Return" 语句不能返回值。 + + + + String constants must end with a double quote. + 字符串常量必须以双引号结束。 + + + + '{0}' is an unsupported type. + '“{0}”是不受支持的类型。 + + + + Enums must be declared as an integral type. + 枚举必须声明为整型。 + + + + {0} parameters cannot be declared 'ByRef'. + {0} 参数不能声明为“ByRef”。 + + + + Reference required to assembly '{0}' containing the type '{1}'. Add one to your project. + 需要对程序集“{0}”(包含类型“{1}”)的引用。请在项目中添加一个。 + + + + Reference required to module '{0}' containing the type '{1}'. Add one to your project. + 需要对模块“{0}”(包含类型“{1}”)的引用。请在项目中添加一个。 + + + + 'Return' statement in a Function, Get, or Operator must return a value. + 'Function、Get 或 Operator 中的 "Return" 语句必须返回值。 + + + + Field '{0}' is of an unsupported type. + 字段“{0}”的类型不受支持。 + + + + '{0}' has a return type that is not supported or parameter types that are not supported. + '“{0}”有不受支持的返回类型或不受支持的参数类型。 + + + + Property '{0}' with no parameters cannot be found. + 无法找到不带参数的属性“{0}”。 + + + + Property or field '{0}' does not have a valid attribute type. + 属性或字段“{0}”没有有效的特性类型。 + + + + Attributes cannot be applied to local variables. + 特性不能应用于局部变量。 + + + + Field or property '{0}' is not found. + 找不到字段或属性“{0}”。 + + + + Attribute '{0}' cannot be applied to '{1}' because the attribute is not valid on this declaration type. + 属性“{0}”不能应用于“{1}”,因为该属性在此声明类型中无效。 + + + + Attribute '{0}' cannot be applied to '{1}' of '{2}' because the attribute is not valid on this declaration type. + 属性“{0}”不能应用于“{2}”的“{1}”,因为该属性在此声明类型中无效。 + + + + Class '{0}' cannot reference its nested type '{1}' in Inherits clause. + 类“{0}”无法在 Inherits 子句中引用其嵌套类型“{1}”。 + + + + Class '{0}' cannot reference itself in Inherits clause. + 类“{0}”不能在 Inherits 子句中引用自己。 + + + + + Base type of '{0}' needs '{1}' to be resolved. + + “{0}”基类型需要解析“{1}”。 + + + + Inherits clause of {0} '{1}' causes cyclic dependency: {2} + {0}“{1}”的继承子句会导致循环依赖: {2} + + + + Attribute '{0}' cannot be applied multiple times. + 属性“{0}”不能应用多次。 + + + + Attribute '{0}' in '{1}' cannot be applied multiple times. + “{1}”中的属性“{0}”不能应用多次。 + + + + 'Throw' operand must derive from 'System.Exception'. + '“Throw”操作数必须从“System.Exception”派生。 + + + + 'Throw' statement cannot omit operand outside a 'Catch' statement or inside a 'Finally' statement. + '"Throw" 语句在 "Catch" 语句外或 "Finally" 语句内不能省略操作数。 + + + + ParamArray parameters must be declared 'ByVal'. + ParamArray 参数必须声明为 "ByVal"。 + + + + '{0}' is obsolete: '{1}'. + '“{0}”已过时:“{1}”。 + + + + 'ReDim' statements require a parenthesized list of the new bounds of each dimension of the array. + '"ReDim" 语句需要一个带括号的列表,该列表列出数组每个维度的新界限。 + + + + Explicit initialization is not permitted with multiple variables declared with a single type specifier. + 不允许通过用单个类型说明符声明多个变量来进行显式初始化。 + + + + Explicit initialization is not permitted for arrays declared with explicit bounds. + 对于用显式界限声明的数组不允许进行显式初始化。 + + + + 'End SyncLock' must be preceded by a matching 'SyncLock'. + '“End SyncLock”前面必须是匹配的“SyncLock”。 + + + + 'SyncLock' statement must end with a matching 'End SyncLock'. + '“SyncLock”语句必须以匹配的“End SyncLock”结束。 + + + + '{0}' is not an event of '{1}'. + '“{0}”不是“{1}”的事件。 + + + + 'AddHandler' or 'RemoveHandler' statement event operand must be a dot-qualified expression or a simple name. + '“AddHandler”或“RemoveHandler”语句事件操作数必须是以点限定的表达式或者是简单的名称。 + + + + 'End' statement not valid. + '"End" 语句无效。 + + + + Array initializers are valid only for arrays, but the type of '{0}' is '{1}'. + 数组初始值设定项仅对数组有效,但“{0}”的类型是“{1}”。 + + + + '#End Region' must be preceded by a matching '#Region'. + '"#End Region" 前面必须是匹配的 "#Region"。 + + + + '#Region' statement must end with a matching '#End Region'. + '"#Region" 语句必须以匹配的 "#End Region" 结束。 + + + + 'Inherits' statement must precede all declarations in a class. + '“Inherits”语句必须位于类中的所有声明之前。 + + + + '{0}' is ambiguous across the inherited interfaces '{1}' and '{2}'. + '“{0}”在继承接口“{1}”和“{2}”之间不明确。 + + + + Default property access is ambiguous between the inherited interface members '{0}' of interface '{1}' and '{2}' of interface '{3}'. + 默认属性访问在接口“{1}”的继承接口成员“{0}”和接口“{3}”的继承接口成员“{2}”之间不明确。 + + + + Events in interfaces cannot be declared '{0}'. + 接口中的事件无法声明为“{0}”。 + + + + Statement cannot appear outside of a method body. + 语句不能出现在方法体外。 + + + + Structure '{0}' cannot be indexed because it has no default property. + 无法为结构“{0}”编制索引,因为它没有默认属性。 + + + + {0} '{1}' must be declared 'Shadows' because another member with this name is declared 'Shadows'. + {0}“{1}”必须声明为“Shadows”,因为具有此名称的另一个成员被声明为“Shadows”。 + + + + '{0}' cannot override '{1}' because they differ by the types of optional parameters. + '“{0}”无法重写“{1}”,因为它们在可选参数类型上存在差异。 + + + + End of expression expected. + 应为表达式结尾。 + + + + Methods declared in structures cannot have 'Handles' clauses. + 结构中声明的方法不能有 "Handles" 子句。 + + + + Methods declared 'Overrides' cannot be declared 'Overridable' because they are implicitly overridable. + 声明为 "Overrides" 的方法是隐式可重写的,因此它们不能声明为 "Overridable"。 + + + + '{0}' is already declared as a parameter of this method. + '“{0}”已声明为此方法的参数。 + + + + Variable '{0}' is already declared as a parameter of this or an enclosing lambda expression. + 变量“{0}”已声明为此 lambda 表达式或某个封闭 lambda 表达式的参数。 + + + + Type in a Module cannot be declared '{0}'. + 模块中的类型不能声明为“{0}”。 + + + + No accessible 'Main' method with an appropriate signature was found in '{0}'. + “{0}”中找不到带有适当签名的可访问“Main”方法。 + + + + 'Sub Main' is declared more than once in '{0}': {1} + '在“{0}”中多次声明了“Sub Main”: {1} + + + + Value '{0}' cannot be converted to '{1}'. + 值“{0}”无法转换为“{1}”。 + + + + 'On Error' statements are not valid within 'SyncLock' statements. + '"On Error" 语句在 "SyncLock" 语句内无效。 + + + + Option Strict On disallows implicit conversions from '{0}' to '{1}'; the Visual Basic 6.0 collection type is not compatible with the .NET Framework collection type. + Option Strict On 不允许从“{0}”到“{1}”的隐式转换;Visual Basic 6.0 集合类型与 .NET Framework 集合类型不兼容。 + + + + 'GoTo {0}' is not valid because '{0}' is inside a 'Try', 'Catch' or 'Finally' statement that does not contain this statement. + '“GoTo {0}”语句无效,因为“{0}”位于不包含此语句的“Try”、“Catch”或“Finally”语句中。 + + + + 'GoTo {0}' is not valid because '{0}' is inside a 'SyncLock' statement that does not contain this statement. + '“GoTo {0}”无效,因为“{0}”位于不包含此语句的“SyncLock”语句中。 + + + + 'GoTo {0}' is not valid because '{0}' is inside a 'With' statement that does not contain this statement. + '“GoTo {0}”无效,因为“{0}”位于不包含此语句的“With”语句中。 + + + + 'GoTo {0}' is not valid because '{0}' is inside a 'For' or 'For Each' statement that does not contain this statement. + '“GoTo {0}”无效,因为“{0}”位于不包含此语句的“For”或“For Each”语句中。 + + + + Attribute cannot be used because it does not have a Public constructor. + 特性没有 Public 构造函数,因此不能使用。 + + + + Event '{0}' specified by the 'DefaultEvent' attribute is not a publicly accessible event for this class. + 由“DefaultEvent”属性指定的事件“{0}”不是该类的公共可访问事件。 + + + + 'NonSerialized' attribute will not have any effect on this member because its containing class is not exposed as 'Serializable'. + '"NonSerialized" 特性对此成员无效,因为它的包含类不作为 "Serializable" 公开。 + + + + 'Continue' must be followed by 'Do', 'For' or 'While'. + '“Continue”的后面必须跟有“Do”、“For”或“While”。 + + + + 'Continue Do' can only appear inside a 'Do' statement. + '“Continue Do”只能出现在“Do”语句内。 + + + + 'Continue For' can only appear inside a 'For' statement. + '“Continue For”只能出现在“For”语句内。 + + + + 'Continue While' can only appear inside a 'While' statement. + '“Continue While”只能出现在“While”语句内。 + + + + Parameter specifier is duplicated. + 参数说明符重复。 + + + + 'Declare' statements in a Module cannot be declared '{0}'. + '模块中的“Declare”语句不能声明为“{0}”。 + + + + 'Declare' statements in a structure cannot be declared '{0}'. + '结构中的“Declare”语句不能声明为“{0}”。 + + + + 'TryCast' operand must be reference type, but '{0}' is a value type. + '“TryCast”操作数必须是引用类型,但“{0}”是值类型。 + + + + 'TryCast' operands must be class-constrained type parameter, but '{0}' has no class constraint. + '“TryCast”操作数必须是类约束类型参数,但“{0}”没有类约束。 + + + + No accessible '{0}' is most specific: {1} + 没有非常明确的可访问“{0}”: {1} + + + + Non-shared members in a Structure cannot be declared 'New'. + Structure 中的非共享成员不能声明为 "New"。 + + + + None of the accessible 'Main' methods with the appropriate signatures found in '{0}' can be the startup method since they are all either generic or nested in generic types. + 在“{0}”中找到的带有适当签名的可访问“Main”方法要么都是泛型方法,要么嵌套在泛型类型中,因此均不能用作启动方法。 + + + + Error in project-level import '{0}' at '{1}' : {2} + 项目级 import“{0}”中的“{1}”位置出错: {2} + + + + '{1}' for the Imports alias to '{0}' does not refer to a Namespace, Class, Structure, Interface, Enum or Module. + '“{0}”的 Imports 别名的“{1}”不引用命名空间、类、结构、接口、枚举或模块。 + + + + Field '{0}.{1}' has an invalid constant value. + 字段“{0}.{1}”具有无效常量值。 + + + + Method arguments must be enclosed in parentheses. + 方法参数必须括在括号中。 + + + + Labels that are numbers must be followed by colons. + 数字标签后面必须跟冒号。 + + + + 'Type' statements are no longer supported; use 'Structure' statements instead. + '不再支持 "Type" 语句;请改用 "Structure" 语句。 + + + + 'Variant' is no longer a supported type; use the 'Object' type instead. + '"Variant" 不再是受支持的类型;请改用 "Object" 类型。 + + + + 'Let' and 'Set' assignment statements are no longer supported. + '不再支持 "Let" 和 "Set" 赋值语句。 + + + + Property Get/Let/Set are no longer supported; use the new Property declaration syntax. + 不再支持 Property Get/Let/Set;请使用新的 Property 声明语法。 + + + + 'Wend' statements are no longer supported; use 'End While' statements instead. + '不再支持 "Wend" 语句;请改用 "End While" 语句。 + + + + 'ReDim' statements can no longer be used to declare array variables. + '"ReDim" 语句不能再用于声明数组变量。 + + + + Optional parameters must specify a default value. + 可选参数必须指定默认值。 + + + + 'GoSub' statements are no longer supported. + '不再支持 "GoSub" 语句。 + + + + 'On GoTo' and 'On GoSub' statements are no longer supported. + '不再支持 "On GoTo" 和 "On GoSub" 语句。 + + + + 'EndIf' statements are no longer supported; use 'End If' instead. + '不再支持 "EndIf" 语句;请改用 "End If"。 + + + + 'D' can no longer be used to indicate an exponent, use 'E' instead. + '"D" 不能再用来表示指数;请改用 "E"。 + + + + 'As Any' is not supported in 'Declare' statements. + '"Declare" 语句中不支持 "As Any"。 + + + + 'Get' statements are no longer supported. File I/O functionality is available in the 'Microsoft.VisualBasic' namespace. + '不再支持 "Get" 语句。"Microsoft.VisualBasic" 命名空间中有文件 I/O 功能。 + + + + '{0}' cannot override '{1}' because they differ by parameters declared 'ParamArray'. + '“{0}”无法重写“{1}”,因为它们在声明为“ParamArray”的参数上存在差异。 + + + + This inheritance causes circular dependencies between {0} '{1}' and its nested or base type '{2}'. + 此继承将导致在 {0}“{1}”及其嵌套类型或基类型“{2}”之间产生循环依赖项。 + + + + {0} '{1}' cannot inherit from a type nested within it. + {0}“{1}”不能从嵌套在它里面的类型继承。 + + + + '{0}' cannot expose type '{1}' outside the project through {2} '{3}'. + '“{0}”不能通过 {2}“{3}”在项目外部公开类型“{1}”。 + + + + '{0}' cannot inherit from {1} '{2}' because it expands the access of the base {1} outside the assembly. + '“{0}”将对基 {1} 的访问扩展到程序集之外,因此无法从 {1}“{2}”继承。 + + + + '{0}' accessor of '{1}' is obsolete: '{2}'. + '“{1}”的“{0}”访问器已过时:“{2}”。 + + + + '{0}' accessor of '{1}' is obsolete. + '“{1}”的“{0}”访问器已过时。 + + + + '{0}' cannot expose the underlying delegate type '{1}' of the event it is implementing to {2} '{3}' through {4} '{5}'. + '“{0}”不能通过 {4}“{5}”向 {2}“{3}”公开它正在实现的事件的基础委托类型“{1}”。 + + + + '{0}' cannot expose the underlying delegate type '{1}' of the event it is implementing outside the project through {2} '{3}'. + '“{0}”不能通过 {2}“{3}”公开它正在实现的事件的基础委托类型“{1}”。 + + + + Type '{0}' is not supported because it either directly or indirectly inherits from itself. + 类型“{0}”直接或者间接从自身继承,因此不受支持。 + + + + Class '{0}' must declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete. + 类“{0}”必须声明一个“Sub New”,因为它的基类“{2}”中的“{1}”被标记为已过时。 + + + + Class '{0}' must declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete: '{3}'. + 类“{0}”必须声明一个“Sub New”,因为它的基类“{2}”中的“{1}”被标记为已过时:“{3}”。 + + + + First statement of this 'Sub New' must be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete. + 此“Sub New”的第一条语句必须是对“MyBase.New”或“MyClass.New”的显式调用,因为“{2}”的基类“{1}”中的“{0}”被标为已过时。 + + + + First statement of this 'Sub New' must be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete: '{3}'. + 此“Sub New”的第一条语句必须是对“MyBase.New”或“MyClass.New”的显式调用,因为“{2}”的基类“{1}”中的“{0}”被标为已过时:“{3}”。 + + + + '{0}' cannot inherit from {1} '{2}' because it expands the access of type '{3}' to {4} '{5}'. + '“{0}”将对类型“{3}”的访问扩展到{4}“{5}”,因此无法从 {1}“{2}”继承。 + + + + '{0}' cannot inherit from {1} '{2}' because it expands the access of type '{3}' outside the assembly. + '“{0}”将对类型“{3}”的访问扩展到程序集之外,因此无法从 {1}“{2}”继承。 + + + + Specified access '{0}' for '{1}' does not match the access '{2}' specified on one of its other partial types. + “{1}”的指定访问“{0}”与它的一个其他分部类型上指定的访问“{2}”不匹配。 + + + + 'MustInherit' cannot be specified for partial type '{0}' because it cannot be combined with 'NotInheritable' specified for one of its other partial types. + '“MustInherit”不能为分部类型“{0}”指定,因为它不能与为该类型的某个其他分部类型指定的“NotInheritable”组合。 + + + + 'MustOverride' cannot be specified on this member because it is in a partial type that is declared 'NotInheritable' in another partial definition. + '不能在此成员上指定“MustOverride”,因为它所在的分部类型在另一个分部定义中被声明为“NotInheritable”。 + + + + Base class '{0}' specified for class '{1}' cannot be different from the base class '{2}' of one of its other partial types. + 为类“{1}”指定的基类“{0}”不能与它的其他分部类型之一的基类“{2}”不同。 + + + + Type parameter name '{0}' does not match the name '{1}' of the corresponding type parameter defined on one of the other partial types of '{2}'. + 类型参数名“{0}”与在“{2}”的某个其他分部类型上定义的相应类型参数的名称“{1}”不匹配。 + + + + Constraints for this type parameter do not match the constraints on the corresponding type parameter defined on one of the other partial types of '{0}'. + 此类型参数的约束与在“{0}”的某个其他分部类型上定义的相应类型参数的约束不匹配。 + + + + Late bound overload resolution cannot be applied to '{0}' because the accessing instance is an interface type. + 后期绑定重载决策不能应用于“{0}”,因为访问实例是一个接口类型。 + + + + Conversion from '{0}' to '{1}' cannot occur in a constant expression used as an argument to an attribute. + 在用作属性参数的常量表达式中不能发生从“{0}”到“{1}”的转换。 + + + + Member '{0}' that matches this signature cannot be overridden because the class '{1}' contains multiple members with this same name and signature: {2} + 无法重写与此签名匹配的成员“{0}”,因为类“{1}”包含多个具有此相同名称和签名的成员: {2} + + + + + '{0}' + + “{0}” + + + + Member '{0}.{1}' that matches this signature cannot be implemented because the interface '{2}' contains multiple members with this same name and signature: + '{3}' + '{4}' + 无法实现与此签名匹配的成员“{0}.{1}”,因为接口“{2}”包含多个具有此相同名称和签名的成员: + '{3}' + '{4}' + + + + 'AddressOf' expression cannot be converted to '{0}' because type '{0}' is declared 'MustInherit' and cannot be created. + '“AddressOf”表达式无法转换为“{0}”,因为类型“{0}”已声明为“MustInherit”,无法创建。 + + + + Generic methods cannot be exposed to COM. + 泛型方法不能向 COM 公开。 + + + + Syntax error in cast operator; two arguments separated by comma are required. + 强制转换运算符中有语法错误;需要两个用逗号分隔的参数。 + + + + Array initializer cannot be specified for a non constant dimension; use the empty initializer '{}'. + 无法为不定维度指定数组初始值设定项;请使用空初始值设定项“{}”。 + + + + No accessible method '{0}' has a signature compatible with delegate '{1}':{2} + 没有任何可访问的方法“{0}”具有与委托“{1}”兼容的签名: {2} + + + + Attribute 'StructLayout' cannot be applied to a generic type. + 特性 "StructLayout" 不能应用于泛型类型。 + + + + Range variable '{0}' hides a variable in an enclosing block or a range variable previously defined in the query expression. + 范围变量“{0}”隐藏封闭块中的某个变量或以前在查询表达式中定义的某个范围变量。 + + + + 'Option Infer' can be followed only by 'On' or 'Off'. + '"Option Infer" 后面只能跟 "On" 或 "Off"。 + + + + Type of '{0}' cannot be inferred from an expression containing '{0}'. + 无法从包含“{0}”的表达式中推断“{0}”的类型。 + + + + '{0}' in class '{1}' cannot override '{2}' in class '{3}' because an intermediate class '{4}' overrides '{2}' in class '{3}' but is not accessible. + '类“{1}”中的“{0}”不能重写类“{3}”中的“{2}”,因为中间类“{4}”重写了类“{3}”中的“{2}”,但不可访问。 + + + + Type of '{0}' cannot be inferred because the loop bounds and the step clause do not convert to the same type. + 无法推断“{0}”的类型,因为循环边界和 step 子句不会转换为同一类型。 + + + + Type of '{0}' is ambiguous because the loop bounds and the step clause do not convert to the same type. + “{0}”的类型不明确,因为循环边界和 step 子句不会转换为同一类型。 + + + + '=' expected (object initializer). + '应为 "="(对象初始值设定项)。 + + + + Name of field or property being initialized in an object initializer must start with '.'. + 正在对象初始值设定项中初始化的字段或属性的名称必须以 "."开头。 + + + + '{' expected. + '应为 "{"。 + + + + Type or 'With' expected. + 应为类型或 "With"。 + + + + Multiple initializations of '{0}'. Fields and properties can be initialized only once in an object initializer expression. + 多次初始化“{0}”的。字段和属性只能在对象初始值设定项表达式中初始化一次。 + + + + Member '{0}' cannot be initialized in an object initializer expression because it is not a field or property. + 无法在对象初始值设定项表达式中初始化成员“{0}”,因为它不是一个字段或属性。 + + + + Member '{0}' cannot be initialized in an object initializer expression because it is shared. + 无法在对象初始值设定项表达式中初始化成员“{0}”,因为它是共享的。 + + + + Property '{0}' cannot be initialized in an object initializer expression because it requires arguments. + 无法在对象初始值设定项表达式中初始化属性“{0}”,因为它需要参数。 + + + + Property '{0}' cannot be initialized in an object initializer expression because all accessible overloads require arguments. + 无法在对象初始值设定项表达式中初始化属性“{0}”,因为所有可访问的重载都需要参数。 + + + + Object initializer syntax cannot be used to initialize an instance of 'System.Object'. + 不能使用对象初始值设定项语法初始化“System.Object”的实例。 + + + + Initializer expected. + 应为初始值设定项。 + + + + Line continuation character '_' must be preceded by at least one white space and must be the last character on the line. + 行继续符 "_" 的前面必须至少有一个空白字符,而且必须是所在行中的最后一个字符。 + + + + Unable to load module file '{0}': {1} + 无法加载模块文件“{0}”: {1} + + + + Unable to load referenced library '{0}': {1} + 无法加载引用的库“{0}”: {1} + + + + Method '{0}' cannot handle event '{1}' because they do not have a compatible signature. + 方法“{0}”无法处理事件“{1}”,因为它们的签名不兼容。 + + + + Conditional compilation constant '{1}' is not valid: {0} + 条件编译常数“{1}”无效: {0} + + + + Interface '{0}' can be implemented only once by this type. + 接口“{0}”只能由此类型实现一次。 + + + + Interface '{0}' can be implemented only once by this type, but already appears with different tuple element names, as '{1}'. + 接口“{0}”只能通过此类型实现一次,但已显示有不同的元组元素名称,如“{1}”。 + + + + Interface '{0}' can be implemented only once by this type, but already appears with different tuple element names, as '{1}' (via '{2}'). + 接口“{0}”只能通过此类型实现一次,但已显示有不同的元组元素名称,如“{1}”(通过“{2}”)。 + + + + Interface '{0}' (via '{1}') can be implemented only once by this type, but already appears with different tuple element names, as '{2}'. + 接口“{0}”只能通过此类型实现一次(通过“{1}”),但已显示有不同的元组元素名称,如“{2}”。 + + + + Interface '{0}' (via '{1}') can be implemented only once by this type, but already appears with different tuple element names, as '{2}' (via '{3}'). + 接口“{0}”只能通过此类型实现一次(通过“{1}”),但已显示有不同的元组元素名称,如“{2}”(通过“{3}”)。 + + + + Interface '{0}' can be inherited only once by this interface, but already appears with different tuple element names, as '{1}'. + 接口“{0}”只能通过此接口继承一次,但已显示有不同的元组元素名称,如“{1}”。 + + + + Interface '{0}' can be inherited only once by this interface, but already appears with different tuple element names, as '{1}' (via '{2}'). + 接口“{0}”只能通过此接口继承一次,但已显示有不同的元组元素名称,如“{1}”(通过“{2}”)。 + + + + Interface '{0}' (via '{1}') can be inherited only once by this interface, but already appears with different tuple element names, as '{2}'. + 接口“{0}”只能通过此接口继承一次(通过“{1}”),但已显示有不同的元组元素名称,如“{2}”。 + + + + Interface '{0}' (via '{1}') can be inherited only once by this interface, but already appears with different tuple element names, as '{2}' (via '{3}'). + 接口“{0}”只能通过此接口继承一次(通过“{1}”),但已显示有不同的元组元素名称,如“{2}”(通过“{3}”)。 + + + + Interface '{0}' is not implemented by this class. + 接口“{0}”不是由此类实现的。 + + + + '{0}' exists in multiple base interfaces. Use the name of the interface that declares '{0}' in the 'Implements' clause instead of the name of the derived interface. + '“{0}”存在于多个基接口中。请使用在“Implements”子句中声明“{0}”的接口的名称,而不要使用派生接口的名称。 + + + + 'Sub New' cannot implement interface members. + '“Sub New”无法实现接口成员。 + + + + Arrays declared as structure members cannot be declared with an initial size. + 声明为结构成员的数组不能用初始大小声明。 + + + + Events declared with an 'As' clause must have a delegate type. + 用 "As" 子句声明的事件必须有委托类型。 + + + + Protected types can only be declared inside of a class. + 受保护的类型只能在类内部声明。 + + + + Properties with no required parameters cannot be declared 'Default'. + 不带必选参数的属性不能声明为“Default”。 + + + + Initializers on structure members are valid only for 'Shared' members and constants. + 结构成员上的初始值设定项仅对“Shared”成员和常量有效。 + + + + Namespace or type '{0}' has already been imported. + 已导入命名空间或类型呢“{0}”。 + + + + Modules cannot be declared '{0}'. + 模块不能声明为“{0}”。 + + + + 'Implements' statements must follow any 'Inherits' statement and precede all declarations in a class. + '“Implements”语句在类中必须位于任何“Inherits”语句之后,所有声明之前。 + + + + {0} '{1}' implicitly defines '{2}', which conflicts with a member implicitly declared for {3} '{4}' in {5} '{6}'. + {0}“{1}”隐式定义的“{2}”与为 {5}“{6}”中的 {3}“{4}”隐式声明的成员冲突。 + + + + {0} '{1}' implicitly defines '{2}', which conflicts with a member of the same name in {3} '{4}'. + {0}“{1}”隐式定义的“{2}”与 {3}“{4}”中的同名成员冲突。 + + + + {0} '{1}' conflicts with a member implicitly declared for {2} '{3}' in {4} '{5}'. + {0}“{1}”与为 {4}“{5}”中的 {2}“{3}”隐式声明的成员冲突。 + + + + {0} '{1}' conflicts with a Visual Basic Runtime {2} '{3}'. + {0}“{1}”与 Visual Basic 运行时 {2}“{3}”冲突。 + + + + First argument to a security attribute must be a valid SecurityAction. + 安全属性的第一个参数必须是有效的 SecurityAction。 + + + + Security attribute '{0}' has an invalid SecurityAction value '{1}'. + 安全属性“{0}”具有无效的 SecurityAction 值“{1}”。 + + + + SecurityAction value '{0}' is invalid for security attributes applied to an assembly. + SecurityAction 值“{0}”对应用于程序集的安全属性无效。 + + + + SecurityAction value '{0}' is invalid for security attributes applied to a type or a method. + SecurityAction 值“{0}”对应用于类型或方法的安全属性无效。 + + + + SecurityAction value '{0}' is invalid for PrincipalPermission attribute. + SecurityAction 值“{0}”对 PrincipalPermission 属性无效。 + + + + Unable to resolve file path '{0}' specified for the named argument '{1}' for PermissionSet attribute. + 无法解析为 PermissionSet 属性的命名参数“{1}”指定的文件路径“{0}”。 + + + + Error reading file '{0}' specified for the named argument '{1}' for PermissionSet attribute: '{2}'. + 读取为 PermissionSet 属性的命名参数“{1}”指定的文件“'{0}' ”时出错:“{2}”。 + + + + 'Set' method cannot have more than one parameter. + '"Set" 方法不能有一个以上的参数。 + + + + 'Set' parameter must have the same type as the containing property. + '"Set" 参数必须与包含属性的类型相同。 + + + + 'Set' parameter cannot be declared '{0}'. + '“Set”参数不能声明为“{0}”。 + + + + Method in a structure cannot be declared 'Protected', 'Protected Friend', or 'Private Protected'. + 结构中的方法不能声明为 "Protected"、"Protected Friend" 或 "Private Protected"。 + + + + Delegate in an interface cannot be declared '{0}'. + 接口中的委托不能声明为“{0}”。 + + + + Enum in an interface cannot be declared '{0}'. + 接口中的枚举不能声明为“{0}”。 + + + + Class in an interface cannot be declared '{0}'. + 接口中的类不能声明为“{0}”。 + + + + Structure in an interface cannot be declared '{0}'. + 接口中的结构不能声明为“{0}”。 + + + + Interface in an interface cannot be declared '{0}'. + 接口中的接口不能声明为“{0}”。 + + + + '{0}' is obsolete. + '“{0}”已过时。 + + + + '{0}' is a module and cannot be referenced as an assembly. + '“{0}”是一个模块,不能作为程序集引用。 + + + + '{0}' is an assembly and cannot be referenced as a module. + '“{0}”是一个程序集,不能作为模块引用。 + + + + Operator '{0}' is not defined for types '{1}' and '{2}'. Use 'Is' operator to compare two reference types. + 没有为类型“{1}”和“{2}”定义运算符“{0}”。请使用“Is”运算符比较两个引用的类型。 + + + + '{0}' is not a local variable or parameter, and so cannot be used as a 'Catch' variable. + '“{0}”不是局部变量或参数,因此不能用作“Catch”变量。 + + + + Members in a Module cannot implement interface members. + 模块中的成员无法实现接口成员。 + + + + Events cannot be declared with a delegate type that has a return type. + 事件不能用具有返回类型的委托类型声明。 + + + + Date constant is not valid. + 日期常量无效。 + + + + '{0}' cannot override '{1}' because it is not declared 'Overridable'. + '“{0}”无法重写“{1}”,因为后者未声明为“Overridable”。 + + + + Array modifiers cannot be specified on both a variable and its type. + 不能在变量及其类型上同时指定数组修饰符。 + + + + 'NotOverridable' cannot be specified for methods that do not override another method. + '不能为不重写另一个方法的方法指定 "NotOverridable"。 + + + + Types declared 'Private' must be inside another type. + 声明为 "Private" 的类型必须在另一个类型内。 + + + + Import of type '{0}' from assembly or module '{1}' failed. + 从程序集或模块“{1}”导入类型“{0}”失败。 + + + + Predefined type '{0}' is not defined or imported. + 预定义的类型“{0}”未定义或未导入。 + + + + ParamArray parameters must have an array type. + ParamArray 参数必须有数组类型。 + + + + Implementing class '{0}' for interface '{1}' cannot be found. + 无法找到接口“{1}”的实现类“{0}”。 + + + + Type '{0}' cannot be used as an implementing class. + 类型“{0}”不能用作实现类。 + + + + Reference to object under construction is not valid when calling another constructor. + 调用另一个构造函数时引用尚未完成的对象是无效的。 + + + + Implicit reference to object under construction is not valid when calling another constructor. + 调用另一个构造函数时隐式引用尚未完成的对象是无效的。 + + + + Member '{0}' cannot be found in class '{1}'. This condition is usually the result of a mismatched 'Microsoft.VisualBasic.dll'. + 类“{1}”中找不到成员“{0}”。此情况通常是由于不匹配的“Microsoft.VisualBasic.dll”造成的。 + + + + Property accessors cannot be declared '{0}'. + 不能将属性访问器声明为“{0}”。 + + + + Access modifier '{0}' is not valid. The access modifier of 'Get' and 'Set' should be more restrictive than the property access level. + 访问修饰符“{0}”无效。“Get”和“Set”的访问修饰符的限制性应该比属性访问级别更强。 + + + + Access modifier can only be applied to either 'Get' or 'Set', but not both. + 访问修饰符只能用于 "Get" 或者 "Set",但不能同时用于这二者。 + + + + 'Set' accessor of property '{0}' is not accessible. + '属性“{0}”的“Set”访问器不可访问。 + + + + 'Get' accessor of property '{0}' is not accessible. + '属性“{0}”的“Get”访问器不可访问。 + + + + 'WriteOnly' properties cannot have an access modifier on 'Set'. + '"WriteOnly" 属性在 "Set" 上不能有访问修饰符。 + + + + 'ReadOnly' properties cannot have an access modifier on 'Get'. + '"ReadOnly" 属性在 "Get" 上不能有访问修饰符。 + + + + Property accessors cannot be declared '{0}' in a 'NotOverridable' property. + 属性访问器不能在“NotOverridable”属性中声明为“{0}”。 + + + + Property accessors cannot be declared '{0}' in a 'Default' property. + 属性访问器不能在“Default”属性中声明为“{0}”。 + + + + Property cannot be declared '{0}' because it contains a 'Private' accessor. + 属性包含“Private”访问器,因此不能声明为“{0}”。 + + + + Implementing class '{0}' for interface '{1}' is not accessible in this context because it is '{2}'. + 接口“{1}”的实现类“{0}”是“{2}”,因此它在此上下文中不可访问。 + + + + Arrays used as attribute arguments are required to explicitly specify values for all elements. + 必须有用作特性参数的数组才能显式指定所有元素的值。 + + + + 'Exit AddHandler', 'Exit RemoveHandler' and 'Exit RaiseEvent' are not valid. Use 'Return' to exit from event members. + '"Exit AddHandler"、"Exit RemoveHandler" 和 "Exit RaiseEvent" 无效。请使用 "Return" 从事件成员中退出。 + + + + Statement cannot appear within an event body. End of event assumed. + 语句不能出现在事件体内。假定为事件末尾。 + + + + 'Custom Event' must end with a matching 'End Event'. + 'Custom Event 必须以匹配的 "End Event" 结束。 + + + + 'AddHandler' declaration must end with a matching 'End AddHandler'. + '"AddHandler" 声明必须以匹配的 "End AddHandler" 结束。 + + + + 'RemoveHandler' declaration must end with a matching 'End RemoveHandler'. + '"RemoveHandler" 声明必须以匹配的 "End RemoveHandler" 结束。 + + + + 'RaiseEvent' declaration must end with a matching 'End RaiseEvent'. + '"RaiseEvent" 声明必须以匹配的 "End RaiseEvent" 结束。 + + + + 'Custom' modifier is not valid on events declared in interfaces. + '“Custom”修饰符在接口中声明的事件上无效。 + + + + 'Custom' modifier is not valid on events declared without explicit delegate types. + '“Custom”修饰符在未用显式委托类型声明的事件上无效。 + + + + 'End Event' must be preceded by a matching 'Custom Event'. + '“End Event”前面必须是匹配的“Custom Event”。 + + + + 'End AddHandler' must be preceded by a matching 'AddHandler' declaration. + '“End AddHandler”前面必须是匹配的“AddHandler”声明。 + + + + 'End RemoveHandler' must be preceded by a matching 'RemoveHandler' declaration. + '“End RemoveHandler”前面必须是匹配的“RemoveHandler”声明。 + + + + 'End RaiseEvent' must be preceded by a matching 'RaiseEvent' declaration. + '“End RaiseEvent”前面必须是匹配的“RaiseEvent”声明。 + + + + 'AddHandler' is already declared. + '已经声明 "AddHandler"。 + + + + 'RemoveHandler' is already declared. + '已经声明 "RemoveHandler"。 + + + + 'RaiseEvent' is already declared. + '已经声明 "RaiseEvent"。 + + + + 'AddHandler' definition missing for event '{0}'. + '缺少事件“{0}”的“AddHandler”定义。 + + + + 'RemoveHandler' definition missing for event '{0}'. + '缺少事件“{0}”的“RemoveHandler”定义。 + + + + 'RaiseEvent' definition missing for event '{0}'. + '缺少事件“{0}”的“RaiseEvent”定义。 + + + + 'AddHandler' and 'RemoveHandler' methods must have exactly one parameter. + '“AddHandler”和“RemoveHandler”方法必须正好有一个参数。 + + + + 'AddHandler' and 'RemoveHandler' method parameters cannot be declared 'ByRef'. + '“AddHandler”和“RemoveHandler”方法参数不能声明为“ByRef”。 + + + + Specifiers are not valid on 'AddHandler', 'RemoveHandler' and 'RaiseEvent' methods. + 说明符在 "AddHandler"、"RemoveHandler" 和 "RaiseEvent" 方法上无效。 + + + + 'AddHandler' and 'RemoveHandler' method parameters must have the same delegate type as the containing event. + '“AddHandler”和“RemoveHandler”方法参数必须与包含事件具有相同的委托类型。 + + + + 'RaiseEvent' method must have the same signature as the containing event's delegate type '{0}'. + '“RaiseEvent”方法必须具有与包含事件的委托类型“{0}”相同的签名。 + + + + 'AddHandler', 'RemoveHandler' and 'RaiseEvent' method parameters cannot be declared '{0}'. + '“AddHandler”、“RemoveHandler”和“RaiseEvent”方法参数不能声明为“{0}”。 + + + + '{0}' cannot refer to itself through its default instance; use 'Me' instead. + '“{0}”不能通过其默认实例指代自身;请改用“Me”。 + + + + 'Custom' modifier can only be used immediately before an 'Event' declaration. + '"Custom" 修饰符只能在紧靠 "Event" 声明之前使用。 + + + + Option Strict Custom can only be used as an option to the command-line compiler (vbc.exe). + Option Strict Custom 只能用作命令行编译器(vbc.exe)的选项。 + + + + '{0}' cannot be applied to the 'AddHandler', 'RemoveHandler', or 'RaiseEvent' definitions. If required, apply the attribute directly to the event. + '“{0}”不能应用于“'AddHandler”、“RemoveHandler”或“'RaiseEvent”定义。如有必要,请将该属性直接应用于事件。 + + + + Method '{0}' does not have a signature compatible with delegate '{1}'. + 方法“{0}”没有与委托“{1}”兼容的签名。 + + + + XML name expected. + 应为 XML 名称。 + + + + XML namespace prefix '{0}' is not defined. + 未定义 XML 命名空间前缀“{0}”。 + + + + Duplicate XML attribute '{0}'. + 重复的 XML 属性“{0}”。 + + + + End tag </{0}{1}{2}> expected. + 应为结束标记 </{0}{1}{2}>。 + + + + Element is missing an end tag. + 元素缺少结束标记。 + + + + XML namespace prefix '{0}' is reserved for use by XML and the namespace URI cannot be changed. + XML 命名空间前缀“{0}”已保留供 XML 使用,并且命名空间 URI 不能更改。 + + + + Required attribute 'version' missing from XML declaration. + XML 声明中缺少必需的特性 "version"。 + + + + XML declaration does not allow attribute '{0}{1}{2}'. + XML 声明不允许属性“{0}{1}{2}”。 + + + + Embedded expression cannot appear inside a quoted attribute value. Try removing quotes. + 带引号的特性值内不能出现嵌入式表达式。请尝试移除引号。 + + + + XML attribute 'version' must be the first attribute in XML declaration. + XML 特性 "version" 必须是 XML 声明中的第一个特性。 + + + + XML attribute '{0}' must appear before XML attribute '{1}'. + XML 特性“{0}”必须出现在 XML 特性“{1}”之前。 + + + + Expected closing '%>' for embedded expression. + 应为嵌入表达式的结束标记“%>”。 + + + + Expected closing '?>' for XML processor instruction. + 应为 XML 处理器指令的结束标记“?>”。 + + + + Expected closing '-->' for XML comment. + 应为 XML 注释的结束标记“-->”。 + + + + Expected closing ']]>' for XML CDATA section. + 应为 XML CDATA 部分的结束标记“]]>”。 + + + + Expected matching closing single quote for XML attribute value. + XML 特性值应有匹配的右单引号。 + + + + Expected matching closing double quote for XML attribute value. + XML 特性值应有匹配的右双引号。 + + + + Expected beginning '<' for an XML tag. + XML 标记前应有 "<"。 + + + + Expected quoted XML attribute value or embedded expression. + 应为带引号的 XML 特性值或嵌入式表达式。 + + + + Expected '/' for XML end tag. + 应使用“/”作为 XML 结束标记。 + + + + XML axis properties do not support late binding. + XML 轴属性不支持后期绑定。 + + + + Character '{0}' ({1}) is not allowed at the beginning of an XML name. + XML 名称的开头不允许出现字符“{0}”({1})。 + + + + Character '{0}' ({1}) is not allowed in an XML name. + XML 名称中允许字符“{0}”({1})。 + + + + Character sequence '--' is not allowed in an XML comment. + XML 注释中不允许出现字符序列“--”。 + + + + An embedded expression cannot be used here. + 不能在此处使用嵌入式表达式。 + + + + Missing required white space. + 缺少必需的空白。 + + + + XML processing instruction name '{0}' is not valid. + XML 处理指令名称“{0}”无效。 + + + + XML DTDs are not supported. + 不支持 XML DTD。 + + + + White space cannot appear here. + 此处不能使用空白。 + + + + Expected closing ';' for XML entity. + 应为 XML 实体的结束标记“;”。 + + + + Expected '%=' at start of an embedded expression. + 嵌入表达式的开头应为“%=”。 + + + + XML entity references are not supported. + 不支持 XML 实体引用。 + + + + Attribute value is not valid; expecting '{0}'. + 属性值无效;应为“{0}”。 + + + + Attribute value is not valid; expecting '{0}' or '{1}'. + 属性值无效;应为“{0}”或“{1}”。 + + + + Prefix '{0}' cannot be bound to namespace name reserved for '{1}'. + 不能将前缀“{0}”绑定到为“{1}”保留的命名空间名称。 + + + + Namespace declaration with prefix cannot have an empty value inside an XML literal. + 带前缀的命名空间声明在 XML 文本中不能有空值。 + + + + ':' is not allowed. XML qualified names cannot be used in this context. + '不允许使用 ":"。不能在此上下文中使用 XML 限定名称。 + + + + Namespace declaration must start with 'xmlns'. + 命名空间声明必须以“xmlns”开头。 + + + + Element names cannot use the 'xmlns' prefix. + 元素名不能使用“xmlns”前缀。 + + + + XML literals and XML axis properties are not available. Add references to System.Xml, System.Xml.Linq, and System.Core or other assemblies declaring System.Linq.Enumerable, System.Xml.Linq.XElement, System.Xml.Linq.XName, System.Xml.Linq.XAttribute and System.Xml.Linq.XNamespace types. + XML 文本和 XML 轴属性不可用。添加对 System.Xml、System.Xml.Linq 和 System.Core 的引用,或其他声明 System.Linq.Enumerable、System.Xml.Linq.XElement、System.Xml.Linq.XName、System.Xml.Linq.XAttribute 和 System.Xml.Linq.XNamespace 类型的程序集。 + + + + Unable to open Win32 manifest file '{0}' : {1} + 无法打开 Win32 清单文件“{0}”: {1} + + + + Cannot convert '{0}' to '{1}'. You can use the 'Value' property to get the string value of the first element of '{2}'. + 无法将“{0}”转换为“{1}”。可使用“Value”属性来获取“{2}”的第一个元素的字符串值。 + + + + Cannot convert IEnumerable(Of XElement) to String + 无法将 IEnumerable(Of XElement) 转换为字符串 + + + + Value of type '{0}' cannot be converted to '{1}'. You can use the 'Value' property to get the string value of the first element of '{2}'. + 类型“{0}”的值无法转换为“{1}”。可使用“Value”属性来获取“{2}”的第一个元素的字符串值。 + + + + Operator '{0}' is not defined for types '{1}' and '{2}'. You can use the 'Value' property to get the string value of the first element of '{3}'. + 没有为类型“{1}”和“{2}”定义运算符“{0}”。可使用“Value”属性来获取“{3}”的第一个元素的字符串值。 + + + + Full width characters are not valid as XML delimiters. + 全角字符不能用作 XML 分隔符。 + + + + The value '{0}' is not a valid subsystem version. The version must be 6.02 or greater for ARM or AppContainerExe, and 4.00 or greater otherwise. + 值“{0}”不是有效的子系统版本。对于 ARM 或 AppContainerExe,版本必须为 6.02 或更高版本,对于其他内容,版本必须为 4.00 或更高版本。 + + + + Invalid file section alignment '{0}' + 无效的文件节对齐方式“{0}” + + + + Invalid output name: {0} + 无效输出名: {0} + + + + Invalid debug information format: {0} + 无效的调试信息格式: {0} + + + + /platform:anycpu32bitpreferred can only be used with /t:exe, /t:winexe and /t:appcontainerexe. + /platform:anycpu32bitpreferred 只能与 /t:exe、/t:winexe 和 /t:appcontainerexe 一起使用。 + + + + Expression has the type '{0}' which is a restricted type and cannot be used to access members inherited from 'Object' or 'ValueType'. + 表达式的类型为“{0}”,这是受限类型,不能用于访问从“Object”或“ValueType”继承的成员。 + + + + Expression of type '{0}' cannot be converted to 'Object' or 'ValueType'. + 类型“{0}”的表达式无法转换为“Object”或“ValueType”。 + + + + Type characters are not allowed in label identifiers. + 标签标识符中不允许使用类型字符。 + + + + '{0}' cannot be made nullable, and cannot be used as the data type of an array element, field, anonymous type member, type argument, 'ByRef' parameter, or return statement. + '“{0}”不能设置为可以为 null,而且不能用作数组元素、字段、匿名类型成员、类型参数、“ByRef”参数或返回语句的数据类型。 + + + + Type characters are not allowed on Imports aliases. + 在 Imports 别名上不允许使用类型字符。 + + + + Class '{0}' has no accessible 'Sub New' and cannot be inherited. + 类“{0}”没有可访问的“Sub New”,不能被继承。 + + + + Local variables within methods of structures cannot be declared 'Static'. + 结构方法内部的局部变量不能声明为“Static”。 + + + + Static local variable '{0}' is already declared. + 已声明静态局部变量“{0}”。 + + + + Imports alias '{0}' conflicts with '{1}' declared in the root namespace. + Imports 别名“{0}”与根命名空间中声明的“{1}”冲突。 + + + + '{0}' cannot shadow a method declared 'MustOverride'. + '“{0}”不能隐藏声明为“MustOverride”的方法。 + + + + Event '{0}' cannot implement event '{2}.{1}' because its delegate type does not match the delegate type of another event implemented by '{0}'. + 事件“{0}”不能实现事件“{2}.{1}”,因为其委托类型与“{0}”实现的另一个事件的委托类型不匹配。 + + + + '{0}' and '{1}' cannot be combined. + '“{0}”不能与“{1}”组合。 + + + + {0} '{1}' must be declared 'Overloads' because another '{1}' is declared 'Overloads' or 'Overrides'. + {0}“{1}”必须声明为“Overloads”,因为另一个“{1}”声明为“Overloads”或“Overrides”。 + + + + '{0}' must be declared 'MustInherit' because it contains methods declared 'MustOverride'. + '“{0}”包含声明为“MustOverride”的方法,因此它必须声明为“MustInherit”。 + + + + 'Handles' in classes must specify a 'WithEvents' variable, 'MyBase', 'MyClass' or 'Me' qualified with a single identifier. + '类中的“Handles”必须指定用单个标识符限定的“WithEvents”变量、“MyBase”、“MyClass”或“Me”。 + + + + '{0}', implicitly declared for {1} '{2}', cannot shadow a 'MustOverride' method in the base {3} '{4}'. + '为 {1}“{2}”隐式声明的“{0}”不能隐藏基 {3}“{4}”中的“MustOverride”方法。 + + + + '{0}' cannot override '{1}' because it is not accessible in this context. + '“{0}”无法重写“{1}”,因为它在此上下文中是无法访问的。 + + + + 'Handles' in modules must specify a 'WithEvents' variable qualified with a single identifier. + '模块中的“Handles”必须指定用单个标识符限定的“WithEvents”变量。 + + + + 'IsNot' requires operands that have reference types, but this operand has the value type '{0}'. + '“IsNot”要求具有引用类型的操作数,但此操作数的值类型为“{0}”。 + + + + '{0}' conflicts with the reserved member by this name that is implicitly declared in all enums. + '“{0}”与在所有枚举中隐式声明的同名保留成员冲突。 + + + + '{0}' is already declared in this {1}. + '此 {1} 中已声明了“{0}”。 + + + + 'System.Void' can only be used in a GetType expression. + '“System.Void”只能在 GetType 表达式中使用。 + + + + Event '{0}' cannot implement event '{1}' on interface '{2}' because their delegate types '{3}' and '{4}' do not match. + 事件“{0}”无法实现接口“{2}”上的事件“{1}”,因为其委托类型“{3}”和“{4}”不匹配。 + + + + Type '{0}' in assembly '{1}' has been forwarded to assembly '{2}'. Either a reference to '{2}' is missing from your project or the type '{0}' is missing from assembly '{2}'. + 程序集“{1}”中的类型“{0}”已转发到程序集“{2}”。您的项目中缺少对“{2}”的引用或者程序集中“{2}”缺少类型“{0}”。 + + + + '{0}' in assembly '{1}' has been forwarded to itself and so is an unsupported type. + '程序集“{1}”中的“{0}”已被转发给自身,因此它是一种不受支持的类型。 + + + + Non-intrinsic type names are not allowed in conditional compilation expressions. + 在条件编译表达式中不允许有非内部的类型名。 + + + + Syntax error in conditional compilation expression. + 条件编译表达式中有语法错误。 + + + + Arrays of type 'System.Void' are not allowed in this expression. + 此表达式中不允许使用 "System.Void" 类型的数组。 + + + + '{0}' is ambiguous because multiple kinds of members with this name exist in {1} '{2}'. + '“{0}”不明确,因为 {1}“{2}”中存在多种具有此名称的成员 + + + + Expression of type '{0}' can never be of type '{1}'. + 类型“{0}”的表达式永远不能为类型“{1}”。 + + + + Partial methods must be declared 'Private' instead of '{0}'. + 必须将分部方法声明为“Private”,而不是“{0}”。 + + + + Partial methods must be declared 'Private'. + 必须将分部方法声明为 "Private"。 + + + + Method '{0}' cannot be declared 'Partial' because only one method '{1}' can be marked 'Partial'. + 方法“{0}”不能声明为“Partial”,因为只有一个方法“{1}”可以标记为“Partial”。 + + + + Method '{0}' cannot implement partial method '{1}' because '{2}' already implements it. Only one method can implement a partial method. + 方法“{0}”无法实现分部方法“{1}”,因为它已经由“{2}”实现。分部方法只能由一个方法实现。 + + + + Partial methods must have empty method bodies. + 分部方法必须具有空方法体。 + + + + '{0}' cannot be declared 'Partial' because partial methods must be Subs. + '“{0}”不能声明为“Partial”,因为分部方法必须为 Subs。 + + + + Method '{0}' does not have the same generic constraints as the partial method '{1}'. + 方法“{0}”没有与分部方法“{1}”相同的泛型约束。 + + + + Partial method '{0}' cannot use the 'Implements' keyword. + 分部方法“{0}”不能使用“Implements”关键字。 + + + + 'AddressOf' cannot be applied to '{0}' because '{0}' is a partial method without an implementation. + '“AddressOf”不能应用于“{0}”,因为“{0}”是不包含实现的分部方法。 + + + + Method '{0}' must be declared 'Private' in order to implement partial method '{1}'. + 方法“{0}”必须声明为“Private”,以便实现分部方法“{1}”。 + + + + Parameter name '{0}' does not match the name of the corresponding parameter, '{1}', defined on the partial method declaration '{2}'. + 参数名“{0}”与在分部方法声明“{2}”上定义的相应参数的名称“{1}”不匹配。 + + + + Name of type parameter '{0}' does not match '{1}', the corresponding type parameter defined on the partial method declaration '{2}'. + 类型参数“{0}”的名称与在分部方法声明“{2}”上定义的相应类型参数“{1}”不匹配。 + + + + 'Shared' attribute property '{0}' cannot be the target of an assignment. + '“Shared”特性属性“{0}”不能作为赋值的目标。 + + + + 'ReadOnly' attribute property '{0}' cannot be the target of an assignment. + '“ReadOnly”特性属性“{0}”不能作为赋值的目标。 + + + + Resource name '{0}' cannot be used more than once. + 资源名称“{0}”不能多次使用。 + + + + Each linked resource and module must have a unique filename. Filename '{0}' is specified more than once in this assembly. + 每个链接的资源和模块都必须有唯一的文件名。此程序集中多次指定了文件名“{0}”。 + + + + '{0}' cannot be used as an attribute because it is not a class. + '“{0}”不是类,因此不能用作属性。 + + + + '{0}' cannot be used as an attribute because it does not inherit from 'System.Attribute'. + '“{0}”不从“System.Attribute”继承,因此不能用作属性。 + + + + '{0}' cannot be used as an attribute because it is declared 'MustInherit'. + '“{0}”已声明为“MustInherit”,因此不能用作属性。 + + + + Unable to open resource file '{0}': {1} + 无法打开资源文件“{0}”: {1} + + + + Attribute member '{0}' cannot be the target of an assignment because it is not declared 'Public'. + 特性成员“{0}”未声明为“Public”,因此不能作为赋值的目标。 + + + + 'System.STAThreadAttribute' and 'System.MTAThreadAttribute' cannot both be applied to the same method. + '"System.STAThreadAttribute" 和 "System.MTAThreadAttribute" 不能同时应用于同一方法。 + + + + Project '{0}' makes an indirect reference to assembly '{1}', which contains '{2}'. Add a file reference to '{3}' to your project. + 项目“{0}”间接引用包含“{2}”的程序集“{1}”。请在您的项目中添加对“{3}”的文件引用。 + + + + Type '{0}' cannot be used in an attribute because it is not declared 'Public'. + 类型“{0}”未声明为“Public”,因此不能用在特性中。 + + + + Type '{0}' cannot be used in an attribute because its container '{1}' is not declared 'Public'. + 类型“{0}”的容器“{1}”未声明为“Public”,因此不能用在特性中。 + + + + 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a Sub, Function, or Operator with a non-empty body. + '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于带有非空体的 Sub、Function 或 Operator。 + + + + 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a Declare. + '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于 Declare。 + + + + 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a Get or Set. + '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于 Get 或 Set。 + + + + 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a method that is generic or contained in a generic type. + '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于属于泛型类型或者包含在泛型类型中的方法。 + + + + 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to a class that is generic or contained inside a generic type. + '“Microsoft.VisualBasic.ComClassAttribute”不能应用于属于泛型类型或者包含在泛型类型中的类。 + + + + 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to instance method. + '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于实例方法。 + + + + 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to interface methods. + '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于接口方法。 + + + + 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to 'AddHandler', 'RemoveHandler' or 'RaiseEvent' method. + '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于 "AddHandler"、"RemoveHandler" 或 "RaiseEvent" 方法。 + + + + Friend assembly reference '{0}' is invalid. InternalsVisibleTo declarations cannot have a version, culture, public key token, or processor architecture specified. + 友元程序集引用“{0}”无效。不能在 InternalsVisibleTo 声明中指定版本、区域性、公钥标记或处理器架构。 + + + + Friend assembly reference '{0}' is invalid. Strong-name signed assemblies must specify a public key in their InternalsVisibleTo declarations. + 友元程序集引用“{0}”无效。强名称签名的程序集必须在其 InternalsVisibleTo 声明中指定一个公钥。 + + + + Friend declaration '{0}' is invalid and cannot be resolved. + 友元声明“{0}”无效,且无法解析。 + + + + Member '{0}' cannot override member '{1}' defined in another assembly/project because the access modifier 'Protected Friend' expands accessibility. Use 'Protected' instead. + 成员“{0}”无法重写另一个程序集/项目中定义的成员“{1}”,因为访问修饰符“Protected Friend”扩展了可访问性。请改用“Protected”。 + + + + Local variable '{0}' cannot be referred to before it is declared. + 局部变量“{0}”在声明之前不能被引用。 + + + + '{0}' is not valid within a Module. + '“{0}”在模块中无效。 + + + + Statement cannot end a block outside of a line 'If' statement. + 语句不能在“If”语句行之外结束块。 + + + + 'Char' values cannot be converted to '{0}'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit. + '“Char”值不能转换为“{0}”。请使用“Microsoft.VisualBasic.AscW”将字符解释为 Unicode 值,或者使用“Microsoft.VisualBasic.Val”将字符解释为数字。 + + + + '{0}' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit. + '“{0}”值不能转换为“Char”。使用“Microsoft.VisualBasic.ChrW”将数值解释为 Unicode 字符或先将其转换为“String”以产生数字。 + + + + Delegate '{0}' requires an 'AddressOf' expression or lambda expression as the only argument to its constructor. + 委托“{0}”需要使用一个“AddressOf”表达式或 lambda 表达式作为其构造函数的唯一参数。 + + + + Method declaration statements must be the first statement on a logical line. + 方法声明语句必须是逻辑行上的第一条语句。 + + + + '{0}' cannot be named as a parameter in an attribute specifier because it is not a field or property. + '“{0}”不是字段或属性(Property),因此不能命名为属性(Attribute)说明符中的参数。 + + + + Option Strict On disallows operands of type Object for operator '{0}'. Use the 'Is' operator to test for object identity. + Option Strict On 不允许将类型 Object 的操作数用于运算符“{0}”。请使用“Is”运算符测试对象标识。 + + + + Bounds can be specified only for the top-level array when initializing an array of arrays. + 初始化数组的数组时,只能指定顶级数组的界限。 + + + + 'Assembly' or 'Module' expected. + '应为“Assembly”或“Module”。 + + + + '{0}' has no parameters and its return type cannot be indexed. + '“{0}”没有任何参数,并且无法对它的返回类型进行索引。 + + + + Comma, ')', or a valid expression continuation expected. + 应为逗号、")" 或有效的表达式继续符。 + + + + 'Resume' or 'GoTo' expected. + '应为 "Resume" 或 "GoTo"。 + + + + '=' expected. + '应为 "="。 + + + + Parameter '{0}' in '{1}' already has a matching omitted argument. + “{1}”中的形参“{0}”已具有匹配的省略实参。 + + + + '{0}' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event. + '“{0}”是事件,不能直接调用。请使用“RaiseEvent”语句引发事件。 + + + + Expression is of type '{0}', which is not a collection type. + 表达式的类型为“{0}”,该类型不是集合类型。 + + + + Default values cannot be supplied for parameters that are not declared 'Optional'. + 无法向未声明为 "Optional" 的参数提供默认值。 + + + + 'MyBase' must be followed by '.' and an identifier. + '“MyBase”的后面必须跟有“.”和标识符。 + + + + 'MyClass' must be followed by '.' and an identifier. + '“MyClass”的后面必须跟有“.”和标识符。 + + + + Option Strict On disallows narrowing from type '{1}' to type '{2}' in copying the value of 'ByRef' parameter '{0}' back to the matching argument. + 将“ByRef”形参“{0}”的值复制回匹配实参时,Option Strict On 不允许从类型“{1}”收缩为类型“{2}”。 + + + + '#ElseIf' cannot follow '#Else' as part of a '#If' block. + '"#ElseIf" 不能作为 "#If" 块的一部分跟在 "#Else" 之后。 + + + + Attribute specifier is not a complete statement. Use a line continuation to apply the attribute to the following statement. + 特性说明符不是一个完整的语句。请使用行继续符将该特性应用于下列语句。 + + + + Class '{0}' must declare a 'Sub New' because its base class '{1}' has more than one accessible 'Sub New' that can be called with no arguments. + 类“{0}”必须声明一个“Sub New”,因它的基类“{1}”有多个不使用参数就可以调用的可访问“Sub New”。 + + + + 'Next' statement names more variables than there are matching 'For' statements. + '“Next”语句命名的变量比已有的匹配“For”语句多。 + + + + First statement of this 'Sub New' must be a call to 'MyBase.New' or 'MyClass.New' because base class '{0}' of '{1}' has more than one accessible 'Sub New' that can be called with no arguments. + “{1}”的基类“{0}”没有不使用参数就可以调用的可访问“Sub New”,因此该“Sub New”的第一个语句必须是对“MyBase.New”或“MyClass.New”的调用。 + + + + Array declared as for loop control variable cannot be declared with an initial size. + 声明用于循环控制变量的数组时不能使用初始大小的值。 + + + + The '{0}' keyword is used to overload inherited members; do not use the '{0}' keyword when overloading 'Sub New'. + “{0}”关键字用于重载继承的成员;重载“Sub New”时不要使用“{0}”关键字。 + + + + Type character cannot be used in a type parameter declaration. + 在类型参数声明中不能使用类型字符。 + + + + Too few type arguments to '{0}'. + “{0}”的类型参数太少。 + + + + Too many type arguments to '{0}'. + “{0}”的类型参数太多。 + + + + Type argument '{0}' does not inherit from or implement the constraint type '{1}'. + 类型参数“{0}”不能继承自或实现约束类型“{1}”。 + + + + '{0}' has no type parameters and so cannot have type arguments. + '“{0}”没有类型形参,因此不能有类型实参。 + + + + 'New' cannot be used on a type parameter that does not have a 'New' constraint. + '不能在没有 "New" 约束的类型参数上使用 "New"。 + + + + Type parameter '{0}' can only have one constraint that is a class. + 类型参数“{0}”只能有一个属于类的约束。 + + + + Type constraint '{0}' must be either a class, interface or type parameter. + 类型约束“{0}”必须是类、接口或类型参数。 + + + + Type parameter already declared with name '{0}'. + 类型参数已使用名称“{0}”声明。 + + + + Type parameter '{0}' for '{1}' cannot be inferred. + 无法推断“{1}”的类型参数“{0}”。 + + + + 'Is' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a type parameter with no class constraint. + '类型“{0}”是没有类约束的类型参数,因此类型“{0}”的“Is”操作数只能与“Nothing”比较。 + + + + Copying the value of 'ByRef' parameter '{0}' back to the matching argument narrows from type '{1}' to type '{2}'. + 将“ByRef”参数“{0}”的值复制回匹配的参数将导致从类型“{1}”到类型“{2}”的收缩。 + + + + '{0}' has the same name as a type parameter. + '“{0}”与一个类型参数同名。 + + + + {0} '{1}' cannot inherit from a type parameter. + {0}“{1}”不能从类型参数中继承。 + + + + Type parameter not allowed in 'Implements' clause. + “Implements”子句中不允许类型参数。 + + + + Array lower bounds can be only '0'. + 数组的下限只能是“0”。 + + + + Type constraint cannot be a 'NotInheritable' class. + 类型约束不能是“NotInheritable”类。 + + + + '{0}' cannot be used as a type constraint. + '“{0}”不能用作类型约束。 + + + + Type parameters cannot be specified on this declaration. + 在此声明上不能指定类型参数。 + + + + Type arguments are not valid because attributes cannot be generic. + 由于特性不能是泛型,因此类型参数无效。 + + + + Type parameters, generic types or types contained in generic types cannot be used as attributes. + 类型参数、泛型类型或泛型类型中包含的类型不能用作特性。 + + + + Local variables within generic methods cannot be declared 'Static'. + 泛型方法中的局部变量不能声明为“Static”。 + + + + {0} '{1}' implicitly defines a member '{2}' which has the same name as a type parameter. + {0}“{1}”隐式定义了与某个类型参数同名的成员“{2}”。 + + + + Constraint type '{0}' already specified for this type parameter. + 已为此类型参数指定了约束类型“{0}”。 + + + + Cannot implement interface '{0}' because its implementation could conflict with the implementation of another implemented interface '{1}' for some type arguments. + 无法实现接口“{0}”,因为对于某些类型参数,该接口的实现可能与另一个已实现的接口“{1}”的实现冲突。 + + + + Modules cannot be generic. + 模块不能是泛型的。 + + + + Classes that are generic or contained in a generic type cannot inherit from an attribute class. + 属于泛型或包含在泛型类型中的类不能从特性类继承。 + + + + 'Declare' statements are not allowed in generic types or types contained in generic types. + '泛型类型或包含在泛型类型中的类型中不允许“Declare”语句。 + + + + '{0}' cannot override '{1}' because they differ by type parameter constraints. + '“{0}”无法重写“{1}”,因为它们在类型参数约束上存在差异。 + + + + '{0}' cannot implement '{1}.{2}' because they differ by type parameter constraints. + '“{0}”无法实现“{1}.{2}”,因为它们在类型参数约束上存在差异。 + + + + Type parameters or types constructed with type parameters are not allowed in attribute arguments. + 特性实参中不允许类型形参或用类型形参构造的类型。 + + + + Generic methods cannot use 'Handles' clause. + 泛型方法不能使用“Handles”子句。 + + + + 'New' constraint cannot be specified multiple times for the same type parameter. + '"New" 约束不能为同一类型参数指定多次。 + + + + Type argument '{0}' is declared 'MustInherit' and does not satisfy the 'New' constraint for type parameter '{1}'. + 类型实参“{0}”声明为“MustInherit”,并且不满足类型形参“{1}”的“New”约束。 + + + + Type argument '{0}' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter '{1}'. + 类型实参“{0}”必须具有一个公共的无参数实例构造函数,才能满足类型形参“{1}”的“New”约束。 + + + + Type parameter '{0}' must have either a 'New' constraint or a 'Structure' constraint to satisfy the 'New' constraint for type parameter '{1}'. + 类型参数“{0}”必须具有“New”约束或“Structure”约束,才能满足类型参数“{1}”的“New”约束。 + + + + Arguments cannot be passed to a 'New' used on a type parameter. + 无法给类型形参上使用的 "New" 传递实参。 + + + + Generic type '{0}' cannot be imported more than once. + 不能多次导入泛型类型“{0}”。 + + + + Overload resolution failed because no accessible '{0}' accepts this number of type arguments. + 重载决策失败,因为没有可访问的“{0}”接受此数量的类型参数。 + + + + Type arguments unexpected. + 不应为类型参数。 + + + + '{0}' is already declared as a type parameter of this method. + '“{0}”已声明为此方法的类型参数。 + + + + Type parameter cannot have the same name as its defining function. + 类型参数不能与其定义函数同名。 + + + + Type or 'New' expected. + 应为类型或“New”。 + + + + 'Of' required when specifying type arguments for a generic type or method. + '在指定泛型类型或方法的类型参数时需要 "Of"。 + + + + '(' unexpected. Arrays of uninstantiated generic types are not allowed. + '不应为 "("。不允许非实例化泛型类型的数组。 + + + + 'For Each' on type '{0}' is ambiguous because the type implements multiple instantiations of 'System.Collections.Generic.IEnumerable(Of T)'. + '类型“{0}”的“For Each”不明确,因为此类型实现了“System.Collections.Generic.IEnumerable(Of T)”的多个实例化。 + + + + 'IsNot' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a type parameter with no class constraint. + '类型“{0}”是没有类约束的类型参数,因此类型“{0}”的“Isnot”操作数只能与“Nothing”比较。 + + + + Type parameters cannot be used as qualifiers. + 类型参数不能用作限定符。 + + + + Comma or ')' expected. + 应为逗号或 ")"。 + + + + 'As', comma or ')' expected. + '应为 "As"、逗号或 ")"。 + + + + 'Class' constraint cannot be specified multiple times for the same type parameter. + '"Class" 约束不能为同一类型参数指定多次。 + + + + 'Structure' constraint cannot be specified multiple times for the same type parameter. + '"Structure" 约束不能为同一类型参数指定多次。 + + + + 'New' constraint and 'Structure' constraint cannot be combined. + '"New" 约束不能与 "Structure" 约束组合。 + + + + 'Class' constraint and 'Structure' constraint cannot be combined. + '"Class" 约束不能与 "Structure" 约束组合。 + + + + Type argument '{0}' does not satisfy the 'Structure' constraint for type parameter '{1}'. + 类型实参“{0}”不满足类型形参“{1}”的“Structure”约束。 + + + + Type argument '{0}' does not satisfy the 'Class' constraint for type parameter '{1}'. + 类型实参“{0}”不满足类型形参“{1}”的“Class”约束。 + + + + 'Class' constraint and a specific class type constraint cannot be combined. + '"Class" 约束不能与特定的类类型约束组合。 + + + + 'Structure' constraint and a specific class type constraint cannot be combined. + '"Structure" 约束不能与特定的类类型约束组合。 + + + + Indirect constraint '{0}' obtained from the type parameter constraint '{1}' conflicts with the indirect constraint '{2}' obtained from the type parameter constraint '{3}'. + 从类型参数约束“{1}”获得的间接约束“{0}”与从类型参数约束“{3}”获得的间接约束“{2}”冲突。 + + + + Constraint '{0}' conflicts with the indirect constraint '{1}' obtained from the type parameter constraint '{2}'. + 约束“{0}”与从类型参数约束“{2}”获得的间接约束“{1}”冲突。 + + + + Indirect constraint '{0}' obtained from the type parameter constraint '{1}' conflicts with the constraint '{2}'. + 从类型参数约束“{1}”获得的间接约束“{0}”与约束“{2}”冲突。 + + + + + '{0}' is constrained to '{1}'. + + “{0}”被约束为“{1}”。 + + + + Type parameter '{0}' cannot be constrained to itself: {1} + 类型参数“{0}”不能约束为自身: {1} + + + + Type parameter with a 'Structure' constraint cannot be used as a constraint. + 具有 "Structure" 约束的类型参数不能用作约束。 + + + + 'System.Nullable' does not satisfy the 'Structure' constraint for type parameter '{0}'. Only non-nullable 'Structure' types are allowed. + '“System.Nullable”不满足类型参数“{0}”的“Structure”约束。仅允许不可为 null 的“Structure”类型。 + + + + Constraint '{0}' conflicts with the constraint '{1}' already specified for type parameter '{2}'. + 约束“{0}”与已为类型参数“{2}”指定的约束“{1}”冲突。 + + + + Cannot inherit interface '{0}' because it could be identical to interface '{1}' for some type arguments. + 无法继承接口“{0}”,因为对于某些类型参数,该接口与接口“{1}”相同。 + + + + Cannot inherit interface '{0}' because the interface '{1}' from which it inherits could be identical to interface '{2}' for some type arguments. + 无法继承接口“{0}”,因为对于某些类型参数,它所继承的接口“{1}”可能与接口“{2}”相同。 + + + + Cannot inherit interface '{0}' because the interface '{1}' from which it inherits could be identical to interface '{2}' from which the interface '{3}' inherits for some type arguments. + 无法继承接口“{0}”,因为对于某些类型参数,继承的接口“{1}”可能与接口“{3}”继承的接口“{2}”相同。 + + + + Cannot inherit interface '{0}' because it could be identical to interface '{1}' from which the interface '{2}' inherits for some type arguments. + 无法继承接口“{0}”,因为对于某些类型参数,该接口与接口“{2}”继承的接口“{1}”相同。 + + + + Cannot implement interface '{0}' because the interface '{1}' from which it inherits could be identical to implemented interface '{2}' for some type arguments. + 无法实现接口“{0}”,因为对于某些类型参数,它所继承的接口“{1}”可能与实现的接口“{2}”相同。 + + + + Cannot implement interface '{0}' because the interface '{1}' from which it inherits could be identical to interface '{2}' from which the implemented interface '{3}' inherits for some type arguments. + 无法实现接口“{0}”,因为对于某些类型参数,它所继承的接口“{1}”可能与实现的接口“{3}”所继承的接口“{2}”相同。 + + + + Cannot implement interface '{0}' because it could be identical to interface '{1}' from which the implemented interface '{2}' inherits for some type arguments. + 无法实现接口“{0}”,因为对于某些类型参数,它可能与实现的接口“{2}”所继承的接口“{1}”相同。 + + + + Generic parameters used as optional parameter types must be class constrained. + 用作可选参数类型的泛型参数必须受类约束。 + + + + Methods of 'System.Nullable(Of T)' cannot be used as operands of the 'AddressOf' operator. + “System.Nullable(Of T)”的方法不能用作“AddressOf”运算符的操作数。 + + + + 'Is' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a nullable type. + '类型“{0}”是可以为 null 的类型,因此“{0}”的“Is”操作数只能与“Nothing”进行比较。 + + + + 'IsNot' operand of type '{0}' can be compared only to 'Nothing' because '{0}' is a nullable type. + '类型“{0}”是可以为 null 的类型,因此“{0}”的“IsNot”操作数只能与“Nothing”进行比较。 + + + + '{0}' cannot be declared 'Shadows' outside of a class, structure, or interface. + '“{0}”不能在类、结构或接口外声明为“Shadows”。 + + + + Property parameters cannot have the name 'Value'. + 属性参数的名称不能为 "Value"。 + + + + The project currently contains references to more than one version of '{0}', a direct reference to version {2} and an indirect reference to version {1}. Change the direct reference to use version {1} (or higher) of {0}. + 项目当前包含对多个版本的“{0}”的引用、对版本 {2} 的直接引用和对版本 {1} 的间接引用。请将直接引用更改为使用 {0} 的版本 {1} (或更高版本)。 + + + + Multiple assemblies with equivalent identity have been imported: '{0}' and '{1}'. Remove one of the duplicate references. + 导入了具有等效标识的多个程序集:“{0}”和“{1}”。请删除重复引用之一。 + + + + Project already has a reference to assembly '{0}'. A second reference to '{1}' cannot be added. + 项目已经具有对程序集“{0}”的引用。无法添加另一个对“{1}”的引用。 + + + + Illegal call expression or index expression. + 非法的调用表达式或索引表达式。 + + + + Conflict between the default property and the 'DefaultMemberAttribute' defined on '{0}'. + 默认属性与“{0}”上定义的“DefaultMemberAttribute”之间有冲突。 + + + + '{0}' cannot be applied because the format of the GUID '{1}' is not correct. + 'GUID“{1}”的格式不正确,因此无法应用“{0}”。 + + + + 'Microsoft.VisualBasic.ComClassAttribute' and '{0}' cannot both be applied to the same class. + '“Microsoft.VisualBasic.ComClassAttribute”和“{0}”不能同时应用于同一个类。 + + + + 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to '{0}' because its container '{1}' is not declared 'Public'. + '“Microsoft.VisualBasic.ComClassAttribute”的容器“{1}”未声明为“Public”,因此不能应用于“{0}”。 + + + + 'System.Runtime.InteropServices.DispIdAttribute' cannot be applied to '{0}' because 'Microsoft.VisualBasic.ComClassAttribute' reserves zero for the default property. + '“Microsoft.VisualBasic.ComClassAttribute”为默认属性保留的值为零,因此“System.Runtime.InteropServices.DispIdAttribute”不能应用于“{0}”。 + + + + 'System.Runtime.InteropServices.DispIdAttribute' cannot be applied to '{0}' because 'Microsoft.VisualBasic.ComClassAttribute' reserves values less than zero. + '“Microsoft.VisualBasic.ComClassAttribute”保留的值小于零,因此“System.Runtime.InteropServices.DispIdAttribute”不能应用于“{0}”。 + + + + 'InterfaceId' and 'EventsId' parameters for 'Microsoft.VisualBasic.ComClassAttribute' on '{0}' cannot have the same value. + '“{0}”上“Microsoft.VisualBasic.ComClassAttribute”的“InterfaceId”和“EventsId”参数的值不能相同。 + + + + 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to a class that is declared 'MustInherit'. + '“Microsoft.VisualBasic.ComClassAttribute”不能应用于被声明为“MustInherit”的类。 + + + + 'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to '{0}' because it is not declared 'Public'. + '“Microsoft.VisualBasic.ComClassAttribute”未声明为“Public”,因此不能应用于“{0}”。 + + + + Operator declaration must be one of: +, -, *, \, /, ^, &, Like, Mod, And, Or, Xor, Not, <<, >>, =, <>, <, <=, >, >=, CType, IsTrue, IsFalse. + 运算符声明必须是以下符号之一: +、-、*、\、/、^、&,、Like、Mod、And、Or、Xor、Not、<<、>>、=、<>、<、<=、>、>=、CType、IsTrue 和 IsFalse。 + + + + 'Widening' and 'Narrowing' cannot be combined. + '"Widening" 不能与 "Narrowing" 组合。 + + + + Operator is not overloadable. Operator declaration must be one of: +, -, *, \, /, ^, &, Like, Mod, And, Or, Xor, Not, <<, >>, =, <>, <, <=, >, >=, CType, IsTrue, IsFalse. + 运算符不可重载。运算符声明必须是以下符号之一: +、-、*、\、/、^、&,、Like、Mod、And、Or、Xor、Not、<<、>>、=、<>、<、<=、>、>=、CType、IsTrue 和 IsFalse。 + + + + 'Handles' is not valid on operator declarations. + '“Handles”在运算符声明上无效。 + + + + 'Implements' is not valid on operator declarations. + '“Implements”在运算符声明上无效。 + + + + 'End Operator' expected. + '应为 "End Operator"。 + + + + 'End Operator' must be the first statement on a line. + '“End Operator”必须是一行中的第一条语句。 + + + + 'End Operator' must be preceded by a matching 'Operator'. + '“End Operator”前面必须是匹配的“Operator”。 + + + + 'Exit Operator' is not valid. Use 'Return' to exit an operator. + '"Exit Operator" 无效。请使用 "Return" 从运算符中退出。 + + + + '{0}' parameters cannot be declared 'ParamArray'. + '“{0}”参数不能声明为“ParamArray”。 + + + + '{0}' parameters cannot be declared 'Optional'. + '“{0}”参数不能声明为“Optional”。 + + + + Operators must be declared 'Public'. + 运算符必须声明为 "Public"。 + + + + Operators must be declared 'Shared'. + 运算符必须声明为 "Shared"。 + + + + Operators cannot be declared '{0}'. + 运算符不能声明为“{0}”。 + + + + Operator '{0}' must have one parameter. + 运算符“{0}”必须有一个参数。 + + + + Operator '{0}' must have two parameters. + 运算符“{0}”必须有两个参数。 + + + + Operator '{0}' must have either one or two parameters. + 运算符“{0}”必须有一个两个参数。 + + + + Conversion operators must be declared either 'Widening' or 'Narrowing'. + 转换运算符必须声明为“Widening”或者“Narrowing”。 + + + + Operators cannot be declared in modules. + 运算符不能在模块中声明。 + + + + Only conversion operators can be declared '{0}'. + 只有转换运算符可以声明为“{0}”。 + + + + Parameter of this unary operator must be of the containing type '{0}'. + 此一元运算符的参数必须属于包含类型“{0}”。 + + + + At least one parameter of this binary operator must be of the containing type '{0}'. + 此二元运算符的至少一个参数必须属于包含类型“{0}”。 + + + + Either the parameter type or the return type of this conversion operator must be of the containing type '{0}'. + 此转换运算符的参数类型或返回类型必须属于包含类型“{0}”。 + + + + Operator '{0}' must have a return type of Boolean. + 运算符“{0}”必须具有 Boolean 返回类型。 + + + + Conversion operators cannot convert from a type to the same type. + 转换运算符不能从某一类型转换为相同的类型。 + + + + Conversion operators cannot convert to an interface type. + 转换运算符不能转换为接口类型。 + + + + Conversion operators cannot convert from a type to its base type. + 转换运算符不能从某一类型转换为它的基类型。 + + + + Conversion operators cannot convert from a type to its derived type. + 转换运算符不能从某一类型转换为它的派生类型。 + + + + Conversion operators cannot convert to Object. + 转换运算符不能转换为 Object。 + + + + Conversion operators cannot convert from an interface type. + 转换运算符不能从接口类型转换。 + + + + Conversion operators cannot convert from a base type. + 转换运算符不能从基类型转换。 + + + + Conversion operators cannot convert from a derived type. + 转换运算符不能从派生类型转换。 + + + + Conversion operators cannot convert from Object. + 转换运算符不能从 Object 转换。 + + + + Matching '{0}' operator is required for '{1}'. + “{1}”需要匹配“{0}”运算符。 + + + + Return and parameter types of '{0}' must be '{1}' to be used in a '{2}' expression. + “{0}”的返回类型和参数类型必须是“{1}”,才能在“{2}”表达式中使用。 + + + + Type '{0}' must define operator '{1}' to be used in a '{2}' expression. + 类型“{0}”必须定义运算符“{1}”,才能在“{2}”表达式中使用。 + + + + Cannot copy the value of 'ByRef' parameter '{0}' back to the matching argument because type '{1}' cannot be converted to type '{2}'. + 由于类型“{1}”不能转换为类型“{2}”,因此无法将“ByRef”参数“{0}”的值复制回匹配的参数。 + + + + Type '{0}' must define operator '{1}' to be used in a 'For' statement. + 类型“{0}”必须定义运算符“{1}”,才能在“For”语句中使用。 + + + + Return and parameter types of '{0}' must be '{1}' to be used in a 'For' statement. + “{0}”的返回类型和参数类型必须是“{1}”,才能在“For”语句中使用。 + + + + Parameter types of '{0}' must be '{1}' to be used in a 'For' statement. + “{0}”的参数类型必须是“{1}”,才能在“For”语句中使用。 + + + + Operator '{0}' must have a second parameter of type 'Integer' or 'Integer?'. + 运算符“{0}”必须有另一个“Integer”或“Integer?”类型的参数。 + + + + Nullable modifier cannot be specified on both a variable and its type. + 不能在变量及其类型上同时指定可以为 null 的修饰符。 + + + + Type '{0}' must be a value type or a type argument constrained to 'Structure' in order to be used with 'Nullable' or nullable modifier '?'. + 类型“{0}”必须是一个被约束为“Structure”的值类型或类型参数,才能与“Nullable”或可以为 null 的修饰符“?”一起使用。 + + + + Nullable modifier '?' and array modifiers '(' and ')' cannot be specified on both a variable and its type. + 不能在变量及其类型上同时指定可为 null 的修饰符“?”和数组修饰符“(”/“)”。 + + + + Expressions used with an 'If' expression cannot contain type characters. + 与“If”表达式一起使用的表达式不能包含类型字符。 + + + + 'If' operands cannot be named arguments. + '“If”操作数不能是命名参数。 + + + + Cannot infer a common type for the second and third operands of the 'If' operator. One must have a widening conversion to the other. + 无法推断“If”运算符的第二个和第三个操作数的通用类型。其中一个必须是另一个的扩大转换。 + + + + First operand in a binary 'If' expression must be a nullable value type, a reference type, or an unconstrained generic type. + 二进制“If”表达式中的第一个操作数必须是可以为 null 的类型或引用类型。 + + + + 'If' operator cannot be used in a 'Call' statement. + '“If”运算符不能在“Call”语句中使用。 + + + + Nullable modifier cannot be specified in variable declarations with 'As New'. + 在变量声明中不能用“As New”指定可以为 null 的修饰符。 + + + + Cannot infer a common type for the first and second operands of the binary 'If' operator. One must have a widening conversion to the other. + 无法推断二元“If”运算符的第一个和第二个操作数的通用类型。其中一个必须是另一个的扩大转换。 + + + + Nullable types are not allowed in conditional compilation expressions. + 在条件编译表达式中不允许有可以为 null 的类型。 + + + + Nullable modifier cannot be used with a variable whose implicit type is 'Object'. + 可以为 null 的修饰符不能与隐式类型为 "Object" 的变量一起使用。 + + + + Requested operation is not available because the runtime library function '{0}' is not defined. + 所请求的操作不可用,因为没有定义运行库函数“{0}”。 + + + + 'Global' must be followed by '.' and an identifier. + '“Global”的后面必须跟有“.”和标识符。 + + + + 'Global' not allowed in this context; identifier expected. + '此上下文中不允许 "Global";应为标识符。 + + + + 'Global' not allowed in handles; local name expected. + '句柄中不允许 "Global";应为本地名称。 + + + + 'ElseIf' must be preceded by a matching 'If' or 'ElseIf'. + '"ElseIf" 前面必须是匹配的 "If" 或 "ElseIf"。 + + + + Attribute constructor has a 'ByRef' parameter of type '{0}'; cannot use constructors with byref parameters to apply the attribute. + 特性构造函数有一个“{0}”类型的“ByRef”参数;不能用带有 byref 参数的构造函数来应用特性。 + + + + 'End Using' must be preceded by a matching 'Using'. + '“End Using”前面必须是匹配的“Using”。 + + + + 'Using' must end with a matching 'End Using'. + '“Using”必须以匹配的“End Using”结束。 + + + + 'GoTo {0}' is not valid because '{0}' is inside a 'Using' statement that does not contain this statement. + '“GoTo {0}”无效,因为“{0}”位于不包含此语句的“Using”语句中。 + + + + 'Using' operand of type '{0}' must implement 'System.IDisposable'. + '“{0}”类型的“Using”操作数必须实现“System.IDisposable”。 + + + + 'Using' resource variable must have an explicit initialization. + '"Using" 资源变量必须有一个显式初始化。 + + + + 'Using' resource variable type can not be array type. + '"Using" 资源变量类型不能是数组类型。 + + + + 'On Error' statements are not valid within 'Using' statements. + '"On Error" 语句在 "Using" 语句内无效。 + + + + '{0}' has the same name as a member used for type '{1}' exposed in a 'My' group. Rename the type or its enclosing namespace. + '“{0}”与“My”组中公开的类型“{1}”所使用的成员同名。请重命名该类型或其封闭命名空间。 + + + + Implicit variable '{0}' is invalid because of '{1}'. + 由于“{1}”,隐式变量“{0}”无效。 + + + + Object initializers require a field name to initialize. + 对象初始值设定项需要一个字段名称以便进行初始化。 + + + + 'From' expected. + '应为“From”。 + + + + Nested function does not have the same signature as delegate '{0}'. + 嵌套函数与委托“{0}”的签名不相同。 + + + + Nested sub does not have a signature that is compatible with delegate '{0}'. + 嵌套 Sub 的签名与委托“{0}”不兼容。 + + + + 'ByRef' parameter '{0}' cannot be used in a query expression. + '不能在查询表达式中使用“ByRef”参数“{0}”。 + + + + Expression cannot be converted into an expression tree. + 无法将表达式转换为表达式树。 + + + + Instance members and 'Me' cannot be used within query expressions in structures. + 无法在结构中的查询表达式中使用实例成员和“Me”。 + + + + Variable cannot be initialized with non-array type '{0}'. + 无法用非数组类型“{0}”初始化变量。 + + + + References to 'ByRef' parameters cannot be converted to an expression tree. + 对“ByRef”参数的引用无法转换为表达式树。 + + + + Anonymous type member or property '{0}' is already declared. + 已声明匿名类型成员或属性“{0}”。 + + + + Cannot convert anonymous type to an expression tree because a property of the type is used to initialize another property. + 无法将匿名类型转换为表达式树,因为此类型的属性用于初始化其他属性。 + + + + Anonymous type property '{0}' cannot be used in the definition of a lambda expression within the same initialization list. + 不能在同一个初始化列表中的 lambda 表达式定义中使用匿名类型属性“{0}”。 + + + + 'Extension' attribute can be applied only to 'Module', 'Sub', or 'Function' declarations. + '“Extension”特性只能应用于“Module”、“Sub”或“Function”声明。 + + + + Extension methods can be defined only in modules. + 只能在模块中定义扩展方法。 + + + + Extension methods must declare at least one parameter. The first parameter specifies which type to extend. + 扩展方法必须至少声明一个参数。第一个参数指定要扩展的类型。 + + + + 'Optional' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend. + '“Optional”无法应用于扩展方法的第一个参数。第一个参数指定要扩展哪个类型。 + + + + 'ParamArray' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend. + '“ParamArray”无法应用于扩展方法的第一个参数。第一个参数指定要扩展哪个类型。 + + + + Anonymous type member name can be inferred only from a simple or qualified name with no arguments. + 只能从不带参数的简单名或限定名中推断匿名类型成员名称。 + + + + '{0}' is not a member of '{1}'; it does not exist in the current context. + '“{0}”不是“{1}”的成员;它不存在于当前上下文。 + + + + The custom-designed version of 'System.Runtime.CompilerServices.ExtensionAttribute' found by the compiler is not valid. Its attribute usage flags must be set to allow assemblies, classes, and methods. + 编译器找到的“System.Runtime.CompilerServices.ExtensionAttribute”的自定义设计版本无效。必须将其特性用法标志设置为允许程序集、类和方法使用。 + + + + Anonymous type member property '{0}' cannot be used to infer the type of another member property because the type of '{0}' is not yet established. + 无法使用匿名类型成员属性“{0}”来推断另一个成员属性的类型,因为尚未建立“{0}”的类型。 + + + + Type characters cannot be used in anonymous type declarations. + 不能在匿名类型声明中使用类型字符。 + + + + Type characters cannot be used in tuple literals. + 类型字符无法用在元组文本中。 + + + + 'New' cannot be used with tuple type. Use a tuple literal expression instead. + '"New" 不能用于元组类型。请改用元组文本表达式。 + + + + Predefined type '{0}' must be a structure. + 预定义的类型“{0}”必须是一种结构。 + + + + Extension method '{0}' has type constraints that can never be satisfied. + 扩展方法“{0}”具有无法满足的类型约束。 + + + + + Extension method '{0}' defined in '{1}': {2} + + “{1}”中定义的扩展方法“{0}”: {2} + + + + Method does not have a signature compatible with the delegate. + 方法没有与委托兼容的签名。 + + + + Type arguments could not be inferred from the delegate. + 未能从委托中推断类型参数。 + + + + Too many arguments. + 参数太多。 + + + + Parameter '{0}' already has a matching omitted argument. + 形参“{0}”已具有匹配的省略实参。 + + + + Parameter '{0}' already has a matching argument. + 形参“{0}”已具有匹配的实参。 + + + + '{0}' is not a method parameter. + '“{0}”不是方法参数。 + + + + Argument not specified for parameter '{0}'. + 没有为参数“{0}”指定参数。 + + + + Type parameter '{0}' cannot be inferred. + 无法推断类型参数“{0}”。 + + + + + Extension method '{0}' defined in '{1}'. + + “{1}”中定义的扩展方法“{0}”。 + + + + Anonymous type must contain at least one member. + 匿名类型必须至少包含一个成员。 + + + + Anonymous type member name must be preceded by a period. + 匿名类型成员名前面必须有一个句点。 + + + + Identifier expected, preceded with a period. + 应为开头带有句点的标识符。 + + + + Too many arguments to extension method '{0}' defined in '{1}'. + 对“{1}”中定义的扩展方法“{0}”而言,参数太多。 + + + + Parameter '{0}' in extension method '{1}' defined in '{2}' already has a matching omitted argument. + “{2}”中定义的扩展方法中的“{1}”形参“{0}”已具有匹配的省略实参。 + + + + Parameter '{0}' of extension method '{1}' defined in '{2}' already has a matching argument. + “{2}”中定义的扩展方法“{1}”的形参“{0}”已具有匹配的实参。 + + + + '{0}' is not a parameter of extension method '{1}' defined in '{2}'. + '“{0}”不是“{2}”中定义的扩展方法“{1}”的参数。 + + + + Argument not specified for parameter '{0}' of extension method '{1}' defined in '{2}'. + 没有为“{2}”中定义的扩展方法“{1}”的形参“{0}”指定实参。 + + + + Type parameter '{0}' for extension method '{1}' defined in '{2}' cannot be inferred. + 无法推断“{2}”中定义的扩展方法“{1}”的类型参数“{0}”。 + + + + Too few type arguments to extension method '{0}' defined in '{1}'. + 对“{1}”中定义的扩展方法“{0}”而言,类型参数太少。 + + + + Too many type arguments to extension method '{0}' defined in '{1}'. + 对“{1}”中定义的扩展方法“{0}”而言,类型参数太多。 + + + + 'In' or '=' expected. + '应为“In”或“=”。 + + + + Expression of type '{0}' is not queryable. Make sure you are not missing an assembly reference and/or namespace import for the LINQ provider. + 类型“{0}”的表达式不可查询。请确保不缺少程序集引用和/或 LINQ 提供程序的命名空间导入。 + + + + Definition of method '{0}' is not accessible in this context. + 方法“{0}”的定义在此上下文中不可访问。 + + + + Method cannot contain both a '{0}' statement and a definition of a variable that is used in a lambda or query expression. + 方法不能同时包含“{0}”语句以及在 lambda 或查询表达式中使用的变量的定义。 + + + + '{0}{1}' is not valid because '{2}' is inside a scope that defines a variable that is used in a lambda or query expression. + '“{0}{1}”无效,因为“{2}”所在的范围定义一个用在 lambda 表达式或查询表达式中的变量。 + + + + Instance of restricted type '{0}' cannot be used in a query expression. + 不能在查询表达式中使用受限类型“{0}”的实例。 + + + + Range variable name can be inferred only from a simple or qualified name with no arguments. + 只能从不带参数的简单名或限定名中推断范围变量名。 + + + + Range variable '{0}' is already declared. + 已声明范围变量“{0}”。 + + + + Type characters cannot be used in range variable declarations. + 在范围变量声明中不能使用类型字符。 + + + + 'ReadOnly' variable cannot be the target of an assignment in a lambda expression inside a constructor. + '在构造函数内的 lambda 表达式中,"ReadOnly" 变量不能作为赋值的目标。 + + + + Multi-dimensional array cannot be converted to an expression tree. + 多维数组无法转换为表达式树。 + + + + Late binding operations cannot be converted to an expression tree. + 后期绑定操作无法转换为表达式树。 + + + + 'By' expected. + '应为 "By"。 + + + + Range variable name cannot match the name of a member of the 'Object' class. + 范围变量名无法与 "Object" 类的成员名匹配。 + + + + 'In' expected. + '应为“In”。 + + + + Name '{0}' is either not declared or not in the current scope. + 名称“{0}”未声明或不在当前作用域中。 + + + + Return type of nested function matching parameter '{0}' narrows from '{1}' to '{2}'. + 与参数“{0}”匹配的嵌套函数的返回类型从“{1}”收缩到“{2}”。 + + + + Anonymous type member name cannot be inferred from an XML identifier that is not a valid Visual Basic identifier. + 无法根据不是有效 Visual Basic 标识符的 XML 标识符推断出匿名类型成员名称。 + + + + Range variable name cannot be inferred from an XML identifier that is not a valid Visual Basic identifier. + 无法根据不是有效 Visual Basic 标识符的 XML 标识符推断出范围变量名。 + + + + 'Into' expected. + '应为“Into”。 + + + + Aggregate function name cannot be used with a type character. + 聚合函数名不能与类型字符一起使用。 + + + + 'On' expected. + '应为 "On"。 + + + + 'Equals' expected. + '应为“Equals”。 + + + + 'And' expected. + '应为 "And"。 + + + + 'Equals' cannot compare a value of type '{0}' with a value of type '{1}'. + '“Equals”不能对类型为“{0}”的值与类型“{1}”的值进行比较。 + + + + You must reference at least one range variable on both sides of the 'Equals' operator. Range variable(s) {0} must appear on one side of the 'Equals' operator, and range variable(s) {1} must appear on the other. + “Equals”运算符的每一侧都必须至少引用一个范围变量。范围变量 {0} 必须出现在“Equals”运算符的一侧,范围变量 {1} 必须出现在另一侧。 + + + + Lambda expression cannot be converted to '{0}' because '{0}' is not a delegate type. + Lambda 表达式无法转换为“{0}”,因为“{0}”不是委托类型。 + + + + Lambda expression cannot be converted to '{0}' because type '{0}' is declared 'MustInherit' and cannot be created. + Lambda 表达式无法转换为“{0}”,因为类型“{0}”被声明为“MustInherit”,无法创建。 + + + + A nullable type cannot be inferred for variable '{0}'. + 对于变量“{0}”不能推断可以为 null 的类型。 + + + + Nullable type inference is not supported in this context. + 在该上下文中不支持可以为 null 的类型推理。 + + + + 'Join' expected. + '应为“Join”。 + + + + Nullable parameters must specify a type. + 可以为 null 的参数必须指定一个类型。 + + + + Range variable '{0}' hides a variable in an enclosing block, a previously defined range variable, or an implicitly declared variable in a query expression. + 范围变量“{0}”隐藏封闭块中的某个变量、以前定义的某个范围变量或者在查询表达式中隐式声明的某个变量。 + + + + Attributes cannot be applied to parameters of lambda expressions. + 特性不能应用于 lambda 表达式的参数。 + + + + Lambda expressions are not valid in the first expression of a 'Select Case' statement. + Lambda 表达式在 "Select Case" 语句的第一个表达式中无效。 + + + + 'AddressOf' expressions are not valid in the first expression of a 'Select Case' statement. + '“AddressOf”表达式在“Select Case”语句的第一个表达式中无效。 + + + + The '?' character cannot be used here. + 此处不能使用 "?" 字符。 + + + + Instance members and 'Me' cannot be used within a lambda expression in structures. + 无法在结构中的 lambda 表达式内使用实例成员和“Me”。 + + + + 'ByRef' parameter '{0}' cannot be used in a lambda expression. + '不能在 lambda 表达式中使用“ByRef”参数“{0}”。 + + + + Instance of restricted type '{0}' cannot be used in a lambda expression. + 不能在 lambda 表达式中使用受限类型“{0}”的实例。 + + + + Lambda parameter '{0}' hides a variable in an enclosing block, a previously defined range variable, or an implicitly declared variable in a query expression. + Lambda 参数“{0}”隐藏封闭块中的某个变量、以前定义的某个范围变量或者在查询表达式中隐式声明的某个变量。 + + + + Option Strict On requires each lambda expression parameter to be declared with an 'As' clause if its type cannot be inferred. + Option Strict On 要求使用 "As" 子句来声明其类型无法推断的每个 lambda 表达式参数。 + + + + Array modifiers cannot be specified on lambda expression parameter name. They must be specified on its type. + 不能在 lambda 表达式的参数名中指定数组修饰符。数组修饰符必须在其类型中指定。 + + + + Data type(s) of the type parameter(s) cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. + 无法从这些实参推断类型形参的数据类型。显式指定该数据类型可更正此错误。 + + + + Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. + 无法从这些实参推断方法“{0}”中类型形参的数据类型。显式指定数据类型可更正此错误。 + + + + Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. + 无法从这些实参推断“{1}”中定义的扩展方法“{0}”中类型形参的数据类型。显式指定数据类型可更正此错误。 + + + + Data type(s) of the type parameter(s) cannot be inferred from these arguments. + 无法从这些实参推断类型形参的数据类型。 + + + + Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments. + 无法从这些实参推断方法“{0}”中类型形参的数据类型。 + + + + Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments. + 无法从这些实参推断“{1}”中定义的扩展方法“{0}”中类型形参的数据类型。 + + + + Data type(s) of the type parameter(s) cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error. + 无法从这些实参推断类型形参的数据类型,因为可能会存在多个类型。显式指定数据类型可更正此错误。 + + + + Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error. + 无法从这些实参推断方法“{0}”中类型形参的数据类型,因为可能会存在多个类型。显式指定数据类型可更正此错误。 + + + + Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error. + 无法从这些实参推断“{0}”中定义的扩展方法“{1}”中类型形参的数据类型,因为可能会存在多个类型。显式指定数据类型可更正此错误。 + + + + Data type(s) of the type parameter(s) cannot be inferred from these arguments because more than one type is possible. + 无法从这些实参推断类型形参的数据类型,因为可能会存在多个类型。 + + + + Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because more than one type is possible. + 无法从这些实参推断方法“{0}”中类型形参的数据类型,因为可能会存在多个类型。 + + + + Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because more than one type is possible. + 无法从这些实参推断“{0}”中定义的扩展方法“{1}”中类型形参的数据类型,因为可能会存在多个类型。 + + + + Data type(s) of the type parameter(s) cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error. + 无法从这些实参推断类型形参的数据类型,因为这些数据类型不会转换为同一类型。显式指定数据类型可更正此错误。 + + + + Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error. + 无法从这些实参推断方法“{0}”中类型形参的数据类型,因为这些数据类型不会转换为同一类型。显式指定数据类型可更正此错误。 + + + + Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error. + 无法从这些实参推断“{1}”中定义的扩展方法“{0}”中类型形参的数据类型,因为这些数据类型不会转换为同一类型。显式指定数据类型可更正此错误。 + + + + Data type(s) of the type parameter(s) cannot be inferred from these arguments because they do not convert to the same type. + 无法从这些实参推断类型形参的数据类型,因为这些数据类型不会转换为同一类型。 + + + + Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because they do not convert to the same type. + 无法从这些实参推断方法“{0}”中类型形参的数据类型,因为这些数据类型不会转换为同一类型。 + + + + Data type(s) of the type parameter(s) in extension method '{0}' defined in '{1}' cannot be inferred from these arguments because they do not convert to the same type. + 无法从这些实参推断“{1}”中定义的扩展方法“{0}”中类型形参的数据类型,因为这些数据类型不会转换为同一类型。 + + + + Option Strict On does not allow narrowing in implicit type conversions between method '{0}' and delegate '{1}'. + Option Strict On 不允许对方法“{0}”和委托“{1}”之间的隐式类型转换进行收缩。 + + + + '{0}' is not accessible in this context because the return type is not accessible. + '“{0}”是不可访问的返回类型,因此它在此上下文中不可访问。 + + + + 'Group' or an identifier expected. + '应为“Group”或标识符。 + + + + 'Group' not allowed in this context; identifier expected. + '此上下文中不允许 "Group";应为标识符。 + + + + Option Strict On does not allow narrowing in implicit type conversions between extension method '{0}' defined in '{2}' and delegate '{1}'. + Option Strict On 不允许对“{2}”中定义的扩展方法“{0}”和委托“{1}”之间的隐式类型转换进行收缩。 + + + + Extension Method '{0}' defined in '{2}' does not have a signature compatible with delegate '{1}'. + “{2}”中定义的扩展方法“{0}”没有与委托“{1}”兼容的签名。 + + + + Argument matching parameter '{0}' narrows to '{1}'. + 与形参“{0}”匹配的实参收缩到“{1}”。 + + + + + {0} + + {0} + + + + Auto-implemented Properties contained in Structures cannot have initializers unless they are marked 'Shared'. + 如果没有将结构中包含的自动实现的属性标记为 "Shared",这些属性就不能有初始值设定项。 + + + + XML elements cannot be selected from type '{0}'. + XML 元素不能从类型“{0}”中选择。 + + + + XML attributes cannot be selected from type '{0}'. + XML 特性不能从类型“{0}”中选择。 + + + + XML descendant elements cannot be selected from type '{0}'. + XML 子代元素不能从类型“{0}”中选择。 + + + + Extension method '{0}' defined in '{1}' is not generic (or has no free type parameters) and so cannot have type arguments. + “{1}”中定义的扩展方法“{0}”不是泛型方法(或没有可用的类型形参),因此无法拥有类型实参。 + + + + Late-bound extension methods are not supported. + 不支持后期绑定的扩展方法。 + + + + Cannot infer a data type for '{0}' because the array dimensions do not match. + 无法推断“{0}”的数据类型,因为数组维数不匹配。 + + + + Type of the range variable cannot be inferred, and late binding is not allowed with Option Strict on. Use an 'As' clause to specify the type. + 无法推断范围变量的类型,且 Option Strict on 不允许后期绑定。请使用“As”子句来指定类型。 + + + + Type '{0}' cannot be embedded because it has generic argument. Consider disabling the embedding of interop types. + 无法嵌入类型“{0}”,因为它有泛型参数。请考虑禁用互操作类型嵌入。 + + + + Type '{0}' cannot be used across assembly boundaries because it has a generic type argument that is an embedded interop type. + 无法跨程序集边界使用类型“{0}”,因为它有身为嵌入的互操作类型的泛型类型参数。 + + + + '{0}' is obsolete: '{1}'. + '“{0}”已过时:“{1}”。 + + + + Type or member is obsolete + 类型或成员已过时 + + + + {0} '{1}' shadows an overloadable member declared in the base {2} '{3}'. If you want to overload the base method, this method must be declared 'Overloads'. + {0}“{1}”隐藏在基 {2}“{3}”中声明的可重载的成员。如果要重载基方法,则此方法必须声明为“Overloads”。 + + + + Member shadows an overloadable member declared in the base type + 成员隐藏在基类型中声明的可重载的成员 + + + + {0} '{1}' conflicts with {2} '{1}' in the base {3} '{4}' and should be declared 'Shadows'. + {0}“{1}”与基 {3}“{4}”中的 {2}“{1}”冲突,应该声明为“Shadows”。 + + + + Member conflicts with member in the base type and should be declared 'Shadows' + 成员与基类型中的成员发生冲突,因此应声明为 "Shadows" + + + + {0} '{1}' shadows an overridable method in the base {2} '{3}'. To override the base method, this method must be declared 'Overrides'. + {0}“{1}”隐藏基 {2}“{3}”中的可重写方法。若要重写基方法,必须将此方法声明为“Overrides”。 + + + + Member shadows an overridable method in the base type + 成员隐藏基类型中的可重写的方法 + + + + Default property '{0}' conflicts with the default property '{1}' in the base {2} '{3}'. '{0}' will be the default property. '{0}' should be declared 'Shadows'. + 默认属性“{0}”与基 {2}“{3}”中的默认属性“{1}”冲突。“{0}”将成为默认属性。“{0}”应声明为“Shadows”。 + + + + Default property conflicts with the default property in the base type + 默认属性与基类型中的默认属性发生冲突 + + + + '{0}' is obsolete. + '“{0}”已过时。 + + + + Type or member is obsolete + 类型或成员已过时 + + + + Possible problem detected while building assembly: {0} + 生成程序集时检测到可能存在的问题: {0} + + + + Possible problem detected while building assembly + 生成程序集时检测到可能的问题 + + + + Possible problem detected while building assembly '{0}': {1} + 生成程序集“{0}”时检测到可能存在的问题: {1} + + + + Possible problem detected while building assembly + 生成程序集时检测到可能的问题 + + + + 'Microsoft.VisualBasic.ComClassAttribute' is specified for class '{0}' but '{0}' has no public members that can be exposed to COM; therefore, no COM interfaces are generated. + '为类“{0}”指定了“Microsoft.VisualBasic.ComClassAttribute”,但“{0}”没有可以向 COM 公开的公共成员;因此不生成 COM 接口。 + + + + 'Microsoft.VisualBasic.ComClassAttribute' is specified for class but class has no public members that can be exposed to COM + '为类指定了 "Microsoft.VisualBasic.ComClassAttribute",但类没有可向 COM 公开的公共成员 + + + + {0} '{1}' implicitly declares '{2}', which conflicts with a member in the base {3} '{4}', and so the {0} should be declared 'Shadows'. + {0}“{1}”隐式声明的“{2}”与基 {3}“{4}”中的成员冲突,因此应将 {0} 声明为“Shadows”。 + + + + Property or event implicitly declares type or member that conflicts with a member in the base type + 属性或事件隐式声明与基类型中的成员发生冲突的类型或成员 + + + + {0} '{1}' conflicts with a member implicitly declared for {2} '{3}' in the base {4} '{5}' and should be declared 'Shadows'. + {0}“{1}”与为基 {4}“{5}”中 {2}“{3}”隐式声明的成员冲突,应将它声明为“Shadows”。 + + + + Member conflicts with a member implicitly declared for property or event in the base type + 成员与为基类型中的属性或事件隐式声明的成员冲突 + + + + {0} '{1}' implicitly declares '{2}', which conflicts with a member implicitly declared for {3} '{4}' in the base {5} '{6}'. {0} should be declared 'Shadows'. + {0}“{1}”隐式声明的“{2}”与为基 {5}“{6}”中的 {3}“{4}”隐式声明的成员冲突。{0} 应声明为“Shadows”。 + + + + Property or event implicitly declares member, which conflicts with a member implicitly declared for property or event in the base type + 属性或事件隐式声明与为基类型中的属性或事件隐式声明的成员发生冲突的成员 + + + + '{0}' accessor of '{1}' is obsolete: '{2}'. + '“{1}”的“{0}”访问器已过时:“{2}”。 + + + + Property accessor is obsolete + 属性访问器已过时 + + + + '{0}' accessor of '{1}' is obsolete. + '“{1}”的“{0}”访问器已过时。 + + + + Property accessor is obsolete + 属性访问器已过时 + + + + Type of member '{0}' is not CLS-compliant. + 成员“{0}”的类型不符合 CLS。 + + + + Type of member is not CLS-compliant + 成员的类型不符合 CLS + + + + '{0}' is not CLS-compliant because it derives from '{1}', which is not CLS-compliant. + '“{0}”不符合 CLS,因为它是从不符合 CLS 的“{1}”派生的。 + + + + Type is not CLS-compliant because it derives from base type that is not CLS-compliant + 类型不符合 CLS,原因是它从不符合 CLS 的基类型派生 + + + + Return type of function '{0}' is not CLS-compliant. + 函数“{0}”的返回类型不符合 CLS。 + + + + Return type of function is not CLS-compliant + 函数的返回类型不符合 CLS + + + + Type of parameter '{0}' is not CLS-compliant. + 参数“{0}”的类型不符合 CLS。 + + + + Type of parameter is not CLS-compliant + 参数的类型不符合 CLS + + + + '{0}' is not CLS-compliant because the interface '{1}' it inherits from is not CLS-compliant. + '“{0}”不符合 CLS,因为它所继承的接口“{1}”不符合 CLS。 + + + + Type is not CLS-compliant because the interface it inherits from is not CLS-compliant + 类型不符合 CLS,原因是它继承自的接口不符合 CLS + + + + {0} '{1}' cannot be marked CLS-compliant because its containing type '{2}' is not CLS-compliant. + {0}“{1}”不能被标记为符合 CLS,因为它的包含类型“{2}”不符合 CLS。 + + + + Member cannot be marked CLS-compliant because its containing type is not CLS-compliant + 无法将成员标记为符合 CLS,原因是它的包含类型不符合 CLS + + + + Name '{0}' is not CLS-compliant. + 名称“{0}”不符合 CLS。 + + + + Name is not CLS-compliant + 名称不符合 CLS + + + + Underlying type '{0}' of Enum is not CLS-compliant. + 枚举的基础类型“{0}”不符合 CLS。 + + + + Underlying type of Enum is not CLS-compliant + 枚举的基础类型不符合 CLS + + + + Non CLS-compliant '{0}' is not allowed in a CLS-compliant interface. + 在符合 CLS 的接口中不允许出现不符合 CLS 的“{0}”。 + + + + Non CLS-compliant member is not allowed in a CLS-compliant interface + 在符合 CLS 的接口中不允许出现不符合 CLS 的成员 + + + + Non CLS-compliant 'MustOverride' member is not allowed in CLS-compliant type '{0}'. + 在符合 CLS 的类型“{0}”中不允许出现不符合 CLS 的 "MustOverride" 成员。 + + + + Non CLS-compliant 'MustOverride' member is not allowed in CLS-compliant type + 在符合 CLS 的类型中不允许出现不符合 CLS 的 "Mustoverride" 成员 + + + + '{0}' is not CLS-compliant because it overloads '{1}' which differs from it only by array of array parameter types or by the rank of the array parameter types. + '“{0}”不符合 CLS,因为它重载仅在数组参数类型的数组或数组参数类型的秩方面与它不同的“{1}”。 + + + + Method is not CLS-compliant because it overloads method which differs from it only by array of array parameter types or by the rank of the array parameter types + 方法不符合 CLS,因为它重载仅在数组参数类型的数组或数组参数类型的秩方面与它不同的方法 + + + + Root namespace '{0}' is not CLS-compliant. + 根命名空间“{0}”不符合 CLS。 + + + + Root namespace is not CLS-compliant + 根命名空间不符合 CLS + + + + Name '{0}' in the root namespace '{1}' is not CLS-compliant. + 根命名空间“{1}”中的名称“{0}”不符合 CLS。 + + + + Part of the root namespace is not CLS-compliant + 根命名空间的一部分不符合 CLS + + + + Generic parameter constraint type '{0}' is not CLS-compliant. + 泛型形参约束类型“{0}”不符合 CLS。 + + + + Generic parameter constraint type is not CLS-compliant + 泛型参数约束类型不符合 CLS + + + + Type '{0}' is not CLS-compliant. + 类型“{0}”不符合 CLS。 + + + + Type is not CLS-compliant + 类型不符合 CLS + + + + Type of optional value for optional parameter '{0}' is not CLS-compliant. + 可选参数“{0}”的可选值的类型不符合 CLS。 + + + + Type of optional value for optional parameter is not CLS-compliant + 可选参数的可选值类型不符合 CLS + + + + System.CLSCompliantAttribute cannot be applied to property 'Get' or 'Set'. + System.CLSCompliantAttribute 不能应用于属性 "Get" 或 "Set"。 + + + + System.CLSCompliantAttribute cannot be applied to property 'Get' or 'Set' + System.CLSCompliantAttribute 不能应用于属性 "Get" 或 "Set" + + + + {0} '{1}' and partial {2} '{3}' conflict in {4} '{5}', but are being merged because one of them is declared partial. + {0}“{1}”和分部 {2}“{3}”在 {4}“{5}”中冲突,但由于其中的一个被声明为 Partial,因此正在合并。 + + + + Type and partial type conflict, but are being merged because one of them is declared partial + 类型和分部类型冲突,但由于其中一个被声明为 Partial,因此正在合并 + + + + Type parameter '{0}' has the same name as a type parameter of an enclosing type. Enclosing type's type parameter will be shadowed. + 类型参数“{0}”与封闭类型的类型参数同名。封闭类型的类型参数将被隐藏。 + + + + Type parameter has the same name as a type parameter of an enclosing type + 类型参数与封闭类型的类型参数具有相同的名称 + + + + Could not find standard library '{0}'. + 未能找到标准库“{0}”。 + + + + Could not find standard library + 找不到标准库 + + + + Delegate type '{0}' of event '{1}' is not CLS-compliant. + 事件“{1}”的委托类型“{0}”不符合 CLS。 + + + + Delegate type of event is not CLS-compliant + 事件的委托类型不符合 CLS + + + + System.Diagnostics.DebuggerHiddenAttribute does not affect 'Get' or 'Set' when applied to the Property definition. Apply the attribute directly to the 'Get' and 'Set' procedures as appropriate. + System.Diagnostics.DebuggerHiddenAttribute 在应用于属性定义时不影响“Get”或“Set”。请根据相应的情况,将此特性直接应用于“Get”和“Set”过程。 + + + + System.Diagnostics.DebuggerHiddenAttribute does not affect 'Get' or 'Set' when applied to the Property definition + 在应用到属性定义时,System.Diagnostics.DebuggerHiddenAttribute 不影响 "Get" 或 "Set" + + + + Range specified for 'Case' statement is not valid. Make sure that the lower bound is less than or equal to the upper bound. + 为 "Case" 语句指定的范围无效。请确保下限小于或等于上限。 + + + + Range specified for 'Case' statement is not valid + 为 "Case" 语句指定的范围无效 + + + + '{0}' method for event '{1}' cannot be marked CLS compliant because its containing type '{2}' is not CLS compliant. + '事件“{1}”的“{0}”方法不能被标记为符合 CLS,因为它的包含类型“{2}”不符合 CLS。 + + + + AddHandler or RemoveHandler method for event cannot be marked CLS compliant because its containing type is not CLS compliant + 事件的 AddHandler 方法或 RemoveHandler 方法无法标记为符合 CLS,原因是它的包含类型不符合 CLS + + + + '{0}' in designer-generated type '{1}' should call InitializeComponent method. + '设计器生成的类型“{1}”中的“{0}”应调用 InitializeComponent 方法。 + + + + Constructor in designer-generated type should call InitializeComponent method + 设计器生成的类型中的构造函数应调用 InitializeComponent 方法 + + + + Casing of namespace name '{0}' does not match casing of namespace name '{1}' in '{2}'. + 命名空间名“{0}”的大小写与“{2}”中命名空间名“{1}”的大小写不匹配。 + + + + Casing of namespace name does not match + 命名空间名称的大小写不匹配 + + + + Namespace or type specified in the Imports '{0}' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. + Imports“{0}”中指定的命名空间或类型不包含任何公共成员,或者找不到该命名空间或类型。确保定义了该命名空间或类型且其中至少包含一个公共成员。确保导入的元素名不使用任何别名。 + + + + Namespace or type specified in Imports statement doesn't contain any public member or cannot be found + 在 Imports 语句中指定的命名空间或类型不包含任何公共成员或找不到公共成员 + + + + Namespace or type specified in the project-level Imports '{0}' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. + 项目级 Imports“{0}”中指定的命名空间或类型不包含任何公共成员,或者找不到公共成员。要确保定义了该命名空间或类型且其中至少包含一个公共成员;还要确保导入的元素名不使用任何别名。 + + + + Namespace or type imported at project level doesn't contain any public member or cannot be found + 在项目级别导入的命名空间或类型不包含任何公共成员或找不到公共成员 + + + + A reference was created to embedded interop assembly '{0}' because of an indirect reference to that assembly from assembly '{1}'. Consider changing the 'Embed Interop Types' property on either assembly. + 已创建对嵌入的互操作程序集“{0}”的引用,因为程序集“{1}”间接引用了该程序集。请考虑更改其中一个程序集的“嵌入互操作类型”属性。 + + + + A reference was created to embedded interop assembly because of an indirect reference to that assembly + 已创建对嵌入的互操作程序集的引用,因为间接引用了该程序集 + + + + Class '{0}' should declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete. + 类“{0}”应该声明一个“Sub New”,因为其基类“{2}”中的“{1}”被标记为已过时。 + + + + Class should declare a 'Sub New' because the constructor in its base class is marked obsolete + 类应声明 "Sub New",原因是它的基类中的构造函数被标记为已过时 + + + + Class '{0}' should declare a 'Sub New' because the '{1}' in its base class '{2}' is marked obsolete: '{3}'. + 类“{0}”应该声明一个“Sub New”,因为其基类“{2}”中的“{1}”被标记为已过时:“{3}”。 + + + + Class should declare a 'Sub New' because the constructor in its base class is marked obsolete + 类应声明 "Sub New",原因是它的基类中的构造函数被标记为已过时 + + + + First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete. + 此“Sub New”中的第一条语句应为对“MyBase.New”或“MyClass.New”的显式调用,因为“{2}”的基类“{1}”中的“{0}”被标记为已过时。 + + + + First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the constructor in the base class is marked obsolete + 此 "Sub New" 的第一条语句必须是对 "MyBase.New" 或 "MyClass.New" 的显式调用,原因是基类中的构造函数被标为已过时 + + + + First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the '{0}' in the base class '{1}' of '{2}' is marked obsolete: '{3}' + 此“Sub New”中的第一条语句应为对“MyBase.New”或“MyClass.New”的显式调用,因为“{2}”的基类“{1}”中的“{0}”被标记为已过时:“{3}” + + + + First statement of this 'Sub New' should be an explicit call to 'MyBase.New' or 'MyClass.New' because the constructor in the base class is marked obsolete + 此 "Sub New" 的第一条语句必须是对 "MyBase.New" 或 "MyClass.New" 的显式调用,原因是基类中的构造函数被标为已过时 + + + + Operator without an 'As' clause; type of Object assumed. + 运算符没有 "As" 子句;假定为 Object 类型。 + + + + Operator without an 'As' clause + 运算符没有 "As" 子句 + + + + Type arguments inferred for method '{0}' result in the following warnings :{1} + 为方法“{0}”推断的类型参数导致以下警告:{1} + + + + Type arguments inferred for method result in warnings + 为方法推断的类型参数导致警告 + + + + Attribute 'Conditional' is only valid on 'Sub' declarations. + 特性 "Conditional" 只在 "Sub" 声明中有效。 + + + + Attribute 'Conditional' is only valid on 'Sub' declarations + 特性 "Conditional" 只在 "Sub" 声明中有效 + + + + Use command-line option '{0}' or appropriate project settings instead of '{1}'. + 请使用命令行选项“{0}”或适当的项目设置,而不是“{1}”。 + + + + Use command-line option /keyfile, /keycontainer, or /delaysign instead of AssemblyKeyFileAttribute, AssemblyKeyNameAttribute, or AssemblyDelaySignAttribute + 使用命令行选项 /keyfile、/keycontainer 或 /delaysign,而不要使用 AssemblyKeyFileAttribute、AssemblyKeyNameAttribute 或 AssemblyDelaySignAttribute + + + + Statement recursively calls the containing '{0}' for event '{1}'. + 语句以递归方式调用事件“{1}”的包含“{0}”。 + + + + Statement recursively calls the event's containing AddHandler + 语句递归调用事件包含的 AddHandler + + + + Implicit conversion from '{1}' to '{2}' in copying the value of 'ByRef' parameter '{0}' back to the matching argument. + 将“ByRef”形参“{0}”的值复制回匹配实参时,发生从“{1}”到“{2}”的隐式转换。 + + + + Implicit conversion in copying the value of 'ByRef' parameter back to the matching argument + 在把 "ByRef" 参数的值复制回匹配参数的过程中进行隐式转换 + + + + {0} '{1}' conflicts with other members of the same name across the inheritance hierarchy and so should be declared 'Shadows'. + {0}“{1}”与继承层次结构中的其他同名成员冲突,因此应声明为“Shadows”。 + + + + Method conflicts with other members of the same name across the inheritance hierarchy and so should be declared 'Shadows' + 方法与继承层次结构中的其他同名成员冲突,因此应声明为 "Shadows" + + + + Expression recursively calls the containing Operator '{0}'. + 表达式以递归方式调用包含运算符“{0}”。 + + + + Expression recursively calls the containing Operator + 表达式递归调用包含运算符 + + + + Implicit conversion from '{0}' to '{1}'. + 从“{0}”到“{1}”的隐式转换。 + + + + Implicit conversion + 隐式转换 + + + + Local variable '{0}' is read-only and its type is a structure. Invoking its members or passing it ByRef does not change its content and might lead to unexpected results. Consider declaring this variable outside of the 'Using' block. + 局部变量“{0}”是只读的并且其类型是结构。调用此变量的成员或通过 ByRef 传递它不会更改其内容,并可能导致意外的错误。考虑在“Using”块之外声明此变量。 + + + + Local variable declared by Using statement is read-only and its type is a structure + Using 语句声明的局部变量是只读的,它的类型是一种结构 + + + + Local variable '{0}' is read-only. When its type is a structure, invoking its members or passing it ByRef does not change its content and might lead to unexpected results. Consider declaring this variable outside of the 'Using' block. + 局部变量“{0}”是只读的。其类型为结构时,调用其成员或使用 ByRef 传递该类型不会更改其内容,并可能会导致意外的结果。考虑在“Using”块之外声明此变量。 + + + + Local variable declared by Using statement is read-only and its type may be a structure + Using 语句声明的局部变量是只读的,它的类型可能是一种结构 + + + + {0} + {0} + + + + Implicit conversion + 隐式转换 + + + + Late bound resolution; runtime errors could occur. + 后期绑定解决方案;可能会发生运行时错误。 + + + + Late bound resolution + 后期绑定解决方案 + + + + Operands of type Object used for operator '{0}'; use the 'Is' operator to test object identity. + 对运算符“{0}”使用了 Object 类型的操作数;应使用“Is”运算符来测试对象标识。 + + + + Operands of type Object used for operator + 为运算符使用的 Object 类型的操作数 + + + + Operands of type Object used for operator '{0}'; runtime errors could occur. + 对运算符“{0}”使用了 Object 类型的操作数;可能会发生运行时错误。 + + + + Operands of type Object used for operator + 为运算符使用的 Object 类型的操作数 + + + + {0} + {0} + + + + Variable declaration without an 'As' clause + 变量声明没有 "As" 子句 + + + + {0} + {0} + + + + Function without an 'As' clause + 函数没有 "As" 子句 + + + + {0} + {0} + + + + Property without an 'As' clause + 属性没有 "As" 子句 + + + + Variable declaration without an 'As' clause; type of Object assumed. + 变量声明没有 "As" 子句;假定为 Object 类型。 + + + + Variable declaration without an 'As' clause + 变量声明没有 "As" 子句 + + + + Function without an 'As' clause; return type of Object assumed. + 函数没有 "As" 子句;假定返回类型为 Object。 + + + + Function without an 'As' clause + 函数没有 "As" 子句 + + + + Property without an 'As' clause; type of Object assumed. + 属性没有 "As" 子句;假定为 Object 类型。 + + + + Property without an 'As' clause + 属性没有 "As" 子句 + + + + Unused local variable: '{0}'. + 未使用的局部变量:“{0}”。 + + + + Unused local variable + 未使用的本地变量 + + + + Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated. + 通过实例访问共享成员、常量成员、枚举成员或嵌套类型;将不计算限定表达式。 + + + + Access of shared member, constant member, enum member or nested type through an instance + 通过实例访问共享成员、常量成员、枚举成员或嵌套类型 + + + + Expression recursively calls the containing property '{0}'. + 表达式递归调用包含属性“{0}”。 + + + + Expression recursively calls the containing property + 表达式递归调用包含属性 + + + + 'Catch' block never reached, because '{0}' inherits from '{1}'. + '永远不会到达“Catch”块,因为“{0}”从“{1}”继承。 + + + + 'Catch' block never reached; exception type's base type handled above in the same Try statement + '永远不会到达 "Catch" 块;异常类型的基类型已在上面同一个 Try 语句中处理 + + + + Variable '{0}' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. + 变量“{0}”在赋值前按引用传递。可能会在运行时导致 null 引用异常。 + + + + Variable is passed by reference before it has been assigned a value + 在为变量赋值之前,变量已被引用传递 + + + + 'Catch' block never reached; '{0}' handled above in the same Try statement. + '永远不会到达“Catch”块;“{0}”已在上面同一个 Try 语句中处理。 + + + + 'Catch' block never reached; exception type handled above in the same Try statement + '永远不会到达 "Catch" 块;异常类型已在上面同一个 Try 语句中处理 + + + + Operands of type Object used for operator '{0}'; use the 'IsNot' operator to test object identity. + 对运算符“{0}”使用了 Object 类型的操作数;应使用“IsNot”运算符来测试对象标识。 + + + + Operands of type Object used for operator <> + 为运算符 <> 使用的 Object 类型的操作数 + + + + Bad checksum value, non hex digits or odd number of hex digits. + 错误的校验和值、非十六进制数字或奇数个十六进制数字。 + + + + Bad checksum value, non hex digits or odd number of hex digits + 错误的校验和值、非十六进制数字或奇数个十六进制数字 + + + + File name already declared with a different GUID and checksum value. + 已使用另一个 GUID 和校验和值声明了文件名。 + + + + File name already declared with a different GUID and checksum value + 已使用另一个 GUID 和校验和值声明了文件名 + + + + Bad GUID format. + 错误的 GUID 格式。 + + + + Bad GUID format + 错误的 GUID 格式 + + + + Operands of type Object used in expressions for 'Select', 'Case' statements; runtime errors could occur. + 在 "Select"、"Case" 语句的表达式中使用了 Object 类型的操作数;可能会发生运行时错误。 + + + + Operands of type Object used in expressions for 'Select', 'Case' statements + "Select"、"Case" 语句的表达式中使用的 Object 类型的操作数 + + + + This expression will always evaluate to Nothing (due to null propagation from the equals operator). To check if the value is null consider using 'Is Nothing'. + 此表达式的计算结果始终为 Nothing (由于来自等于运算符的 null 传播)。若要检查值是否为 null,请考虑使用 "Is Nothing"。 + + + + This expression will always evaluate to Nothing + 此表达式的计算结果始终为 Nothing + + + + This expression will always evaluate to Nothing (due to null propagation from the equals operator). To check if the value is not null consider using 'IsNot Nothing'. + 此表达式的计算结果始终为 Nothing (由于来自等于运算符的 null 传播)。若要检查值是否不为 null,请考虑使用 "IsNot Nothing"。 + + + + This expression will always evaluate to Nothing + 此表达式的计算结果始终为 Nothing + + + + Unused local constant: '{0}'. + 未使用的局部常量:“{0}”。 + + + + Unused local constant + 未使用的局部常量 + + + + 'Microsoft.VisualBasic.ComClassAttribute' on class '{0}' implicitly declares {1} '{2}', which conflicts with a member of the same name in {3} '{4}'. Use 'Microsoft.VisualBasic.ComClassAttribute(InterfaceShadows:=True)' if you want to hide the name on the base {4}. + '类“{0}”上的“Microsoft.VisualBasic.ComClassAttribute”隐式声明的 {1}“{2}”与 {3}“{4}”中的同名成员冲突。如果要隐藏基 {4} 上的名称,请使用“Microsoft.VisualBasic.ComClassAttribute(InterfaceShadows:=True)”。 + + + + 'Microsoft.VisualBasic.ComClassAttribute' on class implicitly declares member, which conflicts with a member of the same name + '类上的 "Microsoft.VisualBasic.ComClassAttribute" 隐式声明与同名成员发生冲突的成员 + + + + '{0}' cannot be exposed to COM as a property 'Let'. You will not be able to assign non-object values (such as numbers or strings) to this property from Visual Basic 6.0 using a 'Let' statement. + '“{0}”无法作为属性“Let”向 COM 公开。将无法使用“Let”语句从 Visual Basic 6.0 向该属性分配非对象值(如数字或字符串)。 + + + + Property cannot be exposed to COM as a property 'Let' + 无法将属性作为 "Let" 属性向 COM 公开 + + + + Variable '{0}' is used before it has been assigned a value. A null reference exception could result at runtime. + 变量“{0}”在赋值前被使用。可能会在运行时导致 null 引用异常。 + + + + Variable is used before it has been assigned a value + 在为变量赋值之前,变量已被使用 + + + + Function '{0}' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used. + 函数“{0}”不会在所有代码路径上都返回值。当使用结果时,可能会在运行时发生 null 引用异常。 + + + + Function doesn't return a value on all code paths + 函数没有在所有代码路径上返回值 + + + + Operator '{0}' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used. + 运算符“{0}”不会在所有代码路径上都返回值。当使用结果时,可能会在运行时发生 null 引用异常。 + + + + Operator doesn't return a value on all code paths + 运算符没有在所有代码路径上返回值 + + + + Property '{0}' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used. + 属性“{0}”不会在所有代码路径上都返回值。当使用结果时,可能会在运行时发生 null 引用异常。 + + + + Property doesn't return a value on all code paths + 属性没有在所有代码路径上返回值 + + + + Variable '{0}' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. Make sure the structure or all the reference members are initialized before use + 变量“{0}”在赋值前按引用传递。可能会在运行时导致 null 引用异常。请确保结构或所有引用成员在使用前已经初始化 + + + + Variable is passed by reference before it has been assigned a value + 在为变量赋值之前,变量已被引用传递 + + + + Variable '{0}' is used before it has been assigned a value. A null reference exception could result at runtime. Make sure the structure or all the reference members are initialized before use + 变量“{0}”在赋值前被使用。可能会在运行时导致 null 引用异常。请确保结构或所有引用成员在使用前已经初始化 + + + + Variable is used before it has been assigned a value + 在为变量赋值之前,变量已被使用 + + + + Static variable declared without an 'As' clause; type of Object assumed. + 未使用 "As" 子句声明的静态变量;假定为 Object 类型。 + + + + Static variable declared without an 'As' clause + 声明静态变量时未使用 "As" 子句 + + + + Assembly reference '{0}' is invalid and cannot be resolved. + 程序集引用“{0}”无效,无法解析。 + + + + Assembly reference is invalid and cannot be resolved + 程序集引用无效,无法解析 + + + + XML comment block must immediately precede the language element to which it applies. XML comment will be ignored. + XML 注释块必须紧挨着它应用于的语言元素的前面。XML 注释将被忽略。 + + + + XML comment block must immediately precede the language element to which it applies + XML 注释块必须紧跟它所应用于的语言元素 + + + + Only one XML comment block is allowed per language element. + 每个语言元素只能有一个 XML 注释块。 + + + + Only one XML comment block is allowed per language element + 每个语言元素只能有一个 XML 注释块 + + + + XML comment must be the first statement on a line. XML comment will be ignored. + XML 注释必须是一行中的第一条语句。XML 注释将被忽略。 + + + + XML comment must be the first statement on a line + XML 注释必须是一行上的第一条语句 + + + + XML comment cannot appear within a method or a property. XML comment will be ignored. + XML 注释不能在方法或属性内出现。XML 注释将被忽略。 + + + + XML comment cannot appear within a method or a property + XML 注释不能在方法或属性内出现 + + + + XML documentation parse error: {0} XML comment will be ignored. + XML 文档分析错误: {0} XML 注释将被忽略。 + + + + XML documentation parse error + XML 文档分析错误 + + + + XML comment tag '{0}' appears with identical attributes more than once in the same XML comment block. + 具有相同特性的 XML 注释标记“{0}”在同一 XML 注释块中出现多次。 + + + + XML comment tag appears with identical attributes more than once in the same XML comment block + 具有相同属性的 XML 注释标记在同一个 XML 注释块中出现多次 + + + + XML comment tag '{0}' is not permitted on a '{1}' language element. + “{1}”语言元素中不允许 XML 注释标记“{0}”。 + + + + XML comment tag is not permitted on language element + 语言元素中不允许出现 XML 注释标记 + + + + XML comment parameter '{0}' does not match a parameter on the corresponding '{1}' statement. + XML 注释参数“{0}”和相应的“{1}”语句的参数不匹配。 + + + + XML comment parameter does not match a parameter on the corresponding declaration statement + XML 注释参数与相应的声明语句上的参数不匹配 + + + + XML comment parameter must have a 'name' attribute. + XML 注释参数必须具有 "name" 属性。 + + + + XML comment parameter must have a 'name' attribute + XML 注释参数必须具有 "name" 属性 + + + + XML comment has a tag with a 'cref' attribute '{0}' that could not be resolved. + XML 注释中的一个标记具有未能解析的“cref”特性“{0}”。 + + + + XML comment has a tag with a 'cref' attribute that could not be resolved + XML 注释包含具有无法解析的 "cref" 属性的标记 + + + + XML comment tag 'include' must have a '{0}' attribute. XML comment will be ignored. + XML 注释标记“include”必须具有“{0}”特性。XML 注释将被忽略。 + + + + XML comment tag 'include' must have 'file' and 'path' attributes + XML 注释标记 "include" 必须具有 "file" 和 "path" 特性 + + + + Unable to create XML documentation file '{0}': {1} + 无法创建 XML 文档文件“{0}”: {1} + + + + Unable to create XML documentation file + 无法创建 XML 文档文件 + + + + XML documentation comments must precede member or type declarations. + XML 文档注释必须位于成员声明或类型声明之前。 + + + + XML documentation comments must precede member or type declarations + XML 文档注释必须位于成员声明或类型声明之前 + + + + XML comment tag 'returns' is not permitted on a 'WriteOnly' Property. + WriteOnly 属性中不允许有 XML 注释标记 "returns"。 + + + + XML comment tag 'returns' is not permitted on a 'WriteOnly' Property + "WriteOnly" 属性中不允许出现 XML 注释标记 "returns" + + + + XML comment cannot be applied more than once on a partial {0}. XML comments for this {0} will be ignored. + XML 注释在分部 {0} 中不能应用多次。此 {0} 的 XML 注释将被忽略。 + + + + XML comment cannot be applied more than once on a partial type + XML 注释无法在一个分部类型上应用多次 + + + + XML comment tag 'returns' is not permitted on a 'declare sub' language element. + declare sub 语言元素中不允许有 XML 注释标记 "returns"。 + + + + XML comment tag 'returns' is not permitted on a 'declare sub' language element + "declare sub" 语言元素中不允许出现 XML 注释标记 "returns" + + + + XML documentation parse error: Start tag '{0}' doesn't have a matching end tag. XML comment will be ignored. + XML 文档分析错误: 开始标记“{0}”没有匹配的结束标记。XML 注释将被忽略。 + + + + XML documentation parse error: Start tag doesn't have a matching end tag + XML 文档分析错误: 开始标记没有匹配的结束标记 + + + + XML comment type parameter '{0}' does not match a type parameter on the corresponding '{1}' statement. + XML 注释类型参数“{0}”和相应的“{1}”语句的类型参数不匹配。 + + + + XML comment type parameter does not match a type parameter on the corresponding declaration statement + XML 注释类型参数与相应的声明语句上的类型参数不匹配 + + + + XML comment type parameter must have a 'name' attribute. + XML 注释类型参数必须具有 "name" 属性。 + + + + XML comment type parameter must have a 'name' attribute + XML 注释类型参数必须具有 "name" 属性 + + + + XML comment exception must have a 'cref' attribute. + XML 注释异常必须具有 "cref" 属性。 + + + + XML comment exception must have a 'cref' attribute + XML 注释异常必须具有 "cref" 属性 + + + + Unable to include XML fragment '{0}' of file '{1}'. + 无法包括文件“{1}”的 XML 段落“{0}”。 + + + + Unable to include XML fragment + 无法包括 XML 段落。 + + + + Unable to include XML fragment '{1}' of file '{0}'. {2} + 无法包括文件“{0}”的 XML 段落“{1}”。{2} + + + + Unable to include XML fragment + 无法包括 XML 段落。 + + + + Runtime errors might occur when converting '{0}' to '{1}'. + 将“{0}”转换为“{1}”时可能发生运行时错误。 + + + + Runtime errors might occur when converting to or from interface type + 运行时错误可能在转换到或从接口类型转换时发生 + + + + Using the iteration variable in a lambda expression may have unexpected results. Instead, create a local variable within the loop and assign it the value of the iteration variable. + 在 lambda 表达式中使用迭代变量可能会产生意外的结果。应改为在循环中创建一个局部变量并将迭代变量的值赋给它。 + + + + Using the iteration variable in a lambda expression may have unexpected results + 在 lambda 表达式中使用迭代变量可能会产生意外的结果 + + + + Lambda expression will not be removed from this event handler. Assign the lambda expression to a variable and use the variable to add and remove the event. + Lambda 表达式将不会从此事件处理程序中移除。将 lambda 表达式赋给变量,并使用该变量添加和移除事件。 + + + + Lambda expression will not be removed from this event handler + Lambda 表达式将不会从此事件处理程序中删除 + + + + Using the iteration variable in a query expression may have unexpected results. Instead, create a local variable within the loop and assign it the value of the iteration variable. + 在查询表达式中使用迭代变量可能会产生意外的结果。应改为在循环中创建一个局部变量并将迭代变量的值赋给它。 + + + + Using the iteration variable in a query expression may have unexpected results + 在查询表达式中使用迭代变量可能会产生意外的结果 + + + + The 'AddressOf' expression has no effect in this context because the method argument to 'AddressOf' requires a relaxed conversion to the delegate type of the event. Assign the 'AddressOf' expression to a variable, and use the variable to add or remove the method as the handler. + "AddressOf" 表达式在此上下文中不起作用,因为 "AddressOf" 的方法参数需要到该事件的委托类型的宽松转换。将 "AddressOf' 表达式赋给变量,并使用变量将该方法作为处理程序进行添加或移除。 + + + + The 'AddressOf' expression has no effect in this context because the method argument to 'AddressOf' requires a relaxed conversion to the delegate type of the event + "AddressOf" 表达式在此上下文中不起作用,原因是 "AddressOf" 的方法参数需要到该事件的委托类型的宽松转换 + + + + Range variable is assumed to be of type Object because its type cannot be inferred. Use an 'As' clause to specify a different type. + 假定范围变量属于对象类型,因为无法推断其类型。请使用“As”子句指定不同类型。 + + + + Range variable is assumed to be of type Object because its type cannot be inferred + 范围变量被假设为 Object 类型,原因是无法推断它的类型 + + + + Multiline lambda expression is missing 'End Function'. + 多行 lambda 表达式缺少 "End Function"。 + + + + Multiline lambda expression is missing 'End Sub'. + 多行 lambda 表达式缺少 "End Sub"。 + + + + Attributes cannot be applied to return types of lambda expressions. + 特性不能应用于 lambda 表达式的返回类型。 + + + + Statement is not valid inside a single-line statement lambda. + 该语句在单行语句 lambda 中无效。 + + + + This single-line statement lambda must be enclosed in parentheses. For example: (Sub() <statement>)!key + 此单行语句 lambda 必须括在括号中。例如: (Sub() <语句>)!key + + + + This single-line statement lambda must be enclosed in parentheses. For example: (Sub() <statement>).Invoke() + 此单行语句 lambda 必须括在括号中。例如: (Sub() <语句>).Invoke() + + + + This single-line statement lambda must be enclosed in parentheses. For example: Call (Sub() <statement>) () + 此单行语句 lambda 必须括在括号中。例如: Call (Sub() <语句>) () + + + + Single-line statement lambdas must include exactly one statement. + 单行语句 lambda 必须仅包含一个语句。 + + + + Static local variables cannot be declared inside lambda expressions. + 无法在 lambda 表达式内声明静态局部变量。 + + + + Expanded Properties cannot be initialized. + 无法初始化扩展属性。 + + + + Auto-implemented properties cannot have parameters. + 自动实现的属性不能带有参数。 + + + + Auto-implemented properties cannot be WriteOnly. + 自动实现的属性不能为 WriteOnly。 + + + + 'If' operator requires either two or three operands. + '“If”运算符需要两个或三个操作数。 + + + + Cannot initialize the type '{0}' with a collection initializer because it is not a collection type. + 无法用集合初始值设定项初始化类型“{0}”,因为该类型不是集合类型。 + + + + Cannot initialize the type '{0}' with a collection initializer because it does not have an accessible 'Add' method. + 无法用集合初始值设定项初始化类型“{0}”,因为该类型没有可访问的“Add”方法。 + + + + An Object Initializer and a Collection Initializer cannot be combined in the same initialization. + 不能将对象初始值设定项与集合初始值设定项组合到同一个初始化过程中。 + + + + An aggregate collection initializer entry must contain at least one element. + 聚合集合初始值设定项必须至少包含一个元素。 + + + + XML end element must be preceded by a matching start element. + XML 结束元素前面必须是匹配的开始元素。 + + + + 'On Error' and 'Resume' cannot appear inside a lambda expression. + '“On Error”和“Resume”不能出现在 lambda 表达式内。 + + + + Keywords 'Out' and 'In' can only be used in interface and delegate declarations. + 关键字 "Out" 和 "In" 只能在接口声明和委托声明中使用。 + + + + The literal string ']]>' is not allowed in element content. + 元素内容中不允许使用字符串“]]>”。 + + + + Inappropriate use of '{0}' keyword in a module. + 模块中不恰当地使用了“{0}”关键字。 + + + + Type or namespace '{0}' is not defined. + 未定义类型或命名空间“{0}”。 + + + + Using DirectCast operator to cast a floating-point value to the same type is not supported. + 不支持使用 DirectCast 运算符将浮点值强制转换为同一类型。 + + + + Using DirectCast operator to cast a value-type to the same type is obsolete. + 使用 DirectCast 运算符将值类型强制转换为同一类型的做法已过时。 + + + + Using DirectCast operator to cast a value-type to the same type is obsolete + 使用 DirectCast 运算符将值类型强制转换为同一类型的做法已过时 + + + + Unreachable code detected. + 检测到无法访问的代码。 + + + + Unreachable code detected + 检测到无法访问的代码 + + + + Function '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement? + 函数“{0}”不会在所有代码路径上都返回值。是否缺少“Return”语句? + + + + Function doesn't return a value on all code paths + 函数没有在所有代码路径上返回值 + + + + Operator '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement? + 运算符“{0}”不会在所有代码路径上都返回值。是否缺少“Return”语句? + + + + Operator doesn't return a value on all code paths + 运算符没有在所有代码路径上返回值 + + + + Property '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement? + 属性“{0}”不会在所有代码路径上都返回值。是否缺少“Return”语句? + + + + Property doesn't return a value on all code paths + 属性没有在所有代码路径上返回值 + + + + Global namespace may not be nested in another namespace. + 全局命名空间不能嵌套在另一个命名空间中。 + + + + '{0}' cannot expose type '{1}' in {2} '{3}' through {4} '{5}'. + '“{0}”不能通过 {4}“{5}”在 {2}“{3}”中公开类型“{1}”。 + + + + '{0}' cannot be referenced because it is not a valid assembly. + '“{0}”不是有效程序集,因此无法引用它。 + + + + '{0}' cannot be implemented by a {1} property. + '“{0}”无法由 {1} 属性实现。 + + + + + {0}: {1} + + {0}: {1} + + + + Cannot infer a common type because more than one type is possible. + 无法推断通用类型,因为可能存在多个类型。 + + + + Cannot infer a common type because more than one type is possible; 'Object' assumed. + 无法推断通用类型,因为可能存在多个类型;假定为 "Object"。 + + + + Cannot infer a common type because more than one type is possible + 无法推断通用类型,原因是可能存在多个类型 + + + + Cannot infer a common type, and Option Strict On does not allow 'Object' to be assumed. + 无法推断通用类型,且 Option Strict On 不允许假定“Object”。 + + + + Cannot infer a common type; 'Object' assumed. + 无法推断通用类型;假定为“Object”。 + + + + Cannot infer a common type + 无法推断通用类型 + + + + Cannot infer a common type. + 无法推断通用类型。 + + + + Error extracting public key from file '{0}': {1} + 从文件“{0}”中提取公钥时出错: {1} + + + + Error extracting public key from container '{0}': {1} + 从容器“{0}”中提取公钥时出错: {1} + + + + Friend access was granted by '{0}', but the public key of the output assembly does not match that specified by the attribute in the granting assembly. + 友元访问权限由“{0}”授予,但是输出程序集的公钥与授予程序集中特性指定的公钥不匹配。 + + + + Friend access was granted by '{0}', but the strong name signing state of the output assembly does not match that of the granting assembly. + 友元访问权限由“{0}”授予,但是输出程序集的强名称签名状态与授予程序集的强名称签名状态不匹配。 + + + + Public sign was specified and requires a public key, but no public key was specified + 已指定公共符号并且它需要一个公钥,但未指定任何公钥 + + + + Public signing is not supported for netmodules. + netmodule 不支持公共签名。 + + + + Attribute '{0}' is ignored when public signing is specified. + 指定公共签名时,将忽略特性“{0}”。 + + + + Attribute is ignored when public signing is specified. + 指定公共签名时,将忽略特性。 + + + + Delay signing was specified and requires a public key, but no public key was specified. + 指定了延迟签名,这需要公钥,但是未指定任何公钥。 + + + + Delay signing was specified and requires a public key, but no public key was specified + 指定了延迟签名,这需要公钥,但是未指定任何公钥 + + + + Key file '{0}' is missing the private key needed for signing. + 密钥文件“{0}”缺少进行签名所需的私钥。 + + + + Error signing assembly '{0}': {1} + 对程序集“{0}”签名时出错: {1} + + + + The specified version string does not conform to the required format - major[.minor[.build|*[.revision|*]]] + 指定的版本字符串不符合所需格式 - major[.minor[.build|*[.revision|*]]] + + + + The specified version string does not conform to the recommended format - major.minor.build.revision + 指定版本字符串不符合建议格式 - major.minor.build.revision + + + + The specified version string does not conform to the recommended format + 指定的版本字符串不符合建议的格式 + + + + The specified version string does not conform to the recommended format - major.minor.build.revision + 指定版本字符串不符合建议格式 - major.minor.build.revision + + + + Executables cannot be satellite assemblies; culture should always be empty + 可执行文件不能是附属程序集;区域性应始终为空 + + + + The entry point of the program is global script code; ignoring '{0}' entry point. + 程序的入口点是全局脚本代码;正在忽略“{0}”入口点。 + + + + The entry point of the program is global script code; ignoring entry point + 程序的入口点是全局脚本代码;正在忽略入口点 + + + + The xmlns attribute has special meaning and should not be written with a prefix. + xmlns 特性具有特殊含义,不应使用前缀进行编写。 + + + + The xmlns attribute has special meaning and should not be written with a prefix + xmlns 特性具有特殊含义,不应使用前缀进行编写 + + + + It is not recommended to have attributes named xmlns. Did you mean to write 'xmlns:{0}' to define a prefix named '{0}'? + 建议不要将特性命名为 xmlns。是否有意编写“xmlns:{0}”以定义名为“{0}”的前缀? + + + + It is not recommended to have attributes named xmlns + 不建议拥有名为 xmlns 的属性 + + + + Expected a single script (.vbx file) + 需要一个脚本 (.vbx 文件) + + + + The assembly name '{0}' is reserved and cannot be used as a reference in an interactive session + 程序集名“{0}”保留名称,不能在交互会话中用作引用 + + + + #R is only allowed in scripts + 仅在脚本中允许 #R + + + + You cannot declare Namespace in script code + 不能在脚本代码中声明命名空间 + + + + You cannot use '{0}' in top-level script code + 您不能使用顶级脚本代码中的“{0}” + + + + Cannot infer a return type. Consider adding an 'As' clause to specify the return type. + 无法推断返回类型。请考虑添加一个“As”子句来指定返回类型。 + + + + Cannot infer a return type; 'Object' assumed. + 无法推断返回类型;假定为 "Object"。 + + + + Cannot infer a return type + 无法推断返回类型 + + + + Cannot infer a return type because more than one type is possible; 'Object' assumed. + 无法推断返回类型,因为可能存在多个类型;假定为 "Object"。 + + + + Cannot infer a return type because more than one type is possible + 无法推断返回类型,原因是可能存在多个类型 + + + + Cannot infer a return type. Consider adding an 'As' clause to specify the return type. + 无法推断返回类型。请考虑添加一个 "As" 子句来指定返回类型。 + + + + Cannot infer a return type because more than one type is possible. Consider adding an 'As' clause to specify the return type. + 无法推断返回类型,因为可能存在多个类型。请考虑添加一个 "As" 子句来指定返回类型。 + + + + The command line switch '{0}' is not yet implemented and was ignored. + 命令行开关“{0}”尚未实现,已忽略。 + + + + Command line switch is not yet implemented + 命令行开关尚未实现 + + + + Cannot infer an element type, and Option Strict On does not allow 'Object' to be assumed. Specifying the type of the array might correct this error. + 无法推断元素类型,且 Option Strict On 不允许假定 "Object"。指定数组的类型可更正此错误。 + + + + Cannot infer an element type. Specifying the type of the array might correct this error. + 无法推断元素类型。指定数组的类型可更正此错误。 + + + + Cannot infer an element type because more than one type is possible. Specifying the type of the array might correct this error. + 无法推断元素类型,因为可能存在多个类型。指定数组的类型可更正此错误。 + + + + Cannot infer an element type; 'Object' assumed. + 无法推断元素类型;假定为 "Object"。 + + + + Cannot infer an element type + 无法推断元素类型 + + + + Cannot infer an element type because more than one type is possible; 'Object' assumed. + 无法推断元素类型,因为可能存在多个类型;假定为 "Object"。 + + + + Cannot infer an element type because more than one type is possible + 无法推断元素类型,原因是可能存在多个类型 + + + + Data type of '{0}' in '{1}' could not be inferred. '{2}' assumed. + 未能推断“{1}”中“{0}”的数据类型。假定为“{2}”。 + + + + Data type could not be inferred + 无法推断数据类型 + + + + Option Strict On does not allow implicit conversions from '{0}' to '{1}' because the conversion is ambiguous. + Option Strict 不允许进行“{0}”到“{1}”的隐式转换,因为转换不明确。 + + + + Conversion from '{0}' to '{1}' may be ambiguous. + 从“{0}”到“{1}”的转换可能不明确。 + + + + Conversion may be ambiguous + 转换可能不明确 + + + + '{0}' cannot be converted to '{1}'. Consider using '{2}' instead. + '“{0}”不能转换为“{1}”。考虑改用“{2}”。 + + + + '{0}' cannot be converted to '{1}'. Consider using '{2}' instead. + '“{0}”不能转换为“{1}”。考虑改用“{2}”。 + + + + Type cannot be converted to target collection type + 无法将类型转换为目标集合类型 + + + + '{4}' cannot be converted to '{5}' because '{0}' is not derived from '{1}', as required for the 'In' generic parameter '{2}' in '{3}'. + '“{4}”不能转换为“{5}”,因为根据“{3}”中“In”泛型形参“{2}”的需要,“{0}”不是从“{1}”派生的。 + + + + '{4}' cannot be converted to '{5}' because '{0}' is not derived from '{1}', as required for the 'Out' generic parameter '{2}' in '{3}'. + '“{4}”不能转换为“{5}”,因为根据“{3}”中“Out”泛型形参“{2}”的需要,“{0}”不是从“{1}”派生的。 + + + + Implicit conversion from '{4}' to '{5}'; this conversion may fail because '{0}' is not derived from '{1}', as required for the 'In' generic parameter '{2}' in '{3}'. + 从“{4}”到“{5}”的隐式转换;此转换可能失败,因为根据“{3}”中“In”泛型形参“{2}”的需要,“{0}”不是从“{1}”派生的。 + + + + Implicit conversion; this conversion may fail because the target type is not derived from the source type, as required for 'In' generic parameter + 隐式转换;此转换可能失败,原因是目标类型不是从源类型派生的,而这是 "In" 泛型参数所必需的 + + + + Implicit conversion from '{4}' to '{5}'; this conversion may fail because '{0}' is not derived from '{1}', as required for the 'Out' generic parameter '{2}' in '{3}'. + 从“{4}”到“{5}”的隐式转换;此转换可能失败,因为根据“{3}”中“Out”泛型形参“{2}”的需要,“{0}”不是从“{1}”派生的。 + + + + Implicit conversion; this conversion may fail because the target type is not derived from the source type, as required for 'Out' generic parameter + 隐式转换;此转换可能失败,原因是目标类型不是从源类型派生的,而这是 "Out" 泛型参数所必需的 + + + + '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an In type parameter, 'In {2}'. + '“{0}”不能转换为“{1}”。考虑在“{3}”的定义中将“{2}”改为 In 类型参数“In {2}”。 + + + + '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an Out type parameter, 'Out {2}'. + '“{0}”不能转换为“{1}”。考虑在“{3}”的定义中将“{2}”改为 Out 类型参数“Out {2}”。 + + + + '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an In type parameter, 'In {2}'. + '“{0}”不能转换为“{1}”。考虑在“{3}”的定义中将“{2}”改为 In 类型参数“In {2}”。 + + + + Type cannot be converted to target type + 无法将类型转换为目标类型 + + + + '{0}' cannot be converted to '{1}'. Consider changing the '{2}' in the definition of '{3}' to an Out type parameter, 'Out {2}'. + '“{0}”不能转换为“{1}”。考虑在“{3}”的定义中将“{2}”改为 Out 类型参数“Out {2}”。 + + + + Type cannot be converted to target type + 无法将类型转换为目标类型 + + + + Interface '{0}' is ambiguous with another implemented interface '{1}' due to the 'In' and 'Out' parameters in '{2}'. + “{2}”中的“In”和“Out”参数导致接口“{0}”与另一个已实现的接口“{1}”一起使用时目的不明确。 + + + + Interface is ambiguous with another implemented interface due to 'In' and 'Out' parameters + 接口对于另一个实现的接口不明确,原因在于 "In" 和 "Out" 参数 + + + + Enumerations, classes, and structures cannot be declared in an interface that has an 'In' or 'Out' type parameter. + 无法在含有 "In" 或 "Out" 类型参数的接口中声明枚举、类和结构。 + + + + Event definitions with parameters are not allowed in an interface such as '{0}' that has 'In' or 'Out' type parameters. Consider declaring the event by using a delegate type which is not defined within '{0}'. For example, 'Event {1} As Action(Of ...)'. + 在“{0}”这样的含有“In”或“Out”类型参数的接口中,不允许带参数的事件定义。考虑使用不在“{0}”中定义的委托类型来声明事件。例如,“Event {1} As Action(Of ...)”。 + + + + Type '{0}' cannot be used in this context because 'In' and 'Out' type parameters cannot be used for ByRef parameter types, and '{0}' is an 'In' type parameter. + 类型“{0}”不能用于此上下文,因为“In”和“Out”类型参数不能用于 ByRef 参数类型,且“{0}”是“In”类型参数。 + + + + Type '{0}' cannot be used in '{1}' because 'In' and 'Out' type parameters cannot be made nullable, and '{0}' is an 'In' type parameter. + 类型“{0}”不能用于“{1}”,因为“In”和“Out”类型参数不能设置为可以为 null,并且“{0}”是“In”类型参数。 + + + + Type '{0}' cannot be used in this context because '{0}' is an 'In' type parameter. + 类型“{0}”不能用于此上下文,因为“{0}”是“In”类型参数。 + + + + Type '{0}' cannot be used for the '{1}' in '{2}' in this context because '{0}' is an 'In' type parameter. + 在此上下文中,类型“{0}”不能用于“{2}”中的“{1}”,因为“{0}”是“In”类型参数。 + + + + Type '{0}' cannot be used in '{1}' in this context because '{0}' is an 'In' type parameter. + 在此上下文中,类型“{0}”不能用于“{1}”,因为“{0}”是“In”类型参数。 + + + + Type '{0}' cannot be used for the '{2}' of '{3}' in '{1}' in this context because '{0}' is an 'In' type parameter. + 在此上下文中,类型“{0}”不能用于“{1}”中“{3}”的“{2}”,因为“{0}”是“In”类型参数。 + + + + Type '{0}' cannot be used as a property type in this context because '{0}' is an 'In' type parameter and the property is not marked WriteOnly. + 在此上下文中,类型“{0}”不能用作属性类型,因为“{0}”是“In”类型参数,且该属性未标记为 WriteOnly。 + + + + Type '{0}' cannot be used as a ReadOnly property type because '{0}' is an 'In' type parameter. + 类型“{0}”不能用作 ReadOnly 属性类型,因为“{0}”是“In”类型参数。 + + + + Type '{0}' cannot be used as a return type because '{0}' is an 'In' type parameter. + 类型“{0}”不能用作返回类型,因为“{0}”是“In”类型参数。 + + + + Type '{0}' cannot be used in this context because 'In' and 'Out' type parameters cannot be used for ByRef parameter types, and '{0}' is an 'Out' type parameter. + 类型“{0}”不能用于此上下文,因为“In”和“Out”类型参数不能用于 ByRef 参数类型,且“{0}”是“Out”类型参数。 + + + + Type '{0}' cannot be used as a ByVal parameter type because '{0}' is an 'Out' type parameter. + 类型“{0}”不能用作 ByVal 参数类型,因为“{0}”是“Out”类型参数。 + + + + Type '{0}' cannot be used as a generic type constraint because '{0}' is an 'Out' type parameter. + 类型“{0}”不能用作泛型类型约束,因为“{0}”是“Out”类型参数。 + + + + Type '{0}' cannot be used in '{1}' because 'In' and 'Out' type parameters cannot be made nullable, and '{0}' is an 'Out' type parameter. + 类型“{0}”不能用于“{1}”,因为“In”和“Out”类型参数不能设置为可以为 null,并且“{0}”是“Out”类型参数。 + + + + Type '{0}' cannot be used in this context because '{0}' is an 'Out' type parameter. + 类型“{0}”不能用于此上下文,因为“{0}”是“Out”类型参数。 + + + + Type '{0}' cannot be used for the '{1}' in '{2}' in this context because '{0}' is an 'Out' type parameter. + 在此上下文中,类型“{0}”不能用于“{2}”中的“{1}”,因为“{0}”是“Out”类型参数。 + + + + Type '{0}' cannot be used in '{1}' in this context because '{0}' is an 'Out' type parameter. + 在此上下文中,类型“{0}”不能用于“{1}”,因为“{0}”是“Out”类型参数。 + + + + Type '{0}' cannot be used for the '{2}' of '{3}' in '{1}' in this context because '{0}' is an 'Out' type parameter. + 在此上下文中,类型“{0}”不能用于“{1}”中“{3}”的“{2}”,因为“{0}”是“Out”类型参数。 + + + + Type '{0}' cannot be used as a property type in this context because '{0}' is an 'Out' type parameter and the property is not marked ReadOnly. + 在此上下文中,类型“{0}”不能用作属性类型,因为“{0}”是“Out”类型参数,且该属性未标记为 ReadOnly。 + + + + Type '{0}' cannot be used as a WriteOnly property type because '{0}' is an 'Out' type parameter. + 类型“{0}”不能用作 ReadOnly 属性类型,因为“{0}”是“Out”类型参数。 + + + + Type '{0}' cannot be used in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'. + 类型“{0}”不能用于此上下文,因为此上下文和“{0}”的定义均嵌套在接口“{1}”内,而“{1}”含有“In”或“Out”类型参数。考虑将“{0}”的定义移出“{1}”。 + + + + Type '{0}' cannot be used for the '{2}' in '{3}' in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'. + 类型“{0}”不能在此上下文中用于“{3}”中的“{2}”,因为此上下文和“{0}”的定义均嵌套在接口“{1}”内,而“{1}”含有“In”或“Out”类型参数。考虑将“{0}”的定义移出“{1}”。 + + + + Type '{0}' cannot be used in '{2}' in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'. + 类型“{0}”不能在此上下文用于“{2}”,因为此上下文和“{0}”的定义均嵌套在接口“{1}”内,而“{1}”含有“In”或“Out”类型参数。考虑将“{0}”的定义移出“{1}”。 + + + + Type '{0}' cannot be used for the '{3}' of '{4}' in '{2}' in this context because both the context and the definition of '{0}' are nested within interface '{1}', and '{1}' has 'In' or 'Out' type parameters. Consider moving the definition of '{0}' outside of '{1}'. + 类型“{0}”不能在此上下文中用于“{2}”中“{4}”的“{3}”,因为此上下文和“{0}”的定义均嵌套在接口“{1}”内,而“{1}”含有“In”或“Out”类型参数。考虑将“{0}”的定义移出“{1}”。 + + + + Parameter not valid for the specified unmanaged type. + 参数对于指定非托管类型无效。 + + + + Unmanaged type '{0}' not valid for fields. + 非托管类型“{0}”对于字段无效。 + + + + Unmanaged type '{0}' is only valid for fields. + 非托管类型“{0}”仅对字段有效。 + + + + Attribute parameter '{0}' must be specified. + 必须指定特性参数“{0}”。 + + + + Attribute parameter '{0}' or '{1}' must be specified. + 必须指定特性参数“{0}”或“{1}”。 + + + + Conflicts with '{0}', which is implicitly declared for '{1}' in {2} '{3}'. + 与为 {2}“{3}”中的“{1}”隐式声明的“{0}”冲突。 + + + + <project settings> + <项目设置> + + + + Attributes applied on a return type of a WriteOnly Property have no effect. + 应用于 WriteOnly 属性的返回类型的特性不起作用。 + + + + Attributes applied on a return type of a WriteOnly Property have no effect + 应用于 WriteOnly 属性的返回类型的特性不起作用 + + + + Security attribute '{0}' is not valid on this declaration type. Security attributes are only valid on assembly, type and method declarations. + 安全特性“{0}”对此声明类型无效。安全特性仅对程序集、类型和方法声明有效。 + + + + Cannot find the interop type that matches the embedded type '{0}'. Are you missing an assembly reference? + 找不到与嵌入的类型“{0}”匹配的互操作类型。是否缺少程序集引用? + + + + Reference to class '{0}' is not allowed when its assembly is configured to embed interop types. + 当类“{0}”的程序集配置为嵌入互操作类型时,不允许使用对该类的引用。 + + + + Embedded interop structure '{0}' can contain only public instance fields. + 嵌入的互操作结构“{0}”只能包含公共实例字段。 + + + + Interop type '{0}' cannot be embedded because it is missing the required '{1}' attribute. + 无法嵌入互操作类型“{0}”,因为它缺少必需的“{1}”特性。 + + + + Cannot embed interop types from assembly '{0}' because it is missing the '{1}' attribute. + 无法嵌入来自程序集“{0}”的互操作类型,因为它缺少“{1}”特性。 + + + + Cannot embed interop type '{0}' found in both assembly '{1}' and '{2}'. Consider disabling the embedding of interop types. + 无法嵌入程序集“{1}”和“{2}”中找到的互操作类型“{0}”。请考虑禁用互操作类型的嵌入。 + + + + Cannot embed interop types from assembly '{0}' because it is missing either the '{1}' attribute or the '{2}' attribute. + 无法嵌入来自程序集“{0}”的互操作类型,因为它缺少“{1}”特性或“{2}”特性。 + + + + Interface '{0}' has an invalid source interface which is required to embed event '{1}'. + 接口“{0}”的源接口无效,该源接口是嵌入事件“{1}”所必需的。 + + + + Source interface '{0}' is missing method '{1}', which is required to embed event '{2}'. + 源接口“{0}”缺少方法“{2}”,此方法对嵌入事件“{1}”是必需的。 + + + + Nested type '{0}' cannot be embedded. + 无法嵌入嵌套类型“{0}”。 + + + + Embedding the interop type '{0}' from assembly '{1}' causes a name clash in the current assembly. Consider disabling the embedding of interop types. + 嵌入来自程序集“{1}”中的互操作类型“{0}”会导致当前程序集中发生名称冲突。请考虑禁用互操作类型的嵌入。 + + + + Embedded interop method '{0}' contains a body. + 嵌入互操作方法“{0}”包含主体。 + + + + 'Await' may only be used in a query expression within the first collection expression of the initial 'From' clause or within the collection expression of a 'Join' clause. + '"Await" 只能在初始 "From" 子句的第一个集合表达式或 "Join" 子句的集合表达式的查询表达式中使用。 + + + + 'Await' requires that the type '{0}' have a suitable GetAwaiter method. + '“Await”要求类型“{0}”包含适当的 GetAwaiter 方法。 + + + + 'Await' requires that the return type '{0}' of '{1}.GetAwaiter()' have suitable IsCompleted, OnCompleted and GetResult members, and implement INotifyCompletion or ICriticalNotifyCompletion. + '“Await”要求“{1}.GetAwaiter()”的返回类型“{0}”包含适当的 IsCompleted、OnCompleted 和 GetResult 成员,并实现 INotifyCompletion 或 ICriticalNotifyCompletion + + + + '{0}' does not implement '{1}'. + '“{0}”未实现“{1}”。 + + + + Cannot await Nothing. Consider awaiting 'Task.Yield()' instead. + 不能等待 Nothing。请考虑改为等待“Task.Yield()”。 + + + + Async methods cannot have ByRef parameters. + 异步方法不能包含 ByRef 参数。 + + + + 'Async' and 'Iterator' modifiers cannot be used together. + '“Async”和“Iterator”修饰符不能一起使用。 + + + + The implicit return variable of an Iterator or Async method cannot be accessed. + 无法访问迭代器方法或异步方法的隐式返回变量。 + + + + 'Return' statements in this Async method cannot return a value since the return type of the function is 'Task'. Consider changing the function's return type to 'Task(Of T)'. + '此异步方法中的 "Return" 语句无法返回值,因为函数的返回类型为 "Task" 。请考虑将函数的返回类型更改为 "Task(Of T)"。 + + + + Since this is an async method, the return expression must be of type '{0}' rather than 'Task(Of {0})'. + 这是一个异步方法,因此返回表达式的类型必须为“{0}”而不是“Task(Of {0})”。 + + + + The 'Async' modifier can only be used on Subs, or on Functions that return Task or Task(Of T). + 只能在 Sub 上或者在返回 Task 或 Task(Of T) 的函数上使用 "Async" 修饰符。 + + + + '{0}' does not return a Task and cannot be awaited. Consider changing it to an Async Function. + '“{0}”不返回 Task 且无法等待。请考虑将它更改为 Async Function。 + + + + 'Only the 'Async' or 'Iterator' modifier is valid on a lambda. + '仅“Async”或“Iterator”修饰符在 lambda 上有效。 + + + + 'Await' can only be used within an Async method. Consider marking this method with the 'Async' modifier and changing its return type to 'Task(Of {0})'. + '“Await”只能在异步方法中使用。请考虑使用“Async”修饰符标记此方法,并将其返回类型更改为“Task(Of {0})”。 + + + + 'Await' can only be used within an Async method. Consider marking this method with the 'Async' modifier and changing its return type to 'Task'. + '“Await”只能用于异步方法中。请考虑用“Async”修饰符标记此方法,并将其返回类型更改为“Task”。 + + + + 'Await' can only be used within an Async lambda expression. Consider marking this lambda expression with the 'Async' modifier. + '“Await”只能用于异步 lambda 表达式中。请考虑用“Async”修饰符标记此 lambda 表达式。 + + + + 'Await' can only be used when contained within a method or lambda expression marked with the 'Async' modifier. + '仅当其包含方法或 lambda 表达式用“Async”修饰符标记时,才能使用“Await”。 + + + + Statement lambdas cannot be converted to expression trees. + 语句 lambda 不能转换为表达式树。 + + + + Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the Await operator to the result of the call. + 由于此调用不会等待,因此在调用完成前将继续执行当前方法。请考虑对调用结果应用 Await 运算符。 + + + + Because this call is not awaited, execution of the current method continues before the call is completed + 由于此调用不会等待,因此在调用完成前将继续执行当前方法 + + + + Loop control variable cannot include an 'Await'. + 循环控制变量不可包含 "Await"。 + + + + Static variables cannot appear inside Async or Iterator methods. + 静态变量不能出现在异步方法或迭代器方法内。 + + + + '{0}' cannot be used as a parameter type for an Iterator or Async method. + '“{0}”不能用作 Iterator 或 Async 方法的参数类型。 + + + + Constructor must not have the 'Async' modifier. + 构造函数不得包含“Async”修饰符。 + + + + '{0}' cannot be declared 'Partial' because it has the 'Async' modifier. + '“{0}”不能声明为“Partial”,因为它具有“Async”修饰符。 + + + + 'On Error' and 'Resume' cannot appear inside async or iterator methods. + '"On Error" 和 "Resume" 不能出现在异步方法或迭代器方法内。 + + + + Lambdas with the 'Async' or 'Iterator' modifiers cannot be converted to expression trees. + 无法将带 "Async" 或 "Iterator" 修饰符的 lambda 转换为表达式树。 + + + + Variable of restricted type '{0}' cannot be declared in an Async or Iterator method. + 不能在异步方法或迭代器方法中声明受限类型“{0}”的变量。 + + + + 'Await' cannot be used inside a 'Catch' statement, a 'Finally' statement, or a 'SyncLock' statement. + '不能在“Catch”语句、“Finally”语句或“SyncLock”语句内使用“Await”。 + + + + This async method lacks 'Await' operators and so will run synchronously. Consider using the 'Await' operator to await non-blocking API calls, or 'Await Task.Run(...)' to do CPU-bound work on a background thread. + 此异步方法缺少 "Await" 运算符,因此它将同步运行。请考虑使用 "Await" 运算符等待非阻止 API 调用,或使用 "Await Task.Run(...)" 利用后台线程执行占用大量 CPU 的工作。 + + + + This async method lacks 'Await' operators and so will run synchronously + 此异步方法缺少 "Await" 运算符,因此将以同步方式运行 + + + + The Task returned from this Async Function will be dropped, and any exceptions in it ignored. Consider changing it to an Async Sub so its exceptions are propagated. + 从此 Async Function 返回的任务将被删除,并且忽略其中的任何异常。考虑将其更改为 Async Sub,以便传播其异常。 + + + + The Task returned from this Async Function will be dropped, and any exceptions in it ignored + 自此 Async Function 返回的任务将被丢弃,它包含的任何异常也将被忽略 + + + + Async and Iterator methods are not allowed in a [Class|Structure|Interface|Module] that has the 'SecurityCritical' or 'SecuritySafeCritical' attribute. + 在具有“SecurityCritical”或“SecuritySafeCritical”属性的 [Class|Structure|Interface|Module] 中不允许使用 Async 或 Iterator 方法。 + + + + Security attribute '{0}' cannot be applied to an Async or Iterator method. + 安全属性“{0}”不能应用于 Async 或 Iterator 方法。 + + + + 'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to an Async or Iterator method. + '"System.Runtime.InteropServices.DllImportAttribute" 不能应用于异步方法或迭代器方法。 + + + + 'MethodImplOptions.Synchronized' cannot be applied to an Async method. + '"MethodImplOptions.Synchronized" 不能应用于异步方法。 + + + + The 'Main' method cannot be marked 'Async'. + "Main" 方法不能标记为 "Async"。 + + + + Some overloads here take an Async Function rather than an Async Sub. Consider either using an Async Function, or casting this Async Sub explicitly to the desired type. + 此处某些重载使用的是 Async Function 而不是 Async Sub。请考虑使用 Async Function 或将此 Async Sub 显式强制转换为所需类型。 + + + + Some overloads here take an Async Function rather than an Async Sub + 此处的一些重载采用的是 Async Function,而不是 Async Sub + + + + MyGroupCollectionAttribute cannot be applied to itself. + MyGroupCollectionAttribute 不能应用于自身。 + + + + Literal expected. + 应为文本。 + + + + Event declarations that target WinMD must specify a delegate type. Add an As clause to the event declaration. + 面向 WinMD 的事件声明必须指定委托类型。请在事件声明中添加一个 As 子句。 + + + + Event '{0}' cannot implement a Windows Runtime event '{1}' and a regular .NET event '{2}' + 事件“{0}”无法实现 Windows 运行时事件“{1}”和常规 .NET 事件“{2}” + + + + Event '{0}' cannot implement event '{1}' on interface '{2}' because the parameters of their 'RemoveHandler' methods do not match. + 事件“{0}”无法实现接口“{2}”上的事件“{1}”,因为其“RemoveHandler”方法的参数不匹配。 + + + + The type of the 'AddHandler' method's parameter must be the same as the type of the event. + “AddHandler”方法的参数的类型必须与事件的类型相同。 + + + + In a Windows Runtime event, the type of the 'RemoveHandler' method parameter must be 'EventRegistrationToken' + 在 Windows Runtime 事件中,“RemoveHandler”方法参数的类型必须为“EventRegistrationToken” + + + + '{0}.{1}' from 'implements {2}' is already implemented by the base class '{3}'. Re-implementation of Windows Runtime Interface '{4}' is not allowed + '“实现 {2}”中的“{0}.{1}”已由基类“{3}”实现。不允许重新实现 Windows Runtime 接口“{4}” + + + + '{0}.{1}' is already implemented by the base class '{2}'. Re-implementation of Windows Runtime Interface '{3}' is not allowed + '“{0}.{1}”已由基类“{2}”实现。不允许重新实现 Windows Runtime 接口“{3}” + + + + Iterator methods cannot have ByRef parameters. + 迭代器方法不能包含 ByRef 参数。 + + + + Single-line lambdas cannot have the 'Iterator' modifier. Use a multiline lambda instead. + 单行 lambda 不能包含“Iterator”修饰符。请改用多行 lambda。 + + + + Iterator functions must return either IEnumerable(Of T), or IEnumerator(Of T), or the non-generic forms IEnumerable or IEnumerator. + 迭代器函数必须返回 IEnumerable(Of T) 或 IEnumerator(Of T),或返回非泛型格式的 IEnumerable 或 IEnumerator。 + + + + To return a value from an Iterator function, use 'Yield' rather than 'Return'. + 若要从迭代器函数返回值,请使用“Yield”而不是“Return”。 + + + + 'Yield' can only be used in a method marked with the 'Iterator' modifier. + '只能在用“Iterator”修饰符标记的方法中使用“Yield”。 + + + + 'Yield' cannot be used inside a 'Catch' statement or a 'Finally' statement. + '不能在“Catch”语句或“Finally”语句内使用“Yield”。 + + + + The AddHandler for Windows Runtime event '{0}' doesn't return a value on all code paths. Are you missing a 'Return' statement? + Windows 运行时事件“{0}”的 AddHandler 不会在所有代码路径上都返回值。是否缺少“Return”语句? + + + + The AddHandler for Windows Runtime event doesn't return a value on all code paths + Windows 运行时事件的 AddHandler 没有在所有代码路径上返回值 + + + + Optional parameter of a method '{0}' does not have the same default value as the corresponding parameter of the partial method '{1}'. + 方法“{0}”的可选参数没有与分部方法“{1}”的相应参数相同的默认值。 + + + + Parameter of a method '{0}' differs by ParamArray modifier from the corresponding parameter of the partial method '{1}'. + 方法“{0}”的参数在分部方法“{1}”的相应参数的 ParamArray 修饰符上存在差异。 + + + + Module name '{0}' stored in '{1}' must match its filename. + 存储在“{1}”中的模块名“{0}”必须与其文件名匹配。 + + + + Invalid module name: {0} + 无效的模块名称: {0} + + + + Attribute '{0}' from module '{1}' will be ignored in favor of the instance appearing in source. + 来自模块“{1}”的特性“{0}”将忽略,以便支持源中出现的实例。 + + + + Attribute from module will be ignored in favor of the instance appearing in source + 为支持源中出现的实例,将忽略模块的特性 + + + + Attribute '{0}' given in a source file conflicts with option '{1}'. + 源文件中提供的特定“{0}”与选项“{1}”冲突。 + + + + Referenced assembly '{0}' does not have a strong name. + 引用程序集“{0}”没有强名称。 + + + + Referenced assembly does not have a strong name + 引用程序集没有强名称 + + + + Invalid signature public key specified in AssemblySignatureKeyAttribute. + 在 AssemblySignatureKeyAttribute 中指定的签名公钥无效。 + + + + Type '{0}' conflicts with public type defined in added module '{1}'. + 类型“{0}”与添加的模块“{1}”中定义的公共类型冲突。 + + + + Type '{0}' exported from module '{1}' conflicts with type declared in primary module of this assembly. + 从模块“{1}”导出的类型“{0}”与此程序集主模块中声明的类型冲突。 + + + + Type '{0}' exported from module '{1}' conflicts with type '{2}' exported from module '{3}'. + 从模块“{1}”导出的类型“{0}”与从模块“{3}”导出的类型“{2}”冲突。 + + + + Referenced assembly '{0}' has different culture setting of '{1}'. + 引用程序集“{0}”具有不同区域性设置“{1}”。 + + + + Referenced assembly has different culture setting + 引用程序集具有不同区域性设置 + + + + Agnostic assembly cannot have a processor specific module '{0}'. + 不可知的程序集不能具有特定于处理器的模块“{0}”。 + + + + Assembly and module '{0}' cannot target different processors. + 程序集和模块“{0}”不能以不同处理器为目标。 + + + + Referenced assembly '{0}' targets a different processor. + 引用程序集“{0}”面向的是另一个处理器。 + + + + Referenced assembly targets a different processor + 引用程序集面向的是另一个处理器 + + + + Cryptographic failure while creating hashes. + 创建哈希时加密失败。 + + + + Conflicting options specified: Win32 resource file; Win32 manifest. + 指定的选项冲突: Win32 资源文件;Win32 清单。 + + + + Forwarded type '{0}' conflicts with type declared in primary module of this assembly. + 转发的类型“{0}”与此程序集主模块中声明的类型冲突。 + + + + Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' forwarded to assembly '{3}'. + 转发到程序集“{1}”的类型“{0}”与转发到程序集“{3}”的类型“{2}”冲突。 + + + + Name '{0}' exceeds the maximum length allowed in metadata. + 名称“{0}”超出元数据中允许的最大长度。 + + + + Reference to '{0}' netmodule missing. + 缺少对“{0}”netmodule 的引用。 + + + + Module '{0}' is already defined in this assembly. Each module must have a unique filename. + 模块“{0}”已在此程序集中定义。每个模块必须具有唯一的文件名。 + + + + Type '{0}' forwarded to assembly '{1}' conflicts with type '{2}' exported from module '{3}'. + 转发到程序集“{1}”的类型“{0}”与从模块“{3}”导出的类型“{2}”冲突。 + + + + Adding assembly reference '{0}' + 正在添加程序集引用“{0}” + + + + Adding embedded assembly reference '{0}' + 正在添加嵌入程序集引用“{0}” + + + + Adding module reference '{0}' + 正在添加模块引用“{0}” + + + + Type '{0}' does not inherit the generic type parameters of its container. + 类型“{0}”不继承其容器的泛型类型参数。 + + + + Failure writing debug information: {0} + 写入调试信息失败: {0} + + + + The parameter has multiple distinct default values. + 参数具有多个不同的默认值。 + + + + The field has multiple distinct constant values. + 字段具有多个不同的常量值。 + + + + Cannot continue since the edit includes a reference to an embedded type: '{0}'. + 无法继续,因为编辑包括对嵌入类型的引用:“{0}”。 + + + + Member '{0}' added during the current debug session can only be accessed from within its declaring assembly '{1}'. + 在当前调试会话期间添加的成员“{0}”只能从其声明的程序集“{1}”中访问。 + + + + '{0}' is an unsupported .NET module. + '“{0}”是不受支持的 .NET 模块。 + + + + '{0}' is an unsupported event. + '“{0}”是不受支持的事件。 + + + + Properties can not have type arguments + 属性不能具有类型参数 + + + + IdentifierSyntax not within syntax tree + IdentifierSyntax 不在语法树中 + + + + AnonymousObjectCreationExpressionSyntax not within syntax tree + AnonymousObjectCreationExpressionSyntax 未在语法树内 + + + + FieldInitializerSyntax not within syntax tree + FieldInitializerSyntax 不在语法树中 + + + + The system cannot find the path specified + 系统无法找到指定路径 + + + + There are no pointer types in VB. + VB 中没有任何指针属性。 + + + + There is no dynamic type in VB. + VB 中没有任何动态类型。 + + + + variableSyntax not within syntax tree + variableSyntax 不在语法树中 + + + + AggregateSyntax not within syntax tree + AggregateSyntax 未在语法树内 + + + + FunctionSyntax not within syntax tree + FunctionSyntax 不在语法树中 + + + + Position is not within syntax tree + 位置不在语法树中 + + + + RangeVariableSyntax not within syntax tree + RangeVariableSyntax 不在语法树中 + + + + DeclarationSyntax not within syntax tree + DeclarationSyntax 未在语法树内 + + + + StatementOrExpression is not an ExecutableStatementSyntax or an ExpressionSyntax + StatementOrExpression 不是 ExecutableStatementSyntax 或 ExpressionSyntax + + + + DeclarationSyntax not within tree + DeclarationSyntax 未在树内 + + + + TypeParameter not within tree + TypeParameter 不在树中 + + + + not within tree + 不在树中 + + + + Location must be provided in order to provide minimal type qualification. + 必须提供位置才能提供最低程度的类型限定。 + + + + SemanticModel must be provided in order to provide minimal type qualification. + 必须提供 SemanticModel 才能提供最低程度的类型限定。 + + + + the number of type parameters and arguments should be the same + 类型形参和实参的数量应相同 + + + + Cannot link resource files when building a module + 生成模块时,无法链接资源文件 + + + + Not a VB symbol. + 不是 VB 符号。 + + + + Elements cannot be null. + 元素不能为 Null。 + + + + Unused import clause. + 未使用导入子句。 + + + + Unused import statement. + 未使用导入语句。 + + + + Expected a {0} SemanticModel. + 应为 {0} SemanticModel。 + + + + Position must be within span of the syntax tree. + 位置必须处于语法树范围内。 + + + + Syntax node to be speculated cannot belong to a syntax tree from the current compilation. + 要推断的语法节点不能属于来自当前编译的语法树。 + + + + Chaining speculative semantic model is not supported. You should create a speculative model from the non-speculative ParentModel. + 不支持链接推理语义模型。应从非推理 ParentModel 创建推理模型。 + + + + Microsoft (R) Visual Basic Compiler + Microsoft (R) Visual Basic 编译器 + + + + {0} version {1} + {0} 版本 {1} + + + + Copyright (C) Microsoft Corporation. All rights reserved. + 版权所有(C) Microsoft Corporation。保留所有权利。 + + + + Supported language versions: + 支持的语言版本: + + Local name '{0}' is too long for PDB. Consider shortening or compiling without /debug. 本地名称“{0}”对于 PDB 太长。请考虑缩短或在不使用 /debug 的情况下编译。 @@ -9095,4 +9095,4 @@ - \ No newline at end of file + diff --git a/src/Compilers/VisualBasic/Portable/xlf/VBResources.zh-Hant.xlf b/src/Compilers/VisualBasic/Portable/xlf/VBResources.zh-Hant.xlf index afcf299c33922..b9233f291de24 100644 --- a/src/Compilers/VisualBasic/Portable/xlf/VBResources.zh-Hant.xlf +++ b/src/Compilers/VisualBasic/Portable/xlf/VBResources.zh-Hant.xlf @@ -7,7 +7,7 @@ 二進位條件運算式中的非限制式型別參數 - + Visual Basic Compiler Options - OUTPUT FILE - @@ -168,165 +168,165 @@ -vbruntime:<file> Compile with the alternate Visual Basic runtime in <file>. - Visual Basic Compiler Options + Visual Basic 編譯器選項 - - OUTPUT FILE - --out:<file> Specifies the output file name. --target:exe Create a console application (default). - (Short form: -t) --target:winexe Create a Windows application. --target:library Create a library assembly. --target:module Create a module that can be added to an - assembly. --target:appcontainerexe Create a Windows application that runs in - AppContainer. --target:winmdobj Create a Windows Metadata intermediate file --doc[+|-] Generates XML documentation file. --doc:<file> Generates XML documentation file to <file>. --refout:<file> Reference assembly output to generate + - 輸出檔案 - +-out:<檔案> 指定輸出檔案名稱。 +-target:exe 建立主控台應用程式 (預設)。 + (簡短形式: -t) +-target:winexe 建立 Windows 應用程式。 +-target:library 建立程式庫組件。 +-target:module 建立可新增至組件的 + 模組。 +-target:appcontainerexe 建立可在 AppContainer 中執行的 + Windows 應用程式。 +-target:winmdobj 建立 Windows 中繼資料中繼檔案 +-doc[+|-] 產生 XML 文件檔案。 +-doc:<檔案> 將產生的 XML 文件檔案儲存至 <檔案>。 +-refout:<檔案> 要產生的參考組件輸出 - - INPUT FILES - --addmodule:<file_list> Reference metadata from the specified modules --link:<file_list> Embed metadata from the specified interop - assembly. (Short form: -l) --recurse:<wildcard> Include all files in the current directory - and subdirectories according to the - wildcard specifications. --reference:<file_list> Reference metadata from the specified - assembly. (Short form: -r) --analyzer:<file_list> Run the analyzers from this assembly - (Short form: -a) --additionalfile:<file list> Additional files that don't directly affect code - generation but may be used by analyzers for producing - errors or warnings. + - 輸入檔案 - +-addmodule:<檔案清單> 從指定的模組參考中繼資料 +-link:<檔案清單> 從指定的 Interop 組件內嵌 + 中繼資料。(簡短形式: -l) +-recurse:<萬用字元> 依據萬用字元規格, + 併入目前的目錄及 + 子目錄中的所有檔案。 +-reference:<檔案清單> 從指定的組件參考 + 中繼資料。(簡短形式: -r) +-analyzer:<檔案清單> 從此組件執行分析器 + (簡短形式: -a) +-additionalfile:<檔案清單> 不會直接影響程式碼產生, + 但分析器可用以產生錯誤或警告的 + 其他檔案。 - - RESOURCES - --linkresource:<resinfo> Links the specified file as an external - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -linkres) --nowin32manifest The default manifest should not be embedded - in the manifest section of the output PE. --resource:<resinfo> Adds the specified file as an embedded - assembly resource. - resinfo:<file>[,<name>[,public|private]] - (Short form: -res) --win32icon:<file> Specifies a Win32 icon file (.ico) for the - default Win32 resources. --win32manifest:<file> The provided file is embedded in the manifest - section of the output PE. --win32resource:<file> Specifies a Win32 resource file (.res). + - 資源 - +-linkresource:<資源資訊> 連結指定的檔案作為外部 + 組件資源。 + resinfo:<檔案>[,<名稱>[,public|private]] + (簡短形式: -linkres) +-nowin32manifest 預設資訊清單不應內嵌在輸出 PE 的 + 資訊清單區段中。 +-resource:<資源資訊> 新增指定的檔案作為內嵌的 + 組件資源。 + resinfo:<檔案>[,<名稱>[,public|private]] + (簡短形式: -res) +-win32icon:<檔案> 為預設的 Win32 資源, + 指定 Win32 圖示檔 (.ico)。 +-win32manifest:<檔案> 提供的檔案會內嵌在輸出 PE 的 + 資訊清單區段中。 +-win32resource:<檔案> 指定 Win32 資源檔 (.res)。 - - CODE GENERATION - --optimize[+|-] Enable optimizations. --removeintchecks[+|-] Remove integer checks. Default off. --debug[+|-] Emit debugging information. --debug:full Emit full debugging information (default). --debug:pdbonly Emit full debugging information. --debug:portable Emit cross-platform debugging information. --debug:embedded Emit cross-platform debugging information into - the target .dll or .exe. --deterministic Produce a deterministic assembly - (including module version GUID and timestamp) --refonly Produce a reference assembly in place of the main output --instrument:TestCoverage Produce an assembly instrumented to collect - coverage information --sourcelink:<file> Source link info to embed into PDB. + - 產生程式碼 - +-optimize[+|-] 啟用最佳化。 +-removeintchecks[+|-] 移除整數檢查。預設為關閉。 +-debug[+|-] 發出偵錯資訊。 +-debug:full 發出完整偵錯資訊 (預設)。 +-debug:pdbonly 發出完整偵錯資訊。 +-debug:portable 發出跨平台偵錯資訊。 +-debug:embedded 將跨平台偵錯資訊發到 + 目標 .dll 或 .exe 中。 +-deterministic 產生確定性組件 + (包括模組版本 GUID 與時間戳記) +-refonly 產生參考組件以代替主要輸出 +-instrument:TestCoverage 產生檢測組件,以收集 + 涵蓋範圍資訊 +-sourcelink:<檔案> 要內嵌至 PDB 中的來源連結資訊。 - - ERRORS AND WARNINGS - --nowarn Disable all warnings. --nowarn:<number_list> Disable a list of individual warnings. --warnaserror[+|-] Treat all warnings as errors. --warnaserror[+|-]:<number_list> Treat a list of warnings as errors. --ruleset:<file> Specify a ruleset file that disables specific - diagnostics. --errorlog:<file> Specify a file to log all compiler and analyzer - diagnostics. --reportanalyzer Report additional analyzer information, such as - execution time. + - 錯誤與警告 - +-nowarn 停用所有警告。 +-nowarn:<編號清單> 停用個別警告的清單。 +-warnaserror[+|-] 將所有警告視為錯誤。 +-warnaserror[+|-]:<編號清單> 將警告清單視為錯誤。 +-ruleset:<檔案> 指定會停用特定診斷的規則集 + 檔案。 +-errorlog:<檔案> 指定要記錄所有編譯器和分析器診斷的 + 檔案。 +-reportanalyzer 回報其他分析器資訊,例如 + 執行時間。 - - LANGUAGE - --define:<symbol_list> Declare global conditional compilation - symbol(s). symbol_list:name=value,... - (Short form: -d) --imports:<import_list> Declare global Imports for namespaces in - referenced metadata files. + - 語言 - +-define:<符號清單> 宣告全域條件式編譯 + 符號。 symbol_list:name=value,... + (簡短形式: -d) +-imports:<匯入清單> 在參考的中繼資料檔中宣告命名空間的 + 全域匯入。 import_list:namespace,... --langversion:? Display the allowed values for language version --langversion:<string> Specify language version such as - `default` (latest major version), or - `latest` (latest version, including minor versions), - or specific versions like `14` or `15.3` --optionexplicit[+|-] Require explicit declaration of variables. --optioninfer[+|-] Allow type inference of variables. --rootnamespace:<string> Specifies the root Namespace for all type - declarations. --optionstrict[+|-] Enforce strict language semantics. --optionstrict:custom Warn when strict language semantics are not - respected. --optioncompare:binary Specifies binary-style string comparisons. - This is the default. --optioncompare:text Specifies text-style string comparisons. +-langversion:? 顯示語言版本允許的值 +-langversion:<字串> 指定語言版本,例如 + `default` (最新的主要版本)、 + `latest` (最新版本,包含次要版本) + 或特定版本,例如 `14` 或 `15.3` +-optionexplicit[+|-] 必須明確宣告變數。 +-optioninfer[+|-] 允許變數的型別推斷。 +-rootnamespace:<字串> 指定所有型別宣告的 + 根命名空間。 +-optionstrict[+|-] 強制採用嚴格語意。 +-optionstrict:custom 在未遵守嚴格的語意時 + 發出警告。 +-optioncompare:binary 指定二進位樣式字串比較。 + 此為預設。 +-optioncompare:text 指定文字樣式字串比較。 - - MISCELLANEOUS - --help Display this usage message. (Short form: -?) --noconfig Do not auto-include VBC.RSP file. --nologo Do not display compiler copyright banner. --quiet Quiet output mode. --verbose Display verbose messages. --parallel[+|-] Concurrent build. --version Display the compiler version number and exit. + - 其他 - +-help 顯示此使用訊息。 (簡短形式: -?) +-noconfig 不要自動包含 VBC.RSP 檔。 +-nologo 不顯示編譯器著作權橫幅。 +-quiet 無對話輸出模式。 +-verbose 顯示詳細資訊訊息。 +-parallel[+|-] 並行建置。 +-version 顯示編譯器的版本號碼並結束。 - - ADVANCED - --baseaddress:<number> The base address for a library or module - (hex). --checksumalgorithm:<alg> Specify algorithm for calculating source file - checksum stored in PDB. Supported values are: - SHA1 or SHA256 (default). --codepage:<number> Specifies the codepage to use when opening - source files. --delaysign[+|-] Delay-sign the assembly using only the public - portion of the strong name key. --publicsign[+|-] Public-sign the assembly using only the public - portion of the strong name key. --errorreport:<string> Specifies how to handle internal compiler - errors; must be prompt, send, none, or queue - (default). --filealign:<number> Specify the alignment used for output file - sections. --highentropyva[+|-] Enable high-entropy ASLR. --keycontainer:<string> Specifies a strong name key container. --keyfile:<file> Specifies a strong name key file. --libpath:<path_list> List of directories to search for metadata - references. (Semi-colon delimited.) --main:<class> Specifies the Class or Module that contains - Sub Main. It can also be a Class that - inherits from System.Windows.Forms.Form. - (Short form: -m) --moduleassemblyname:<string> Name of the assembly which this module will - be a part of. --netcf Target the .NET Compact Framework. --nostdlib Do not reference standard libraries - (system.dll and VBC.RSP file). + - 進階 - +-baseaddress:<號碼> 程式庫或模組的基底位址 + (十六進位)。 +-checksumalgorithm:<演算法> 為計算儲存在 PDB 中的來源檔案總和檢查碼 + 指定演算法。支援的值為: + SHA1 或 SHA256 (預設)。 +-codepage:<編號> 指定開啟來源檔案時要使用的 + 字碼頁。 +-delaysign[+|-] 只使用強式名稱金鑰的公開部分 + 延遲簽署組件。 +-publicsign[+|-] 只使用強式名稱金鑰的公開部分 + 公開簽署組件。 +-errorreport:<字串> 指定如何處理內部編譯器 + 錯誤; 必須是 prompt、send、none 或 queue + (預設)。 +-filealign:<數字> 指定用於輸出檔區段的 + 對齊。 +-highentropyva[+|-] 啟用高熵 ASLR。 +-keycontainer:<字串> 指定強式名稱金鑰容器。 +-keyfile:<檔案> 指定強勢名稱金鑰檔案。 +-libpath:<路徑清單> 要在其中搜尋中繼資料參考的目錄清單 + (以分號分隔)。 +-main:<類別> 指定包含 Sub Main 的類別或模組。 + 也可以是繼承自 + System.Windows.Forms.Form 的類別。 + (簡短形式: -m) +-moduleassemblyname:<字串> 此模組要加入其中的 + 組件名稱。 +-netcf 以 .NET Compact Framework 為目標。 +-nostdlib 不要參考標準程式庫 + (system.dll 和 VBC.RSP 檔)。 -pathmap:<K1>=<V1>,<K2>=<V2>,... - Specify a mapping for source path names output by - the compiler. --platform:<string> Limit which platforms this code can run on; - must be x86, x64, Itanium, arm, arm64 - AnyCPU32BitPreferred or anycpu (default). --preferreduilang Specify the preferred output language name. --nosdkpath Disable searching the default SDK path for standard library assemblies. --sdkpath:<path> Location of the .NET Framework SDK directory - (mscorlib.dll). --subsystemversion:<version> Specify subsystem version of the output PE. - version:<number>[.<number>] --utf8output[+|-] Emit compiler output in UTF8 character - encoding. -@<file> Insert command-line settings from a text file --vbruntime[+|-|*] Compile with/without the default Visual Basic - runtime. --vbruntime:<file> Compile with the alternate Visual Basic - runtime in <file>. + 為編譯器輸出的來源路徑名稱 + 指定對應。 +-platform:<字串> 限制這個程式碼可以在哪些平台執行; + 必須是 x86、x64、Itanium、arm、arm64、 + AnyCPU32BitPreferred 或 anycpu (預設)。 +-preferreduilang 指定慣用的輸出語言名稱。 +-nosdkpath 停用標準程式庫組件的搜尋預設 SDK 路徑。 +-sdkpath:<路徑> .NET Framework SDK 目錄的位置 + (mscorlib.dll)。 +-subsystemversion:<版本> 指定輸出 PE 的子系統版本。 + version:<號碼>[.<號碼>] +-utf8output[+|-] 以 UTF8 字元編碼發出編譯器 + 輸出。 +@<檔案> 從文字檔插入命令列設定 +-vbruntime[+|-|*] 使用 (或不使用) 預設 Visual Basic 執行階段 + 進行編譯。 +-vbruntime:<檔案> 使用 <檔案> 中的其他 Visual Basic 執行階段 + 進行編譯。 @@ -9095,4 +9095,4 @@ - \ No newline at end of file + diff --git a/src/EditorFeatures/CSharp/AutomaticCompletion/AutomaticLineEnderCommandHandler.cs b/src/EditorFeatures/CSharp/AutomaticCompletion/AutomaticLineEnderCommandHandler.cs index 6d187e319bbf0..e94778bf85540 100644 --- a/src/EditorFeatures/CSharp/AutomaticCompletion/AutomaticLineEnderCommandHandler.cs +++ b/src/EditorFeatures/CSharp/AutomaticCompletion/AutomaticLineEnderCommandHandler.cs @@ -13,6 +13,7 @@ using Microsoft.CodeAnalysis.Formatting; using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Text; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text.Operations; using Microsoft.VisualStudio.Utilities; using Roslyn.Utilities; @@ -27,13 +28,15 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.AutomaticCompletion [ContentType(ContentTypeNames.CSharpContentType)] [Name(PredefinedCommandHandlerNames.AutomaticLineEnder)] [Order(After = PredefinedCommandHandlerNames.Completion)] + [Order(After = PredefinedCompletionNames.CompletionCommandHandler)] internal class AutomaticLineEnderCommandHandler : AbstractAutomaticLineEnderCommandHandler { [ImportingConstructor] public AutomaticLineEnderCommandHandler( ITextUndoHistoryRegistry undoRegistry, - IEditorOperationsFactoryService editorOperations) - : base(undoRegistry, editorOperations) + IEditorOperationsFactoryService editorOperations, + IAsyncCompletionBroker asyncCompletionBroker) + : base(undoRegistry, editorOperations, asyncCompletionBroker) { } diff --git a/src/EditorFeatures/CSharp/BlockCommentEditing/BlockCommentEditingCommandHandler.cs b/src/EditorFeatures/CSharp/BlockCommentEditing/BlockCommentEditingCommandHandler.cs index 4792279f09e50..84817babcaeda 100644 --- a/src/EditorFeatures/CSharp/BlockCommentEditing/BlockCommentEditingCommandHandler.cs +++ b/src/EditorFeatures/CSharp/BlockCommentEditing/BlockCommentEditingCommandHandler.cs @@ -8,6 +8,7 @@ using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Text; using Microsoft.CodeAnalysis.Text.Shared.Extensions; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Operations; using Microsoft.VisualStudio.Utilities; @@ -19,6 +20,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.BlockCommentEditing [ContentType(ContentTypeNames.CSharpContentType)] [Name(nameof(BlockCommentEditingCommandHandler))] [Order(After = PredefinedCommandHandlerNames.Completion)] + [Order(After = PredefinedCompletionNames.CompletionCommandHandler)] internal class BlockCommentEditingCommandHandler : AbstractBlockCommentEditingCommandHandler { [ImportingConstructor] diff --git a/src/EditorFeatures/CSharp/DocumentationComments/DocumentationCommentCommandHandler.cs b/src/EditorFeatures/CSharp/DocumentationComments/DocumentationCommentCommandHandler.cs index 8236a470c40cc..fc30251307eba 100644 --- a/src/EditorFeatures/CSharp/DocumentationComments/DocumentationCommentCommandHandler.cs +++ b/src/EditorFeatures/CSharp/DocumentationComments/DocumentationCommentCommandHandler.cs @@ -11,6 +11,7 @@ using Microsoft.CodeAnalysis.Editor.Host; using Microsoft.CodeAnalysis.Editor.Implementation.DocumentationComments; using Microsoft.CodeAnalysis.Shared.Extensions; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text.Operations; using Microsoft.VisualStudio.Utilities; using VSCommanding = Microsoft.VisualStudio.Commanding; @@ -22,6 +23,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.DocumentationComments [Name(PredefinedCommandHandlerNames.DocumentationComments)] [Order(After = PredefinedCommandHandlerNames.Rename)] [Order(After = PredefinedCommandHandlerNames.Completion)] + [Order(After = PredefinedCompletionNames.CompletionCommandHandler)] internal class DocumentationCommentCommandHandler : AbstractDocumentationCommentCommandHandler { diff --git a/src/EditorFeatures/CSharp/DocumentationComments/XmlTagCompletionCommandHandler.cs b/src/EditorFeatures/CSharp/DocumentationComments/XmlTagCompletionCommandHandler.cs index b4ca9485d9dd7..26bfa5938f7a6 100644 --- a/src/EditorFeatures/CSharp/DocumentationComments/XmlTagCompletionCommandHandler.cs +++ b/src/EditorFeatures/CSharp/DocumentationComments/XmlTagCompletionCommandHandler.cs @@ -7,6 +7,7 @@ using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Editor.Implementation.DocumentationComments; using Microsoft.CodeAnalysis.Shared.Extensions; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Editor; using Microsoft.VisualStudio.Text.Operations; @@ -19,6 +20,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.DocumentationComments [ContentType(ContentTypeNames.CSharpContentType)] [Name(nameof(XmlTagCompletionCommandHandler))] [Order(Before = PredefinedCommandHandlerNames.Completion)] + [Order(Before = PredefinedCompletionNames.CompletionCommandHandler)] internal class XmlTagCompletionCommandHandler : AbstractXmlTagCompletionCommandHandler { [ImportingConstructor] diff --git a/src/EditorFeatures/CSharp/Formatting/Indentation/SmartTokenFormatterCommandHandler.cs b/src/EditorFeatures/CSharp/Formatting/Indentation/SmartTokenFormatterCommandHandler.cs index c975c06356144..9969172496812 100644 --- a/src/EditorFeatures/CSharp/Formatting/Indentation/SmartTokenFormatterCommandHandler.cs +++ b/src/EditorFeatures/CSharp/Formatting/Indentation/SmartTokenFormatterCommandHandler.cs @@ -11,6 +11,7 @@ using Microsoft.CodeAnalysis.Formatting.Rules; using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Text; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text.Operations; using Microsoft.VisualStudio.Utilities; using Roslyn.Utilities; @@ -23,6 +24,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.Formatting.Indentation [Name(PredefinedCommandHandlerNames.Indent)] [Order(After = PredefinedCommandHandlerNames.Rename)] [Order(Before = PredefinedCommandHandlerNames.Completion)] + [Order(Before = PredefinedCompletionNames.CompletionCommandHandler)] internal class SmartTokenFormatterCommandHandler : AbstractSmartTokenFormatterCommandHandler { diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.cs.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.cs.xlf index 93b415d1ad928..24ffedcf6bb25 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.cs.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.cs.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + Opravit interpolovaný doslovný řetězec diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.de.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.de.xlf index 9024cc2e350ce..902caf5fc547d 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.de.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.de.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + Interpolierte ausführliche Zeichenfolge korrigieren diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.es.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.es.xlf index a6e2ec2c19d34..2af2b48d173ae 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.es.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.es.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + Corregir cadena textual interpolada diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.fr.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.fr.xlf index f6db830ad44fd..65f953e3d55ff 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.fr.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.fr.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + Corriger la chaîne textuelle interpolée diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.it.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.it.xlf index 38de0de36c7e7..ab9cd09ac66c5 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.it.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.it.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + Correggi stringa verbatim interpolata diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ja.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ja.xlf index abe683913b719..3cd473f4e2e15 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ja.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ja.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + 挿入された逐語的文字列を修正します diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ko.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ko.xlf index 7474953687341..444ee448fb402 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ko.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ko.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + 보간된 축자 문자열 수정 diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.pl.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.pl.xlf index 3929c7e5fcb76..281a8e346e0fe 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.pl.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.pl.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + Napraw interpolowany ciąg dosłownego wyrażenia diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.pt-BR.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.pt-BR.xlf index 54bfef8e1e1c8..51d619865dc89 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.pt-BR.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.pt-BR.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + Corrigir cadeia de caracteres textual interpolada diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ru.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ru.xlf index 4851644f18d5a..2352cb14a8e3d 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ru.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.ru.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + Исправить интерполированную строку verbatim diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.tr.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.tr.xlf index 9a272b655f971..a86787dea00ae 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.tr.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.tr.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + Ara değer olarak eklenmiş tam dizeyi düzelt diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.zh-Hans.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.zh-Hans.xlf index b632a86c7ea80..d2f53afa8e23a 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.zh-Hans.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.zh-Hans.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + 修复插值的逐字字符串 diff --git a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.zh-Hant.xlf b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.zh-Hant.xlf index 3c62276debbc1..27ac60480df0a 100644 --- a/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.zh-Hant.xlf +++ b/src/EditorFeatures/CSharp/xlf/CSharpEditorResources.zh-Hant.xlf @@ -9,7 +9,7 @@ Fix interpolated verbatim string - Fix interpolated verbatim string + 修正插入的逐字字串 diff --git a/src/EditorFeatures/CSharpTest/AutomaticCompletion/AutomaticLineEnderTests.cs b/src/EditorFeatures/CSharpTest/AutomaticCompletion/AutomaticLineEnderTests.cs index a1aa2682f2fce..67fe477f261ed 100644 --- a/src/EditorFeatures/CSharpTest/AutomaticCompletion/AutomaticLineEnderTests.cs +++ b/src/EditorFeatures/CSharpTest/AutomaticCompletion/AutomaticLineEnderTests.cs @@ -6,6 +6,7 @@ using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces; using Microsoft.CodeAnalysis.Test.Utilities; using Microsoft.VisualStudio.Commanding; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; using Microsoft.VisualStudio.Text.Operations; using Roslyn.Test.Utilities; @@ -848,9 +849,10 @@ protected override Action CreateNextHandler(TestWorkspace workspace) internal override IChainedCommandHandler CreateCommandHandler( ITextUndoHistoryRegistry undoRegistry, - IEditorOperationsFactoryService editorOperations) + IEditorOperationsFactoryService editorOperations, + IAsyncCompletionBroker asyncCompletionBroker) { - return new AutomaticLineEnderCommandHandler(undoRegistry, editorOperations); + return new AutomaticLineEnderCommandHandler(undoRegistry, editorOperations, asyncCompletionBroker); } } } diff --git a/src/EditorFeatures/CSharpTest/Completion/CompletionProviders/AbstractCSharpCompletionProviderTests.cs b/src/EditorFeatures/CSharpTest/Completion/CompletionProviders/AbstractCSharpCompletionProviderTests.cs index 7cc6bbf1bd0c7..789967527aba9 100644 --- a/src/EditorFeatures/CSharpTest/Completion/CompletionProviders/AbstractCSharpCompletionProviderTests.cs +++ b/src/EditorFeatures/CSharpTest/Completion/CompletionProviders/AbstractCSharpCompletionProviderTests.cs @@ -5,7 +5,7 @@ using System.Threading.Tasks; using Microsoft.CodeAnalysis.Completion; using Microsoft.CodeAnalysis.CSharp.Completion; -using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion; using Microsoft.CodeAnalysis.Editor.UnitTests.Completion; using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces; using Xunit; @@ -145,7 +145,7 @@ protected async Task VerifySendEnterThroughToEnterAsync(string initialMarkup, st var completionList = await GetCompletionListAsync(service, document, position, CompletionTrigger.Invoke); var item = completionList.Items.First(i => (i.DisplayText + i.DisplayTextSuffix).StartsWith(textTypedSoFar)); - Assert.Equal(expected, Controller.SendEnterThroughToEditor(service.GetRules(), item, textTypedSoFar)); + Assert.Equal(expected, CommitManager.SendEnterThroughToEditor(service.GetRules(), item, textTypedSoFar)); } } diff --git a/src/EditorFeatures/CSharpTest/Completion/CompletionProviders/ObjectInitializerCompletionProviderTests.cs b/src/EditorFeatures/CSharpTest/Completion/CompletionProviders/ObjectInitializerCompletionProviderTests.cs index 9d3d6719ee2cc..9837f6d509199 100644 --- a/src/EditorFeatures/CSharpTest/Completion/CompletionProviders/ObjectInitializerCompletionProviderTests.cs +++ b/src/EditorFeatures/CSharpTest/Completion/CompletionProviders/ObjectInitializerCompletionProviderTests.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Microsoft.CodeAnalysis.Completion; using Microsoft.CodeAnalysis.CSharp.Completion.Providers; -using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion; using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces; using Microsoft.CodeAnalysis.Test.Utilities; using Roslyn.Test.Utilities; @@ -581,7 +581,7 @@ void goo() var completionList = await GetCompletionListAsync(service, document, position, triggerInfo); var item = completionList.Items.First(); - Assert.False(Controller.SendEnterThroughToEditor(service.GetRules(), item, string.Empty), "Expected false from SendEnterThroughToEditor()"); + Assert.False(CommitManager.SendEnterThroughToEditor(service.GetRules(), item, string.Empty), "Expected false from SendEnterThroughToEditor()"); } } diff --git a/src/EditorFeatures/CSharpTest/Formatting/CodeCleanupTests.cs b/src/EditorFeatures/CSharpTest/Formatting/CodeCleanupTests.cs index 90e5c5a89203b..85c80ef97a7e9 100644 --- a/src/EditorFeatures/CSharpTest/Formatting/CodeCleanupTests.cs +++ b/src/EditorFeatures/CSharpTest/Formatting/CodeCleanupTests.cs @@ -196,8 +196,12 @@ protected static async Task AssertCodeCleanupResult(string expected, string code var document = workspace.CurrentSolution.GetDocument(hostdoc.Id); var codeCleanupService = document.GetLanguageService(); + + var docOptions = await document.GetOptionsAsync(CancellationToken.None).ConfigureAwait(false); + var enabledDiagnostics = codeCleanupService.GetEnabledDiagnostics(docOptions); + var newDoc = await codeCleanupService.CleanupAsync( - document, new ProgressTracker(), CancellationToken.None); + document, enabledDiagnostics, new ProgressTracker(), CancellationToken.None); var actual = await newDoc.GetTextAsync(); diff --git a/src/EditorFeatures/Core.Wpf/Completion/Presentation/CompletionPresenterSession.cs b/src/EditorFeatures/Core.Wpf/Completion/Presentation/CompletionPresenterSession.cs index 01604f7fe107e..daea1bf8d2f30 100644 --- a/src/EditorFeatures/Core.Wpf/Completion/Presentation/CompletionPresenterSession.cs +++ b/src/EditorFeatures/Core.Wpf/Completion/Presentation/CompletionPresenterSession.cs @@ -12,6 +12,7 @@ using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Editor; using Roslyn.Utilities; +using RoslynCompletion = Microsoft.CodeAnalysis.Completion; namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion.Presentation { @@ -74,9 +75,9 @@ public CompletionPresenterSession( public void PresentItems( ITrackingSpan triggerSpan, - IList completionItems, - CompletionItem selectedItem, - CompletionItem suggestionModeItem, + IList completionItems, + RoslynCompletion.CompletionItem selectedItem, + RoslynCompletion.CompletionItem suggestionModeItem, bool suggestionMode, bool isSoftSelected, ImmutableArray completionItemFilters, @@ -144,7 +145,7 @@ private void OnEditorSessionDismissed() this.Dismissed?.Invoke(this, new EventArgs()); } - internal void OnCompletionItemCommitted(CompletionItem completionItem) + internal void OnCompletionItemCommitted(RoslynCompletion.CompletionItem completionItem) { AssertIsForeground(); this.ItemCommitted?.Invoke(this, new CompletionItemEventArgs(completionItem)); diff --git a/src/EditorFeatures/Core.Wpf/Completion/Presentation/CustomCommitCompletion.cs b/src/EditorFeatures/Core.Wpf/Completion/Presentation/CustomCommitCompletion.cs index 604dc0fbdc9b8..24334d20c9803 100644 --- a/src/EditorFeatures/Core.Wpf/Completion/Presentation/CustomCommitCompletion.cs +++ b/src/EditorFeatures/Core.Wpf/Completion/Presentation/CustomCommitCompletion.cs @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Collections.Generic; diff --git a/src/EditorFeatures/Core.Wpf/Completion/Presentation/RoslynCompletionSet.cs b/src/EditorFeatures/Core.Wpf/Completion/Presentation/RoslynCompletionSet.cs index cd748cf07e945..ac2357b413fc5 100644 --- a/src/EditorFeatures/Core.Wpf/Completion/Presentation/RoslynCompletionSet.cs +++ b/src/EditorFeatures/Core.Wpf/Completion/Presentation/RoslynCompletionSet.cs @@ -11,7 +11,7 @@ using Microsoft.VisualStudio.Language.Intellisense; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Editor; -using CompletionItem = Microsoft.CodeAnalysis.Completion.CompletionItem; +using RoslynCompletionItem = Microsoft.CodeAnalysis.Completion.CompletionItem; using VSCompletion = Microsoft.VisualStudio.Language.Intellisense.Completion; namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion.Presentation @@ -28,8 +28,8 @@ internal class RoslynCompletionSet : CompletionSet2 protected readonly CompletionPresenterSession CompletionPresenterSession; private CompletionHelper _completionHelper; - protected Dictionary CompletionItemMap; - protected CompletionItem SuggestionModeItem; + protected Dictionary CompletionItemMap; + protected RoslynCompletionItem SuggestionModeItem; private readonly Dictionary _displayTextToItem = new Dictionary(); @@ -84,9 +84,9 @@ public override void Recalculate() } public void SetCompletionItems( - IList completionItems, - CompletionItem selectedItem, - CompletionItem suggestionModeItem, + IList completionItems, + RoslynCompletionItem selectedItem, + RoslynCompletionItem suggestionModeItem, bool suggestionMode, bool isSoftSelected, ImmutableArray completionItemFilters, @@ -95,7 +95,7 @@ public void SetCompletionItems( CompletionPresenterSession.AssertIsForeground(); // Initialize the completion map to a reasonable default initial size (+1 for the builder) - CompletionItemMap = CompletionItemMap ?? new Dictionary(completionItems.Count + 1); + CompletionItemMap = CompletionItemMap ?? new Dictionary(completionItems.Count + 1); FilterText = filterText; SuggestionModeItem = suggestionModeItem; @@ -116,8 +116,8 @@ public void SetCompletionItems( } private void CreateCompletionListBuilder( - CompletionItem selectedItem, - CompletionItem suggestionModeItem, + RoslynCompletionItem selectedItem, + RoslynCompletionItem suggestionModeItem, bool suggestionMode) { try @@ -142,7 +142,7 @@ private void CreateCompletionListBuilder( } } - private void CreateNormalCompletionListItems(IList completionItems) + private void CreateNormalCompletionListItems(IList completionItems) { try { @@ -161,7 +161,7 @@ private void CreateNormalCompletionListItems(IList completionIte } } - private VSCompletion GetVSCompletion(CompletionItem item, string displayText = null) + private VSCompletion GetVSCompletion(RoslynCompletionItem item, string displayText = null) { if (!CompletionItemMap.TryGetValue(item, out var value)) { @@ -175,7 +175,7 @@ private VSCompletion GetVSCompletion(CompletionItem item, string displayText = n return value; } - public CompletionItem GetCompletionItem(VSCompletion completion) + public RoslynCompletionItem GetCompletionItem(VSCompletion completion) { // Linear search is ok since this is only called by the user manually selecting // an item. Creating a reverse mapping uses too much memory and affects GCs. diff --git a/src/EditorFeatures/Core.Wpf/InlineRename/InlineRenameService.cs b/src/EditorFeatures/Core.Wpf/InlineRename/InlineRenameService.cs index 681cac69e6413..50b7a5593f06f 100644 --- a/src/EditorFeatures/Core.Wpf/InlineRename/InlineRenameService.cs +++ b/src/EditorFeatures/Core.Wpf/InlineRename/InlineRenameService.cs @@ -12,6 +12,7 @@ using Microsoft.CodeAnalysis.Text; using Microsoft.CodeAnalysis.Text.Shared.Extensions; using Microsoft.VisualStudio.Text; +using Microsoft.VisualStudio.Utilities; using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.Editor.Implementation.InlineRename @@ -26,7 +27,7 @@ internal class InlineRenameService : IInlineRenameService private readonly IAsynchronousOperationListener _asyncListener; private readonly IEnumerable _refactorNotifyServices; private readonly ITextBufferFactoryService _textBufferFactoryService; - + private readonly IFeatureServiceFactory _featureServiceFactory; private InlineRenameSession _activeRenameSession; [ImportingConstructor] @@ -36,6 +37,7 @@ public InlineRenameService( IWaitIndicator waitIndicator, ITextBufferAssociatedViewService textBufferAssociatedViewService, ITextBufferFactoryService textBufferFactoryService, + IFeatureServiceFactory featureServiceFactory, [ImportMany] IEnumerable refactorNotifyServices, IAsynchronousOperationListenerProvider listenerProvider) { @@ -43,6 +45,7 @@ public InlineRenameService( _waitIndicator = waitIndicator; _textBufferAssociatedViewService = textBufferAssociatedViewService; _textBufferFactoryService = textBufferFactoryService; + _featureServiceFactory = featureServiceFactory; _refactorNotifyServices = refactorNotifyServices; _asyncListener = listenerProvider.GetListener(FeatureAttribute.Rename); } @@ -74,6 +77,7 @@ public InlineRenameSessionInfo StartInlineSession( _waitIndicator, _textBufferAssociatedViewService, _textBufferFactoryService, + _featureServiceFactory, _refactorNotifyServices, _asyncListener); diff --git a/src/EditorFeatures/Core.Wpf/InlineRename/InlineRenameSession.cs b/src/EditorFeatures/Core.Wpf/InlineRename/InlineRenameSession.cs index aed5b097f34a9..9bb21e7d934f4 100644 --- a/src/EditorFeatures/Core.Wpf/InlineRename/InlineRenameSession.cs +++ b/src/EditorFeatures/Core.Wpf/InlineRename/InlineRenameSession.cs @@ -23,18 +23,21 @@ using Microsoft.CodeAnalysis.Text; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Editor; +using Microsoft.VisualStudio.Utilities; using Microsoft.VisualStudio.Threading; using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.Editor.Implementation.InlineRename { - internal partial class InlineRenameSession : ForegroundThreadAffinitizedObject, IInlineRenameSession + internal partial class InlineRenameSession : ForegroundThreadAffinitizedObject, IInlineRenameSession, IFeatureController { private readonly Workspace _workspace; private readonly InlineRenameService _renameService; private readonly IWaitIndicator _waitIndicator; private readonly ITextBufferAssociatedViewService _textBufferAssociatedViewService; private readonly ITextBufferFactoryService _textBufferFactoryService; + private readonly IFeatureService _featureService; + private readonly IFeatureDisableToken _completionDisabledToken; private readonly IEnumerable _refactorNotifyServices; private readonly IDebuggingWorkspaceService _debuggingWorkspaceService; private readonly IAsynchronousOperationListener _asyncListener; @@ -100,6 +103,7 @@ public InlineRenameSession( IWaitIndicator waitIndicator, ITextBufferAssociatedViewService textBufferAssociatedViewService, ITextBufferFactoryService textBufferFactoryService, + IFeatureServiceFactory featureServiceFactory, IEnumerable refactorNotifyServices, IAsynchronousOperationListener asyncListener) : base(threadingContext, assertIsForeground: true) @@ -122,6 +126,10 @@ public InlineRenameSession( _textBufferAssociatedViewService = textBufferAssociatedViewService; _textBufferAssociatedViewService.SubjectBuffersConnected += OnSubjectBuffersConnected; + // Disable completion when an inline rename session starts + _featureService = featureServiceFactory.GlobalFeatureService; + _completionDisabledToken = _featureService.Disable(PredefinedEditorFeatureNames.Completion, this); + _renameService = renameService; _waitIndicator = waitIndicator; _refactorNotifyServices = refactorNotifyServices; @@ -331,6 +339,9 @@ private void Dismiss(bool rollbackTemporaryEdits) _workspace.WorkspaceChanged -= OnWorkspaceChanged; _textBufferAssociatedViewService.SubjectBuffersConnected -= OnSubjectBuffersConnected; + // Reenable completion now that the inline rename session is done + _completionDisabledToken.Dispose(); + foreach (var textBuffer in _openTextBuffers.Keys) { var document = textBuffer.CurrentSnapshot.GetOpenDocumentInCurrentContextWithChanges(); diff --git a/src/EditorFeatures/Core.Wpf/Interactive/InteractivePasteCommandHandler.cs b/src/EditorFeatures/Core.Wpf/Interactive/InteractivePasteCommandHandler.cs index 187efef6c32e9..82403110cfce9 100644 --- a/src/EditorFeatures/Core.Wpf/Interactive/InteractivePasteCommandHandler.cs +++ b/src/EditorFeatures/Core.Wpf/Interactive/InteractivePasteCommandHandler.cs @@ -14,6 +14,7 @@ using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; using Microsoft.VisualStudio.Commanding; using VSCommanding = Microsoft.VisualStudio.Commanding; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; namespace Microsoft.CodeAnalysis.Editor.CommandHandlers { @@ -27,6 +28,7 @@ namespace Microsoft.CodeAnalysis.Editor.CommandHandlers [Order(After = PredefinedCommandHandlerNames.FormatDocument)] [Order(After = PredefinedCommandHandlerNames.Commit)] [Order(After = PredefinedCommandHandlerNames.Completion)] + [Order(After = PredefinedCompletionNames.CompletionCommandHandler)] internal sealed class InteractivePasteCommandHandler : VSCommanding.ICommandHandler { // The following two field definitions have to stay in sync with VS editor implementation diff --git a/src/EditorFeatures/Core.Wpf/Suggestions/SuggestedActionsSource.cs b/src/EditorFeatures/Core.Wpf/Suggestions/SuggestedActionsSource.cs index 09c8aeb24302d..f771691ac1289 100644 --- a/src/EditorFeatures/Core.Wpf/Suggestions/SuggestedActionsSource.cs +++ b/src/EditorFeatures/Core.Wpf/Suggestions/SuggestedActionsSource.cs @@ -796,7 +796,7 @@ private async Task GetFixLevelAsync( if (provider._codeFixService != null && supportsFeatureService.SupportsCodeFixes(document)) { - var result = await provider._codeFixService.GetMostSevereFixableDiagnostic( + var result = await provider._codeFixService.GetMostSevereFixableDiagnosticAsync( document, range.Span.ToTextSpan(), cancellationToken).ConfigureAwait(false); if (result.HasFix) diff --git a/src/EditorFeatures/Core/CommandHandlers/AbstractCompletionCommandHandler.cs b/src/EditorFeatures/Core/CommandHandlers/AbstractCompletionCommandHandler.cs index e2f3b89f490e1..4cf9b388ae2dc 100644 --- a/src/EditorFeatures/Core/CommandHandlers/AbstractCompletionCommandHandler.cs +++ b/src/EditorFeatures/Core/CommandHandlers/AbstractCompletionCommandHandler.cs @@ -29,7 +29,10 @@ internal abstract class AbstractCompletionCommandHandler : IChainedCommandHandler, IChainedCommandHandler, IChainedCommandHandler, - IChainedCommandHandler + IChainedCommandHandler, + IChainedCommandHandler, + IChainedCommandHandler, + IChainedCommandHandler { private readonly IAsyncCompletionService _completionService; @@ -258,36 +261,6 @@ void IChainedCommandHandler.ExecuteCommand(SurroundWith ExecuteCommandWorker(args, nextHandler, context); } - internal bool TryHandleEscapeKey(EscapeKeyCommandArgs commandArgs) - { - if (!TryGetController(commandArgs, out var controller)) - { - return false; - } - - return controller.TryHandleEscapeKey(); - } - - internal bool TryHandleUpKey(UpKeyCommandArgs commandArgs) - { - if (!TryGetController(commandArgs, out var controller)) - { - return false; - } - - return controller.TryHandleUpKey(); - } - - internal bool TryHandleDownKey(DownKeyCommandArgs commandArgs) - { - if (!TryGetController(commandArgs, out var controller)) - { - return false; - } - - return controller.TryHandleDownKey(); - } - public VSCommanding.CommandState GetCommandState(SaveCommandArgs args, Func nextHandler) { AssertIsForeground(); @@ -323,5 +296,53 @@ public void ExecuteCommand(SelectAllCommandArgs args, Action nextHandler, Comman AssertIsForeground(); ExecuteCommandWorker(args, nextHandler, context); } + + public VSCommanding.CommandState GetCommandState(EscapeKeyCommandArgs args, Func nextHandler) + { + return nextHandler(); + } + + public void ExecuteCommand(EscapeKeyCommandArgs args, Action nextHandler, CommandExecutionContext context) + { + AssertIsForeground(); + if (TryGetController(args, out var controller) && controller.TryHandleEscapeKey()) + { + return; + } + + nextHandler(); + } + + public VSCommanding.CommandState GetCommandState(UpKeyCommandArgs args, Func nextHandler) + { + return nextHandler(); + } + + public void ExecuteCommand(UpKeyCommandArgs args, Action nextHandler, CommandExecutionContext context) + { + AssertIsForeground(); + if (TryGetController(args, out var controller) && controller.TryHandleUpKey()) + { + return; + } + + nextHandler(); + } + + public VSCommanding.CommandState GetCommandState(DownKeyCommandArgs args, Func nextHandler) + { + return nextHandler(); + } + + public void ExecuteCommand(DownKeyCommandArgs args, Action nextHandler, CommandExecutionContext context) + { + AssertIsForeground(); + if (TryGetController(args, out var controller) && controller.TryHandleDownKey()) + { + return; + } + + nextHandler(); + } } } diff --git a/src/EditorFeatures/Core/CommandHandlers/AbstractIntelliSenseCommandHandler.cs b/src/EditorFeatures/Core/CommandHandlers/AbstractIntelliSenseCommandHandler.cs deleted file mode 100644 index 867fd8a592877..0000000000000 --- a/src/EditorFeatures/Core/CommandHandlers/AbstractIntelliSenseCommandHandler.cs +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.VisualStudio.Commanding; -using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; -using VSCommanding = Microsoft.VisualStudio.Commanding; - -namespace Microsoft.CodeAnalysis.Editor.CommandHandlers -{ - /// - /// There are two forms of intellisense that may be active at the same time. Completion and - /// SigHelp. Completion precedes SigHelp in our command handler because it wants to make sure - /// it's operating on a buffer *after* Completion has changed it. i.e. if "WriteL(" is typed, - /// sig help wants to allow completion to complete that to "WriteLine(" before it tried to - /// proffer sig help. If we were to reverse things, then we'd get a bogus situation where sig - /// help would see "WriteL(" would have nothing to offer and would return. - /// - /// However, despite wanting sighelp to receive typechar first and then defer it to completion, - /// we want completion to receive other events first (like escape, and navigation keys). We - /// consider completion to have higher priority for those commands. In order to accomplish that, - /// both of the sig help and completion command handlers are imported by this command handler. - /// This command handler then delegates escape, up and down to those command handlers. It always - /// tries the completion command handler first, and defers to signature help if completion - /// doesn't process the command. - /// - internal abstract class AbstractIntelliSenseCommandHandler : - IChainedCommandHandler, - IChainedCommandHandler, - IChainedCommandHandler - { - private readonly CompletionCommandHandler _completionCommandHandler; - private readonly SignatureHelpCommandHandler _signatureHelpCommandHandler; - - public string DisplayName => EditorFeaturesResources.IntelliSense; - - protected AbstractIntelliSenseCommandHandler( - CompletionCommandHandler completionCommandHandler, - SignatureHelpCommandHandler signatureHelpCommandHandler) - { - _completionCommandHandler = completionCommandHandler; - _signatureHelpCommandHandler = signatureHelpCommandHandler; - } - - public VSCommanding.CommandState GetCommandState(EscapeKeyCommandArgs args, Func nextHandler) - { - return nextHandler(); - } - - public VSCommanding.CommandState GetCommandState(UpKeyCommandArgs args, Func nextHandler) - { - return nextHandler(); - } - - public VSCommanding.CommandState GetCommandState(DownKeyCommandArgs args, Func nextHandler) - { - return nextHandler(); - } - - public void ExecuteCommand(EscapeKeyCommandArgs args, Action nextHandler, CommandExecutionContext context) - { - if ((_completionCommandHandler != null && _completionCommandHandler.TryHandleEscapeKey(args)) || - (_signatureHelpCommandHandler != null && _signatureHelpCommandHandler.TryHandleEscapeKey(args))) - { - return; - } - - nextHandler(); - } - - public void ExecuteCommand(UpKeyCommandArgs args, Action nextHandler, CommandExecutionContext context) - { - if ((_completionCommandHandler != null && _completionCommandHandler.TryHandleUpKey(args)) || - (_signatureHelpCommandHandler != null && _signatureHelpCommandHandler.TryHandleUpKey(args))) - { - return; - } - - nextHandler(); - } - - public void ExecuteCommand(DownKeyCommandArgs args, Action nextHandler, CommandExecutionContext context) - { - if ((_completionCommandHandler != null && _completionCommandHandler.TryHandleDownKey(args)) || - (_signatureHelpCommandHandler != null && _signatureHelpCommandHandler.TryHandleDownKey(args))) - { - return; - } - - nextHandler(); - } - } -} diff --git a/src/EditorFeatures/Core/CommandHandlers/AbstractSignatureHelpCommandHandler.cs b/src/EditorFeatures/Core/CommandHandlers/AbstractSignatureHelpCommandHandler.cs new file mode 100644 index 0000000000000..b87b7c02ea68c --- /dev/null +++ b/src/EditorFeatures/Core/CommandHandlers/AbstractSignatureHelpCommandHandler.cs @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.SignatureHelp; +using Microsoft.CodeAnalysis.Editor.Options; +using Microsoft.CodeAnalysis.Editor.Shared.Extensions; +using Microsoft.CodeAnalysis.Editor.Shared.Utilities; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.CodeAnalysis.Shared.TestHooks; +using Microsoft.CodeAnalysis.Shared.Utilities; +using Microsoft.CodeAnalysis.SignatureHelp; +using Microsoft.VisualStudio.Language.Intellisense; +using Microsoft.VisualStudio.Text.Editor.Commanding; +using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; + +namespace Microsoft.CodeAnalysis.Editor.CommandHandlers +{ + internal abstract class AbstractSignatureHelpCommandHandler : + ForegroundThreadAffinitizedObject + { + private readonly IIntelliSensePresenter _signatureHelpPresenter; + private readonly IAsynchronousOperationListener _listener; + private readonly IList> _signatureHelpProviders; + + public AbstractSignatureHelpCommandHandler( + IThreadingContext threadingContext, + IEnumerable> signatureHelpProviders, + IEnumerable, OrderableMetadata>> signatureHelpPresenters, + IAsynchronousOperationListenerProvider listenerProvider) + : base(threadingContext) + { + _signatureHelpProviders = ExtensionOrderer.Order(signatureHelpProviders); + _listener = listenerProvider.GetListener(FeatureAttribute.SignatureHelp); + _signatureHelpPresenter = ExtensionOrderer.Order(signatureHelpPresenters).Select(lazy => lazy.Value).FirstOrDefault(); + } + + protected bool TryGetController(EditorCommandArgs args, out Controller controller) + { + AssertIsForeground(); + + // If args is `InvokeSignatureHelpCommandArgs` then sig help was explicitly invoked by the user and should + // be shown whether or not the option is set. + if (!(args is InvokeSignatureHelpCommandArgs) && !args.SubjectBuffer.GetFeatureOnOffOption(SignatureHelpOptions.ShowSignatureHelp)) + { + controller = null; + return false; + } + + // If we don't have a presenter, then there's no point in us even being involved. Just + // defer to the next handler in the chain. + if (_signatureHelpPresenter == null) + { + controller = null; + return false; + } + + controller = Controller.GetInstance( + ThreadingContext, + args, _signatureHelpPresenter, + _listener, _signatureHelpProviders); + + return true; + } + } +} diff --git a/src/EditorFeatures/Core/CommandHandlers/CompletionCommandHandler.cs b/src/EditorFeatures/Core/CommandHandlers/CompletionCommandHandler.cs index 5723005fdeb43..6e5c64bc6b50a 100644 --- a/src/EditorFeatures/Core/CommandHandlers/CompletionCommandHandler.cs +++ b/src/EditorFeatures/Core/CommandHandlers/CompletionCommandHandler.cs @@ -13,7 +13,7 @@ namespace Microsoft.CodeAnalysis.Editor.CommandHandlers [Export(typeof(VSCommanding.ICommandHandler))] [ContentType(ContentTypeNames.RoslynContentType)] [Name(PredefinedCommandHandlerNames.Completion)] - [Order(After = PredefinedCommandHandlerNames.SignatureHelp, + [Order(After = PredefinedCommandHandlerNames.SignatureHelpBeforeCompletion, Before = PredefinedCommandHandlerNames.DocumentationComments)] internal sealed class CompletionCommandHandler : AbstractCompletionCommandHandler { diff --git a/src/EditorFeatures/Core/CommandHandlers/IntelliSenseCommandHandler.cs b/src/EditorFeatures/Core/CommandHandlers/IntelliSenseCommandHandler.cs deleted file mode 100644 index df37ac3d144f2..0000000000000 --- a/src/EditorFeatures/Core/CommandHandlers/IntelliSenseCommandHandler.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.ComponentModel.Composition; -using Microsoft.CodeAnalysis.Host.Mef; -using Microsoft.VisualStudio.Utilities; -using VSCommanding = Microsoft.VisualStudio.Commanding; - -namespace Microsoft.CodeAnalysis.Editor.CommandHandlers -{ - [Export] - [Export(typeof(VSCommanding.ICommandHandler))] - [ContentType(ContentTypeNames.RoslynContentType)] - [Name(PredefinedCommandHandlerNames.IntelliSense)] - internal sealed class IntelliSenseCommandHandler : AbstractIntelliSenseCommandHandler - { - [ImportingConstructor] - [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] - public IntelliSenseCommandHandler( - CompletionCommandHandler completionCommandHandler, - SignatureHelpCommandHandler signatureHelpCommandHandler) - : base(completionCommandHandler, - signatureHelpCommandHandler) - { - } - } -} diff --git a/src/EditorFeatures/Core/CommandHandlers/SignatureHelpAfterCompletionCommandHandler.cs b/src/EditorFeatures/Core/CommandHandlers/SignatureHelpAfterCompletionCommandHandler.cs new file mode 100644 index 0000000000000..66340ca584c05 --- /dev/null +++ b/src/EditorFeatures/Core/CommandHandlers/SignatureHelpAfterCompletionCommandHandler.cs @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using Microsoft.CodeAnalysis.Editor.Shared.Utilities; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.CodeAnalysis.Shared.TestHooks; +using Microsoft.CodeAnalysis.SignatureHelp; +using Microsoft.VisualStudio.Commanding; +using Microsoft.VisualStudio.Language.Intellisense; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; +using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; +using Microsoft.VisualStudio.Utilities; +using VSCommanding = Microsoft.VisualStudio.Commanding; + +namespace Microsoft.CodeAnalysis.Editor.CommandHandlers +{ + /// + /// There are two forms of intellisense that may be active at the same time. Completion and + /// SigHelp. Completion precedes SigHelp in + /// because it wants to make sure + /// it's operating on a buffer *after* Completion has changed it. i.e. if "WriteL(" is typed, + /// sig help wants to allow completion to complete that to "WriteLine(" before it tried to + /// proffer sig help. If we were to reverse things, then we'd get a bogus situation where sig + /// help would see "WriteL(" would have nothing to offer and would return. + /// + /// However, despite wanting sighelp to receive typechar first and then defer it to completion, + /// we want completion to receive other events first (like escape, and navigation keys). We + /// consider completion to have higher priority for those commands. In order to accomplish that, + /// we introduced the current command handler. This command handler then delegates escape, up and + /// down to those command handlers. + /// It is called after + /// or + /// depending on the completion implemenetation. + /// + [Export] + [Export(typeof(VSCommanding.ICommandHandler))] + [ContentType(ContentTypeNames.RoslynContentType)] + [Name(PredefinedCommandHandlerNames.SignatureHelpAfterCompletion)] + [Order(After = PredefinedCommandHandlerNames.Completion)] + [Order(After = PredefinedCompletionNames.CompletionCommandHandler)] + internal class SignatureHelpAfterCompletionCommandHandler : + AbstractSignatureHelpCommandHandler, + IChainedCommandHandler, + IChainedCommandHandler, + IChainedCommandHandler + { + public string DisplayName => EditorFeaturesResources.Signature_Help; + + [ImportingConstructor] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] + public SignatureHelpAfterCompletionCommandHandler( + IThreadingContext threadingContext, + [ImportMany] IEnumerable> signatureHelpProviders, + [ImportMany] IEnumerable, OrderableMetadata>> signatureHelpPresenters, + IAsynchronousOperationListenerProvider listenerProvider) + : base(threadingContext, signatureHelpProviders, signatureHelpPresenters, listenerProvider) + { + } + + public VSCommanding.CommandState GetCommandState(EscapeKeyCommandArgs args, Func nextHandler) + { + return nextHandler(); + } + + public VSCommanding.CommandState GetCommandState(UpKeyCommandArgs args, Func nextHandler) + { + return nextHandler(); + } + + public VSCommanding.CommandState GetCommandState(DownKeyCommandArgs args, Func nextHandler) + { + return nextHandler(); + } + + public void ExecuteCommand(EscapeKeyCommandArgs args, Action nextHandler, CommandExecutionContext context) + { + if (TryGetController(args, out var controller) && controller.TryHandleEscapeKey()) + { + return; + } + + nextHandler(); + } + + public void ExecuteCommand(UpKeyCommandArgs args, Action nextHandler, CommandExecutionContext context) + { + if (TryGetController(args, out var controller) && controller.TryHandleUpKey()) + { + return; + } + + nextHandler(); + } + + public void ExecuteCommand(DownKeyCommandArgs args, Action nextHandler, CommandExecutionContext context) + { + if (TryGetController(args, out var controller) && controller.TryHandleDownKey()) + { + return; + } + + nextHandler(); + } + } +} diff --git a/src/EditorFeatures/Core/CommandHandlers/SignatureHelpCommandHandler.cs b/src/EditorFeatures/Core/CommandHandlers/SignatureHelpBeforeCompletionCommandHandler.cs similarity index 59% rename from src/EditorFeatures/Core/CommandHandlers/SignatureHelpCommandHandler.cs rename to src/EditorFeatures/Core/CommandHandlers/SignatureHelpBeforeCompletionCommandHandler.cs index 3373a6c33e638..390a518ccd146 100644 --- a/src/EditorFeatures/Core/CommandHandlers/SignatureHelpCommandHandler.cs +++ b/src/EditorFeatures/Core/CommandHandlers/SignatureHelpBeforeCompletionCommandHandler.cs @@ -3,17 +3,13 @@ using System; using System.Collections.Generic; using System.ComponentModel.Composition; -using System.Linq; -using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.SignatureHelp; -using Microsoft.CodeAnalysis.Editor.Options; -using Microsoft.CodeAnalysis.Editor.Shared.Extensions; using Microsoft.CodeAnalysis.Editor.Shared.Utilities; using Microsoft.CodeAnalysis.Host.Mef; using Microsoft.CodeAnalysis.Shared.TestHooks; -using Microsoft.CodeAnalysis.Shared.Utilities; using Microsoft.CodeAnalysis.SignatureHelp; using Microsoft.VisualStudio.Commanding; using Microsoft.VisualStudio.Language.Intellisense; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text.Editor.Commanding; using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; using Microsoft.VisualStudio.Utilities; @@ -21,62 +17,44 @@ namespace Microsoft.CodeAnalysis.Editor.CommandHandlers { + /// + /// There are two forms of intellisense that may be active at the same time. Completion and + /// SigHelp. Completion precedes SigHelp in the command handler because it wants to make sure + /// it's operating on a buffer *after* Completion has changed it. i.e. if "WriteL(" is typed, + /// sig help wants to allow completion to complete that to "WriteLine(" before it tried to + /// proffer sig help. If we were to reverse things, then we'd get a bogus situation where sig + /// help would see "WriteL(" would have nothing to offer and would return. + /// + /// However, despite wanting sighelp to receive typechar first and then defer it to completion, + /// we want completion to receive other events first (like escape, and navigation keys). We + /// consider completion to have higher priority for those commands. In order to accomplish that, + /// we introduced + /// This command handler then delegates escape, up and down to those command handlers. + /// It is called after or + /// depending on the completion implemenetation. + /// [Export] [Export(typeof(VSCommanding.ICommandHandler))] [ContentType(ContentTypeNames.RoslynContentType)] - [Name(PredefinedCommandHandlerNames.SignatureHelp)] + [Name(PredefinedCommandHandlerNames.SignatureHelpBeforeCompletion)] [Order(Before = PredefinedCommandHandlerNames.Completion)] - internal class SignatureHelpCommandHandler : - ForegroundThreadAffinitizedObject, + [Order(Before = PredefinedCompletionNames.CompletionCommandHandler)] + internal class SignatureHelpBeforeCompletionCommandHandler : + AbstractSignatureHelpCommandHandler, IChainedCommandHandler, IChainedCommandHandler { - private readonly IIntelliSensePresenter _signatureHelpPresenter; - private readonly IAsynchronousOperationListener _listener; - private readonly IList> _signatureHelpProviders; - public string DisplayName => EditorFeaturesResources.Signature_Help; [ImportingConstructor] [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] - public SignatureHelpCommandHandler( + public SignatureHelpBeforeCompletionCommandHandler( IThreadingContext threadingContext, [ImportMany] IEnumerable> signatureHelpProviders, [ImportMany] IEnumerable, OrderableMetadata>> signatureHelpPresenters, IAsynchronousOperationListenerProvider listenerProvider) - : base(threadingContext) + : base(threadingContext, signatureHelpProviders, signatureHelpPresenters, listenerProvider) { - _signatureHelpProviders = ExtensionOrderer.Order(signatureHelpProviders); - _listener = listenerProvider.GetListener(FeatureAttribute.SignatureHelp); - _signatureHelpPresenter = ExtensionOrderer.Order(signatureHelpPresenters).Select(lazy => lazy.Value).FirstOrDefault(); - } - - private bool TryGetController(EditorCommandArgs args, out Controller controller) - { - AssertIsForeground(); - - // If args is `InvokeSignatureHelpCommandArgs` then sig help was explicitly invoked by the user and should - // be shown whether or not the option is set. - if (!(args is InvokeSignatureHelpCommandArgs) && !args.SubjectBuffer.GetFeatureOnOffOption(SignatureHelpOptions.ShowSignatureHelp)) - { - controller = null; - return false; - } - - // If we don't have a presenter, then there's no point in us even being involved. Just - // defer to the next handler in the chain. - if (_signatureHelpPresenter == null) - { - controller = null; - return false; - } - - controller = Controller.GetInstance( - ThreadingContext, - args, _signatureHelpPresenter, - _listener, _signatureHelpProviders); - - return true; } private bool TryGetControllerCommandHandler(TCommandArgs args, out VSCommanding.ICommandHandler commandHandler) @@ -144,35 +122,5 @@ void IChainedCommandHandler.ExecuteCommand(Invok AssertIsForeground(); ExecuteCommandWorker(args, nextHandler, context); } - - internal bool TryHandleEscapeKey(EscapeKeyCommandArgs commandArgs) - { - if (!TryGetController(commandArgs, out var controller)) - { - return false; - } - - return controller.TryHandleEscapeKey(); - } - - internal bool TryHandleUpKey(UpKeyCommandArgs commandArgs) - { - if (!TryGetController(commandArgs, out var controller)) - { - return false; - } - - return controller.TryHandleUpKey(); - } - - internal bool TryHandleDownKey(DownKeyCommandArgs commandArgs) - { - if (!TryGetController(commandArgs, out var controller)) - { - return false; - } - - return controller.TryHandleDownKey(); - } } } diff --git a/src/EditorFeatures/Core/EditorFeaturesResources.Designer.cs b/src/EditorFeatures/Core/EditorFeaturesResources.Designer.cs index 76ffac7755c90..648464846f40b 100644 --- a/src/EditorFeatures/Core/EditorFeaturesResources.Designer.cs +++ b/src/EditorFeatures/Core/EditorFeaturesResources.Designer.cs @@ -719,6 +719,15 @@ internal static string Extract_method_encountered_the_following_issues { } } + /// + /// Looks up a localized string similar to Filter. + /// + internal static string Filter_image_element { + get { + return ResourceManager.GetString("Filter_image_element", resourceCulture); + } + } + /// /// Looks up a localized string similar to Find References. /// @@ -2187,6 +2196,15 @@ internal static string VB_XML_Literals_Text { } } + /// + /// Looks up a localized string similar to Warning. + /// + internal static string Warning_image_element { + get { + return ResourceManager.GetString("Warning_image_element", resourceCulture); + } + } + /// /// Looks up a localized string similar to We can fix the error by not making struct "out/ref" parameter(s). ///Do you want to proceed?. diff --git a/src/EditorFeatures/Core/EditorFeaturesResources.resx b/src/EditorFeatures/Core/EditorFeaturesResources.resx index 283212c3326cc..922d051d4c47c 100644 --- a/src/EditorFeatures/Core/EditorFeaturesResources.resx +++ b/src/EditorFeatures/Core/EditorFeaturesResources.resx @@ -830,6 +830,14 @@ Do you want to proceed? Paste Tracking + + Filter + Caption/tooltip for "Filter" image element displayed in completion popup. + + + Warning + Caption/tooltip for "Warning" image element displayed in completion popup. + Invalid assembly name diff --git a/src/EditorFeatures/Core/Extensibility/Commands/PredefinedCommandHandlerNames.cs b/src/EditorFeatures/Core/Extensibility/Commands/PredefinedCommandHandlerNames.cs index 096c4d974031e..a95ba7e44c93a 100644 --- a/src/EditorFeatures/Core/Extensibility/Commands/PredefinedCommandHandlerNames.cs +++ b/src/EditorFeatures/Core/Extensibility/Commands/PredefinedCommandHandlerNames.cs @@ -42,8 +42,7 @@ internal static class PredefinedCommandHandlerNames public const string Commit = "Commit Command Handler"; /// - /// Command handler name for Completion. Some additional Completion commands are handled by - /// the command handler. + /// Command handler name for Completion. /// public const string Completion = "Completion Command Handler"; @@ -107,12 +106,6 @@ internal static class PredefinedCommandHandlerNames /// public const string Indent = "Indent Command Handler"; - /// - /// Command handler name for IntelliSense. This command handler handles some commands for - /// , , and . - /// - public const string IntelliSense = nameof(IntelliSense); - /// /// Command handler name for Navigate to Highlighted Reference. /// @@ -124,8 +117,7 @@ internal static class PredefinedCommandHandlerNames public const string OrganizeDocument = "Organize Document Command Handler"; /// - /// Command handler name for Quick Info. Some additional Quick Info commands are handled by - /// the command handler. + /// Command handler name for Quick Info. /// public const string QuickInfo = "Quick Info Command Handler"; @@ -140,10 +132,14 @@ internal static class PredefinedCommandHandlerNames public const string RenameTrackingCancellation = "Rename Tracking Cancellation Command Handler"; /// - /// Command handler name for Signature Help. Some additional Signature Help commands are - /// handled by the command handler. + /// Command handler name for a Signature Help command handler executing before . + /// + public const string SignatureHelpBeforeCompletion = "Signature Help Before Completion Command Handler"; + + /// + /// Command handler name for a Signature Help command handler executing after . /// - public const string SignatureHelp = "Signature Help Command Handler"; + public const string SignatureHelpAfterCompletion = "Signature Help After Completion Command Handler"; /// /// Command handler name for Paste Content in Interactive Format. diff --git a/src/EditorFeatures/Core/Implementation/AutomaticCompletion/AbstractAutomaticLineEnderCommandHandler.cs b/src/EditorFeatures/Core/Implementation/AutomaticCompletion/AbstractAutomaticLineEnderCommandHandler.cs index 2575642018952..a721757be2839 100644 --- a/src/EditorFeatures/Core/Implementation/AutomaticCompletion/AbstractAutomaticLineEnderCommandHandler.cs +++ b/src/EditorFeatures/Core/Implementation/AutomaticCompletion/AbstractAutomaticLineEnderCommandHandler.cs @@ -8,6 +8,8 @@ using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Text; using Microsoft.VisualStudio.Commanding; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Data; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; using Microsoft.VisualStudio.Text.Operations; @@ -20,15 +22,18 @@ internal abstract class AbstractAutomaticLineEnderCommandHandler : { private readonly ITextUndoHistoryRegistry _undoRegistry; private readonly IEditorOperationsFactoryService _editorOperationsFactoryService; + private readonly IAsyncCompletionBroker _asyncCompletionBroker; public string DisplayName => EditorFeaturesResources.Automatic_Line_Ender; public AbstractAutomaticLineEnderCommandHandler( ITextUndoHistoryRegistry undoRegistry, - IEditorOperationsFactoryService editorOperationsFactoryService) + IEditorOperationsFactoryService editorOperationsFactoryService, + IAsyncCompletionBroker asyncCompletionBroker) { _undoRegistry = undoRegistry; _editorOperationsFactoryService = editorOperationsFactoryService; + _asyncCompletionBroker = asyncCompletionBroker; } /// @@ -58,6 +63,22 @@ public VSCommanding.CommandState GetCommandState(AutomaticLineEnderCommandArgs a public void ExecuteCommand(AutomaticLineEnderCommandArgs args, Action nextHandler, CommandExecutionContext context) { + // Completion will only be active here if this command wasn't handled by the completion controller itself. + if (_asyncCompletionBroker.IsCompletionActive(args.TextView)) + { + var session = _asyncCompletionBroker.GetSession(args.TextView); + var computedItems = session.GetComputedItems(context.OperationContext.UserCancellationToken); + var softSelection = computedItems.SuggestionItemSelected || computedItems.UsesSoftSelection; + var behavior = session.Commit('\n', context.OperationContext.UserCancellationToken); + session.Dismiss(); + + if (behavior != CommitBehavior.CancelCommit && !softSelection) + { + // Skip the automatic line handling in this case for behavior parity with legacy completion. + return; + } + } + // get editor operation var operations = _editorOperationsFactoryService.GetEditorOperations(args.TextView); if (operations == null) diff --git a/src/EditorFeatures/Core/Implementation/CodeFixes/CodeFixService.cs b/src/EditorFeatures/Core/Implementation/CodeFixes/CodeFixService.cs index 6f3df3650af80..8e23716099666 100644 --- a/src/EditorFeatures/Core/Implementation/CodeFixes/CodeFixService.cs +++ b/src/EditorFeatures/Core/Implementation/CodeFixes/CodeFixService.cs @@ -75,7 +75,7 @@ public CodeFixService( _fixAllProviderMap = ImmutableDictionary.Empty; } - public async Task GetMostSevereFixableDiagnostic( + public async Task GetMostSevereFixableDiagnosticAsync( Document document, TextSpan range, CancellationToken cancellationToken) { if (document == null || !document.IsOpen()) @@ -215,7 +215,7 @@ await AppendSuppressionsAsync( return result.ToImmutableAndFree(); } - public async Task GetDocumentFixAllForIdInSpan(Document document, TextSpan range, string diagnosticId, CancellationToken cancellationToken) + public async Task GetDocumentFixAllForIdInSpanAsync(Document document, TextSpan range, string diagnosticId, CancellationToken cancellationToken) { var diagnostics = (await _diagnosticService.GetDiagnosticsForSpanAsync(document, range, diagnosticId, includeSuppressedDiagnostics: false, cancellationToken: cancellationToken).ConfigureAwait(false)).ToList(); if (diagnostics.Count == 0) @@ -231,6 +231,26 @@ public async Task GetDocumentFixAllForIdInSpan(Document docum return result.ToImmutableAndFree().FirstOrDefault(); } + public async Task ApplyCodeFixesForSpecificDiagnosticIdAsync(Document document, string diagnosticId, IProgressTracker progressTracker, CancellationToken cancellationToken) + { + var tree = await document.GetSyntaxTreeAsync(cancellationToken).ConfigureAwait(false); + var textSpan = new TextSpan(0, tree.Length); + + var fixCollection = await GetDocumentFixAllForIdInSpanAsync( + document, textSpan, diagnosticId, cancellationToken).ConfigureAwait(false); + if (fixCollection == null) + { + return document; + } + + var fixAllService = document.Project.Solution.Workspace.Services.GetService(); + + var solution = await fixAllService.GetFixAllChangedSolutionAsync( + fixCollection.FixAllState.CreateFixAllContext(progressTracker, cancellationToken)).ConfigureAwait(false); + + return solution.GetDocument(document.Id); + } + private async Task AppendFixesAsync( Document document, TextSpan span, diff --git a/src/EditorFeatures/Core/Implementation/Formatting/FormatCommandHandler.FormatDocument.cs b/src/EditorFeatures/Core/Implementation/Formatting/FormatCommandHandler.FormatDocument.cs index cc71cb4bf8c9a..6bbff58485731 100644 --- a/src/EditorFeatures/Core/Implementation/Formatting/FormatCommandHandler.FormatDocument.cs +++ b/src/EditorFeatures/Core/Implementation/Formatting/FormatCommandHandler.FormatDocument.cs @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Text; @@ -42,4 +42,4 @@ public bool ExecuteCommand(FormatDocumentCommandArgs args, CommandExecutionConte return true; } } -} +} \ No newline at end of file diff --git a/src/EditorFeatures/Core/Implementation/Formatting/FormatCommandHandler.cs b/src/EditorFeatures/Core/Implementation/Formatting/FormatCommandHandler.cs index 82264853a66bf..544e74530b899 100644 --- a/src/EditorFeatures/Core/Implementation/Formatting/FormatCommandHandler.cs +++ b/src/EditorFeatures/Core/Implementation/Formatting/FormatCommandHandler.cs @@ -13,6 +13,7 @@ using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Text; using Microsoft.VisualStudio.Commanding; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Editor; using Microsoft.VisualStudio.Text.Editor.Commanding; @@ -30,6 +31,7 @@ namespace Microsoft.CodeAnalysis.Editor.Implementation.Formatting [Name(PredefinedCommandHandlerNames.FormatDocument)] [Order(After = PredefinedCommandHandlerNames.Rename)] [Order(Before = PredefinedCommandHandlerNames.Completion)] + [Order(Before = PredefinedCompletionNames.CompletionCommandHandler)] internal partial class FormatCommandHandler : VSCommanding.ICommandHandler, VSCommanding.ICommandHandler, diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CommitManager.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CommitManager.cs new file mode 100644 index 0000000000000..dcfc11642dd9b --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CommitManager.cs @@ -0,0 +1,344 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Linq; +using System.Threading; +using Microsoft.CodeAnalysis.Completion; +using Microsoft.CodeAnalysis.Editor.Shared.Extensions; +using Microsoft.CodeAnalysis.Editor.Shared.Utilities; +using Microsoft.CodeAnalysis.ErrorReporting; +using Microsoft.CodeAnalysis.Shared.Extensions; +using Microsoft.CodeAnalysis.Text; +using Microsoft.CodeAnalysis.Text.Shared.Extensions; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; +using Microsoft.VisualStudio.Text; +using Microsoft.VisualStudio.Text.Editor; +using Microsoft.VisualStudio.Text.Operations; +using Roslyn.Utilities; +using AsyncCompletionData = Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Data; +using RoslynCompletionItem = Microsoft.CodeAnalysis.Completion.CompletionItem; +using VSCompletionItem = Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Data.CompletionItem; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion +{ + internal sealed class CommitManager : ForegroundThreadAffinitizedObject, IAsyncCompletionCommitManager + { + private static readonly AsyncCompletionData.CommitResult CommitResultUnhandled = + new AsyncCompletionData.CommitResult(isHandled: false, AsyncCompletionData.CommitBehavior.None); + + private readonly RecentItemsManager _recentItemsManager; + private readonly IEditorOperationsFactoryService _editorOperationsFactoryService; + private readonly ITextView _textView; + + public IEnumerable PotentialCommitCharacters + { + get + { + if (_textView.Properties.TryGetProperty(CompletionSource.PotentialCommitCharacters, out ImmutableArray potentialCommitCharacters)) + { + return potentialCommitCharacters; + } + else + { + // If we were not initialized with a CompletionService or are called for a wrong textView, we should not make a commit. + return ImmutableArray.Empty; + } + } + } + + internal CommitManager(ITextView textView, RecentItemsManager recentItemsManager, IThreadingContext threadingContext, IEditorOperationsFactoryService editorOperationsFactoryService) : base(threadingContext) + { + _recentItemsManager = recentItemsManager; + _editorOperationsFactoryService = editorOperationsFactoryService; + _textView = textView; + } + + /// + /// The method performs a preliminarily filtering of commit availability. + /// In case of a doubt, it should respond with true. + /// We will be able to cancel later in + /// + /// based on item, e.g. based on . + /// + public bool ShouldCommitCompletion( + IAsyncCompletionSession session, + SnapshotPoint location, + char typedChar, + CancellationToken cancellationToken) + { + if (!PotentialCommitCharacters.Contains(typedChar)) + { + return false; + } + + return !(session.Properties.TryGetProperty(CompletionSource.ExcludedCommitCharacters, out ImmutableArray excludedCommitCharacter) + && excludedCommitCharacter.Contains(typedChar)); + } + + public AsyncCompletionData.CommitResult TryCommit( + IAsyncCompletionSession session, + ITextBuffer subjectBuffer, + VSCompletionItem item, + char typeChar, + CancellationToken cancellationToken) + { + // We can make changes to buffers. We would like to be sure nobody can change them at the same time. + AssertIsForeground(); + + var document = subjectBuffer.CurrentSnapshot.GetOpenDocumentInCurrentContextWithChanges(); + if (document == null) + { + return CommitResultUnhandled; + } + + var completionService = document.GetLanguageService(); + if (completionService == null) + { + return CommitResultUnhandled; + } + + if (!item.Properties.TryGetProperty(CompletionSource.RoslynItem, out RoslynCompletionItem roslynItem)) + { + // Roslyn should not be called if the item committing was not provided by Roslyn. + return CommitResultUnhandled; + } + + var filterText = session.ApplicableToSpan.GetText(session.ApplicableToSpan.TextBuffer.CurrentSnapshot) + typeChar; + if (Helpers.IsFilterCharacter(roslynItem, typeChar, filterText)) + { + // Returning Cancel means we keep the current session and consider the character for further filtering. + return new AsyncCompletionData.CommitResult(isHandled: true, AsyncCompletionData.CommitBehavior.CancelCommit); + } + + var serviceRules = completionService.GetRules(); + + // We can be called before for ShouldCommitCompletion. However, that call does not provide rules applied for the completion item. + // Now we check for the commit charcter in the context of Rules that could change the list of commit characters. + + // Tab, Enter and Null (call invoke commit) are always commit characters. + if (typeChar != '\t' && typeChar != '\n' && typeChar != '\0' && !IsCommitCharacter(serviceRules, roslynItem, typeChar, filterText)) + { + // Returning None means we complete the current session with a void commit. + // The Editor then will try to trigger a new completion session for the character. + return new AsyncCompletionData.CommitResult(isHandled: true, AsyncCompletionData.CommitBehavior.None); + } + + if (!session.Properties.TryGetProperty(CompletionSource.TriggerSnapshot, out ITextSnapshot triggerSnapshot)) + { + // Need the trigger snapshot to calculate the span when the commit changes to be applied. + // It should be inserted into a property bag within GetCompletionContextAsync for each item created by Roslyn. + // If not found here, Roslyn should not make a commit. + return CommitResultUnhandled; + } + + var triggerDocument = triggerSnapshot.GetOpenDocumentInCurrentContextWithChanges(); + if (triggerDocument == null) + { + return CommitResultUnhandled; + } + + // Commit with completion service assumes that null is provided is case of invoke. VS provides '\0' in the case. + char? commitChar = typeChar == '\0' ? null : (char?)typeChar; + var commitBehavior = Commit( + triggerDocument, completionService, session.TextView, subjectBuffer, + roslynItem, commitChar, triggerSnapshot, serviceRules, filterText, cancellationToken); + + _recentItemsManager.MakeMostRecentItem(roslynItem.DisplayText); + return new AsyncCompletionData.CommitResult(isHandled: true, commitBehavior); + } + + private AsyncCompletionData.CommitBehavior Commit( + Document document, + CompletionService completionService, + ITextView view, + ITextBuffer subjectBuffer, + RoslynCompletionItem roslynItem, + char? commitCharacter, + ITextSnapshot triggerSnapshot, + CompletionRules rules, + string filterText, + CancellationToken cancellationToken) + { + AssertIsForeground(); + + bool includesCommitCharacter; + if (!subjectBuffer.CheckEditAccess()) + { + // We are on the wrong thread. + FatalError.ReportWithoutCrash(new InvalidOperationException("Subject buffer did not provide Edit Access")); + return AsyncCompletionData.CommitBehavior.None; + } + + if (subjectBuffer.EditInProgress) + { + FatalError.ReportWithoutCrash(new InvalidOperationException("Subject buffer is editing by someone else.")); + return AsyncCompletionData.CommitBehavior.None; + } + + var change = completionService.GetChangeAsync(document, roslynItem, commitCharacter, cancellationToken).WaitAndGetResult(cancellationToken); + var textChange = change.TextChange; + var triggerSnapshotSpan = new SnapshotSpan(triggerSnapshot, textChange.Span.ToSpan()); + var mappedSpan = triggerSnapshotSpan.TranslateTo(subjectBuffer.CurrentSnapshot, SpanTrackingMode.EdgeInclusive); + + var adjustedNewText = AdjustForVirtualSpace(textChange, view, _editorOperationsFactoryService); + + using (var edit = subjectBuffer.CreateEdit(EditOptions.DefaultMinimalChange, reiteratedVersionNumber: null, editTag: null)) + { + edit.Replace(mappedSpan.Span, change.TextChange.NewText); + + // edit.Apply() may trigger changes made by extensions. + // updatedCurrentSnapshot will contain changes made by Roslyn but not by other extensions. + var updatedCurrentSnapshot = edit.Apply(); + + if (change.NewPosition.HasValue) + { + // Roslyn knows how to positionate the caret in the snapshot we just created. + // If there were more edits made by extensions, TryMoveCaretToAndEnsureVisible maps the snapshot point to the most recent one. + view.TryMoveCaretToAndEnsureVisible(new SnapshotPoint(updatedCurrentSnapshot, change.NewPosition.Value)); + } + else + { + // Or, If we're doing a minimal change, then the edit that we make to the + // buffer may not make the total text change that places the caret where we + // would expect it to go based on the requested change. In this case, + // determine where the item should go and set the care manually. + + // Note: we only want to move the caret if the caret would have been moved + // by the edit. i.e. if the caret was actually in the mapped span that + // we're replacing. + var caretPositionInBuffer = view.GetCaretPoint(subjectBuffer); + if (caretPositionInBuffer.HasValue && mappedSpan.IntersectsWith(caretPositionInBuffer.Value)) + { + view.TryMoveCaretToAndEnsureVisible(new SnapshotPoint(subjectBuffer.CurrentSnapshot, mappedSpan.Start.Position + adjustedNewText.Length)); + } + else + { + view.Caret.EnsureVisible(); + } + } + + includesCommitCharacter = change.IncludesCommitCharacter; + + if (roslynItem.Rules.FormatOnCommit) + { + // The edit updates the snapshot however other extensions may make changes there. + // Therefore, it is required to use subjectBuffer.CurrentSnapshot for further calculations rather than the updated current snapsot defined above. + document = subjectBuffer.CurrentSnapshot.GetOpenDocumentInCurrentContextWithChanges(); + var spanToFormat = triggerSnapshotSpan.TranslateTo(subjectBuffer.CurrentSnapshot, SpanTrackingMode.EdgeInclusive); + var formattingService = document?.GetLanguageService(); + + if (formattingService != null) + { + var changes = formattingService.GetFormattingChangesAsync( + document, spanToFormat.Span.ToTextSpan(), CancellationToken.None).WaitAndGetResult(CancellationToken.None); + document.Project.Solution.Workspace.ApplyTextChanges(document.Id, changes, CancellationToken.None); + } + } + } + + if (includesCommitCharacter) + { + return AsyncCompletionData.CommitBehavior.SuppressFurtherTypeCharCommandHandlers; + } + + if (commitCharacter == '\n' && SendEnterThroughToEditor(rules, roslynItem, filterText)) + { + return AsyncCompletionData.CommitBehavior.RaiseFurtherReturnKeyAndTabKeyCommandHandlers; + } + + return AsyncCompletionData.CommitBehavior.None; + } + + internal static bool IsCommitCharacter(CompletionRules completionRules, CompletionItem item, char ch, string textTypedSoFar) + { + // First see if the item has any specifc commit rules it wants followed. + foreach (var rule in item.Rules.CommitCharacterRules) + { + switch (rule.Kind) + { + case CharacterSetModificationKind.Add: + if (rule.Characters.Contains(ch)) + { + return true; + } + continue; + + case CharacterSetModificationKind.Remove: + if (rule.Characters.Contains(ch)) + { + return false; + } + continue; + + case CharacterSetModificationKind.Replace: + return rule.Characters.Contains(ch); + } + } + + // general rule: if the filtering text exactly matches the start of the item then it must be a filter character + if (TextTypedSoFarMatchesItem(item, textTypedSoFar)) + { + return false; + } + + // Fall back to the default rules for this language's completion service. + return completionRules.DefaultCommitCharacters.IndexOf(ch) >= 0; + } + + internal static bool TextTypedSoFarMatchesItem(CompletionItem item, string textTypedSoFar) + { + if (textTypedSoFar.Length > 0) + { + return item.DisplayText.StartsWith(textTypedSoFar, StringComparison.CurrentCultureIgnoreCase) || + item.FilterText.StartsWith(textTypedSoFar, StringComparison.CurrentCultureIgnoreCase); + } + + return false; + } + + internal static bool SendEnterThroughToEditor(CompletionRules rules, RoslynCompletionItem item, string textTypedSoFar) + { + var rule = item.Rules.EnterKeyRule; + if (rule == EnterKeyRule.Default) + { + rule = rules.DefaultEnterKeyRule; + } + + switch (rule) + { + default: + case EnterKeyRule.Default: + case EnterKeyRule.Never: + return false; + case EnterKeyRule.Always: + return true; + case EnterKeyRule.AfterFullyTypedWord: + return item.GetEntireDisplayText() == textTypedSoFar; + } + } + + internal static string AdjustForVirtualSpace(TextChange textChange, ITextView textView, IEditorOperationsFactoryService editorOperationsFactoryService) + { + var newText = textChange.NewText; + + var caretPoint = textView.Caret.Position.BufferPosition; + var virtualCaretPoint = textView.Caret.Position.VirtualBufferPosition; + + if (textChange.Span.IsEmpty && + textChange.Span.Start == caretPoint && + virtualCaretPoint.IsInVirtualSpace) + { + // They're in virtual space and the text change is specified against the cursor + // position that isn't in virtual space. In this case, add the virtual spaces to the + // thing we're adding. + var editorOperations = editorOperationsFactoryService.GetEditorOperations(textView); + var whitespace = editorOperations.GetWhitespaceForVirtualSpace(virtualCaretPoint); + return whitespace + newText; + } + + return newText; + } + } +} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CommitManagerProvider.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CommitManagerProvider.cs new file mode 100644 index 0000000000000..dc72b0d808537 --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CommitManagerProvider.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.ComponentModel.Composition; +using Microsoft.CodeAnalysis.Editor.Shared.Utilities; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; +using Microsoft.VisualStudio.Text.Editor; +using Microsoft.VisualStudio.Text.Operations; +using Microsoft.VisualStudio.Utilities; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion +{ + [Export(typeof(IAsyncCompletionCommitManagerProvider))] + [Name("Roslyn Completion Commit Manager")] + [ContentType(ContentTypeNames.RoslynContentType)] + internal class CommitManagerProvider : IAsyncCompletionCommitManagerProvider + { + private readonly IThreadingContext _threadingContext; + private readonly RecentItemsManager _recentItemsManager; + private readonly IEditorOperationsFactoryService _editorOperationsFactoryService; + + [ImportingConstructor] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] + public CommitManagerProvider(IThreadingContext threadingContext, RecentItemsManager recentItemsManager, IEditorOperationsFactoryService editorOperationsFactoryService) + { + _threadingContext = threadingContext; + _recentItemsManager = recentItemsManager; + _editorOperationsFactoryService = editorOperationsFactoryService; + } + + IAsyncCompletionCommitManager IAsyncCompletionCommitManagerProvider.GetOrCreate(ITextView textView) + => new CommitManager(textView, _recentItemsManager, _threadingContext, _editorOperationsFactoryService); + } +} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSource.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSource.cs new file mode 100644 index 0000000000000..d1ffb0d506feb --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSource.cs @@ -0,0 +1,370 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.CodeAnalysis.Completion; +using Microsoft.CodeAnalysis.Completion.Providers; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion; +using Microsoft.CodeAnalysis.Editor.Shared.Extensions; +using Microsoft.CodeAnalysis.Editor.Shared.Utilities; +using Microsoft.CodeAnalysis.LanguageServices; +using Microsoft.CodeAnalysis.Options; +using Microsoft.CodeAnalysis.PooledObjects; +using Microsoft.CodeAnalysis.Shared.Extensions; +using Microsoft.CodeAnalysis.Text; +using Microsoft.CodeAnalysis.Text.Shared.Extensions; +using Microsoft.VisualStudio.Core.Imaging; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; +using Microsoft.VisualStudio.Text; +using Microsoft.VisualStudio.Text.Adornments; +using Microsoft.VisualStudio.Text.Editor; +using AsyncCompletionData = Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Data; +using RoslynCompletionItem = Microsoft.CodeAnalysis.Completion.CompletionItem; +using VSCompletionItem = Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Data.CompletionItem; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion +{ + internal class CompletionSource : ForegroundThreadAffinitizedObject, IAsyncCompletionSource + { + internal const string RoslynItem = nameof(RoslynItem); + internal const string TriggerSnapshot = nameof(TriggerSnapshot); + internal const string InsertionText = nameof(InsertionText); + internal const string HasSuggestionItemOptions = nameof(HasSuggestionItemOptions); + internal const string Description = nameof(Description); + internal const string InitialTriggerKind = nameof(InitialTriggerKind); + internal const string PotentialCommitCharacters = nameof(PotentialCommitCharacters); + internal const string ExcludedCommitCharacters = nameof(ExcludedCommitCharacters); + internal const string NonBlockingCompletion = nameof(NonBlockingCompletion); + + private static readonly ImmutableArray s_WarningImageAttributeImagesArray = + ImmutableArray.Create(new ImageElement(Glyph.CompletionWarning.GetImageId(), EditorFeaturesResources.Warning_image_element)); + + private static readonly EditorOptionKey NonBlockingCompletionEditorOption = new EditorOptionKey(NonBlockingCompletion); + + private readonly ITextView _textView; + private readonly bool _isDebuggerTextView; + private readonly ImmutableHashSet _roles; + + internal CompletionSource(ITextView textView, IThreadingContext threadingContext) : base(threadingContext) + { + _textView = textView; + _isDebuggerTextView = textView is IDebuggerTextView; + _roles = textView.Roles.ToImmutableHashSet(); + } + + public AsyncCompletionData.CompletionStartData InitializeCompletion( + AsyncCompletionData.CompletionTrigger trigger, + SnapshotPoint triggerLocation, + CancellationToken cancellationToken) + { + // We take sourceText from document to get a snapshot span. + // We would like to be sure that nobody changes buffers at the same time. + AssertIsForeground(); + + var document = triggerLocation.Snapshot.GetOpenDocumentInCurrentContextWithChanges(); + if (document == null) + { + return AsyncCompletionData.CompletionStartData.DoesNotParticipateInCompletion; + } + + var service = document.GetLanguageService(); + if (service == null) + { + return AsyncCompletionData.CompletionStartData.DoesNotParticipateInCompletion; + } + + if (!document.Project.Solution.Workspace.Options.GetOption(CompletionOptions.BlockForCompletionItems, service.Language)) + { + _textView.Options.GlobalOptions.SetOptionValue(NonBlockingCompletionEditorOption, true); + } + + // In case of calls with multiple completion services for the same view (e.g. TypeScript and C#), those completion services must not be called simultaneously for the same session. + // Therefore, in each completion session we use a list of commit character for a specific completion service and a specific content type. + _textView.Properties[PotentialCommitCharacters] = service.GetRules().DefaultCommitCharacters; + + var sourceText = document.GetTextSynchronously(cancellationToken); + + return ShouldTriggerCompletion(trigger, triggerLocation, sourceText, document, service) + ? new AsyncCompletionData.CompletionStartData( + participation: AsyncCompletionData.CompletionParticipation.ProvidesItems, + applicableToSpan: new SnapshotSpan( + triggerLocation.Snapshot, + service.GetDefaultCompletionListSpan(sourceText, triggerLocation.Position).ToSpan())) + : AsyncCompletionData.CompletionStartData.DoesNotParticipateInCompletion; + } + + private bool ShouldTriggerCompletion( + AsyncCompletionData.CompletionTrigger trigger, + SnapshotPoint triggerLocation, + SourceText sourceText, + Document document, + CompletionService completionService) + { + // The trigger reason guarantees that user wants a completion. + if (trigger.Reason == AsyncCompletionData.CompletionTriggerReason.Invoke || + trigger.Reason == AsyncCompletionData.CompletionTriggerReason.InvokeAndCommitIfUnique) + { + return true; + } + + //The user may be trying to invoke snippets through question-tab. + // We may provide a completion after that. + // Otherwise, tab should not be a completion trigger. + if (trigger.Reason == AsyncCompletionData.CompletionTriggerReason.Insertion && trigger.Character == '\t') + { + return TryInvokeSnippetCompletion(completionService, document, sourceText, triggerLocation.Position); + } + + var roslynTrigger = Helpers.GetRoslynTrigger(trigger, triggerLocation); + + // The completion service decides that user may want a completion. + if (completionService.ShouldTriggerCompletion(sourceText, triggerLocation.Position, roslynTrigger)) + { + return true; + } + + return false; + } + + private static bool TryInvokeSnippetCompletion( + CompletionService completionService, Document document, SourceText text, int caretPoint) + { + var rules = completionService.GetRules(); + // Do not invoke snippet if the corresponding rule is not set in options. + if (rules.SnippetsRule != SnippetsRule.IncludeAfterTypingIdentifierQuestionTab) + { + return false; + } + + var syntaxFactsOpt = document.GetLanguageService(); + // Snippets are included if the user types: + // If at least one condition for snippets do not hold, bail out. + if (syntaxFactsOpt == null || + caretPoint < 3 || + text[caretPoint - 2] != '?' || + !QuestionMarkIsPrecededByIdentifierAndWhitespace(text, caretPoint - 2, syntaxFactsOpt)) + { + return false; + } + + // Because is actually a command to bring up snippets, + // we delete the last that was typed. + var textChange = new TextChange(TextSpan.FromBounds(caretPoint - 2, caretPoint), string.Empty); + document.Project.Solution.Workspace.ApplyTextChanges(document.Id, textChange, CancellationToken.None); + + return true; + } + + public async Task GetCompletionContextAsync( + IAsyncCompletionSession session, + AsyncCompletionData.CompletionTrigger trigger, + SnapshotPoint triggerLocation, + SnapshotSpan applicableToSpan, + CancellationToken cancellationToken) + { + var document = triggerLocation.Snapshot.GetOpenDocumentInCurrentContextWithChanges(); + if (document == null) + { + return new AsyncCompletionData.CompletionContext(ImmutableArray.Empty); + } + + var completionService = document.GetLanguageService(); + + var roslynTrigger = Helpers.GetRoslynTrigger(trigger, triggerLocation); + + var workspace = document.Project.Solution.Workspace; + + var completionList = await completionService.GetCompletionsAsync( + document, + triggerLocation, + roslynTrigger, + _roles, + _isDebuggerTextView ? workspace.Options.WithDebuggerCompletionOptions() : workspace.Options, + cancellationToken).ConfigureAwait(false); + + if (completionList == null) + { + return new AsyncCompletionData.CompletionContext(ImmutableArray.Empty); + } + + var filterCache = new Dictionary(); + + var itemsBuilder = new ArrayBuilder(completionList.Items.Length); + foreach (var roslynItem in completionList.Items) + { + cancellationToken.ThrowIfCancellationRequested(); + var item = Convert(document, roslynItem, completionService, filterCache); + itemsBuilder.Add(item); + } + + var items = itemsBuilder.ToImmutableAndFree(); + + var suggestionItemOptions = completionList.SuggestionModeItem != null + ? new AsyncCompletionData.SuggestionItemOptions( + completionList.SuggestionModeItem.DisplayText, + completionList.SuggestionModeItem.Properties.TryGetValue(Description, out var description) + ? description + : string.Empty) + : null; + + // Have to store the snapshot to reuse it in some projections related scenarios + // where data and session in further calls are able to provide other snapshots. + session.Properties.AddProperty(TriggerSnapshot, triggerLocation.Snapshot); + + // This is a code supporting original completion scenarios: + // Controller.Session_ComputeModel: if completionList.SuggestionModeItem != null, then suggestionMode = true + // If there are suggestionItemOptions, then later HandleNormalFiltering should set selection to SoftSelection. + session.Properties.AddProperty(HasSuggestionItemOptions, suggestionItemOptions != null); + + session.Properties.AddProperty(InitialTriggerKind, roslynTrigger.Kind); + var excludedCommitCharacters = GetExcludedCommitCharacters(completionList.Items); + if (excludedCommitCharacters.Length > 0) + { + session.Properties.AddProperty(ExcludedCommitCharacters, excludedCommitCharacters); + } + + return new AsyncCompletionData.CompletionContext( + items, + suggestionItemOptions, + suggestionItemOptions == null + ? AsyncCompletionData.InitialSelectionHint.RegularSelection + : AsyncCompletionData.InitialSelectionHint.SoftSelection); + } + + public async Task GetDescriptionAsync(IAsyncCompletionSession session, VSCompletionItem item, CancellationToken cancellationToken) + { + if (!item.Properties.TryGetProperty(RoslynItem, out RoslynCompletionItem roslynItem) || + !session.Properties.TryGetProperty(TriggerSnapshot, out ITextSnapshot triggerSnapshot)) + { + return null; + } + + var document = triggerSnapshot.GetOpenDocumentInCurrentContextWithChanges(); + if (document == null) + { + return null; + } + + var service = document.GetLanguageService(); + + if (service == null) + { + return null; + } + + var description = await service.GetDescriptionAsync(document, roslynItem, cancellationToken).ConfigureAwait(false); + + return IntelliSense.Helpers.BuildClassifiedTextElement(description.TaggedParts); + } + + private VSCompletionItem Convert( + Document document, + RoslynCompletionItem roslynItem, + CompletionService completionService, + Dictionary filterCache) + { + var imageId = roslynItem.Tags.GetFirstGlyph().GetImageId(); + var filters = GetFilters(roslynItem, filterCache); + + // roslynItem generated by providers can contain an insertionText in a property bag. + // We will not use it but other providers may need it. + // We actually will calculate the insertion text once again when called TryCommit. + if (!roslynItem.Properties.TryGetValue(InsertionText, out var insertionText)) + { + insertionText = roslynItem.DisplayText; + } + + var supportedPlatforms = SymbolCompletionItem.GetSupportedPlatforms(roslynItem, document.Project.Solution.Workspace); + var attributeImages = supportedPlatforms != null ? s_WarningImageAttributeImagesArray : ImmutableArray.Empty; + + var item = new VSCompletionItem( + displayText: roslynItem.GetEntireDisplayText(), + source: this, + icon: new ImageElement(new ImageId(imageId.Guid, imageId.Id), roslynItem.DisplayText), + filters: filters, + suffix: string.Empty, // Do not use the suffix unless want it to be right-aligned in the selection popup + insertText: insertionText, + sortText: roslynItem.SortText, + filterText: roslynItem.FilterText, + attributeIcons: attributeImages); + + item.Properties.AddProperty(RoslynItem, roslynItem); + return item; + } + + private ImmutableArray GetExcludedCommitCharacters(ImmutableArray roslynItems) + { + var hashSet = new HashSet(); + foreach (var roslynItem in roslynItems) + { + foreach (var rule in roslynItem.Rules?.FilterCharacterRules) + { + if (rule.Kind == CharacterSetModificationKind.Add) + { + foreach (var c in rule.Characters) + { + hashSet.Add(c); + } + } + } + } + + return hashSet.ToImmutableArray(); + } + + private ImmutableArray GetFilters(RoslynCompletionItem item, Dictionary filterCache) + { + var listBuilder = new ArrayBuilder(); + foreach (var filter in CompletionItemFilter.AllFilters) + { + if (filter.Matches(item)) + { + if (!filterCache.TryGetValue(filter.DisplayText, out var itemFilter)) + { + var imageId = filter.Tags.GetFirstGlyph().GetImageId(); + itemFilter = new AsyncCompletionData.CompletionFilter( + filter.DisplayText, + filter.AccessKey.ToString(), + new ImageElement(new ImageId(imageId.Guid, imageId.Id), EditorFeaturesResources.Filter_image_element)); + filterCache[filter.DisplayText] = itemFilter; + } + + listBuilder.Add(itemFilter); + } + } + + return listBuilder.ToImmutableAndFree(); + } + + internal static bool QuestionMarkIsPrecededByIdentifierAndWhitespace( + SourceText text, int questionPosition, ISyntaxFactsService syntaxFacts) + { + var startOfLine = text.Lines.GetLineFromPosition(questionPosition).Start; + + // First, skip all the whitespace. + var current = startOfLine; + while (current < questionPosition && char.IsWhiteSpace(text[current])) + { + current++; + } + + if (current < questionPosition && syntaxFacts.IsIdentifierStartCharacter(text[current])) + { + current++; + } + else + { + return false; + } + + while (current < questionPosition && syntaxFacts.IsIdentifierPartCharacter(text[current])) + { + current++; + } + + return current == questionPosition; + } + } +} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSourceProvider.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSourceProvider.cs new file mode 100644 index 0000000000000..11b9541d90ae5 --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/CompletionSourceProvider.cs @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.ComponentModel.Composition; +using Microsoft.CodeAnalysis.Editor.Shared.Utilities; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; +using Microsoft.VisualStudio.Text.Editor; +using Microsoft.VisualStudio.Utilities; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion +{ + [Export(typeof(IAsyncCompletionSourceProvider))] + [Name("Roslyn Completion Source Provider")] + [ContentType(ContentTypeNames.RoslynContentType)] + internal class CompletionSourceProvider : IAsyncCompletionSourceProvider + { + private readonly IThreadingContext _threadingContext; + + [ImportingConstructor] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] + public CompletionSourceProvider(IThreadingContext threadingContext) + { + _threadingContext = threadingContext; + } + + public IAsyncCompletionSource GetOrCreate(ITextView textView) + => new CompletionSource(textView, _threadingContext); + } +} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/FilterResult.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/FilterResult.cs new file mode 100644 index 0000000000000..ff2222c4e39e2 --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/FilterResult.cs @@ -0,0 +1,21 @@ + +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.CodeAnalysis.Completion; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion +{ + internal struct FilterResult + { + public readonly CompletionItem CompletionItem; + public readonly bool MatchedFilterText; + public readonly string FilterText; + + public FilterResult(CompletionItem completionItem, string filterText, bool matchedFilterText) + { + CompletionItem = completionItem; + MatchedFilterText = matchedFilterText; + FilterText = filterText; + } + } +} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/Helpers.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/Helpers.cs new file mode 100644 index 0000000000000..0e784459994b6 --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/Helpers.cs @@ -0,0 +1,99 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.CodeAnalysis.Completion; +using Microsoft.VisualStudio.Text; +using AsyncCompletionData = Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Data; +using RoslynTrigger = Microsoft.CodeAnalysis.Completion.CompletionTrigger; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion +{ + internal static class Helpers + { + /// + /// Attempts to convert VS Completion trigger into Roslyn completion trigger + /// + /// VS completion trigger + /// Character. + /// VS provides Backspace and Delete characters inside the trigger while Roslyn needs the char deleted by the trigger. + /// Therefore, we provide this character separately and use it for Delete and Backspace cases only. + /// We retrieve this character from triggerLocation. + /// + /// Roslyn completion trigger + internal static RoslynTrigger GetRoslynTrigger(AsyncCompletionData.CompletionTrigger trigger, SnapshotPoint triggerLocation) + { + switch (trigger.Reason) + { + case AsyncCompletionData.CompletionTriggerReason.Insertion: + return RoslynTrigger.CreateInsertionTrigger(trigger.Character); + case AsyncCompletionData.CompletionTriggerReason.Deletion: + case AsyncCompletionData.CompletionTriggerReason.Backspace: + var snapshotBeforeEdit = trigger.ViewSnapshotBeforeTrigger; + char characterRemoved; + if (triggerLocation.Position >= 0 && triggerLocation.Position < snapshotBeforeEdit.Length) + { + // If multiple characters were removed (selection), this finds the first character from the left. + characterRemoved = snapshotBeforeEdit[triggerLocation.Position]; + } + else + { + characterRemoved = (char)0; + } + + return RoslynTrigger.CreateDeletionTrigger(characterRemoved); + case AsyncCompletionData.CompletionTriggerReason.SnippetsMode: + return new RoslynTrigger(CompletionTriggerKind.Snippets); + default: + return RoslynTrigger.Invoke; + } + } + + internal static CompletionFilterReason GetFilterReason(AsyncCompletionData.CompletionTrigger trigger) + { + switch (trigger.Reason) + { + case AsyncCompletionData.CompletionTriggerReason.Insertion: + return CompletionFilterReason.Insertion; + case AsyncCompletionData.CompletionTriggerReason.Deletion: + case AsyncCompletionData.CompletionTriggerReason.Backspace: + return CompletionFilterReason.Deletion; + default: + return CompletionFilterReason.Other; + } + } + + internal static bool IsFilterCharacter(CompletionItem item, char ch, string textTypedSoFar) + { + // First see if the item has any specific filter rules it wants followed. + foreach (var rule in item.Rules.FilterCharacterRules) + { + switch (rule.Kind) + { + case CharacterSetModificationKind.Add: + if (rule.Characters.Contains(ch)) + { + return true; + } + continue; + + case CharacterSetModificationKind.Remove: + if (rule.Characters.Contains(ch)) + { + return false; + } + continue; + + case CharacterSetModificationKind.Replace: + return rule.Characters.Contains(ch); + } + } + + // general rule: if the filtering text exactly matches the start of the item then it must be a filter character + if (CommitManager.TextTypedSoFarMatchesItem(item, textTypedSoFar)) + { + return true; + } + + return false; + } + } +} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManager.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManager.cs new file mode 100644 index 0000000000000..6384f03d6efb9 --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManager.cs @@ -0,0 +1,664 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Diagnostics; +using System.Globalization; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.CodeAnalysis.Completion; +using Microsoft.CodeAnalysis.Shared.Extensions; +using Microsoft.CodeAnalysis.Text; +using Microsoft.CodeAnalysis.Text.Shared.Extensions; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Data; +using Microsoft.VisualStudio.Text; +using Roslyn.Utilities; +using RoslynCompletionItem = Microsoft.CodeAnalysis.Completion.CompletionItem; +using VSCompletionItem = Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Data.CompletionItem; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion +{ + internal class ItemManager : IAsyncCompletionItemManager + { + /// + /// Used for filtering non-Roslyn data only. + /// + private readonly CompletionHelper _defaultCompletionHelper; + + private readonly RecentItemsManager _recentItemsManager; + + internal ItemManager(RecentItemsManager recentItemsManager) + { + // Let us make the completion Helper used for non-Roslyn items case-sensitive. + // We can change this if get requests from partner teams. + _defaultCompletionHelper = new CompletionHelper(isCaseSensitive: true); + _recentItemsManager = recentItemsManager; + } + + public Task> SortCompletionListAsync( + IAsyncCompletionSession session, + AsyncCompletionSessionInitialDataSnapshot data, + CancellationToken cancellationToken) + => Task.FromResult(data.InitialList.OrderBy(i => i.SortText).ToImmutableArray()); + + public Task UpdateCompletionListAsync( + IAsyncCompletionSession session, + AsyncCompletionSessionDataSnapshot data, + CancellationToken cancellationToken) + => Task.FromResult(UpdateCompletionList(session, data, cancellationToken)); + + private FilteredCompletionModel UpdateCompletionList( + IAsyncCompletionSession session, + AsyncCompletionSessionDataSnapshot data, + CancellationToken cancellationToken) + { + if (!session.Properties.TryGetProperty(CompletionSource.HasSuggestionItemOptions, out bool hasSuggestedItemOptions)) + { + // This is the scenario when the session is created out of Roslyn, in some other provider, e.g. in Debugger. + // For now, the default hasSuggestedItemOptions is false. + hasSuggestedItemOptions = false; + } + + hasSuggestedItemOptions |= data.DisplaySuggestionItem; + + var filterText = session.ApplicableToSpan.GetText(data.Snapshot); + var reason = data.Trigger.Reason; + + if (!session.Properties.TryGetProperty(CompletionSource.InitialTriggerKind, out CompletionTriggerKind initialRoslynTriggerKind)) + { + initialRoslynTriggerKind = CompletionTriggerKind.Invoke; + } + + // Check if the user is typing a number. If so, only proceed if it's a number + // directly after a . That's because it is actually reasonable for completion + // to be brought up after a and for the user to want to filter completion + // items based on a number that exists in the name of the item. However, when + // we are not after a dot (i.e. we're being brought up after is typed) + // then we don't want to filter things. Consider the user writing: + // + // dim i = + // + // We'll bring up the completion list here (as VB has completion on ). + // If the user then types '3', we don't want to match against Int32. + if (filterText.Length > 0 && char.IsNumber(filterText[0])) + { + if (!IsAfterDot(data.Snapshot, session.ApplicableToSpan)) + { + // Dismiss the session. + return null; + } + } + + // We need to filter if a non-empty strict subset of filters are selected + var selectedFilters = data.SelectedFilters.Where(f => f.IsSelected).Select(f => f.Filter).ToImmutableArray(); + var needToFilter = selectedFilters.Length > 0 && selectedFilters.Length < data.SelectedFilters.Length; + var filterReason = Helpers.GetFilterReason(data.Trigger); + + // If the session was created/maintained out of Roslyn, e.g. in debugger; no properties are set and we should use data.Snapshot. + // However, we prefer using the original snapshot in some projection scenarios. + if (!session.Properties.TryGetProperty(CompletionSource.TriggerSnapshot, out ITextSnapshot snapshotForDocument)) + { + snapshotForDocument = data.Snapshot; + } + + var document = snapshotForDocument.TextBuffer.AsTextContainer().GetOpenDocumentInCurrentContext(); + var completionService = document?.GetLanguageService(); + var completionRules = completionService?.GetRules() ?? CompletionRules.Default; + var completionHelper = document != null ? CompletionHelper.GetHelper(document) : _defaultCompletionHelper; + + var initialListOfItemsToBeIncluded = new List(); + foreach (var item in data.InitialSortedList) + { + cancellationToken.ThrowIfCancellationRequested(); + + if (needToFilter && ShouldBeFilteredOutOfCompletionList(item, selectedFilters)) + { + continue; + } + + if (!item.Properties.TryGetProperty(CompletionSource.RoslynItem, out RoslynCompletionItem roslynItem)) + { + roslynItem = RoslynCompletionItem.Create( + displayText: item.DisplayText, + filterText: item.FilterText, + sortText: item.SortText, + displayTextSuffix: item.Suffix); + } + + if (MatchesFilterText(completionHelper, roslynItem, filterText, initialRoslynTriggerKind, filterReason, _recentItemsManager.RecentItems)) + { + initialListOfItemsToBeIncluded.Add(new ExtendedFilterResult(item, new FilterResult(roslynItem, filterText, matchedFilterText: true))); + } + else + { + // The item didn't match the filter text. We'll still keep it in the list + // if one of two things is true: + // + // 1. The user has only typed a single character. In this case they might + // have just typed the character to get completion. Filtering out items + // here is not desirable. + // + // 2. They brough up completion with ctrl-j or through deletion. In these + // cases we just always keep all the items in the list. + if (initialRoslynTriggerKind == CompletionTriggerKind.Deletion || + initialRoslynTriggerKind == CompletionTriggerKind.Invoke || + filterText.Length <= 1) + { + initialListOfItemsToBeIncluded.Add(new ExtendedFilterResult(item, new FilterResult(roslynItem, filterText, matchedFilterText: false))); + } + } + } + + if (data.Trigger.Reason == CompletionTriggerReason.Backspace && + completionRules.DismissIfLastCharacterDeleted && + session.ApplicableToSpan.GetText(data.Snapshot).Length == 0) + { + // Dismiss the session + return null; + } + + if (initialListOfItemsToBeIncluded.Count == 0) + { + return HandleAllItemsFilteredOut(reason, data.SelectedFilters, completionRules); + } + + var options = document?.Project.Solution.Options; + var highlightMatchingPortions = options?.GetOption(CompletionOptions.HighlightMatchingPortionsOfCompletionListItems, document.Project.Language) ?? true; + var showCompletionItemFilters = options?.GetOption(CompletionOptions.ShowCompletionItemFilters, document.Project.Language) ?? true; + + var updatedFilters = showCompletionItemFilters + ? GetUpdatedFilters(initialListOfItemsToBeIncluded, data.SelectedFilters) + : ImmutableArray.Empty; + + var highlightedList = GetHighlightedList(initialListOfItemsToBeIncluded, filterText, completionHelper, highlightMatchingPortions).ToImmutableArray(); + + // If this was deletion, then we control the entire behavior of deletion ourselves. + if (initialRoslynTriggerKind == CompletionTriggerKind.Deletion) + { + return HandleDeletionTrigger(data.Trigger.Reason, initialListOfItemsToBeIncluded, filterText, updatedFilters, highlightedList); + } + + Func, string, ImmutableArray> filterMethod; + if (completionService == null) + { + filterMethod = (items, text) => CompletionService.FilterItems(completionHelper, items, text); + } + else + { + filterMethod = (items, text) => completionService.FilterItems(document, items, text); + } + + return HandleNormalFiltering( + filterMethod, + filterText, + updatedFilters, + initialRoslynTriggerKind, + filterReason, + data.Trigger.Character, + initialListOfItemsToBeIncluded, + highlightedList, + completionHelper, + hasSuggestedItemOptions); + } + + private static bool IsAfterDot(ITextSnapshot snapshot, ITrackingSpan applicableToSpan) + { + var position = applicableToSpan.GetStartPoint(snapshot).Position; + return position > 0 && snapshot[position - 1] == '.'; + } + + private FilteredCompletionModel HandleNormalFiltering( + Func, string, ImmutableArray> filterMethod, + string filterText, + ImmutableArray filters, + CompletionTriggerKind initialRoslynTriggerKind, + CompletionFilterReason filterReason, + char typeChar, + List itemsInList, + ImmutableArray highlightedList, + CompletionHelper completionHelper, + bool hasSuggestedItemOptions) + { + // Not deletion. Defer to the language to decide which item it thinks best + // matches the text typed so far. + + // Ask the language to determine which of the *matched* items it wants to select. + var matchingItems = itemsInList.Where(r => r.FilterResult.MatchedFilterText) + .Select(t => t.FilterResult.CompletionItem) + .AsImmutable(); + + var chosenItems = filterMethod(matchingItems, filterText); + + var recentItems = _recentItemsManager.RecentItems; + + // Of the items the service returned, pick the one most recently committed + var bestItem = GetBestCompletionItemBasedOnMRU(chosenItems, recentItems); + VSCompletionItem uniqueItem = null; + int selectedItemIndex = 0; + + // Determine if we should consider this item 'unique' or not. A unique item + // will be automatically committed if the user hits the 'invoke completion' + // without bringing up the completion list. An item is unique if it was the + // only item to match the text typed so far, and there was at least some text + // typed. i.e. if we have "Console.$$" we don't want to commit something + // like "WriteLine" since no filter text has actually been provided. HOwever, + // if "Console.WriteL$$" is typed, then we do want "WriteLine" to be committed. + if (bestItem != null) + { + selectedItemIndex = itemsInList.IndexOf(i => Equals(i.FilterResult.CompletionItem, bestItem)); + if (selectedItemIndex > -1 && bestItem != null && matchingItems.Length == 1 && filterText.Length > 0) + { + uniqueItem = highlightedList[selectedItemIndex].CompletionItem; + } + } + + // If we don't have a best completion item yet, then pick the first item from the list. + var bestOrFirstCompletionItem = bestItem ?? itemsInList.First().FilterResult.CompletionItem; + + bool isHardSelection = IsHardSelection( + filterText, initialRoslynTriggerKind, bestOrFirstCompletionItem, + completionHelper, filterReason, recentItems, hasSuggestedItemOptions); + + var updateSelectionHint = isHardSelection ? UpdateSelectionHint.Selected : UpdateSelectionHint.SoftSelected; + + // If no items found above, select the first item. + if (selectedItemIndex == -1) + { + selectedItemIndex = 0; + } + + return new FilteredCompletionModel( + highlightedList, selectedItemIndex, filters, + updateSelectionHint, centerSelection: true, uniqueItem); + } + + private FilteredCompletionModel HandleDeletionTrigger( + CompletionTriggerReason filterTriggerKind, + List filterResults, + string filterText, + ImmutableArray filters, + ImmutableArray highlightedList) + { + if (filterTriggerKind == CompletionTriggerReason.Insertion && + !filterResults.Any(r => r.FilterResult.MatchedFilterText)) + { + // The user has typed something, but nothing in the actual list matched what + // they were typing. In this case, we want to dismiss completion entirely. + // The thought process is as follows: we aggressively brough up completion + // to help them when they typed delete (in case they wanted to pick another + // item). However, they're typing something that doesn't seem to match at all + // The completion list is just distracting at this point. + return null; + } + + ExtendedFilterResult? bestFilterResult = null; + int matchCount = 1; + foreach (var currentFilterResult in filterResults.Where(r => r.FilterResult.MatchedFilterText)) + { + if (bestFilterResult == null || + IsBetterDeletionMatch(currentFilterResult.FilterResult, bestFilterResult.Value.FilterResult)) + { + // We had no best result yet, so this is now our best result. + bestFilterResult = currentFilterResult; + matchCount++; + } + } + + int index; + bool hardSelect; + + // If we had a matching item, then pick the best of the matching items and + // choose that one to be hard selected. If we had no actual matching items + // (which can happen if the user deletes down to a single character and we + // include everything), then we just soft select the first item. + if (bestFilterResult != null) + { + // Only hard select this result if it's a prefix match + // We need to do this so that + // * deleting and retyping a dot in a member access does not change the + // text that originally appeared before the dot + // * deleting through a word from the end keeps that word selected + // This also preserves the behavior the VB had through Dev12. + hardSelect = bestFilterResult.Value.VSCompletionItem.FilterText.StartsWith(filterText, StringComparison.CurrentCultureIgnoreCase); + index = filterResults.IndexOf(bestFilterResult.Value); + } + else + { + index = 0; + hardSelect = false; + } + + return new FilteredCompletionModel( + highlightedList, index, filters, + hardSelect ? UpdateSelectionHint.Selected : UpdateSelectionHint.SoftSelected, + centerSelection: true, + uniqueItem: matchCount == 1 ? bestFilterResult.GetValueOrDefault().VSCompletionItem : default); + } + + private FilteredCompletionModel HandleAllItemsFilteredOut( + CompletionTriggerReason triggerReason, + ImmutableArray filters, + CompletionRules completionRules) + { + if (triggerReason == CompletionTriggerReason.Insertion) + { + // If the user was just typing, and the list went to empty *and* this is a + // language that wants to dismiss on empty, then just return a null model + // to stop the completion session. + if (completionRules.DismissIfEmpty) + { + return null; + } + } + + // If the user has turned on some filtering states, and we filtered down to + // nothing, then we do want the UI to show that to them. That way the user + // can turn off filters they don't want and get the right set of items. + + // If we are going to filter everything out, then just preserve the existing + // model (and all the previously filtered items), but switch over to soft + // selection. + var selection = UpdateSelectionHint.SoftSelected; + + return new FilteredCompletionModel( + ImmutableArray.Empty, selectedItemIndex: 0, + filters, selection, centerSelection: true, uniqueItem: default); + } + + private static IEnumerable GetHighlightedList( + IEnumerable filterResults, + string filterText, + CompletionHelper completionHelper, + bool highlightMatchingPortions) + { + var highlightedList = new List(); + foreach (var item in filterResults) + { + var highlightedSpans = highlightMatchingPortions + ? completionHelper.GetHighlightedSpans(item.VSCompletionItem.DisplayText, filterText, CultureInfo.CurrentCulture) + : ImmutableArray.Empty; + highlightedList.Add(new CompletionItemWithHighlight(item.VSCompletionItem, highlightedSpans.Select(s => s.ToSpan()).ToImmutableArray())); + } + + return highlightedList; + } + + private static ImmutableArray GetUpdatedFilters( + List filteredList, + ImmutableArray filters) + { + // See which filters might be enabled based on the typed code + var textFilteredFilters = filteredList.SelectMany(n => n.VSCompletionItem.Filters).ToImmutableHashSet(); + + // When no items are available for a given filter, it becomes unavailable + return ImmutableArray.CreateRange(filters.Select(n => n.WithAvailability(textFilteredFilters.Contains(n.Filter)))); + } + + private static bool ShouldBeFilteredOutOfCompletionList(VSCompletionItem item, ImmutableArray activeFilters) + { + foreach (var itemFilter in item.Filters) + { + if (activeFilters.Contains(itemFilter)) + { + return false; + } + } + + return true; + } + + /// + /// Given multiple possible chosen completion items, pick the one that has the + /// best MRU index. + /// + internal static RoslynCompletionItem GetBestCompletionItemBasedOnMRU( + ImmutableArray chosenItems, ImmutableArray recentItems) + { + if (chosenItems.Length == 0) + { + return null; + } + + // Try to find the chosen item has been most + // recently used. + var bestItem = chosenItems.FirstOrDefault(); + for (int i = 0, n = chosenItems.Length; i < n; i++) + { + var chosenItem = chosenItems[i]; + var mruIndex1 = GetRecentItemIndex(recentItems, bestItem); + var mruIndex2 = GetRecentItemIndex(recentItems, chosenItem); + + if (mruIndex2 < mruIndex1) + { + bestItem = chosenItem; + } + } + + // If our best item appeared in the MRU list, use it + if (GetRecentItemIndex(recentItems, bestItem) <= 0) + { + return bestItem; + } + + // Otherwise use the chosen item that has the highest + // matchPriority. + for (int i = 1, n = chosenItems.Length; i < n; i++) + { + var chosenItem = chosenItems[i]; + var bestItemPriority = bestItem.Rules.MatchPriority; + var currentItemPriority = chosenItem.Rules.MatchPriority; + + if (currentItemPriority > bestItemPriority) + { + bestItem = chosenItem; + } + } + + return bestItem; + } + + internal static int GetRecentItemIndex(ImmutableArray recentItems, RoslynCompletionItem item) + { + var index = recentItems.IndexOf(item.DisplayText); + return -index; + } + + internal static bool IsBetterDeletionMatch(FilterResult result1, FilterResult result2) + { + var item1 = result1.CompletionItem; + var item2 = result2.CompletionItem; + + var prefixLength1 = item1.FilterText.GetCaseInsensitivePrefixLength(result1.FilterText); + var prefixLength2 = item2.FilterText.GetCaseInsensitivePrefixLength(result2.FilterText); + + // Prefer the item that matches a longer prefix of the filter text. + if (prefixLength1 > prefixLength2) + { + return true; + } + + if (prefixLength1 == prefixLength2) + { + // If the lengths are the same, prefer the one with the higher match priority. + // But only if it's an item that would have been hard selected. We don't want + // to aggressively select an item that was only going to be softly offered. + var item1Priority = item1.Rules.SelectionBehavior == CompletionItemSelectionBehavior.HardSelection + ? item1.Rules.MatchPriority : MatchPriority.Default; + var item2Priority = item2.Rules.SelectionBehavior == CompletionItemSelectionBehavior.HardSelection + ? item2.Rules.MatchPriority : MatchPriority.Default; + + if (item1Priority > item2Priority) + { + return true; + } + } + return false; + } + + internal static bool MatchesFilterText( + CompletionHelper helper, RoslynCompletionItem item, + string filterText, CompletionTriggerKind initialTriggerKind, + CompletionFilterReason filterReason, ImmutableArray recentItems) + { + // For the deletion we bake in the core logic for how matching should work. + // This way deletion feels the same across all languages that opt into deletion + // as a completion trigger. + + // Specifically, to avoid being too aggressive when matching an item during + // completion, we require that the current filter text be a prefix of the + // item in the list. + if (filterReason == CompletionFilterReason.Deletion && + initialTriggerKind == CompletionTriggerKind.Deletion) + { + return item.FilterText.GetCaseInsensitivePrefixLength(filterText) > 0; + } + + // If the user hasn't typed anything, and this item was preselected, or was in the + // MRU list, then we definitely want to include it. + if (filterText.Length == 0) + { + if (item.Rules.MatchPriority > MatchPriority.Default) + { + return true; + } + + if (!recentItems.IsDefault && ItemManager.GetRecentItemIndex(recentItems, item) <= 0) + { + return true; + } + } + + // Checks if the given completion item matches the pattern provided so far. + // A completion item is checked against the pattern by see if it's + // CompletionItem.FilterText matches the item. That way, the pattern it checked + // against terms like "IList" and not IList<> + return helper.MatchesPattern(item.FilterText, filterText, CultureInfo.CurrentCulture); + } + + + internal static bool IsHardSelection( + string fullFilterText, + CompletionTriggerKind initialTriggerKind, + RoslynCompletionItem bestFilterMatch, + CompletionHelper completionHelper, + CompletionFilterReason filterReason, + ImmutableArray recentItems, + bool useSuggestionMode) + { + if (bestFilterMatch == null || useSuggestionMode) + { + return false; + } + + // We don't have a builder and we have a best match. Normally this will be hard + // selected, except for a few cases. Specifically, if no filter text has been + // provided, and this is not a preselect match then we will soft select it. This + // happens when the completion list comes up implicitly and there is something in + // the MRU list. In this case we do want to select it, but not with a hard + // selection. Otherwise you can end up with the following problem: + // + // dim i as integer = + // + // Completion will comes up after = with 'integer' selected (Because of MRU). We do + // not want 'space' to commit this. + + var shouldSoftSelect = ShouldSoftSelectItem(bestFilterMatch, fullFilterText); + if (shouldSoftSelect) + { + return false; + } + + // If the user moved the caret left after they started typing, the 'best' match may not match at all + // against the full text span that this item would be replacing. + if (!ItemManager.MatchesFilterText(completionHelper, bestFilterMatch, fullFilterText, initialTriggerKind, filterReason, recentItems)) + { + return false; + } + + // There was either filter text, or this was a preselect match. In either case, we + // can hard select this. + return true; + } + + + /// + /// Returns true if the completion item should be "soft" selected, or false if it should be "hard" + /// selected. + /// + private static bool ShouldSoftSelectItem(RoslynCompletionItem item, string filterText) + { + // If all that has been typed is puntuation, then don't hard select anything. + // It's possible the user is just typing language punctuation and selecting + // anything in the list will interfere. We only allow this if the filter text + // exactly matches something in the list already. + if (filterText.Length > 0 && IsAllPunctuation(filterText) && filterText != item.DisplayText) + { + return true; + } + + // If the user hasn't actually typed anything, then don't hard select any item. + // The only exception to this is if the completion provider has requested the + // item be preselected. + if (filterText.Length == 0) + { + // Item didn't want to be hard selected with no filter text. + // So definitely soft select it. + if (item.Rules.SelectionBehavior != CompletionItemSelectionBehavior.HardSelection) + { + return true; + } + + // Item did not ask to be preselected. So definitely soft select it. + if (item.Rules.MatchPriority == MatchPriority.Default) + { + return true; + } + } + + // The user typed something, or the item asked to be preselected. In + // either case, don't soft select this. + Debug.Assert(filterText.Length > 0 || item.Rules.MatchPriority != MatchPriority.Default); + return false; + } + + private static bool IsAllPunctuation(string filterText) + { + foreach (var ch in filterText) + { + if (!char.IsPunctuation(ch)) + { + return false; + } + } + + return true; + } + + /// + /// A potential filter character is something that can filter a completion lists and is + /// *guaranteed* to not be a commit character. + /// + internal static bool IsPotentialFilterCharacter(char c) + { + // TODO(cyrusn): Actually use the right unicode categories here. + return char.IsLetter(c) + || char.IsNumber(c) + || c == '_'; + } + + private readonly struct ExtendedFilterResult + { + public readonly VSCompletionItem VSCompletionItem; + public readonly FilterResult FilterResult; + + public ExtendedFilterResult(VSCompletionItem item, FilterResult filterResult) + { + VSCompletionItem = item; + FilterResult = filterResult; + } + } + } +} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManagerProvider.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManagerProvider.cs new file mode 100644 index 0000000000000..704e72f3b21cd --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/ItemManagerProvider.cs @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.ComponentModel.Composition; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; +using Microsoft.VisualStudio.Text.Editor; +using Microsoft.VisualStudio.Utilities; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion +{ + [Export(typeof(IAsyncCompletionItemManagerProvider))] + [Name("Roslyn Completion Service Provider")] + [ContentType(ContentTypeNames.RoslynContentType)] + internal class ItemManagerProvider : IAsyncCompletionItemManagerProvider + { + private readonly ItemManager _instance; + + [ImportingConstructor] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] + public ItemManagerProvider(RecentItemsManager recentItemsManager) + { + _instance = new ItemManager(recentItemsManager); + } + + public IAsyncCompletionItemManager GetOrCreate(ITextView textView) => _instance; + } +} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/RecentItemsManager.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/RecentItemsManager.cs new file mode 100644 index 0000000000000..e45b5e0721ddf --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/AsyncCompletion/RecentItemsManager.cs @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.using System; + +using System.Collections.Immutable; +using System.ComponentModel.Composition; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion +{ + [Export] + internal class RecentItemsManager + { + private const int MaxMRUSize = 10; + + /// + /// Guard for + /// + private object _mruUpdateLock = new object(); + + public ImmutableArray RecentItems { get; private set; } = ImmutableArray.Empty; + + public void MakeMostRecentItem(string item) + { + lock (_mruUpdateLock) + { + var items = RecentItems; + items = items.Remove(item); + + if (items.Length == MaxMRUSize) + { + // Remove the least recent item. + items = items.RemoveAt(0); + } + + RecentItems = items.Add(item); + } + } + } +} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/AsyncCompletionService.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/AsyncCompletionService.cs index cfaef5d15d3a3..fdd8d3275b8a1 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/AsyncCompletionService.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/AsyncCompletionService.cs @@ -8,9 +8,11 @@ using Microsoft.CodeAnalysis.Editor.Shared.Extensions; using Microsoft.CodeAnalysis.Editor.Shared.Options; using Microsoft.CodeAnalysis.Editor.Shared.Utilities; +using Microsoft.CodeAnalysis.Experiments; using Microsoft.CodeAnalysis.Host.Mef; using Microsoft.CodeAnalysis.Shared.TestHooks; using Microsoft.CodeAnalysis.Shared.Utilities; +using Microsoft.CodeAnalysis.Text; using Microsoft.VisualStudio.Language.Intellisense; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.BraceCompletion; @@ -31,6 +33,13 @@ internal class AsyncCompletionService : ForegroundThreadAffinitizedObject, IAsyn private readonly IEnumerable> _autoBraceCompletionChars; private readonly Dictionary> _autoBraceCompletionCharSet; + /// + /// The new completion API is not checked by default - null + /// false - disabled + /// true - enabled + /// + private bool? _newCompletionAPIEnabled = null; + [ImportingConstructor] [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] public AsyncCompletionService( @@ -57,31 +66,71 @@ public bool TryGetController(ITextView textView, ITextBuffer subjectBuffer, out { AssertIsForeground(); - // check whether this feature is on. - if (!subjectBuffer.GetFeatureOnOffOption(InternalFeatureOnOffOptions.CompletionSet)) + if (!UseLegacyCompletion(textView, subjectBuffer)) { controller = null; return false; } + var autobraceCompletionCharSet = GetAllAutoBraceCompletionChars(subjectBuffer.ContentType); + controller = Controller.GetInstance( + ThreadingContext, + textView, subjectBuffer, + _editorOperationsFactoryService, _undoHistoryRegistry, _completionPresenter, + _listener, + autobraceCompletionCharSet); + + return true; + } + + private bool UseLegacyCompletion(ITextView textView, ITextBuffer subjectBuffer) + { + if (!_newCompletionAPIEnabled.HasValue) + { + int userSetting = 0; + const string useAsyncCompletionOptionName = "UseAsyncCompletion"; + if (textView.Options.GlobalOptions.IsOptionDefined(useAsyncCompletionOptionName, localScopeOnly: false)) + { + userSetting = textView.Options.GlobalOptions.GetOptionValue(useAsyncCompletionOptionName); + } + + // The meaning of the UseAsyncCompletion option definition's values: + // -1 - user disabled async completion + // 0 - no changes from the user; check the experimentation service for whether to use async completion + // 1 - user enabled async completion + if (userSetting == 1) + { + _newCompletionAPIEnabled = true; + } + else if (userSetting == -1) + { + _newCompletionAPIEnabled = false; + } + else + { + if (Workspace.TryGetWorkspace(subjectBuffer.AsTextContainer(), out var workspace)) + { + var experimentationService = workspace.Services.GetService(); + _newCompletionAPIEnabled = experimentationService.IsExperimentEnabled(WellKnownExperimentNames.CompletionAPI); + } + } + } + + // Check whether the feature flag (async completion API) is set or this feature is off. + if (_newCompletionAPIEnabled == true || !subjectBuffer.GetFeatureOnOffOption(InternalFeatureOnOffOptions.CompletionSet)) + { + return false; + } + // If we don't have a presenter, then there's no point in us even being involved. Just // defer to the next handler in the chain. // Also, if there's an inline rename session then we do not want completion. if (_completionPresenter == null || _inlineRenameService.ActiveSession != null) { - controller = null; return false; } - var autobraceCompletionCharSet = GetAllAutoBraceCompletionChars(subjectBuffer.ContentType); - controller = Controller.GetInstance( - ThreadingContext, - textView, subjectBuffer, - _editorOperationsFactoryService, _undoHistoryRegistry, _completionPresenter, - _listener, - autobraceCompletionCharSet); - return true; } @@ -113,5 +162,21 @@ private ImmutableHashSet GetAllAutoBraceCompletionChars(IContentType buffe return set; } + + internal TestAccessor GetTestAccessor() + => new TestAccessor(this); + + internal readonly struct TestAccessor + { + private readonly AsyncCompletionService _asyncCompletionService; + + public TestAccessor(AsyncCompletionService asyncCompletionService) + { + _asyncCompletionService = asyncCompletionService; + } + + internal bool UseLegacyCompletion(ITextView textView, ITextBuffer subjectBuffer) + => _asyncCompletionService.UseLegacyCompletion(textView, subjectBuffer); + } } } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session_FilterModel.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session_FilterModel.cs index 9f936c90188b1..998bbb8d834b7 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session_FilterModel.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.Session_FilterModel.cs @@ -3,11 +3,10 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; -using System.Diagnostics; -using System.Globalization; using System.Linq; using System.Threading; using Microsoft.CodeAnalysis.Completion; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion; using Microsoft.CodeAnalysis.Internal.Log; using Microsoft.CodeAnalysis.Text; using Microsoft.VisualStudio.Text; @@ -117,7 +116,7 @@ private Model FilterModelInBackgroundWorker( var filterTextStartsWithANumber = filterText.Length > 0 && char.IsNumber(filterText[0]); if (filterTextStartsWithANumber) { - if (!IsAfterDot(model, model.TriggerSnapshot, textSpanToText)) + if (!IsAfterDot(model)) { return null; } @@ -141,7 +140,7 @@ private Model FilterModelInBackgroundWorker( } // Check if the item matches the filter text typed so far. - var matchesFilterText = MatchesFilterText(helper, currentItem, filterText, model.Trigger, filterReason, recentItems); + var matchesFilterText = ItemManager.MatchesFilterText(helper, currentItem, filterText, model.Trigger.Kind, filterReason, recentItems); if (matchesFilterText) { @@ -211,7 +210,7 @@ private static ImmutableDictionary ComputeEffectiveF return filterState; } - private bool IsAfterDot(Model model, ITextSnapshot textSnapshot, Dictionary textSpanToText) + private bool IsAfterDot(Model model) { var originalSpan = model.OriginalList.Span; @@ -257,7 +256,7 @@ private Model HandleNormalFiltering( document, matchingCompletionItems, filterText); // Of the items the service returned, pick the one most recently committed - var bestCompletionItem = GetBestCompletionItemBasedOnMRU(chosenItems, recentItems); + var bestCompletionItem = ItemManager.GetBestCompletionItemBasedOnMRU(chosenItems, recentItems); // If we don't have a best completion item yet, then pick the first item from the list. var bestOrFirstCompletionItem = bestCompletionItem ?? filterResults.First().CompletionItem; @@ -285,56 +284,6 @@ private Model HandleNormalFiltering( return result; } - /// - /// Given multiple possible chosen completion items, pick the one that has the - /// best MRU index. - /// - private CompletionItem GetBestCompletionItemBasedOnMRU( - ImmutableArray chosenItems, ImmutableArray recentItems) - { - if (chosenItems.Length == 0) - { - return null; - } - - // Try to find the chosen item has been most - // recently used. - var bestItem = chosenItems.FirstOrDefault(); - for (int i = 0, n = chosenItems.Length; i < n; i++) - { - var chosenItem = chosenItems[i]; - var mruIndex1 = GetRecentItemIndex(recentItems, bestItem); - var mruIndex2 = GetRecentItemIndex(recentItems, chosenItem); - - if (mruIndex2 < mruIndex1) - { - bestItem = chosenItem; - } - } - - // If our best item appeared in the MRU list, use it - if (GetRecentItemIndex(recentItems, bestItem) <= 0) - { - return bestItem; - } - - // Otherwise use the chosen item that has the highest - // matchPriority. - for (int i = 1, n = chosenItems.Length; i < n; i++) - { - var chosenItem = chosenItems[i]; - var bestItemPriority = bestItem.Rules.MatchPriority; - var currentItemPriority = chosenItem.Rules.MatchPriority; - - if (currentItemPriority > bestItemPriority) - { - bestItem = chosenItem; - } - } - - return bestItem; - } - private Model HandleDeletionTrigger( Model model, CompletionFilterReason filterReason, List filterResults) { @@ -355,7 +304,7 @@ private Model HandleDeletionTrigger( foreach (var currentFilterResult in filterResults.Where(r => r.MatchedFilterText)) { if (bestFilterResult == null || - IsBetterDeletionMatch(currentFilterResult, bestFilterResult.Value)) + ItemManager.IsBetterDeletionMatch(currentFilterResult, bestFilterResult.Value)) { // We had no best result yet, so this is now our best result. bestFilterResult = currentFilterResult; @@ -391,38 +340,6 @@ private Model HandleDeletionTrigger( } } - private bool IsBetterDeletionMatch(FilterResult result1, FilterResult result2) - { - var item1 = result1.CompletionItem; - var item2 = result2.CompletionItem; - - var prefixLength1 = item1.FilterText.GetCaseInsensitivePrefixLength(result1.FilterText); - var prefixLength2 = item2.FilterText.GetCaseInsensitivePrefixLength(result2.FilterText); - - // Prefer the item that matches a longer prefix of the filter text. - if (prefixLength1 > prefixLength2) - { - return true; - } - - if (prefixLength1 == prefixLength2) - { - // If the lengths are the same, prefer the one with the higher match priority. - // But only if it's an item that would have been hard selected. We don't want - // to aggressively select an item that was only going to be softly offered. - var item1Priority = item1.Rules.SelectionBehavior == CompletionItemSelectionBehavior.HardSelection - ? item1.Rules.MatchPriority : MatchPriority.Default; - var item2Priority = item2.Rules.SelectionBehavior == CompletionItemSelectionBehavior.HardSelection - ? item2.Rules.MatchPriority : MatchPriority.Default; - - if (item1Priority > item2Priority) - { - return true; - } - } - return false; - } - private static Model HandleAllItemsFilteredOut( Model model, CompletionFilterReason filterReason) @@ -455,53 +372,6 @@ private static Model HandleAllItemsFilteredOut( .WithIsUnique(false); } } - - private static bool MatchesFilterText( - CompletionHelper helper, CompletionItem item, - string filterText, CompletionTrigger trigger, - CompletionFilterReason filterReason, ImmutableArray recentItems) - { - // For the deletion we bake in the core logic for how matching should work. - // This way deletion feels the same across all languages that opt into deletion - // as a completion trigger. - - // Specifically, to avoid being too aggressive when matching an item during - // completion, we require that the current filter text be a prefix of the - // item in the list. - if (filterReason == CompletionFilterReason.Deletion && - trigger.Kind == CompletionTriggerKind.Deletion) - { - return item.FilterText.GetCaseInsensitivePrefixLength(filterText) > 0; - } - - // If the user hasn't typed anything, and this item was preselected, or was in the - // MRU list, then we definitely want to include it. - if (filterText.Length == 0) - { - if (item.Rules.MatchPriority > MatchPriority.Default) - { - return true; - } - - if (!recentItems.IsDefault && GetRecentItemIndex(recentItems, item) <= 0) - { - return true; - } - } - - // Checks if the given completion item matches the pattern provided so far. - // A completion item is checked against the pattern by see if it's - // CompletionItem.FilterText matches the item. That way, the pattern it checked - // against terms like "IList" and not IList<> - return helper.MatchesPattern(item.FilterText, filterText, CultureInfo.CurrentCulture); - } - - private static int GetRecentItemIndex(ImmutableArray recentItems, CompletionItem item) - { - var index = recentItems.IndexOf(item.DisplayText); - return -index; - } - private static bool IsAllDigits(string filterText) { for (int i = 0; i < filterText.Length; i++) @@ -520,42 +390,11 @@ private bool IsHardSelection( CompletionItem bestFilterMatch, SnapshotPoint caretPosition, CompletionHelper completionHelper, - CompletionFilterReason reason) + CompletionFilterReason filterReason) { - if (bestFilterMatch == null || model.UseSuggestionMode) - { - return false; - } - - var textSnapshot = caretPosition.Snapshot; - - // We don't have a builder and we have a best match. Normally this will be hard - // selected, except for a few cases. Specifically, if no filter text has been - // provided, and this is not a preselect match then we will soft select it. This - // happens when the completion list comes up implicitly and there is something in - // the MRU list. In this case we do want to select it, but not with a hard - // selection. Otherwise you can end up with the following problem: - // - // dim i as integer = - // - // Completion will comes up after = with 'integer' selected (Because of MRU). We do - // not want 'space' to commit this. var itemViewSpan = model.GetViewBufferSpan(bestFilterMatch.Span); - var fullFilterText = model.GetCurrentTextInSnapshot(itemViewSpan, textSnapshot, endPoint: null); - - var trigger = model.Trigger; - var shouldSoftSelect = ShouldSoftSelectItem(bestFilterMatch, fullFilterText, trigger); - if (shouldSoftSelect) - { - return false; - } - - // If the user moved the caret left after they started typing, the 'best' match may not match at all - // against the full text span that this item would be replacing. - if (!MatchesFilterText(completionHelper, bestFilterMatch, fullFilterText, trigger, reason, this.Controller.GetRecentItems())) - { - return false; - } + var fullFilterText = model.GetCurrentTextInSnapshot(itemViewSpan, caretPosition.Snapshot, endPoint: null); + var textSpan = itemViewSpan.TextSpan; // Switch to soft selection, if user moved caret to the start of a non-empty filter span. // This prevents commiting if user types a commit character at this position later, but @@ -564,67 +403,12 @@ private bool IsHardSelection( // We want the filter span non-empty because we still want hard selection in the following case: // // A a = new | - if (caretPosition == itemViewSpan.TextSpan.Start && itemViewSpan.TextSpan.Length > 0) + if (caretPosition == textSpan.Start && textSpan.Length > 0) { return false; } - // There was either filter text, or this was a preselect match. In either case, we - // can hard select this. - return true; - } - - /// - /// Returns true if the completion item should be "soft" selected, or false if it should be "hard" - /// selected. - /// - private static bool ShouldSoftSelectItem(CompletionItem item, string filterText, CompletionTrigger trigger) - { - // If all that has been typed is puntuation, then don't hard select anything. - // It's possible the user is just typing language punctuation and selecting - // anything in the list will interfere. We only allow this if the filter text - // exactly matches something in the list already. - if (filterText.Length > 0 && IsAllPunctuation(filterText) && filterText != item.DisplayText) - { - return true; - } - - // If the user hasn't actually typed anything, then don't hard select any item. - // The only exception to this is if the completion provider has requested the - // item be preselected. - if (filterText.Length == 0) - { - // Item didn't want to be hard selected with no filter text. - // So definitely soft select it. - if (item.Rules.SelectionBehavior != CompletionItemSelectionBehavior.HardSelection) - { - return true; - } - - // Item did not ask to be preselected. So definitely soft select it. - if (item.Rules.MatchPriority == MatchPriority.Default) - { - return true; - } - } - - // The user typed something, or the item asked to be preselected. In - // either case, don't soft select this. - Debug.Assert(filterText.Length > 0 || item.Rules.MatchPriority != MatchPriority.Default); - return false; - } - - private static bool IsAllPunctuation(string filterText) - { - foreach (var ch in filterText) - { - if (!char.IsPunctuation(ch)) - { - return false; - } - } - - return true; + return ItemManager.IsHardSelection(fullFilterText, model.Trigger.Kind, bestFilterMatch, completionHelper, filterReason, this.Controller.GetRecentItems(), model.UseSuggestionMode); } } } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.cs index 36e66b65d162a..8599e2d65aa57 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller.cs @@ -14,6 +14,8 @@ using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; using Microsoft.VisualStudio.Text.Operations; using Roslyn.Utilities; +using RoslynCompletionTrigger = Microsoft.CodeAnalysis.Completion.CompletionTrigger; +using RoslynCompletionItem = Microsoft.CodeAnalysis.Completion.CompletionItem; namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion { @@ -167,7 +169,7 @@ internal override void OnModelUpdated(Model modelOpt) private bool StartNewModelComputation( CompletionService completionService, - CompletionTrigger trigger) + RoslynCompletionTrigger trigger) { AssertIsForeground(); Contract.ThrowIfTrue(sessionOpt != null); @@ -229,7 +231,7 @@ private OptionSet GetOptions() : workspace.Options; } - private void CommitItem(CompletionItem item) + private void CommitItem(RoslynCompletionItem item) { AssertIsForeground(); diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_Commit.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_Commit.cs index 48cc0a5118848..cec6d0bec95b3 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_Commit.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_Commit.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Threading; using Microsoft.CodeAnalysis.Completion; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion; using Microsoft.CodeAnalysis.Editor.Shared.Extensions; using Microsoft.CodeAnalysis.Editor.Shared.Utilities; using Microsoft.CodeAnalysis.Internal.Log; @@ -112,7 +113,7 @@ private void Commit( var mappedSpan = triggerSnapshotSpan.TranslateTo( this.SubjectBuffer.CurrentSnapshot, SpanTrackingMode.EdgeInclusive); - var adjustedNewText = AdjustForVirtualSpace(textChange); + var adjustedNewText = CommitManager.AdjustForVirtualSpace(textChange, this.TextView, _editorOperationsFactoryService); var editOptions = GetEditOptions(mappedSpan, adjustedNewText); // The immediate window is always marked read-only and the language service is @@ -250,27 +251,5 @@ private IEnumerable GetVersions( version = version.Next; } } - - private string AdjustForVirtualSpace(TextChange textChange) - { - var newText = textChange.NewText; - - var caretPoint = this.TextView.Caret.Position.BufferPosition; - var virtualCaretPoint = this.TextView.Caret.Position.VirtualBufferPosition; - - if (textChange.Span.IsEmpty && - textChange.Span.Start == caretPoint && - virtualCaretPoint.IsInVirtualSpace) - { - // They're in virtual space and the text change is specified against the cursor - // position that isn't in virtual space. In this case, add the virtual spaces to the - // thing we're adding. - var editorOperations = _editorOperationsFactoryService.GetEditorOperations(this.TextView); - var whitespace = editorOperations.GetWhitespaceForVirtualSpace(virtualCaretPoint); - return whitespace + newText; - } - - return newText; - } } } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_ReturnKey.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_ReturnKey.cs index fdf0fdf075c0e..a59bce61dbcc1 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_ReturnKey.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_ReturnKey.cs @@ -2,6 +2,7 @@ using System; using Microsoft.CodeAnalysis.Completion; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion; using Microsoft.VisualStudio.Commanding; using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; using VSCommanding = Microsoft.VisualStudio.Commanding; @@ -95,36 +96,12 @@ private void CommitOnEnter(out bool sendThrough, out bool committed) viewSpan, this.TextView.TextSnapshot, this.GetCaretPointInViewBuffer()); var service = GetCompletionService(); - sendThrough = SendEnterThroughToEditor( + sendThrough = CommitManager.SendEnterThroughToEditor( service.GetRules(), model.SelectedItemOpt, textTypedSoFar); } this.CommitOnNonTypeChar(model.SelectedItemOpt, model); committed = true; } - - /// - /// Internal for testing purposes only. - /// - internal static bool SendEnterThroughToEditor(CompletionRules rules, CompletionItem item, string textTypedSoFar) - { - var rule = item.Rules.EnterKeyRule; - if (rule == EnterKeyRule.Default) - { - rule = rules.DefaultEnterKeyRule; - } - - switch (rule) - { - default: - case EnterKeyRule.Default: - case EnterKeyRule.Never: - return false; - case EnterKeyRule.Always: - return true; - case EnterKeyRule.AfterFullyTypedWord: - return item.DisplayText + item.DisplayTextSuffix == textTypedSoFar; - } - } } } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TabKey.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TabKey.cs index ef85f10a0b9f1..dc24c5163604a 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TabKey.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TabKey.cs @@ -11,6 +11,7 @@ using Microsoft.CodeAnalysis.Text; using Roslyn.Utilities; using VSCommanding = Microsoft.VisualStudio.Commanding; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion; namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion { @@ -105,7 +106,7 @@ private bool TryInvokeSnippetCompletion(TabKeyCommandArgs args) if (syntaxFactsOpt == null || caretPoint < 2 || text[caretPoint - 1] != '?' || - !QuestionMarkIsPrecededByIdentifierAndWhitespace(text, caretPoint - 1, syntaxFactsOpt)) + !CompletionSource.QuestionMarkIsPrecededByIdentifierAndWhitespace(text, caretPoint - 1, syntaxFactsOpt)) { return false; } @@ -119,35 +120,6 @@ private bool TryInvokeSnippetCompletion(TabKeyCommandArgs args) return true; } - private bool QuestionMarkIsPrecededByIdentifierAndWhitespace( - SourceText text, int questionPosition, ISyntaxFactsService syntaxFacts) - { - var startOfLine = text.Lines.GetLineFromPosition(questionPosition).Start; - - // First, skip all the whitespace. - var current = startOfLine; - while (current < questionPosition && char.IsWhiteSpace(text[current])) - { - current++; - } - - if (current < questionPosition && syntaxFacts.IsIdentifierStartCharacter(text[current])) - { - current++; - } - else - { - return false; - } - - while (current < questionPosition && syntaxFacts.IsIdentifierPartCharacter(text[current])) - { - current++; - } - - return current == questionPosition; - } - private void CommitOnTab(Action nextHandler) { AssertIsForeground(); diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TypeChar.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TypeChar.cs index 7e8f5f8751c9f..0d763a142a464 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TypeChar.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Controller_TypeChar.cs @@ -12,6 +12,7 @@ using Microsoft.VisualStudio.Text; using Roslyn.Utilities; using VSCommanding = Microsoft.VisualStudio.Commanding; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion; namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion { @@ -86,12 +87,14 @@ void IChainedCommandHandler.ExecuteCommand(TypeCharCommandA this.TextView.Caret.PositionChanged += OnCaretPositionChanged; } + var typedChar = args.TypedChar; + // We only want to process typechar if it is a normal typechar and no one else is // involved. i.e. if there was a typechar, but someone processed it and moved the caret // somewhere else then we don't want completion. Also, if a character was typed but // something intercepted and placed different text into the editor, then we don't want // to proceed. - if (this.TextView.TypeCharWasHandledStrangely(this.SubjectBuffer, args.TypedChar)) + if (this.TextView.TypeCharWasHandledStrangely(this.SubjectBuffer, typedChar)) { if (sessionOpt != null) { @@ -102,17 +105,17 @@ void IChainedCommandHandler.ExecuteCommand(TypeCharCommandA if (isOnSeam) { var model = this.WaitForModel(); - if (this.CommitIfCommitCharacter(args.TypedChar, model, initialTextSnapshot, nextHandler)) + if (this.CommitIfCommitCharacter(typedChar, model, initialTextSnapshot, nextHandler)) { return; } } - if (_autoBraceCompletionChars.Contains(args.TypedChar) && + if (_autoBraceCompletionChars.Contains(typedChar) && this.SubjectBuffer.GetFeatureOnOffOption(InternalFeatureOnOffOptions.AutomaticPairCompletion)) { var model = this.WaitForModel(); - if (this.CommitIfCommitCharacter(args.TypedChar, model, initialTextSnapshot, nextHandler)) + if (this.CommitIfCommitCharacter(typedChar, model, initialTextSnapshot, nextHandler)) { // I don't think there is any better way than this. if typed char is one of auto brace completion char, // we don't do multiple buffer change check @@ -137,9 +140,9 @@ void IChainedCommandHandler.ExecuteCommand(TypeCharCommandA var options = GetOptions(); Contract.ThrowIfNull(options); - var isTextuallyTriggered = IsTextualTriggerCharacter(completionService, args.TypedChar, options); - var isPotentialFilterCharacter = IsPotentialFilterCharacter(args); - var trigger = CompletionTrigger.CreateInsertionTrigger(args.TypedChar); + var isTextuallyTriggered = IsTextualTriggerCharacter(completionService, typedChar, options); + var isPotentialFilterCharacter = ItemManager.IsPotentialFilterCharacter(typedChar); + var trigger = CompletionTrigger.CreateInsertionTrigger(typedChar); if (sessionOpt == null) { @@ -200,7 +203,7 @@ void IChainedCommandHandler.ExecuteCommand(TypeCharCommandA // "Color", "Color.Red", "Color.Blue", etc. When we process the 'dot', we // actually want to filter some more. But we can't know that ahead of time until // we have computed the list of completions. - if (this.IsFilterCharacter(args.TypedChar, model)) + if (this.IsFilterCharacter(typedChar, model)) { // Known to be a filter character for the currently selected item. So just // filter the session. @@ -214,7 +217,7 @@ void IChainedCommandHandler.ExecuteCommand(TypeCharCommandA // buffer. // Now, commit if it was a commit character. - this.CommitIfCommitCharacter(args.TypedChar, model, initialTextSnapshot, nextHandler); + this.CommitIfCommitCharacter(typedChar, model, initialTextSnapshot, nextHandler); // At this point we don't want a session anymore (either because we committed, or // because we got a character we don't know how to handle). Unilaterally dismiss @@ -246,18 +249,6 @@ private bool IsOnSeam() return false; } - /// - /// A potential filter character is something that can filter a completion lists and is - /// *guaranteed* to not be a commit character. - /// - private static bool IsPotentialFilterCharacter(TypeCharCommandArgs args) - { - // TODO(cyrusn): Actually use the right unicode categories here. - return char.IsLetter(args.TypedChar) - || char.IsNumber(args.TypedChar) - || args.TypedChar == '_'; - } - private Document GetDocument() { // Documents can be closed while we are computing in the background. @@ -312,48 +303,7 @@ private bool IsCommitCharacter(char ch, Model model) } var textTypedSoFar = GetTextTypedSoFar(model, model.SelectedItemOpt); - return IsCommitCharacter( - completionService.GetRules(), model.SelectedItemOpt, ch, textTypedSoFar); - } - - /// - /// Internal for testing purposes only. - /// - internal static bool IsCommitCharacter( - CompletionRules completionRules, CompletionItem item, char ch, string textTypedSoFar) - { - // First see if the item has any specifc commit rules it wants followed. - foreach (var rule in item.Rules.CommitCharacterRules) - { - switch (rule.Kind) - { - case CharacterSetModificationKind.Add: - if (rule.Characters.Contains(ch)) - { - return true; - } - continue; - - case CharacterSetModificationKind.Remove: - if (rule.Characters.Contains(ch)) - { - return false; - } - continue; - - case CharacterSetModificationKind.Replace: - return rule.Characters.Contains(ch); - } - } - - // general rule: if the filtering text exactly matches the start of the item then it must be a filter character - if (TextTypedSoFarMatchesItem(item, ch, textTypedSoFar)) - { - return false; - } - - // Fall back to the default rules for this language's completion service. - return completionRules.DefaultCommitCharacters.IndexOf(ch) >= 0; + return CommitManager.IsCommitCharacter(completionService.GetRules(), model.SelectedItemOpt, ch, textTypedSoFar); } private bool IsFilterCharacter(char ch, Model model) @@ -376,53 +326,7 @@ private bool IsFilterCharacter(char ch, Model model) } var textTypedSoFar = GetTextTypedSoFar(model, model.SelectedItemOpt); - return IsFilterCharacter(model.SelectedItemOpt, ch, textTypedSoFar); - } - - private static bool TextTypedSoFarMatchesItem(CompletionItem item, char ch, string textTypedSoFar) - { - if (textTypedSoFar.Length > 0) - { - return item.DisplayText.StartsWith(textTypedSoFar, StringComparison.CurrentCultureIgnoreCase) || - item.FilterText.StartsWith(textTypedSoFar, StringComparison.CurrentCultureIgnoreCase); - } - - return false; - } - - private static bool IsFilterCharacter(CompletionItem item, char ch, string textTypedSoFar) - { - // First see if the item has any specific filter rules it wants followed. - foreach (var rule in item.Rules.FilterCharacterRules) - { - switch (rule.Kind) - { - case CharacterSetModificationKind.Add: - if (rule.Characters.Contains(ch)) - { - return true; - } - continue; - - case CharacterSetModificationKind.Remove: - if (rule.Characters.Contains(ch)) - { - return false; - } - continue; - - case CharacterSetModificationKind.Replace: - return rule.Characters.Contains(ch); - } - } - - // general rule: if the filtering text exactly matches the start of the item then it must be a filter character - if (TextTypedSoFarMatchesItem(item, ch, textTypedSoFar)) - { - return true; - } - - return false; + return AsyncCompletion.Helpers.IsFilterCharacter(model.SelectedItemOpt, ch, textTypedSoFar); } private string GetTextTypedSoFar(Model model, CompletionItem selectedItem) diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/FilterResult.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/FilterResult.cs deleted file mode 100644 index 84a794f3e1ac5..0000000000000 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/FilterResult.cs +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.CodeAnalysis.Completion; - -namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion -{ - internal partial class Controller - { - internal partial class Session - { - private struct FilterResult - { - public readonly CompletionItem CompletionItem; - public readonly bool MatchedFilterText; - public readonly string FilterText; - - public FilterResult(CompletionItem completionItem, string filterText, bool matchedFilterText) - { - CompletionItem = completionItem; - MatchedFilterText = matchedFilterText; - FilterText = filterText; - } - } - } - } -} diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Helpers.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Helpers.cs new file mode 100644 index 0000000000000..2ed3e6b294d23 --- /dev/null +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Helpers.cs @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Immutable; +using System.Linq; + +using Microsoft.VisualStudio.Text.Adornments; + +namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense +{ + internal static class Helpers + { + internal static ClassifiedTextElement BuildClassifiedTextElement(ImmutableArray taggedTexts) + { + return new ClassifiedTextElement(taggedTexts.Select( + part => new ClassifiedTextRun(part.Tag.ToClassificationTypeName(), part.Text)) ?? Enumerable.Empty()); + } + } +} diff --git a/src/EditorFeatures/Core/Implementation/RenameTracking/RenameTrackingCancellationCommandHandler.cs b/src/EditorFeatures/Core/Implementation/RenameTracking/RenameTrackingCancellationCommandHandler.cs index f9b54ff8d606b..055de81ea7008 100644 --- a/src/EditorFeatures/Core/Implementation/RenameTracking/RenameTrackingCancellationCommandHandler.cs +++ b/src/EditorFeatures/Core/Implementation/RenameTracking/RenameTrackingCancellationCommandHandler.cs @@ -4,6 +4,7 @@ using Microsoft.CodeAnalysis.Editor.Shared.Utilities; using Microsoft.CodeAnalysis.Text; using Microsoft.VisualStudio.Commanding; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; using Microsoft.VisualStudio.Utilities; using VSCommanding = Microsoft.VisualStudio.Commanding; @@ -14,10 +15,11 @@ namespace Microsoft.CodeAnalysis.Editor.Implementation.RenameTracking [ContentType(ContentTypeNames.RoslynContentType)] [ContentType(ContentTypeNames.XamlContentType)] [Name(PredefinedCommandHandlerNames.RenameTrackingCancellation)] - [Order(After = PredefinedCommandHandlerNames.SignatureHelp)] - [Order(After = PredefinedCommandHandlerNames.IntelliSense)] + [Order(After = PredefinedCommandHandlerNames.SignatureHelpBeforeCompletion)] + [Order(After = PredefinedCommandHandlerNames.SignatureHelpAfterCompletion)] [Order(After = PredefinedCommandHandlerNames.AutomaticCompletion)] [Order(After = PredefinedCommandHandlerNames.Completion)] + [Order(After = PredefinedCompletionNames.CompletionCommandHandler)] [Order(After = PredefinedCommandHandlerNames.QuickInfo)] [Order(After = PredefinedCommandHandlerNames.EventHookup)] internal class RenameTrackingCancellationCommandHandler : VSCommanding.ICommandHandler diff --git a/src/EditorFeatures/Core/Microsoft.CodeAnalysis.EditorFeatures.csproj b/src/EditorFeatures/Core/Microsoft.CodeAnalysis.EditorFeatures.csproj index 98388d97e743d..ba94c72fc6585 100644 --- a/src/EditorFeatures/Core/Microsoft.CodeAnalysis.EditorFeatures.csproj +++ b/src/EditorFeatures/Core/Microsoft.CodeAnalysis.EditorFeatures.csproj @@ -32,6 +32,7 @@ + diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.cs.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.cs.xlf index 4f2f2ed77d01d..25a22ed832ccc 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.cs.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.cs.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + Chcete přesto pokračovat? Výsledkem může být poškozený kód. Extract method encountered the following issues: - Extract method encountered the following issues: + Při extrahování metody došlo k následujícím problémům: + + Filter + Filtr + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup Příkaz Formátovat dokument provedl další čištění. @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + Neplatný název sestavení Invalid characters in assembly name - Invalid characters in assembly name + Neplatné znaky v názvu sestavení Keyword - Control - Keyword - Control + Klíčové slovo – Control Operator - Overloaded - Operator - Overloaded + Operátor – přetížení @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + Řetězec – řídicí znak Symbol - Static - Symbol - Static + Symbol – statický User Members - Constants - User Members - Constants + Uživatelské členy – konstanty User Members - Enum Members - User Members - Enum Members + Uživatelské členy – členy výčtu User Members - Events - User Members - Events + Uživatelské členy – události User Members - Extension Methods - User Members - Extension Methods + Uživatelské členy – rozšiřující metody User Members - Fields - User Members - Fields + Uživatelské členy – pole User Members - Labels - User Members - Labels + Uživatelské členy – návěstí User Members - Locals - User Members - Locals + Uživatelské členy – místní User Members - Methods - User Members - Methods + Uživatelské členy – metody User Members - Namespaces - User Members - Namespaces + Uživatelské členy – obory názvů User Members - Parameters - User Members - Parameters + Uživatelské členy – parametry User Members - Properties - User Members - Properties + Uživatelské členy – vlastnosti @@ -177,6 +182,11 @@ Řetězec – Verbatim + + Warning + Upozornění + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name Komentáře XML – název atributu diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.de.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.de.xlf index 26cb5b4656a3c..21657572a23ea 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.de.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.de.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + Möchten Sie dennoch fortfahren? Möglicherweise wird fehlerhafter Code generiert. Extract method encountered the following issues: - Extract method encountered the following issues: + Beim Extrahieren der Methode sind folgende Fehler aufgetreten: + + Filter + Filter + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup Bei der Dokumentformatierung wurde eine zusätzliche Bereinigung durchgeführt. @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + Ungültiger Assemblyname. Invalid characters in assembly name - Invalid characters in assembly name + Assemblyname enthält ungültige Zeichen. Keyword - Control - Keyword - Control + Schlüsselwort – Steuerung Operator - Overloaded - Operator - Overloaded + Operator - überladen @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + Zeichenfolge - Escape-Zeichen Symbol - Static - Symbol - Static + Symbol – statisch User Members - Constants - User Members - Constants + Benutzermember – Konstanten User Members - Enum Members - User Members - Enum Members + Benutzermember – Enumerationsmember User Members - Events - User Members - Events + Benutzermember – Ereignisse User Members - Extension Methods - User Members - Extension Methods + Benutzermember – Erweiterungsmethoden User Members - Fields - User Members - Fields + Benutzermember – Felder User Members - Labels - User Members - Labels + Benutzermember – Bezeichner User Members - Locals - User Members - Locals + Benutzermember – lokale Variablen User Members - Methods - User Members - Methods + Benutzermember – Methoden User Members - Namespaces - User Members - Namespaces + Benutzermember – Namespaces User Members - Parameters - User Members - Parameters + Benutzermember – Parameter User Members - Properties - User Members - Properties + Benutzermember – Eigenschaften @@ -177,6 +182,11 @@ Zeichenfolge - ausführlich + + Warning + Warnung + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name XML-Dok-Kommentare- Attributname diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.es.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.es.xlf index 742dc1b21b47b..d6b6e64e65c93 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.es.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.es.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + ¿Desea continuar? Esto puede producir código roto. Extract method encountered the following issues: - Extract method encountered the following issues: + El método de extracción detectó los siguientes problemas: + + Filter + Filtrar + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup El formateo del documento realizó una limpieza adicional @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + Nombre de ensamblado no válido Invalid characters in assembly name - Invalid characters in assembly name + Caracteres no válidos en el nombre de ensamblado Keyword - Control - Keyword - Control + Palabras clave: control Operator - Overloaded - Operator - Overloaded + Operador: sobrecargado @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + String - carácter de Escape Symbol - Static - Symbol - Static + Símbolo: estático User Members - Constants - User Members - Constants + Usuarios miembros: constantes User Members - Enum Members - User Members - Enum Members + Usuarios miembros: miembros de enumeración User Members - Events - User Members - Events + Usuarios miembros: eventos User Members - Extension Methods - User Members - Extension Methods + Usuarios miembros: métodos de extensión User Members - Fields - User Members - Fields + Usuarios miembros: campos User Members - Labels - User Members - Labels + Usuarios miembros: etiquetas User Members - Locals - User Members - Locals + Usuarios miembros: locales User Members - Methods - User Members - Methods + Usuarios miembros: métodos User Members - Namespaces - User Members - Namespaces + Usuarios miembros: espacios de nombres User Members - Parameters - User Members - Parameters + Usuarios miembros: parámetros User Members - Properties - User Members - Properties + Usuarios miembros: propiedades @@ -177,6 +182,11 @@ Cadena: textual + + Warning + Advertencia + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name Comentarios de documentación XML: nombre de atributo diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.fr.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.fr.xlf index 7ad6ed4907bb4..e6fe93b427741 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.fr.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.fr.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + Voulez-vous continuer ? Le code sera interrompu. Extract method encountered the following issues: - Extract method encountered the following issues: + La méthode Extract a rencontré les problèmes suivants : + + Filter + Filtrer + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup L'opération Mettre en forme le document a effectué un nettoyage supplémentaire @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + Nom d'assembly non valide Invalid characters in assembly name - Invalid characters in assembly name + Caractères non valides dans le nom de l'assembly Keyword - Control - Keyword - Control + Mot clé - contrôle Operator - Overloaded - Operator - Overloaded + Opérateur - surchargé @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + Chaîne - caractère d'échappement Symbol - Static - Symbol - Static + Symbole - statique User Members - Constants - User Members - Constants + Membres utilisateurs - constantes User Members - Enum Members - User Members - Enum Members + Membres utilisateurs - membres Enum User Members - Events - User Members - Events + Membres utilisateurs - événements User Members - Extension Methods - User Members - Extension Methods + Membres utilisateurs - méthodes d'extension User Members - Fields - User Members - Fields + Membres utilisateurs - champs User Members - Labels - User Members - Labels + Membres utilisateurs - étiquettes User Members - Locals - User Members - Locals + Membres utilisateurs - éléments locaux User Members - Methods - User Members - Methods + Membres utilisateurs - méthodes User Members - Namespaces - User Members - Namespaces + Membres utilisateurs - espaces de noms User Members - Parameters - User Members - Parameters + Membres utilisateurs - paramètres User Members - Properties - User Members - Properties + Membres utilisateurs - propriétés @@ -177,6 +182,11 @@ Chaîne textuelle + + Warning + Avertissement + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name Commentaires documentation XML - Nom d'attribut diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.it.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.it.xlf index 818aef4f0bad1..8f28732c3de73 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.it.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.it.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + Procedere comunque? Il codice ottenuto potrebbe essere danneggiato. Extract method encountered the following issues: - Extract method encountered the following issues: + Il metodo di estrazione ha rilevato i problemi seguenti: + + Filter + Filtro + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup Formatta documento ha eseguito una pulizia aggiuntiva @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + Nome di assembly non valido Invalid characters in assembly name - Invalid characters in assembly name + Caratteri non validi nel nome dell'assembly Keyword - Control - Keyword - Control + Parola chiave - Controllo Operator - Overloaded - Operator - Overloaded + Operatore - Overload @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + Stringa - Carattere di escape Symbol - Static - Symbol - Static + Simbolo - Statico User Members - Constants - User Members - Constants + Membri utente - Costanti User Members - Enum Members - User Members - Enum Members + Membri utente - Membri enumerazione User Members - Events - User Members - Events + Membri utente - Eventi User Members - Extension Methods - User Members - Extension Methods + Membri utente - Metodi di estensione User Members - Fields - User Members - Fields + Membri utente - Campi User Members - Labels - User Members - Labels + Membri utente - Etichette User Members - Locals - User Members - Locals + Membri utente - Variabili locali User Members - Methods - User Members - Methods + Membri utente - Metodi User Members - Namespaces - User Members - Namespaces + Membri utente - Spazi dei nomi User Members - Parameters - User Members - Parameters + Membri utente - Parametri User Members - Properties - User Members - Properties + Membri utente - Proprietà @@ -177,6 +182,11 @@ Stringa - Verbatim + + Warning + Avviso + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name Commenti in formato documentazione XML - Nome attributo diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ja.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ja.xlf index 29cc5222482bf..a8d2a08f564e3 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ja.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ja.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + 続行しますか。破損状態のコードが生成される可能性があります。 Extract method encountered the following issues: - Extract method encountered the following issues: + メソッドの抽出で次の問題が発生しました: + + Filter + フィルター + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup ドキュメントのフォーマットで追加のクリーンアップが実行されました @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + 無効なアセンブリ名 Invalid characters in assembly name - Invalid characters in assembly name + アセンブリ名に無効な文字があります Keyword - Control - Keyword - Control + キーワード - コントロール Operator - Overloaded - Operator - Overloaded + 演算子 - オーバーロード @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + 文字列 - エスケープ文字 Symbol - Static - Symbol - Static + シンボル - 静的 User Members - Constants - User Members - Constants + ユーザー メンバー - 定数 User Members - Enum Members - User Members - Enum Members + ユーザー メンバー - 列挙型メンバー User Members - Events - User Members - Events + ユーザー メンバー - イベント User Members - Extension Methods - User Members - Extension Methods + ユーザー メンバー - 拡張メソッド User Members - Fields - User Members - Fields + ユーザー メンバー - フィールド User Members - Labels - User Members - Labels + ユーザー メンバー - ラベル User Members - Locals - User Members - Locals + ユーザー メンバー - ローカル User Members - Methods - User Members - Methods + ユーザー メンバー - メソッド User Members - Namespaces - User Members - Namespaces + ユーザー メンバー - 名前空間 User Members - Parameters - User Members - Parameters + ユーザー メンバー - パラメーター User Members - Properties - User Members - Properties + ユーザー メンバー - プロパティ @@ -177,6 +182,11 @@ 文字列 - Verbatim + + Warning + 警告 + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name XML ドキュメント コメント - 属性名 diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ko.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ko.xlf index feb1a02aa742c..407a70dc4d1a5 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ko.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ko.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + 계속하시겠습니까? 계속하면 손상된 코드가 생성될 수 있습니다. Extract method encountered the following issues: - Extract method encountered the following issues: + 메서드 추출에서 다음 문제가 발생했습니다. + + Filter + 필터 + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup 추가 정리를 수행 하는 문서 @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + 잘못된 어셈블리 이름 Invalid characters in assembly name - Invalid characters in assembly name + 어셈블리 이름에 잘못된 문자가 있음 Keyword - Control - Keyword - Control + 키워드 - 제어 Operator - Overloaded - Operator - Overloaded + 연산자 - 오버로드됨 @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + 문자열 - 이스케이프 문자 Symbol - Static - Symbol - Static + 기호 - 정적 User Members - Constants - User Members - Constants + 사용자 멤버 - 상수 User Members - Enum Members - User Members - Enum Members + 사용자 멤버 - 열거형 멤버 User Members - Events - User Members - Events + 사용자 멤버 - 이벤트 User Members - Extension Methods - User Members - Extension Methods + 사용자 멤버 - 확장 메서드 User Members - Fields - User Members - Fields + 사용자 멤버 - 필드 User Members - Labels - User Members - Labels + 사용자 멤버 - 레이블 User Members - Locals - User Members - Locals + 사용자 멤버 - 로컬 User Members - Methods - User Members - Methods + 사용자 멤버 - 메서드 User Members - Namespaces - User Members - Namespaces + 사용자 멤버 - 네임스페이스 User Members - Parameters - User Members - Parameters + 사용자 멤버 - 매개 변수 User Members - Properties - User Members - Properties + 사용자 멤버 - 속성 @@ -177,6 +182,11 @@ 문자열 - 축자 + + Warning + 경고 + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name XML 문서 주석 - 특성 이름 diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.pl.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.pl.xlf index 2dc13eb83d38b..f579b99096a71 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.pl.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.pl.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + Czy nadal chcesz kontynuować? Może to spowodować uszkodzenie kodu. Extract method encountered the following issues: - Extract method encountered the following issues: + Metoda ekstrakcji napotkała następujące problemy: + + Filter + Filtr + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup Funkcja formatowania dokumentu wykonała dodatkowe czyszczenie @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + Nieprawidłowa nazwa zestawu Invalid characters in assembly name - Invalid characters in assembly name + Nieprawidłowe znaki w nazwie zestawu Keyword - Control - Keyword - Control + Słowo kluczowe — kontrolka Operator - Overloaded - Operator - Overloaded + Operator — przeciążony @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + Ciąg — znak ucieczki Symbol - Static - Symbol - Static + Symbol — statyczny User Members - Constants - User Members - Constants + Składowe użytkowników — stałe User Members - Enum Members - User Members - Enum Members + Składowe użytkowników — składowe wyliczenia User Members - Events - User Members - Events + Składowe użytkowników — zdarzenia User Members - Extension Methods - User Members - Extension Methods + Składowe użytkowników — metody rozszerzenia User Members - Fields - User Members - Fields + Składowe użytkowników — pola User Members - Labels - User Members - Labels + Składowe użytkowników — etykiety User Members - Locals - User Members - Locals + Składowe użytkowników — zmienne lokalne User Members - Methods - User Members - Methods + Składowe użytkowników — metody User Members - Namespaces - User Members - Namespaces + Składowe użytkowników — przestrzenie nazw User Members - Parameters - User Members - Parameters + Składowe użytkowników — parametry User Members - Properties - User Members - Properties + Składowe użytkowników — właściwości @@ -177,6 +182,11 @@ Ciąg — dosłowne wyrażenie + + Warning + Ostrzeżenie + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name Komentarze dokumentacji XML — nazwa atrybutu @@ -359,7 +369,7 @@ Completing Tag - Trwa uzupełnianie tagu + Uzupełnianie tagu diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.pt-BR.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.pt-BR.xlf index 38eb20e3cb0cf..8c4168d367818 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.pt-BR.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.pt-BR.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + Ainda quer continuar? Isso pode produzir código desfeito. Extract method encountered the following issues: - Extract method encountered the following issues: + O método de extração encontrou os seguintes problemas: + + Filter + Filtrar + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup A Formatação do Documento executou uma limpeza adicional @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + Nome do assembly inválido Invalid characters in assembly name - Invalid characters in assembly name + Caracteres inválidos no nome do assembly Keyword - Control - Keyword - Control + Palavra-chave – Controle Operator - Overloaded - Operator - Overloaded + Operador – Sobrecarregado @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + String - caractere de Escape Symbol - Static - Symbol - Static + Símbolo – Estático User Members - Constants - User Members - Constants + Membros de Usuário – Constantes User Members - Enum Members - User Members - Enum Members + Membros de Usuário – Membros Enum User Members - Events - User Members - Events + Membros de Usuário – Eventos User Members - Extension Methods - User Members - Extension Methods + Membros de Usuário – Métodos de Extensão User Members - Fields - User Members - Fields + Membros de Usuário – Campos User Members - Labels - User Members - Labels + Membros de Usuário – Rótulos User Members - Locals - User Members - Locals + Membros de Usuário – Locais User Members - Methods - User Members - Methods + Membros de Usuário – Métodos User Members - Namespaces - User Members - Namespaces + Membros de Usuário – Namespaces User Members - Parameters - User Members - Parameters + Membros de Usuário – Parâmetros User Members - Properties - User Members - Properties + Membros de Usuário – Propriedades @@ -177,6 +182,11 @@ Cadeia de caracteres - Textual + + Warning + Aviso + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name Comentário da documentação XML - Nome de Atributo @@ -354,12 +364,12 @@ XML End Tag Completion - Conclusão da Marca de Fim de XML + Conclusão da Marca de Fim do XML Completing Tag - Completando a Marca + Completando a Tag diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ru.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ru.xlf index d8997d9b3ed0b..14c63a2bff229 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ru.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.ru.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + Вы действительно хотите продолжить? Это может привести к появлению нерабочего кода. Extract method encountered the following issues: - Extract method encountered the following issues: + При работе метода извлечения возникли следующие ошибки: + + Filter + Фильтр + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup При форматировании документа была выполнена дополнительная очистка @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + Недопустимое имя сборки Invalid characters in assembly name - Invalid characters in assembly name + Недопустимые символы в имени сборки Keyword - Control - Keyword - Control + Ключевое слово — управление Operator - Overloaded - Operator - Overloaded + Оператор — перегружен @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + Строка — escape-символ Symbol - Static - Symbol - Static + Символ — статический User Members - Constants - User Members - Constants + Участники-пользователи — константы User Members - Enum Members - User Members - Enum Members + Участники-пользователи — элементы перечисления User Members - Events - User Members - Events + Пользователи-участники — события User Members - Extension Methods - User Members - Extension Methods + Участники-пользователи — методы расширения User Members - Fields - User Members - Fields + Участники-пользователи — поля User Members - Labels - User Members - Labels + Участники-пользователи — метки User Members - Locals - User Members - Locals + Участники-пользователи — локальные User Members - Methods - User Members - Methods + Участники-пользователи — методы User Members - Namespaces - User Members - Namespaces + Участники-пользователи — пространства имен User Members - Parameters - User Members - Parameters + Участники-пользователи — параметры User Members - Properties - User Members - Properties + Участники-пользователи — свойства @@ -177,6 +182,11 @@ Строка — Verbatim + + Warning + Предупреждение + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name Комментарии XML Doc — имена атрибутов diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.tr.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.tr.xlf index 407cc29eda7b1..35b419dffd84c 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.tr.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.tr.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + Yine de devam etmek istiyor musunuz? Bu işlem sonucunda bozuk kod oluşturulabilir. Extract method encountered the following issues: - Extract method encountered the following issues: + Ayıklama metodu aşağıdaki sorunlarla karşılaştı: + + Filter + Filtre + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup Biçimi belge ek temizleme işlemi @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + Geçersiz derleme adı Invalid characters in assembly name - Invalid characters in assembly name + Derleme adında geçersiz karakterler Keyword - Control - Keyword - Control + Anahtar Sözcük - Denetim Operator - Overloaded - Operator - Overloaded + İşleç - Aşırı Yüklenmiş @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + Dize - Kaçış Karakteri Symbol - Static - Symbol - Static + Sembol - statik User Members - Constants - User Members - Constants + Kullanıcı Üyeler - Sabitler User Members - Enum Members - User Members - Enum Members + Kullanıcı Üyeleri - Sabit Liste Üyeleri User Members - Events - User Members - Events + Kullanıcı Üyeler - Olaylar User Members - Extension Methods - User Members - Extension Methods + Kullanıcı Üyeler - Uzantı Metotları User Members - Fields - User Members - Fields + Kullanıcı Üyeler - Alanlar User Members - Labels - User Members - Labels + Kullanıcı Üyeler - Etiketler User Members - Locals - User Members - Locals + Kullanıcı Üyeler - Yereller User Members - Methods - User Members - Methods + Kullanıcı Üyeler - Metotlar User Members - Namespaces - User Members - Namespaces + Kullanıcı Üyeleri - Ad Alanları User Members - Parameters - User Members - Parameters + Kullanıcı Üyeler - Parametreler User Members - Properties - User Members - Properties + Kullanıcı Üyeler - Özellikler @@ -177,6 +182,11 @@ Dize - Verbatim + + Warning + Uyarı + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name XML Belge Açıklamaları - Öznitelik Adı diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.zh-Hans.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.zh-Hans.xlf index 55bf06c8204e2..ed8d204f33a9d 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.zh-Hans.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.zh-Hans.xlf @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + 是否仍要继续? 这可能会导致代码损坏。 Extract method encountered the following issues: - Extract method encountered the following issues: + Extract 方法遇到以下问题: + + Filter + 筛选 + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup 格式文档执行了额外的清理 @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + 程序集名称无效 Invalid characters in assembly name - Invalid characters in assembly name + 程序集名称中有无效字符 Keyword - Control - Keyword - Control + 关键字-控制 Operator - Overloaded - Operator - Overloaded + 运算符-超载 @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + 字符串 - 转义字符 Symbol - Static - Symbol - Static + 符号-静态 User Members - Constants - User Members - Constants + 用户成员-常量 User Members - Enum Members - User Members - Enum Members + 用户成员-枚举成员 User Members - Events - User Members - Events + 用户成员-活动 User Members - Extension Methods - User Members - Extension Methods + 用户成员-扩展方法 User Members - Fields - User Members - Fields + 用户成员-字段 User Members - Labels - User Members - Labels + 用户成员-标签 User Members - Locals - User Members - Locals + 用户成员-本地 User Members - Methods - User Members - Methods + 用户成员-方法 User Members - Namespaces - User Members - Namespaces + 用户成员-命名空间 User Members - Parameters - User Members - Parameters + 用户成员-参数 User Members - Properties - User Members - Properties + 用户成员-属性 @@ -177,6 +182,11 @@ 字符串 - 逐字字符串 + + Warning + 警告 + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name XML 文档注释 - 属性名 diff --git a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.zh-Hant.xlf b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.zh-Hant.xlf index f5983a0bb7667..39fb3ccc042c8 100644 --- a/src/EditorFeatures/Core/xlf/EditorFeaturesResources.zh-Hant.xlf +++ b/src/EditorFeatures/Core/xlf/EditorFeaturesResources.zh-Hant.xlf @@ -14,7 +14,7 @@ Code cleanup is not configured - Code cleanup is not configured + 未設定程式碼清除 @@ -29,14 +29,19 @@ Do you still want to proceed? This may produce broken code. - Do you still want to proceed? This may produce broken code. + 仍要繼續嗎? 這可能產生中斷的程式碼。 Extract method encountered the following issues: - Extract method encountered the following issues: + 擷取方法發生下列問題: + + Filter + 篩選 + Caption/tooltip for "Filter" image element displayed in completion popup. + Format Document performed additional cleanup 執行額外清除的格式化文件 @@ -44,22 +49,22 @@ Invalid assembly name - Invalid assembly name + 組件名稱無效 Invalid characters in assembly name - Invalid characters in assembly name + 組件名稱包含無效的字元 Keyword - Control - Keyword - Control + 關鍵字 - 控制項 Operator - Overloaded - Operator - Overloaded + 運算子 - 多載 @@ -79,67 +84,67 @@ String - Escape Character - String - Escape Character + 字串 - 逸出字元 Symbol - Static - Symbol - Static + 符號 - 靜態 User Members - Constants - User Members - Constants + 使用者成員 - 常數 User Members - Enum Members - User Members - Enum Members + 使用者成員 - 列舉成員 User Members - Events - User Members - Events + 使用者成員 - 事件 User Members - Extension Methods - User Members - Extension Methods + 使用者成員 - 擴充方法 User Members - Fields - User Members - Fields + 使用者成員 - 欄位 User Members - Labels - User Members - Labels + 使用者成員 - 標籤 User Members - Locals - User Members - Locals + 使用者成員 - 區域函式 User Members - Methods - User Members - Methods + 使用者成員 - 方法 User Members - Namespaces - User Members - Namespaces + 使用者成員 - 命名空間 User Members - Parameters - User Members - Parameters + 使用者成員 - 參數 User Members - Properties - User Members - Properties + 使用者成員 - 屬性 @@ -177,6 +182,11 @@ 字串 - 逐字 + + Warning + 警告 + Caption/tooltip for "Warning" image element displayed in completion popup. + XML Doc Comments - Attribute Name XML 文件註解 - 屬性名稱 diff --git a/src/EditorFeatures/Test/CodeFixes/CodeFixServiceTests.cs b/src/EditorFeatures/Test/CodeFixes/CodeFixServiceTests.cs index 0c562ce5a2d57..ee2cb20a474a1 100644 --- a/src/EditorFeatures/Test/CodeFixes/CodeFixServiceTests.cs +++ b/src/EditorFeatures/Test/CodeFixes/CodeFixServiceTests.cs @@ -49,7 +49,7 @@ public async Task TestGetFirstDiagnosticWithFixAsync() var reference = new MockAnalyzerReference(); var project = workspace.CurrentSolution.Projects.Single().AddAnalyzerReference(reference); var document = project.Documents.Single(); - var unused = await fixService.GetMostSevereFixableDiagnostic(document, TextSpan.FromBounds(0, 0), cancellationToken: CancellationToken.None); + var unused = await fixService.GetMostSevereFixableDiagnosticAsync(document, TextSpan.FromBounds(0, 0), cancellationToken: CancellationToken.None); var fixer1 = fixers.Single().Value as MockFixer; var fixer2 = reference.Fixer as MockFixer; @@ -130,7 +130,7 @@ private async Task GetFirstDiagnosticWithFixAsync(CodeFixProvider codefix) using (var workspace = tuple.Item1) { GetDocumentAndExtensionManager(tuple.Item2, workspace, out var document, out var extensionManager); - var unused = await tuple.Item3.GetMostSevereFixableDiagnostic(document, TextSpan.FromBounds(0, 0), cancellationToken: CancellationToken.None); + var unused = await tuple.Item3.GetMostSevereFixableDiagnosticAsync(document, TextSpan.FromBounds(0, 0), cancellationToken: CancellationToken.None); Assert.True(extensionManager.IsDisabled(codefix)); Assert.False(extensionManager.IsIgnored(codefix)); } diff --git a/src/EditorFeatures/Test/Utilities/EditorServicesUtil.cs b/src/EditorFeatures/Test/Utilities/EditorServicesUtil.cs index 5d1a567947b2b..cc72d3ead227f 100644 --- a/src/EditorFeatures/Test/Utilities/EditorServicesUtil.cs +++ b/src/EditorFeatures/Test/Utilities/EditorServicesUtil.cs @@ -1,10 +1,8 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Linq; using Microsoft.CodeAnalysis.Test.Utilities; using Microsoft.VisualStudio.Composition; -using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.Editor.UnitTests.Utilities { @@ -16,10 +14,9 @@ public static class EditorServicesUtil private static IExportProviderFactory CreateExportProviderFactory() { - var assemblies = TestExportProvider - .GetCSharpAndVisualBasicAssemblies() - .Concat(new[] { typeof(EditorServicesUtil).Assembly }); - return ExportProviderCache.GetOrCreateExportProviderFactory(ExportProviderCache.GetOrCreateAssemblyCatalog(assemblies, ExportProviderCache.CreateResolver())); + var catalog = TestExportProvider.GetCSharpAndVisualBasicAssemblyCatalog() + .WithParts(ExportProviderCache.GetOrCreateAssemblyCatalog(new[] { typeof(EditorServicesUtil).Assembly }, ExportProviderCache.CreateResolver())); + return ExportProviderCache.GetOrCreateExportProviderFactory(catalog); } } } diff --git a/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests.vb b/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests.vb index a11663a051caa..5ae03e0568765 100644 --- a/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests.vb +++ b/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests.vb @@ -3,22 +3,18 @@ Imports System.Collections.Immutable Imports System.Globalization Imports System.Threading -Imports System.Threading.Tasks Imports Microsoft.CodeAnalysis.Completion Imports Microsoft.CodeAnalysis.CSharp Imports Microsoft.CodeAnalysis.Editor.CSharp.Formatting Imports Microsoft.CodeAnalysis.Editor.UnitTests.Extensions -Imports Microsoft.CodeAnalysis.Editor.UnitTests.Utilities Imports Microsoft.CodeAnalysis.Options Imports Microsoft.CodeAnalysis.Tags Imports Microsoft.CodeAnalysis.Text Imports Microsoft.VisualStudio.Text Imports Microsoft.VisualStudio.Text.Editor -Imports Microsoft.VisualStudio.Text.Editor.Commanding.Commands Imports Microsoft.VisualStudio.Text.Operations Imports Microsoft.VisualStudio.Text.Projection Imports Microsoft.VisualStudio.Utilities -Imports Roslyn.Utilities Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense <[UseExportProvider]> @@ -64,6 +60,65 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense End Using End Function + + + Public Async Function TestDeletingWholeWordResetCompletionToTheDefaultItem(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + + using System; + +class C +{ + void M() + { + var replyUri = new Uri(""); + $$ + } +} + + ) + + state.Workspace.Options = state.Workspace.Options.WithChangedOption( + CompletionOptions.TriggerOnDeletion, LanguageNames.CSharp, True) + + state.SendTypeChars("repl") + state.SendTab() + For i = 1 To 7 + state.SendBackspace() + Await state.WaitForAsynchronousOperationsAsync() + Next + Await state.AssertCompletionSession() + + state.SendBackspace() + Await state.AssertSelectedCompletionItem("AccessViolationException") + End Using + End Function + + + + Public Async Function TestTabsDoNotTriggerCompletion(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + + using System; + +class C +{ + void M() + { + var replyUri = new Uri(""); + replyUri$$ + } +} + + ) + + state.SendTab() + state.SendTab() + Await state.WaitForAsynchronousOperationsAsync() + Assert.Equal(" replyUri" & vbTab & vbTab, state.GetLineTextFromCaretPosition()) + End Using + End Function + Public Async Function TestNotAtStartOfExistingWord(completionImplementation As CompletionImplementation) As Task @@ -1050,9 +1105,10 @@ class Class End Using End Function - - Public Async Function TestPropertyInPropertySubpattern() As Task - Using state = TestState.CreateCSharpTestState( + + + Public Async Function TestPropertyInPropertySubpattern(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, - Public Async Function TestPropertyInPropertySubpattern_TriggerWithSpace() As Task - Using state = TestState.CreateCSharpTestState( + + + Public Async Function TestPropertyInPropertySubpattern_TriggerWithSpace(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, - - Public Async Function NoKeywordsOrSymbolsAfterNamedParameterWithCSharp7() As Task - Using state = TestState.CreateTestStateFromWorkspace( - - + + + Public Async Function NoKeywordsOrSymbolsAfterNamedParameterWithCSharp7(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, class Goo { @@ -1668,21 +1724,20 @@ class Goo { } } - - - ) + , languageVersion:=LanguageVersion.CSharp7) state.SendTypeChars("a") Await state.AssertCompletionSession() - Assert.True(state.CurrentCompletionPresenterSession.CompletionItems.Any(Function(i) i.DisplayText = "num:" AndAlso i.DisplayTextSuffix = ":")) - Assert.False(state.CurrentCompletionPresenterSession.CompletionItems.Any(Function(i) i.DisplayText = "System")) - Assert.False(state.CurrentCompletionPresenterSession.CompletionItems.Any(Function(c) c.DisplayText = "int")) + Assert.True(state.GetCompletionItems().Any(Function(i) i.DisplayText = "num" AndAlso i.DisplayTextSuffix = ":")) + Assert.False(state.GetCompletionItems().Any(Function(i) i.DisplayText = "System")) + Assert.False(state.GetCompletionItems().Any(Function(c) c.DisplayText = "int")) End Using End Function - - Public Async Function KeywordsOrSymbolsAfterNamedParameter() As Task - Using state = TestState.CreateCSharpTestState( + + + Public Async Function KeywordsOrSymbolsAfterNamedParameter(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, class Goo { @@ -1700,9 +1755,9 @@ class Goo state.SendTypeChars("a") Await state.AssertCompletionSession() - Assert.True(state.GetCompletionItems().Any(Function(i) i.DisplayText = "num:" AndAlso i.DisplayTextSuffix = ":")) - Assert.True(state.GetCompletionItems().Any(Function(i) i.DisplayText = "System")) - Assert.True(state.GetCompletionItems().Any(Function(c) c.DisplayText = "int")) + Assert.True(state.CompletionItemsContainsAny(displayText:="num", displayTextSuffix:=":")) + Assert.True(state.CompletionItemsContainsAny({"System"})) + Assert.True(state.CompletionItemsContainsAny({"int"})) End Using End Function @@ -1954,26 +2009,26 @@ class Program #If False Then - - + - - - var a = System.TimeSpan.FromMin{ENTER}{(} - - + + var a = System.TimeSpan.FromMin{ENTER}{(} + + - +}]]> + #End If @@ -2045,9 +2100,10 @@ public class Goo End Function - - Public Async Function TestOverrideDefaultParameter_CSharp7() As Task - Using state = TestState.CreateCSharpTestState( + + + Public Async Function TestOverrideDefaultParameter_CSharp7(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + + + Public Async Function TypingWithoutMatchAfterBackspaceDismissesCompletion(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + ) + + state.Workspace.Options = state.Workspace.Options.WithChangedOption( + CompletionOptions.TriggerOnDeletion, LanguageNames.CSharp, True) + + state.SendBackspace() + Await state.AssertCompletionSession() + state.SendTypeChars("w") + Await state.AssertNoCompletionSession() + End Using + End Function + @@ -2987,7 +3063,7 @@ class C disposableView.TextView.Caret.MoveTo(New SnapshotPoint(disposableView.TextView.TextBuffer.CurrentSnapshot, 0)) Dim editorOperations = editorOperationsFactory.GetEditorOperations(disposableView.TextView) - state.GetCompletionCommandHandler.ExecuteCommand(New DeleteKeyCommandArgs(disposableView.TextView, state.SubjectBuffer), Sub() editorOperations.Delete(), TestCommandExecutionContext.Create()) + state.SendDeleteToSpecificViewAndBuffer(disposableView.TextView, state.SubjectBuffer) Await state.AssertNoCompletionSession() End Using @@ -3539,7 +3615,7 @@ class C state.SendTypeChars("Sys") Await state.WaitForAsynchronousOperationsAsync() - Await state.AssertCompletionSession() + Await state.AssertSelectedCompletionItem(displayText:="System") state.SendTypeChars(".") Assert.Contains("System.", state.GetLineTextFromCaretPosition()) End Using @@ -3548,23 +3624,80 @@ class C Public Async Function TestNoBlockOnCompletionItems4(completionImplementation As CompletionImplementation) As Task + ' This test verifies a scenario with the following conditions: + ' a. A slow completion provider + ' b. The block option set to false. + ' Scenario: + ' 1. Type 'Sys' + ' 2. Send CommitIfUnique (Ctrl + space) + ' 3. Wait for 250ms. + ' 4. Verify that there is no completion window shown. In the new completion, we can just start the verification and check that the verification is still running. + ' 5. Check that the commit is not yet provided: there is 'Sys' but no 'System' + ' 6. Simulate unblocking the provider. + ' 7. Verify that the completion completes CommitIfUnique. Dim tcs = New TaskCompletionSource(Of Boolean) + Dim provider = New TaskControlledCompletionProvider(tcs.Task) Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, using $$ - , {New TaskControlledCompletionProvider(tcs.Task)}) + , {provider}) state.Workspace.Options = state.Workspace.Options.WithChangedOption( CompletionOptions.BlockForCompletionItems, LanguageNames.CSharp, False) state.SendTypeChars("Sys") - state.SendCommitUniqueCompletionListItem() - Await Task.Delay(250) - Await state.AssertNoCompletionSession(block:=False) - Assert.Contains("Sys", state.GetLineTextFromCaretPosition()) - Assert.DoesNotContain("System", state.GetLineTextFromCaretPosition()) - tcs.SetResult(True) + If completionImplementation = CompletionImplementation.Legacy Then + state.SendCommitUniqueCompletionListItem() + Await Task.Delay(250) + + state.AssertNoCompletionSessionWithNoBlock() + Assert.Contains("Sys", state.GetLineTextFromCaretPosition()) + Assert.DoesNotContain("System", state.GetLineTextFromCaretPosition()) + tcs.SetResult(True) + Else + Dim task1 As Task = Nothing + Dim task2 As Task = Nothing + + Dim providerCalledHandler = + Sub() + task2 = New Task( + Sub() + Thread.Sleep(250) + Try + ' 3. Check that the other task is running/hanging. + Assert.Equal(TaskStatus.Running, task1.Status) + Assert.Contains("Sys", state.GetLineTextFromCaretPosition()) + Assert.DoesNotContain("System", state.GetLineTextFromCaretPosition()) + ' Need the Finally to avoid hangs if any of Asserts failed, the task will never complete and Task.WhenAll will wait forever. + Finally + ' 4. Unblock the first task and the main thread. + tcs.SetResult(True) + End Try + End Sub) + + task1 = Task.Run( + Sub() + task2.Start() + ' 2. Hang here as well: getting items is waiting provider to respond. + Dim completionItem = state.GetSelectedItemOpt() + End Sub) + + + End Sub + + AddHandler provider.ProviderCalled, providerCalledHandler + + ' SendCommitUniqueCompletionListItem is a synchronous operation. + ' It guarantees that ProviderCalled will be triggered and after that the completion will hang waiting for a task to be resolved. + ' In the new completion, when pressed -, we have to wait for the aggregate operation to complete. + ' 1. Hang here. + state.SendCommitUniqueCompletionListItem() + + Assert.NotNull(task1) + Assert.NotNull(task2) + Await Task.WhenAll(task1, task2) + End If Await state.WaitForAsynchronousOperationsAsync() Await state.AssertNoCompletionSession() @@ -3575,29 +3708,95 @@ class C Public Async Function TestNoBlockOnCompletionItems3(completionImplementation As CompletionImplementation) As Task + ' This test verifies a scenario with the following conditions: + ' a. A slow completion provider + ' b. The block option set to false. + ' Scenario: + ' 1. Type 'Sys' + ' 2. Send CommitIfUnique (Ctrl + space) + ' 3. Wait for 250ms. + ' 4. Verify that there is no completion window shown. In the new completion, we can just start the verification and check that the verification is still running. + ' 5. Check that the commit is not yet provided: there is 'Sys' but no 'System' + ' 6. The next statement in the UI thread after CommitIfUnique is typing 'a'. + ' 7. Simulate unblocking the provider. + ' 8. Verify that + ' 8.a. The old completion adds 'a' to 'Sys' and displays 'Sysa'. CommitIfUnique is canceled because it was interrupted by typing 'a'. + ' 8.b. The new completion completes CommitIfUnique and then adds 'a'. Dim tcs = New TaskCompletionSource(Of Boolean) + Dim provider = New TaskControlledCompletionProvider(tcs.Task) Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, using $$ - , {New TaskControlledCompletionProvider(tcs.Task)}) + , {provider}) state.Workspace.Options = state.Workspace.Options.WithChangedOption( CompletionOptions.BlockForCompletionItems, LanguageNames.CSharp, False) state.SendTypeChars("Sys") - state.SendCommitUniqueCompletionListItem() - Await Task.Delay(250) - Await state.AssertNoCompletionSession(block:=False) - Assert.Contains("Sys", state.GetLineTextFromCaretPosition()) - Assert.DoesNotContain("System", state.GetLineTextFromCaretPosition()) + If completionImplementation = CompletionImplementation.Legacy Then + state.SendCommitUniqueCompletionListItem() + Await Task.Delay(250) + state.AssertNoCompletionSessionWithNoBlock() + Assert.Contains("Sys", state.GetLineTextFromCaretPosition()) + Assert.DoesNotContain("System", state.GetLineTextFromCaretPosition()) - state.SendTypeChars("a") + state.SendTypeChars("a") - tcs.SetResult(True) + tcs.SetResult(True) - Await state.WaitForAsynchronousOperationsAsync() - Await state.AssertCompletionSession() - Assert.Contains("Sysa", state.GetLineTextFromCaretPosition()) + Await state.WaitForAsynchronousOperationsAsync() + Await state.AssertCompletionSession() + Assert.Contains("Sysa", state.GetLineTextFromCaretPosition()) + Else + Dim task1 As Task = Nothing + Dim task2 As Task = Nothing + + Dim providerCalledHandler = + Sub() + task2 = New Task( + Sub() + Thread.Sleep(250) + Try + ' 3. Check that the other task is running/hanging. + Assert.Equal(TaskStatus.Running, task1.Status) + Assert.Contains("Sys", state.GetLineTextFromCaretPosition()) + Assert.DoesNotContain("System", state.GetLineTextFromCaretPosition()) + ' Need the Finally to avoid hangs if any of Asserts failed, the task will never complete and Task.WhenAll will wait forever. + Finally + ' 4. Unblock the first task and the main thread. + tcs.SetResult(True) + End Try + End Sub) + + task1 = Task.Run( + Sub() + task2.Start() + ' 2. Hang here as well: getting items is waiting provider to respond. + Dim completionItem = state.GetSelectedItemOpt() + End Sub) + End Sub + + AddHandler provider.ProviderCalled, providerCalledHandler + + ' SendCommitUniqueCompletionListItem is a synchronous operation. + ' It guarantees that ProviderCalled will be triggered and after that the completion will hang waiting for a task to be resolved. + ' In the new completion, when pressed -, we have to wait for the aggregate operation to complete. + ' 1. Hang here. + state.SendCommitUniqueCompletionListItem() + ' 5. Put insertion of 'a' into the edtior queue. It can be executed in the foreground thread only + state.SendTypeChars("a") + + Assert.NotNull(task1) + Assert.NotNull(task2) + Await Task.WhenAll(task1, task2) + + Await state.WaitForAsynchronousOperationsAsync() + Await state.AssertNoCompletionSession() + ' Here is a difference between the old and the new completions: + ' The old completion adds 'a' to 'Sys' and displays 'Sysa'. CommitIfUnique is canceled because it was interrupted by typing 'a'. + ' The new completion completes CommitIfUnique and then adds 'a'. + Assert.Contains("Systema", state.GetLineTextFromCaretPosition()) + End If End Using End Function @@ -3606,16 +3805,20 @@ class C Private ReadOnly _task As Task + Public Event ProviderCalled() + Public Sub New(task As Task) _task = task End Sub Public Overrides Function ProvideCompletionsAsync(context As CompletionContext) As Task + RaiseEvent ProviderCalled() Return _task End Function End Class - + + Public Async Function Filters_EmptyList1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, @@ -3649,7 +3852,8 @@ class C End Using End Function - + + Public Async Function Filters_EmptyList2(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, @@ -3685,7 +3889,8 @@ class C End Using End Function - + + Public Async Function Filters_EmptyList3(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, @@ -3721,7 +3926,8 @@ class C End Using End Function - + + Public Async Function Filters_EmptyList4(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, @@ -3823,7 +4029,8 @@ class AAttribute: Attribute End Function - + + Public Async Function TestFilteringAfterSimpleInvokeShowsAllItemsMatchingFilter(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, @@ -3942,8 +4149,8 @@ class C } }", finalText) - ' This should have happened as two text changes to the buffer. Dim changes = snapshotBeforeCommit.Version.Changes + ' This should have happened as two text changes to the buffer. Assert.Equal(2, changes.Count) Dim actualChanges = changes.ToArray() @@ -4008,8 +4215,8 @@ class C } }", finalText) - ' This should have happened as two text changes to the buffer. Dim changes = snapshotBeforeCommit.Version.Changes + ' This should have happened as two text changes to the buffer. Assert.Equal(2, changes.Count) Dim actualChanges = changes.ToArray() @@ -4053,7 +4260,8 @@ class C Await state.WaitForAsynchronousOperationsAsync() Assert.Equal("#", state.GetLineFromCurrentCaretPosition().GetText()) - Await state.AssertNoCompletionSession() + Await state.AssertCompletionSessionAfterTypingHash() + state.SendTypeChars("reg") Await state.AssertSelectedCompletionItem(displayText:="region") state.SendReturn() @@ -4067,11 +4275,11 @@ class C Await state.WaitForAsynchronousOperationsAsync() Assert.Equal("#", state.GetLineFromCurrentCaretPosition().GetText()) - Await state.AssertNoCompletionSession() + Await state.AssertCompletionSessionAfterTypingHash() + state.SendTypeChars("endr") Await state.AssertSelectedCompletionItem(displayText:="endregion") state.SendReturn() - Await state.AssertNoCompletionSession() Assert.Equal(" #endregion", state.GetLineFromCurrentCaretPosition().GetText()) Assert.Equal(state.GetLineFromCurrentCaretPosition().End, state.GetCaretPoint().BufferPosition) @@ -4234,6 +4442,60 @@ class Program End Using End Function + + + + Public Async Function TestAfterCasePatternSwitchLabel(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + +class C +{ + void M() + { + object o = 1; + switch(o) + { + case int i: + $$ + break; + } + } +} + ) + + state.SendTypeChars("this") + Await state.AssertSelectedCompletionItem(displayText:="this", isHardSelected:=True) + End Using + End Function + + + + Public Async Function TestBackspaceInMiddleOfSelection(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + +public enum foo +{ + aaa +} + +public class Program +{ + public static void Main(string[] args) + { + foo.a$$a + } +} + ) + + state.Workspace.Options = state.Workspace.Options.WithChangedOption( + CompletionOptions.TriggerOnDeletion, LanguageNames.CSharp, True) + + state.SendInvokeCompletionList() + state.SendBackspace() + Await state.AssertSelectedCompletionItem(displayText:="aaa", isHardSelected:=True) + End Using + End Function + @@ -4281,6 +4543,137 @@ class Program End Using End Function + + + Public Async Function TestBackspaceWithMultipleCharactersSelected(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + +using System; + +public class Program +{ + public static void Main(string[] args) + { + Console.WriteLine$$ + } +} + ) + + state.Workspace.Options = state.Workspace.Options.WithChangedOption( + CompletionOptions.TriggerOnDeletion, LanguageNames.CSharp, True) + + state.SendInvokeCompletionList() + state.SelectAndMoveCaret(-6) + state.SendBackspace() + Await state.AssertSelectedCompletionItem(displayText:="Write", isHardSelected:=True) + End Using + End Function + + + + + Public Async Function TestMRUKeepsTwoRecentlyUsedItems(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + +class C +{ + public double Ma(double m) => m; + + public void Test() + { + $$ + } +} + ) + + state.SendTypeChars("M(M(M(M(") + Await state.AssertNoCompletionSession() + Assert.Equal(" Ma(m:(Ma(m:(", state.GetLineTextFromCaretPosition()) + End Using + End Function + + + + + Public Async Function TestNamedParameterDoesNotAddExtraColon(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + +class C +{ + public double M(double some) => m; + + public void Test() + { + $$ + } +} + ) + + state.SendTypeChars("M(some:M(some:") + Await state.AssertNoCompletionSession() + Assert.Equal(" M(some:M(some:", state.GetLineTextFromCaretPosition()) + End Using + End Function + + + + Public Async Function TestSuggestionMode(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + +class C +{ + void M() + { + $$ + } +} + ) + + state.ToggleSuggestionMode() + Await state.WaitForAsynchronousOperationsAsync() + state.SendTypeChars("s") + Await state.AssertCompletionSession() + Assert.True(state.HasSuggestedItem()) + Await state.AssertSelectedCompletionItem(displayText:="sbyte", isSoftSelected:=True) + + state.ToggleSuggestionMode() + Await state.WaitForAsynchronousOperationsAsync() + Await state.AssertCompletionSession() + Assert.False(state.HasSuggestedItem()) + ' We want to soft select if we were already in soft select mode. + Await state.AssertSelectedCompletionItem(displayText:="sbyte", isSoftSelected:=True) + + state.ToggleSuggestionMode() + Await state.WaitForAsynchronousOperationsAsync() + Await state.AssertCompletionSession() + Assert.True(state.HasSuggestedItem()) + Await state.AssertSelectedCompletionItem(displayText:="sbyte", isSoftSelected:=True) + End Using + End Function + + + + Public Async Function TestTabAfterOverride(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + +class C +{ + override $$ + public static void M() { } +} + ) + + state.SendTypeChars("gethashcod") + state.SendTab() + Await state.AssertNoCompletionSession() + state.AssertMatchesTextStartingAtLine(3, " public override int GetHashCode()") + state.AssertMatchesTextStartingAtLine(4, " {") + state.AssertMatchesTextStartingAtLine(5, " return base.GetHashCode();") + state.AssertMatchesTextStartingAtLine(6, " }") + state.AssertMatchesTextStartingAtLine(7, " public static void M() { }") + End Using + End Function + Private Class MultipleChangeCompletionProvider Inherits CompletionProvider @@ -4316,32 +4709,6 @@ class C New TextChange(New TextSpan(0, _caretPosition), newText)) Return Task.FromResult(change) End Function - - - - - Public Async Function TestAfterCasePatternSwitchLabel(completionImplementation As CompletionImplementation) As Task - Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, - -class C -{ - void M() - { - object o = 1; - switch(o) - { - case int i: - $$ - break; - } - } -} - ) - - state.SendTypeChars("this") - Await state.AssertSelectedCompletionItem(displayText:="this", isHardSelected:=True) - End Using - End Function End Class End Class End Namespace diff --git a/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests_InternalsVisibleTo.vb b/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests_InternalsVisibleTo.vb index 8c96d3baee1b0..67152c43dd205 100644 --- a/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests_InternalsVisibleTo.vb +++ b/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests_InternalsVisibleTo.vb @@ -180,9 +180,7 @@ namespace A Await state.AssertNoCompletionSession() state.SendInvokeCompletionList() Await state.WaitForAsynchronousOperationsAsync() - Assert.True( - state.CurrentCompletionPresenterSession Is Nothing OrElse - Not state.CompletionItemsContainsAny({"ClassLibrary1"})) + Await state.AssertSessionIsNothingOrNoCompletionItemLike("ClassLibrary1") End Function Await AssertNoCompletionAndCompletionDoesNotContainClassLibrary1() state.SendTypeChars("["c) diff --git a/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests_Projections.vb b/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests_Projections.vb index e88a09dd233e0..a34b92874a567 100644 --- a/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests_Projections.vb +++ b/src/EditorFeatures/Test2/IntelliSense/CSharpCompletionCommandHandlerTests_Projections.vb @@ -73,11 +73,11 @@ class C Dim buffer = subjectDocument.GetTextBuffer() state.SendTypeCharsToSpecificViewAndBuffer(".", view, buffer) - Await state.AssertCompletionSession() + Await state.AssertCompletionSession(view) state.SendTypeCharsToSpecificViewAndBuffer("Cons", view, buffer) Await state.WaitForAsynchronousOperationsAsync() - Await state.AssertSelectedCompletionItem(displayText:="Console") + Await state.AssertSelectedCompletionItem(displayText:="Console", projectionsView:=view) End Using End Function @@ -114,13 +114,14 @@ class C state.SendTypeCharsToSpecificViewAndBuffer(" ", view, buffer) Await state.WaitForAsynchronousOperationsAsync() - Await state.AssertSelectedCompletionItem(displayText:="string", isHardSelected:=True) + Await state.AssertSelectedCompletionItem(displayText:="string", isHardSelected:=True, projectionsView:=view) End Using End Function - - + + + Public Async Function TestRegionCompletionCommitFormatting(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, Public Async Function InvokeWithOpenAngleCommitCommentOnCloseAngle(completionImplementation As CompletionImplementation) As Task - Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, Public Async Function CommitCdataNoOpenAngle(completionImplementation As CompletionImplementation) As Task - Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, Public Async Function InvokeWithOpenAngleCommitCdataOnCloseAngle(completionImplementation As CompletionImplementation) As Task - Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, + + Public Async Function TestOpenParenDismissesCompletionAndBringsUpSignatureHelp1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, @@ -36,7 +37,8 @@ class C End Function - + + Public Async Function TestEscapeDismissesCompletionFirst(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, @@ -64,7 +66,8 @@ class C End Function - + + Public Async Function TestCutDismissesCompletion(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, @@ -87,7 +90,8 @@ class C End Function - + + Public Async Function TestPasteDismissesCompletion(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, diff --git a/src/EditorFeatures/Test2/IntelliSense/CSharpSignatureHelpCommandHandlerTests.vb b/src/EditorFeatures/Test2/IntelliSense/CSharpSignatureHelpCommandHandlerTests.vb index de04b7fa2e0ed..ccb42975fd4d0 100644 --- a/src/EditorFeatures/Test2/IntelliSense/CSharpSignatureHelpCommandHandlerTests.vb +++ b/src/EditorFeatures/Test2/IntelliSense/CSharpSignatureHelpCommandHandlerTests.vb @@ -238,7 +238,8 @@ class Program End Function - + + Public Async Function TestForgetSelectedItemWhenNoneAreViable(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, - + + Public Async Function TestKeepUserSelectedItem(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, - + + Public Async Function TestKeepUserSelectedItem2(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, - + + Public Async Function TestKeepUserSelectedItem3(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, - + + Public Async Function TestSigHelpNotDismissedAfterQuote(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateCSharpTestState(completionImplementation, - + + Public Async Function MultiWordKeywordCommitBehavior(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -149,7 +150,8 @@ End Module End Sub - + + Public Async Function TestCommitCharTypedAtTheBeginingOfTheFilterSpan(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function CompletionAdjustInsertionText_CommitsOnOpenParens2(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -193,7 +196,9 @@ End Class End Using End Function - + + + Public Async Function CompletionDismissedAfterEscape1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -213,10 +218,11 @@ End Class End Function - - Public Async Function TestEnterOnSoftSelection1() As Task + + + Public Async Function TestEnterOnSoftSelection1(completionImplementation As CompletionImplementation) As Task ' Code must be left-aligned because of https://github.com/dotnet/roslyn/issues/27988 - Using state = TestState.CreateVisualBasicTestState( + Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, Class Program Shared Sub Main(args As String()) @@ -274,7 +280,8 @@ End Class End Using End Function - + + Public Async Function TestReturn1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -295,7 +302,8 @@ End Class End Using End Function - + + Public Async Function TestDown1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -358,7 +366,8 @@ End Class End Using End Function - + + Public Async Function TestSecondCharacterDoesFilter1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -387,7 +396,8 @@ End Class End Using End Function - + + Public Async Function TestNavigateSoftToHard(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -407,7 +417,8 @@ End Class End Using End Function - + + Public Async Function TestBackspaceBeforeCompletedComputation(completionImplementation As CompletionImplementation) As Task ' Simulate a very slow completionImplementation provider. Dim e = New ManualResetEvent(False) @@ -427,7 +438,7 @@ End Class ' We should not have a session now. Note: do not block as this will just hang things ' since the provider will not return. - Await state.AssertNoCompletionSession(block:=False) + state.AssertNoCompletionSessionWithNoBlock() ' Now, navigate back. state.SendBackspace() @@ -444,7 +455,8 @@ End Class End Using End Function - + + Public Async Function TestNavigationBeforeCompletedComputation(completionImplementation As CompletionImplementation) As Task ' Simulate a very slow completionImplementation provider. Dim e = New ManualResetEvent(False) @@ -464,7 +476,7 @@ End Class ' We should not have a session now. Note: do not block as this will just hang things ' since the provider will not return. - Await state.AssertNoCompletionSession(block:=False) + state.AssertNoCompletionSessionWithNoBlock() ' Now, navigate using the caret. state.SendMoveToPreviousCharacter() @@ -472,16 +484,23 @@ End Class ' allow the provider to continue e.Set() - ' We should not have a session since we tear things down if we see a caret move - ' before the providers have returned. - Await state.AssertNoCompletionSession() + ' TODO re-consider if the behavior change is valid: https://github.com/dotnet/roslyn/issues/31131 + If completionImplementation = CompletionImplementation.Legacy Then + ' We should not have a session since we tear things down if we see a caret move + ' before the providers have returned. + Await state.AssertNoCompletionSession() + Else + ' Async provider can handle keys pressed while waiting for providers. + Await state.AssertCompletionSession() + End If End Using End Function - - Public Async Function TestNavigateOutOfItemChangeSpan() As Task + + + Public Async Function TestNavigateOutOfItemChangeSpan(completionImplementation As CompletionImplementation) As Task ' Code must be left-aligned because of https://github.com/dotnet/roslyn/issues/27988 - Using state = TestState.CreateVisualBasicTestState( + Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, Class Program Shared Sub Main(args As String()) @@ -502,7 +521,8 @@ End Class End Using End Function - + + Public Async Function TestUndo1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -523,7 +543,8 @@ End Class End Using End Function - + + Public Async Function TestCommitAfterNavigation(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -553,7 +574,8 @@ End Class End Using End Function - + 'Presenter session is a part of the legacy API. Not available in the modern one. + Public Async Function TestSelectCompletionItemThroughPresenter(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -673,8 +695,8 @@ End Module]]>) End Function - - Public Async Function NotEnumPreselectionAfterBackspace(completionImplementation As CompletionImplementation) As Task + + Public Async Function NotEnumPreselectionAfterBackspace(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, ) End Function - + + Public Async Function TestNumericLiteralWithNoMatch(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -724,7 +747,8 @@ End Module.NormalizedValue, state.GetDocumentText()) End Function - + + Public Async Function TestNumericLiteralWithPartialMatch(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -755,7 +779,8 @@ End Module.NormalizedValue, state.GetDocumentText()) End Function - + + Public Async Function TestNumbersAfterLetters(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -819,7 +844,8 @@ end class End Function - + + Public Async Function TestDeleteWordToLeft(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -837,7 +863,8 @@ end class End Function - + + Public Async Function TestCompletionGenericWithOpenParen(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -871,7 +898,8 @@ end class End Using End Function - + + Public Async Function CommitForImportsStatement1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -903,7 +931,8 @@ end class End Using End Function - + + Public Async Function CommitForImportsStatement3(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -920,7 +949,8 @@ end class End Function - + + Public Async Function DoNotInsertEqualsForNamedParameterCommitWithColon(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1030,9 +1060,12 @@ End Class End Function - + + Public Async Function TestExclusiveNamedParameterCompletion(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Class Class1 Private Sub Test() @@ -1045,7 +1078,9 @@ Class Class1 Private Sub Goo(str As String, bool As Boolean) End Sub End Class - ) + + + ) state.SendTypeChars(" ") Await state.AssertCompletionSession() @@ -1055,9 +1090,12 @@ End Class End Function - + + Public Async Function TestExclusiveNamedParameterCompletion2(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Class Goo Private Sub Test() @@ -1074,7 +1112,9 @@ Class Goo Private Sub Method(obj As Object, b As Boolean, str As String) End Sub End Class - ) + + + ) state.SendTypeChars(" ") Await state.AssertCompletionSession() @@ -1087,7 +1127,8 @@ End Class End Function - + + Public Async Function TestDontCrashOnEmptyParameterList(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1100,7 +1141,8 @@ End Class End Function - + + Public Async Function OnlyMatchOnLowercaseIfPrefixWordMatch(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1116,7 +1158,8 @@ End Module End Function - + + Public Async Function MyBaseFinalize(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1135,7 +1178,8 @@ End Class End Function - + + Public Async Function TestNamedParameterSortOrder(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1157,7 +1201,8 @@ End Module End Function - + + Public Async Function TestLineContinuationCharacter(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1176,7 +1221,8 @@ End Module End Function - + + Public Async Function TestNumberDismissesCompletion(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1209,7 +1255,9 @@ End Module End Using End Function - + + + Public Async Function TestProjections(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1241,22 +1289,28 @@ End Module|} ) Dim subjectBuffer = subjectDocument.GetTextBuffer() state.SendTypeCharsToSpecificViewAndBuffer("(", view, subjectBuffer) - Await state.AssertCompletionSession() + Await state.AssertCompletionSession(view) state.SendTypeCharsToSpecificViewAndBuffer("a", view, subjectBuffer) Await state.WaitForAsynchronousOperationsAsync() - Await state.AssertSelectedCompletionItem(displayText:="arg") + Await state.AssertSelectedCompletionItem(displayText:="arg", projectionsView:=view) Dim text = view.TextSnapshot.GetText() Dim projection = DirectCast(topProjectionBuffer.TextBuffer, IProjectionBuffer) Dim sourceSpans = projection.CurrentSnapshot.GetSourceSpans() ' unmap our source spans without changing the top buffer - projection.ReplaceSpans(0, sourceSpans.Count, {text}, EditOptions.DefaultMinimalChange, editTag:=Nothing) + projection.ReplaceSpans(0, sourceSpans.Count, {subjectBuffer.CurrentSnapshot.CreateTrackingSpan(0, subjectBuffer.CurrentSnapshot.Length, SpanTrackingMode.EdgeInclusive)}, EditOptions.DefaultMinimalChange, editTag:=Nothing) + + If completionImplementation = CompletionImplementation.Legacy Then + ' Make sure completionImplementation updates even though the subject buffer is not connected. + Dim editorOperations = state.GetService(Of IEditorOperationsFactoryService).GetEditorOperations(view) + editorOperations.Backspace() + editorOperations.InsertText("b") + Else + state.SendBackspace() + state.SendTypeChars("b") + End If - ' Make sure completionImplementation updates even though are subject buffer is not connected. - Dim editorOperations = state.GetService(Of IEditorOperationsFactoryService).GetEditorOperations(view) - editorOperations.Backspace() - editorOperations.InsertText("b") Await state.WaitForAsynchronousOperationsAsync() Await state.AssertSelectedCompletionItem(displayText:="bbb") @@ -1279,10 +1333,10 @@ End Module|} ) ' the same completionImplementation session should still be active after the remapping. Await state.WaitForAsynchronousOperationsAsync() - Await state.AssertSelectedCompletionItem(displayText:="bbb") + Await state.AssertSelectedCompletionItem(displayText:="bbb", projectionsView:=view) state.SendTypeCharsToSpecificViewAndBuffer("b", view, subjectBuffer) Await state.WaitForAsynchronousOperationsAsync() - Await state.AssertSelectedCompletionItem(displayText:="bbb") + Await state.AssertSelectedCompletionItem(displayText:="bbb", projectionsView:=view) ' verify we can commit even when unmapped projection.ReplaceSpans(0, projection.CurrentSnapshot.GetSourceSpans.Count, {projection.CurrentSnapshot.GetText()}, EditOptions.DefaultMinimalChange, editTag:=Nothing) @@ -1302,7 +1356,8 @@ End Module .NormalizedValue, state.GetDocumentText(), StringComp End Function - + + Public Async Function TestBangFiltersInDocComment(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function CompletionUpAfterBackSpacetoWord(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1333,7 +1389,8 @@ End Class End Using End Function - + + Public Async Function NoCompletionAfterBackspaceInStringLiteral(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1347,7 +1404,8 @@ End Class End Using End Function - + + Public Async Function CompletionUpAfterDeleteDot(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1362,7 +1420,8 @@ End Class End Using End Function - + + Public Async Function NotCompletionUpAfterDeleteRParen(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1376,7 +1435,8 @@ End Class End Using End Function - + + Public Async Function NotCompletionUpAfterDeleteLParen(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1390,7 +1450,8 @@ End Class End Using End Function - + + Public Async Function NotCompletionUpAfterDeleteComma(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1404,7 +1465,8 @@ End Class End Using End Function - + + Public Async Function CompletionAfterDeleteKeyword(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1419,7 +1481,8 @@ End Class End Using End Function - + + Public Async Function NoCompletionOnBackspaceAtBeginningOfFile(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, $$) @@ -1429,8 +1492,8 @@ End Class End Using End Function - - + + Public Async Function CompletionUpAfterLeftCurlyBrace(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1451,7 +1514,8 @@ End Class End Using End Function - + + Public Async Function CompletionUpAfterLeftAngleBracket(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1468,7 +1532,8 @@ End Class End Using End Function - + + Public Async Function InvokeCompletionDoesNotFilter(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function InvokeCompletionBeforeWordDoesNotSelect(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function BackspaceCompletionInvokedSelectedAndUnfiltered(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function ListDismissedIfNoMatches(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function InvokeCompletionComesUpEvenIfNoMatches(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function BackspaceInvokeCompletionComesUpEvenIfNoMatches(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function BackspaceCompletionSelects(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function BackspaceCompletionNeverFilters(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TabAfterTextFollowedByQuestionMark(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function DistinguishItemsWithDifferentGlyphs(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function TabAfterNullableFollowedByQuestionMark(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function TestInvokeSnippetCommandDismissesCompletion(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, $$) @@ -1732,7 +1808,8 @@ End Class End Function - + + Public Async Function XmlCompletionNotTriggeredOnBackspaceInText(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, ) End Function - + + Public Async Function XmlCompletionNotTriggeredOnBackspaceInTag(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, ) End Function - + + Public Async Function BackspacingLastCharacterDismisses(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, $$) @@ -1780,7 +1859,8 @@ End Class]]>) End Function - + + Public Async Function HardSelectionWithBuilderAndOneExactMatch(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, Module M @@ -1790,12 +1870,13 @@ End Module) state.SendTypeChars("sub") Await state.AssertCompletionSession() Await state.AssertSelectedCompletionItem("Sub") - Assert.True(state.GetSuggestionModeItem() IsNot Nothing) + Assert.True(state.HasSuggestedItem()) End Using End Function - + + Public Async Function SoftSelectionWithBuilderAndNoExactMatch(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, Module M @@ -1805,16 +1886,19 @@ End Module) state.SendTypeChars("prop") Await state.AssertCompletionSession() Await state.AssertSelectedCompletionItem("Property", isSoftSelected:=True) - Assert.True(state.GetSuggestionModeItem() IsNot Nothing) + Assert.True(state.HasSuggestedItem()) End Using End Function + ' The test verifies the CommitCommandHandler isolated behavior which does not add '()' after 'Main'. + ' The integrated VS behavior for the case is to get 'Main()'. - + + Public Async Function CommitOnEnter(completionImplementation As CompletionImplementation) As Task Dim expected = Module M Sub Main() - Main() + Main End Sub End Module.Value.Replace(vbLf, vbCrLf) @@ -1834,7 +1918,8 @@ End Module) End Function - + + Public Async Function SelectKeywordFirst(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1850,14 +1935,18 @@ End Class state.SendTypeChars("GetType") Await state.WaitForAsynchronousOperationsAsync() - Await state.AssertSelectedCompletionItem("GetType", VBFeaturesResources.GetType_function + vbCrLf + + Await state.AssertSelectedCompletionItem( + displayText:="GetType", + displayTextSuffix:=String.Empty, + description:=VBFeaturesResources.GetType_function + vbCrLf + VBWorkspaceResources.Returns_a_System_Type_object_for_the_specified_type_name + vbCrLf + $"GetType({VBWorkspaceResources.typeName}) As Type") End Using End Function - + + Public Async Function ConstructorFiltersAsNew(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1880,7 +1969,8 @@ End Class End Using End Function - + + Public Async Function NoUnmentionableTypeInObjectCreation(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1897,7 +1987,8 @@ End Class End Using End Function - + + Public Async Function FilterPreferEnum(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1921,7 +2012,8 @@ End Class) End Function - + + Public Async Function InsertOfOnSpace(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1935,6 +2027,11 @@ End Class ) state.SendTypeChars("Task") Await state.WaitForAsynchronousOperationsAsync() + ' WaitForAsynchronousOperationsAsync actually does not wait for async completion to complete + ' TODO need to re-design WaitForAsynchronousOperationsAsync to handle async completion as well. + ' https://github.com/dotnet/roslyn/issues/33379 to fix this. + ' As a workaround to wait for async completion to complete, we need to get items. + state.GetCompletionItems() state.SendDownKey() state.SendTypeChars(" ") Await state.WaitForAsynchronousOperationsAsync() @@ -1943,7 +2040,8 @@ End Class End Function - + + Public Async Function DoNotInsertOfOnTab(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1963,7 +2061,8 @@ End Class End Function - + + Public Async Function NotInPartialMethodDeclaration(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -1985,7 +2084,8 @@ End Class) End Using End Function - + + Public Async Function TestCompletionInLinkedFiles(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateTestStateFromWorkspace(completionImplementation, @@ -2030,7 +2130,8 @@ End Class End Function - + + Public Async Function SoftSelectedWithNoFilterText(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -2046,7 +2147,8 @@ End Class) End Using End Function - + + Public Async Function EnumSortingOrder(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, @@ -2066,24 +2168,27 @@ End Class) End Function - + + Public Async Function DismissUponSave(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, ) + state.SendTypeChars("Su") Await state.WaitForAsynchronousOperationsAsync() Await state.AssertSelectedCompletionItem("Sub") state.SendSave() - Await state.AssertNoCompletionSession(block:=True) + Await state.AssertNoCompletionSession() state.AssertMatchesTextStartingAtLine(2, " Su") End Using End Function - + + Public Async Function DeleteCompletionInvokedSelectedAndUnfiltered(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function FilterPrefixOnlyOnBackspace1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function KeywordsForIntrinsicsDeduplicated(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function KeywordDeduplicationLeavesEscapedIdentifiers(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function TestEscapedItemCommittedWithCloseBracket(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TargetTypePreselectionConvertibility1(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, Function IEnumerable(Of 'a).ToArray() As ' End Using End Function - + + Public Async Function TestNonTrailingNamedArgumentInVB15_3(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateTestStateFromWorkspace(completionImplementation, @@ -2588,7 +2699,8 @@ End Class End Using End Function - + + Public Async Function TestSymbolInTupleLiteral(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TestSymbolInTupleLiteralAfterComma(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TestSnippetInTupleLiteral(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TestSnippetInTupleLiteralAfterComma(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TestBuiltInTypesKeywordInTupleLiteral(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TestBuiltInTypesKeywordInTupleLiteralAfterComma(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TestFunctionKeywordInTupleLiteral(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TestFunctionKeywordInTupleLiteralAfterComma(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, ) End Function - + + Public Async Function CommitGenericDoesNotInsertEllipsisCommitOnParen(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, ) End Function - + + Public Async Function SymbolAndObjectPreselectionUnification(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function BackspaceSoftSelectionIfNotPrefixMatch(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + + Public Async Function TestMRUKeepsTwoRecentlyUsedItems(completionImplementation As CompletionImplementation) As Task + Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + +Class C + Public Sub Ma(m As Double) + End Sub + + Public Sub Test() + $$ + End Sub +End Class + ) + + state.SendTypeChars("M(M(M(M(") + Await state.AssertCompletionSession() + Assert.Equal(" Ma(m:=(Ma(m:=(", state.GetLineTextFromCaretPosition()) + End Using + End Function + Friend Class MockSnippetInfoService Implements ISnippetInfoService diff --git a/src/EditorFeatures/Test2/IntelliSense/VisualBasicCompletionCommandHandlerTests_InternalsVisibleTo.vb b/src/EditorFeatures/Test2/IntelliSense/VisualBasicCompletionCommandHandlerTests_InternalsVisibleTo.vb index 022605c57c729..21c4d7275db50 100644 --- a/src/EditorFeatures/Test2/IntelliSense/VisualBasicCompletionCommandHandlerTests_InternalsVisibleTo.vb +++ b/src/EditorFeatures/Test2/IntelliSense/VisualBasicCompletionCommandHandlerTests_InternalsVisibleTo.vb @@ -174,9 +174,7 @@ End Namespace Await state.AssertNoCompletionSession() state.SendInvokeCompletionList() Await state.WaitForAsynchronousOperationsAsync() - Assert.True( - state.CurrentCompletionPresenterSession Is Nothing OrElse - Not state.CompletionItemsContainsAny({"ClassLibrary1"})) + Await state.AssertSessionIsNothingOrNoCompletionItemLike("ClassLibrary1") End Function Await AssertNoCompletionAndCompletionDoesNotContainClassLibrary1() state.SendTypeChars("("c) @@ -205,9 +203,7 @@ Imports System.Reflection Await state.AssertCompletionSession() Assert.True(state.CompletionItemsContainsAll({"ClassLibrary1"})) Else - If Not state.CurrentCompletionPresenterSession Is Nothing Then - Assert.False(state.CompletionItemsContainsAny({"ClassLibrary1"})) - End If + Await state.AssertSessionIsNothingOrNoCompletionItemLike("ClassLibrary1") End If End Using End Function diff --git a/src/EditorFeatures/Test2/IntelliSense/VisualBasicCompletionCommandHandlerTests_Projections.vb b/src/EditorFeatures/Test2/IntelliSense/VisualBasicCompletionCommandHandlerTests_Projections.vb index 6d6e4a8fbe48f..fbd7187b3b41c 100644 --- a/src/EditorFeatures/Test2/IntelliSense/VisualBasicCompletionCommandHandlerTests_Projections.vb +++ b/src/EditorFeatures/Test2/IntelliSense/VisualBasicCompletionCommandHandlerTests_Projections.vb @@ -49,7 +49,8 @@ End Namespace End Using End Function - + + Public Async Function TestAfterDot(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function TestInObjectCreationExpression(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function CommitCommentNoOpenAngle(completionImplementation As CompletionImplementation) As Task - Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function InvokeWithOpenAngleCommitCommentOnCloseAngle(completionImplementation As CompletionImplementation) As Task - Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function CommitCdataNoOpenAngle(completionImplementation As CompletionImplementation) As Task - Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Async Function InvokeWithOpenAngleCommitCdataOnCloseAngle(completionImplementation As CompletionImplementation) As Task - Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, + + Public Function InvokeWithNothingKeywordCommitSeeLangword(completionImplementation As CompletionImplementation) As Task Return InvokeWithKeywordCommitSeeLangword(completionImplementation, "Nothing") End Function - + + Public Function InvokeWithSharedKeywordCommitSeeLangword(completionImplementation As CompletionImplementation) As Task Return InvokeWithKeywordCommitSeeLangword(completionImplementation, "Shared") End Function - + + Public Function InvokeWithOverridableKeywordCommitSeeLangword(completionImplementation As CompletionImplementation) As Task Return InvokeWithKeywordCommitSeeLangword(completionImplementation, "Overridable", unique:=False) End Function - + + Public Function InvokeWithTrueKeywordCommitSeeLangword(completionImplementation As CompletionImplementation) As Task Return InvokeWithKeywordCommitSeeLangword(completionImplementation, "True") End Function - + + Public Function InvokeWithFalseKeywordCommitSeeLangword(completionImplementation As CompletionImplementation) As Task Return InvokeWithKeywordCommitSeeLangword(completionImplementation, "False") End Function - + + Public Function InvokeWithMustInheritKeywordCommitSeeLangword(completionImplementation As CompletionImplementation) As Task Return InvokeWithKeywordCommitSeeLangword(completionImplementation, "MustInherit") End Function - + + Public Function InvokeWithNotOverridableKeywordCommitSeeLangword(completionImplementation As CompletionImplementation) As Task Return InvokeWithKeywordCommitSeeLangword(completionImplementation, "NotOverridable") End Function - + + Public Function InvokeWithAsyncKeywordCommitSeeLangword(completionImplementation As CompletionImplementation) As Task Return InvokeWithKeywordCommitSeeLangword(completionImplementation, "Async") End Function - + + Public Function InvokeWithAwaitKeywordCommitSeeLangword(completionImplementation As CompletionImplementation) As Task Return InvokeWithKeywordCommitSeeLangword(completionImplementation, "Await") End Function @@ -1168,7 +1177,8 @@ End Class End Using End Function - + + Public Async Function AllowTypingDoubleQuote(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, - + + Public Async Function AllowTypingSpace(completionImplementation As CompletionImplementation) As Task Using state = TestStateFactory.CreateVisualBasicTestState(completionImplementation, > #endregion #region editor related operation - public void SendBackspace() + public virtual void SendBackspace() { EditorOperations.Backspace(); } - public void SendDelete() + public virtual void SendDelete() { EditorOperations.Delete(); } @@ -244,7 +244,7 @@ public void SendMoveToPreviousCharacter(bool extendSelection = false) EditorOperations.MoveToPreviousCharacter(extendSelection); } - public void SendDeleteWordToLeft() + public virtual void SendDeleteWordToLeft() { EditorOperations.DeleteWordToLeft(); } @@ -254,6 +254,14 @@ public void SendUndo(int count = 1) var history = UndoHistoryRegistry.GetHistory(SubjectBuffer); history.Undo(count); } + + public void SelectAndMoveCaret(int offset) + { + var currentCaret = GetCaretPoint(); + EditorOperations.SelectAndMoveCaret( + new VirtualSnapshotPoint(SubjectBuffer.CurrentSnapshot, currentCaret.BufferPosition.Position), + new VirtualSnapshotPoint(SubjectBuffer.CurrentSnapshot, currentCaret.BufferPosition.Position + offset)); + } #endregion #region test/information/verification @@ -445,6 +453,11 @@ public void SendTypeChar(char typeChar, Action commandHandler, Action nextHandler) + { + commandHandler(new ToggleCompletionModeCommandArgs(TextView, SubjectBuffer), nextHandler, TestCommandExecutionContext.Create()); + } + public void SendTypeChars(string typeChars, Action commandHandler) { foreach (var ch in typeChars) diff --git a/src/EditorFeatures/TestUtilities/AutomaticCompletion/AbstractAutomaticLineEnderTests.cs b/src/EditorFeatures/TestUtilities/AutomaticCompletion/AbstractAutomaticLineEnderTests.cs index cd6e4c2689e73..8cc54f056952e 100644 --- a/src/EditorFeatures/TestUtilities/AutomaticCompletion/AbstractAutomaticLineEnderTests.cs +++ b/src/EditorFeatures/TestUtilities/AutomaticCompletion/AbstractAutomaticLineEnderTests.cs @@ -1,25 +1,17 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Linq; -using System.Threading.Tasks; -using Microsoft.CodeAnalysis.Editor.Host; using Microsoft.CodeAnalysis.Editor.UnitTests.Utilities; using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces; -using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Test.Utilities; -using Microsoft.CodeAnalysis.Text; using Microsoft.VisualStudio.Commanding; -using Microsoft.VisualStudio.Language.Intellisense; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Editor; using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; using Microsoft.VisualStudio.Text.Operations; -using Moq; using Roslyn.Test.Utilities; -using Roslyn.Utilities; using Xunit; namespace Microsoft.CodeAnalysis.Editor.UnitTests.AutomaticCompletion @@ -32,7 +24,8 @@ public abstract class AbstractAutomaticLineEnderTests internal abstract IChainedCommandHandler CreateCommandHandler( ITextUndoHistoryRegistry undoRegistry, - IEditorOperationsFactoryService editorOperations); + IEditorOperationsFactoryService editorOperations, + IAsyncCompletionBroker asyncCompletionBroker); protected void Test(string expected, string code, bool completionActive = false, bool assertNextHandlerInvoked = false) { @@ -46,7 +39,8 @@ protected void Test(string expected, string code, bool completionActive = false, var commandHandler = CreateCommandHandler( GetExportedValue(workspace), - GetExportedValue(workspace)); + GetExportedValue(workspace), + GetExportedValue(workspace)); commandHandler.ExecuteCommand(new AutomaticLineEnderCommandArgs(view, buffer), assertNextHandlerInvoked diff --git a/src/EditorFeatures/TestUtilities/Completion/AbstractCompletionProviderTests.cs b/src/EditorFeatures/TestUtilities/Completion/AbstractCompletionProviderTests.cs index dd709d1c6b5d1..825c806905744 100644 --- a/src/EditorFeatures/TestUtilities/Completion/AbstractCompletionProviderTests.cs +++ b/src/EditorFeatures/TestUtilities/Completion/AbstractCompletionProviderTests.cs @@ -8,6 +8,7 @@ using System.Threading.Tasks; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Completion; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion; using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion; using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces; using Microsoft.CodeAnalysis.LanguageServices; @@ -22,8 +23,7 @@ using Roslyn.Test.Utilities; using Roslyn.Utilities; using Xunit; -using CompletionTrigger = Microsoft.CodeAnalysis.Completion.CompletionTrigger; -using CompletionItem = Microsoft.CodeAnalysis.Completion.CompletionItem; +using RoslynCompletion = Microsoft.CodeAnalysis.Completion; namespace Microsoft.CodeAnalysis.Editor.UnitTests.Completion { @@ -77,9 +77,9 @@ internal static CompletionHelper GetCompletionHelper(Document document) return CompletionHelper.GetHelper(document); } - internal Task GetCompletionListAsync( + internal Task GetCompletionListAsync( CompletionService service, - Document document, int position, CompletionTrigger triggerInfo, OptionSet options = null) + Document document, int position, RoslynCompletion.CompletionTrigger triggerInfo, OptionSet options = null) { return service.GetCompletionsAsync(document, position, triggerInfo, options: options); } @@ -92,16 +92,16 @@ protected async Task CheckResultsAsync( { var code = (await document.GetTextAsync()).ToString(); - var trigger = CompletionTrigger.Invoke; + var trigger = RoslynCompletion.CompletionTrigger.Invoke; if (usePreviousCharAsTrigger) { - trigger = CompletionTrigger.CreateInsertionTrigger(insertedCharacter: code.ElementAt(position - 1)); + trigger = RoslynCompletion.CompletionTrigger.CreateInsertionTrigger(insertedCharacter: code.ElementAt(position - 1)); } var completionService = GetCompletionService(document.Project.Solution.Workspace); var completionList = await GetCompletionListAsync(completionService, document, position, trigger); - var items = completionList == null ? ImmutableArray.Empty : completionList.Items; + var items = completionList == null ? ImmutableArray.Empty : completionList.Items; if (hasSuggestionModeItem != null) { @@ -325,7 +325,7 @@ private async Task VerifyCustomCommitProviderCheckResultsAsync(Document document var textBuffer = workspace.Documents.Single().TextBuffer; var service = GetCompletionService(workspace); - var items = (await GetCompletionListAsync(service, document, position, CompletionTrigger.Invoke)).Items; + var items = (await GetCompletionListAsync(service, document, position, RoslynCompletion.CompletionTrigger.Invoke)).Items; var firstItem = items.First(i => CompareItems(i.DisplayText, itemToCommit)); if (service.ExclusiveProviders?[0] is ICustomCommitCompletionProvider customCommitCompletionProvider) @@ -347,15 +347,15 @@ protected virtual void SetWorkspaceOptions(TestWorkspace workspace) internal async Task VerifyCustomCommitWorkerAsync( CompletionServiceWithProviders service, Document document, - CompletionItem completionItem, + RoslynCompletion.CompletionItem completionItem, string codeBeforeCommit, string expectedCodeAfterCommit, char? commitChar = null) { MarkupTestFile.GetPosition(expectedCodeAfterCommit, out var actualExpectedCode, out int expectedCaretPosition); - if (commitChar.HasValue && - !Controller.IsCommitCharacter(service.GetRules(), completionItem, commitChar.Value, commitChar.Value.ToString())) + if (commitChar.HasValue && + !CommitManager.IsCommitCharacter(service.GetRules(), completionItem, commitChar.Value, commitChar.Value.ToString())) { Assert.Equal(codeBeforeCommit, actualExpectedCode); return; @@ -381,7 +381,7 @@ internal async Task VerifyCustomCommitWorkerAsync( internal virtual void VerifyCustomCommitWorker( CompletionService service, ICustomCommitCompletionProvider customCommitCompletionProvider, - CompletionItem completionItem, + RoslynCompletion.CompletionItem completionItem, CompletionHelper completionRules, ITextView textView, ITextBuffer textBuffer, @@ -392,7 +392,7 @@ internal virtual void VerifyCustomCommitWorker( MarkupTestFile.GetPosition(expectedCodeAfterCommit, out var actualExpectedCode, out int expectedCaretPosition); if (commitChar.HasValue && - !Controller.IsCommitCharacter(service.GetRules(), completionItem, commitChar.Value, commitChar.Value.ToString())) + !CommitManager.IsCommitCharacter(service.GetRules(), completionItem, commitChar.Value, commitChar.Value.ToString())) { Assert.Equal(codeBeforeCommit, actualExpectedCode); return; @@ -435,7 +435,7 @@ private async Task VerifyProviderCommitCheckResultsAsync( var textSnapshot = textBuffer.CurrentSnapshot.AsText(); var service = GetCompletionService(workspace); - var items = (await GetCompletionListAsync(service, document, position, CompletionTrigger.Invoke)).Items; + var items = (await GetCompletionListAsync(service, document, position, RoslynCompletion.CompletionTrigger.Invoke)).Items; var firstItem = items.First(i => CompareItems(i.DisplayText + i.DisplayTextSuffix, itemToCommit)); var completionRules = GetCompletionHelper(document); @@ -444,7 +444,7 @@ private async Task VerifyProviderCommitCheckResultsAsync( var text = await document.GetTextAsync(); if (commitChar == '\t' || - Controller.IsCommitCharacter(service.GetRules(), firstItem, commitChar, textTypedSoFar + commitChar)) + CommitManager.IsCommitCharacter(service.GetRules(), firstItem, commitChar, textTypedSoFar + commitChar)) { var textChange = (await service.GetChangeAsync(document, firstItem, commitChar, CancellationToken.None)).TextChange; @@ -570,7 +570,7 @@ private async Task VerifyItemWithReferenceWorkerAsync( testWorkspace.Options = testWorkspace.Options.WithChangedOption(CompletionOptions.HideAdvancedMembers, document.Project.Language, hideAdvancedMembers); - var triggerInfo = CompletionTrigger.Invoke; + var triggerInfo = RoslynCompletion.CompletionTrigger.Invoke; var completionService = GetCompletionService(testWorkspace); var completionList = await GetCompletionListAsync(completionService, document, position, triggerInfo); @@ -625,7 +625,7 @@ private async Task VerifyItemWithMscorlib45WorkerAsync( var documentId = testWorkspace.Documents.Single(d => d.Name == "SourceDocument").Id; var document = solution.GetDocument(documentId); - var triggerInfo = CompletionTrigger.Invoke; + var triggerInfo = RoslynCompletion.CompletionTrigger.Invoke; var completionService = GetCompletionService(testWorkspace); var completionList = await GetCompletionListAsync(completionService, document, position, triggerInfo); @@ -656,7 +656,7 @@ protected async Task VerifyItemInLinkedFilesAsync(string xmlString, string expec var currentContextDocumentId = testWorkspace.GetDocumentIdInCurrentContext(textContainer); var document = solution.GetDocument(currentContextDocumentId); - var triggerInfo = CompletionTrigger.Invoke; + var triggerInfo = RoslynCompletion.CompletionTrigger.Invoke; var completionService = GetCompletionService(testWorkspace); var completionList = await GetCompletionListAsync(completionService, document, position, triggerInfo); @@ -771,7 +771,7 @@ private void VerifyTextualTriggerCharacterWorker( var text = document.TextBuffer.CurrentSnapshot.AsText(); var options = workspace.Options.WithChangedOption( CompletionOptions.TriggerOnTypingLetters, document.Project.Language, triggerOnLetter); - var trigger = CompletionTrigger.CreateInsertionTrigger(text[position]); + var trigger = RoslynCompletion.CompletionTrigger.CreateInsertionTrigger(text[position]); var service = GetCompletionService(workspace); var isTextualTriggerCharacterResult = service.ShouldTriggerCompletion(text, position + 1, trigger, options: options); @@ -814,18 +814,18 @@ protected async Task VerifyCommitCharactersAsync(string initialMarkup, string te var position = hostDocument.CursorPosition.Value; var service = GetCompletionService(workspace); - var completionList = await GetCompletionListAsync(service, document, position, CompletionTrigger.Invoke); + var completionList = await GetCompletionListAsync(service, document, position, RoslynCompletion.CompletionTrigger.Invoke); var item = completionList.Items.First(i => i.DisplayText.StartsWith(textTypedSoFar)); foreach (var ch in validChars) { - Assert.True(Controller.IsCommitCharacter( + Assert.True(CommitManager.IsCommitCharacter( service.GetRules(), item, ch, textTypedSoFar + ch), $"Expected '{ch}' to be a commit character"); } foreach (var ch in invalidChars) { - Assert.False(Controller.IsCommitCharacter( + Assert.False(CommitManager.IsCommitCharacter( service.GetRules(), item, ch, textTypedSoFar + ch), $"Expected '{ch}' NOT to be a commit character"); } } diff --git a/src/EditorFeatures/TestUtilities/ExperimentationService/TestExperimentationServiceInternal.cs b/src/EditorFeatures/TestUtilities/ExperimentationService/TestExperimentationServiceInternal.cs new file mode 100644 index 0000000000000..71a4366673cf1 --- /dev/null +++ b/src/EditorFeatures/TestUtilities/ExperimentationService/TestExperimentationServiceInternal.cs @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Composition; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.VisualStudio.Text.Utilities; + +namespace Microsoft.CodeAnalysis.Test.Utilities.ExperimentationService +{ + [Export(typeof(IExperimentationServiceInternal)), Shared] + [PartNotDiscoverable] + internal class TestExperimentationServiceInternal : IExperimentationServiceInternal + { + [ImportingConstructor] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] + public TestExperimentationServiceInternal() + { + } + + public bool IsCachedFlightEnabled(string flightName) + { + return true; + } + } +} diff --git a/src/EditorFeatures/TestUtilities/MinimalTestExportProvider.cs b/src/EditorFeatures/TestUtilities/MinimalTestExportProvider.cs index 084f658f30373..10a044db9c5e7 100644 --- a/src/EditorFeatures/TestUtilities/MinimalTestExportProvider.cs +++ b/src/EditorFeatures/TestUtilities/MinimalTestExportProvider.cs @@ -7,6 +7,8 @@ using Microsoft.CodeAnalysis.Editor.UnitTests.Utilities; using Microsoft.CodeAnalysis.SymbolMapping; using Microsoft.CodeAnalysis.Test.Utilities; +using Microsoft.CodeAnalysis.Test.Utilities.ExperimentationService; +using Microsoft.VisualStudio.Composition; namespace Microsoft.CodeAnalysis.Editor.UnitTests { @@ -34,10 +36,8 @@ public static Type[] GetLanguageNeutralTypes() typeof(Microsoft.CodeAnalysis.Editor.UnitTests.TestOptionsServiceFactory), typeof(Implementation.Classification.ClassificationTypeFormatDefinitions), // to include EditorFeatures.Wpf typeof(DefaultSymbolMappingService), - typeof(TestWaitIndicator), typeof(TestExtensionErrorHandler), typeof(TestExportJoinableTaskContext), // Needed by editor components, but not actually exported anywhere else - typeof(TestObscuringTipManager) // Needed by editor components, but only exported in editor VS layer. Tracked by https://devdiv.visualstudio.com/DevDiv/_workitems?id=544569. }; return types//.Concat(TestHelpers.GetAllTypesWithStaticFieldsImplementingType(typeof(InternalSolutionCrawlerOptions).Assembly, typeof(Microsoft.CodeAnalysis.Options.IOption))) @@ -48,7 +48,7 @@ public static Type[] GetLanguageNeutralTypes() .ToArray(); } - public static IEnumerable GetEditorAssemblies() + public static ComposableCatalog GetEditorAssemblyCatalog() { var assemblies = new[] { @@ -75,10 +75,21 @@ public static IEnumerable GetEditorAssemblies() typeof(BasicUndo.IBasicUndoHistory).Assembly, // Microsoft.VisualStudio.Language.StandardClassification.dll: - typeof(Microsoft.VisualStudio.Language.StandardClassification.PredefinedClassificationTypeNames).Assembly + typeof(Microsoft.VisualStudio.Language.StandardClassification.PredefinedClassificationTypeNames).Assembly, + + // Microsoft.VisualStudio.Language + typeof(Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.IAsyncCompletionBroker).Assembly, + + // Microsoft.VisualStudio.CoreUtility + typeof(Microsoft.VisualStudio.Utilities.IFeatureServiceFactory).Assembly, + + // Microsoft.VisualStudio.Text.Internal + typeof(Microsoft.VisualStudio.Text.Utilities.IExperimentationServiceInternal).Assembly, }; - return assemblies; + // Consider removing the internal service from the output: https://github.com/dotnet/roslyn/issues/30249 + return ExportProviderCache.GetOrCreateAssemblyCatalog(assemblies, ExportProviderCache.CreateResolver()) + .WithPart(typeof(TestExperimentationServiceInternal)); } } } diff --git a/src/EditorFeatures/TestUtilities/ServiceTestExportProvider.cs b/src/EditorFeatures/TestUtilities/ServiceTestExportProvider.cs index 61215c680c1ff..c8bc86acfcf89 100644 --- a/src/EditorFeatures/TestUtilities/ServiceTestExportProvider.cs +++ b/src/EditorFeatures/TestUtilities/ServiceTestExportProvider.cs @@ -20,8 +20,8 @@ public static class ServiceTestExportProvider { public static ComposableCatalog CreateAssemblyCatalog() { - return ExportProviderCache.GetOrCreateAssemblyCatalog( - GetLanguageNeutralTypes().Select(t => t.Assembly).Distinct().Concat(MinimalTestExportProvider.GetEditorAssemblies()), ExportProviderCache.CreateResolver()); + return ExportProviderCache.GetOrCreateAssemblyCatalog(GetLanguageNeutralTypes().Select(t => t.Assembly).Distinct(), ExportProviderCache.CreateResolver()) + .WithParts(MinimalTestExportProvider.GetEditorAssemblyCatalog()); } public static Type[] GetLanguageNeutralTypes() diff --git a/src/EditorFeatures/TestUtilities/TestExportProvider.cs b/src/EditorFeatures/TestUtilities/TestExportProvider.cs index 5c845a5af3c60..fda861e84713f 100644 --- a/src/EditorFeatures/TestUtilities/TestExportProvider.cs +++ b/src/EditorFeatures/TestUtilities/TestExportProvider.cs @@ -37,7 +37,7 @@ public static ExportProvider ExportProviderWithCSharpAndVisualBasic private static Lazy s_lazyMinimumCatalogWithCSharpAndVisualBasic = new Lazy(() => ExportProviderCache.CreateTypeCatalog(GetNeutralAndCSharpAndVisualBasicTypes()) - .WithParts(ExportProviderCache.GetOrCreateAssemblyCatalog(MinimalTestExportProvider.GetEditorAssemblies()))); + .WithParts(MinimalTestExportProvider.GetEditorAssemblyCatalog())); private static Lazy s_lazyMinimumExportProviderFactoryWithCSharpAndVisualBasic = new Lazy(() => ExportProviderCache.GetOrCreateExportProviderFactory(MinimumCatalogWithCSharpAndVisualBasic)); @@ -117,15 +117,13 @@ private static Type[] GetNeutralAndCSharpAndVisualBasicTypes() } private static ComposableCatalog CreateAssemblyCatalogWithCSharpAndVisualBasic() - { - return ExportProviderCache - .GetOrCreateAssemblyCatalog(GetCSharpAndVisualBasicAssemblies(), ExportProviderCache.CreateResolver()) - .WithCompositionService(); - } + => GetCSharpAndVisualBasicAssemblyCatalog().WithCompositionService(); - public static IEnumerable GetCSharpAndVisualBasicAssemblies() + public static ComposableCatalog GetCSharpAndVisualBasicAssemblyCatalog() { - return GetNeutralAndCSharpAndVisualBasicTypes().Select(t => t.Assembly).Distinct().Concat(MinimalTestExportProvider.GetEditorAssemblies()); + return ExportProviderCache.GetOrCreateAssemblyCatalog( + GetNeutralAndCSharpAndVisualBasicTypes().Select(t => t.Assembly).Distinct(), ExportProviderCache.CreateResolver()) + .WithParts(MinimalTestExportProvider.GetEditorAssemblyCatalog()); } } } diff --git a/src/EditorFeatures/TestUtilities/TestObscuringTipManager.cs b/src/EditorFeatures/TestUtilities/TestObscuringTipManager.cs index e98afcc1d7c4c..cbea7161f31a4 100644 --- a/src/EditorFeatures/TestUtilities/TestObscuringTipManager.cs +++ b/src/EditorFeatures/TestUtilities/TestObscuringTipManager.cs @@ -9,6 +9,7 @@ namespace Microsoft.CodeAnalysis.Editor.UnitTests // IObscuringTipManager, which is only exported in VS editor layer. // This is tracked by the editor bug https://devdiv.visualstudio.com/DevDiv/_workitems?id=544569. // Meantime a workaround is to export dummy IObscuringTipManager. + // Do not delete: this one is still used in Editor and implicitly required for EventHookupCommandHandlerTests in Roslyn. [Export(typeof(IObscuringTipManager))] internal class TestObscuringTipManager : IObscuringTipManager { diff --git a/src/EditorFeatures/TestUtilities2/Intellisense/CompletionImplementation.vb b/src/EditorFeatures/TestUtilities2/Intellisense/CompletionImplementation.vb index 8561a321e4c03..d4ab88f1ad602 100644 --- a/src/EditorFeatures/TestUtilities2/Intellisense/CompletionImplementation.vb +++ b/src/EditorFeatures/TestUtilities2/Intellisense/CompletionImplementation.vb @@ -3,5 +3,6 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense Public Enum CompletionImplementation Legacy = 1 + Modern = 2 End Enum End Namespace diff --git a/src/EditorFeatures/TestUtilities2/Intellisense/ITestState.vb b/src/EditorFeatures/TestUtilities2/Intellisense/ITestState.vb deleted file mode 100644 index 2a888fc437f24..0000000000000 --- a/src/EditorFeatures/TestUtilities2/Intellisense/ITestState.vb +++ /dev/null @@ -1,157 +0,0 @@ -' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -Imports System.Collections.Immutable -Imports Microsoft.CodeAnalysis.Completion -Imports Microsoft.CodeAnalysis.Editor.CommandHandlers -Imports Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces -Imports Microsoft.CodeAnalysis.SignatureHelp -Imports Microsoft.VisualStudio.Text -Imports Microsoft.VisualStudio.Text.Editor - -Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense - Friend Interface ITestState - Inherits IDisposable - -#Region "Base class methods and properties implemented in the interface" - - ReadOnly Property Workspace As TestWorkspace - - ReadOnly Property SubjectBuffer As ITextBuffer - - ReadOnly Property TextView As ITextView - - Function GetCompletionCommandHandler() As CompletionCommandHandler - - Function GetExportedValue(Of T)() As T - - Function GetService(Of T)() As T - - Function GetDocumentText() As String - - Sub SendDeleteWordToLeft() - - Function GetSelectedItem() As CompletionItem - - Function GetSelectedItemOpt() As CompletionItem - - Function GetCompletionItems() As IList(Of CompletionItem) - - Sub RaiseFiltersChanged(args As CompletionItemFilterStateChangedEventArgs) - - Function GetCompletionItemFilters() As ImmutableArray(Of CompletionItemFilter) - - Function GetSuggestionModeItem() As CompletionItem - - Function IsSoftSelected() As Boolean - - Function GetSignatureHelpItems() As IList(Of SignatureHelpItem) - - Sub SendMoveToPreviousCharacter(Optional extendSelection As Boolean = False) - - Sub AssertMatchesTextStartingAtLine(line As Integer, text As String) - - Function GetLineFromCurrentCaretPosition() As ITextSnapshotLine - - Function GetCaretPoint() As CaretPosition - -#End Region - -#Region "IntelliSense Operations" - Sub SendEscape() - - Sub SendDownKey() - - Sub SendUpKey() - - Sub SendLeftKey() - - Sub SendRightKey() - - Sub SendUndo() - -#End Region - -#Region "Completion Operations" - - Sub SendTypeChars(typeChars As String) - - Sub SendTab() - - Sub SendReturn() - - Sub SendPageUp() - - Sub SendCut() - - Sub SendPaste() - - Sub SendInvokeCompletionList() - - Sub SendCommitUniqueCompletionListItem() - - Sub SendSelectCompletionItem(displayText As String) - - Sub SendSelectCompletionItemThroughPresenterSession(item As CompletionItem) - - Sub SendInsertSnippetCommand() - - Sub SendSurroundWithCommand() - - Sub SendSave() - - Sub SendSelectAll() - - Function AssertNoCompletionSession(Optional block As Boolean = True) As Task - - Function AssertCompletionSession() As Task - - Function AssertLineTextAroundCaret(expectedTextBeforeCaret As String, expectedTextAfterCaret As String) As Task - - Function CompletionItemsContainsAll(displayText As String()) As Boolean - - Function CompletionItemsContainsAny(displayText As String()) As Boolean - - Sub AssertItemsInOrder(expectedOrder As String()) - - Function GetLineTextFromCaretPosition() As String -#End Region - -#Region "Signature Help and Completion Operations" - - Sub SendBackspace() - - - Sub SendDelete() - - Sub SendTypeCharsToSpecificViewAndBuffer(typeChars As String, view As IWpfTextView, buffer As ITextBuffer) -#End Region - -#Region "Signature Help Operations" - - Sub SendInvokeSignatureHelp() - - Function AssertNoSignatureHelpSession(Optional block As Boolean = True) As Task - - Function SignatureHelpItemsContainsAll(displayText As String()) As Boolean - - Function SignatureHelpItemsContainsAny(displayText As String()) As Boolean - - Function AssertSelectedSignatureHelpItem(Optional displayText As String = Nothing, - Optional documentation As String = Nothing, - Optional selectedParameter As String = Nothing) As Task - - Function AssertSignatureHelpSession() As Task - - Function WaitForAsynchronousOperationsAsync() As Task - - Function AssertSelectedCompletionItem( - Optional displayText As String = Nothing, - Optional description As String = Nothing, - Optional isSoftSelected As Boolean? = Nothing, - Optional isHardSelected As Boolean? = Nothing, - Optional displayTextSuffix As String = Nothing, - Optional shouldFormatOnCommit As Boolean? = Nothing, - Optional inlineDescription As String = Nothing) As Task -#End Region - End Interface -End Namespace diff --git a/src/EditorFeatures/TestUtilities2/Intellisense/LegacyTestState.vb b/src/EditorFeatures/TestUtilities2/Intellisense/LegacyTestState.vb new file mode 100644 index 0000000000000..0b2ca64e20b41 --- /dev/null +++ b/src/EditorFeatures/TestUtilities2/Intellisense/LegacyTestState.vb @@ -0,0 +1,249 @@ +' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +Imports System.Collections.Immutable +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.Completion +Imports Microsoft.CodeAnalysis.Editor.CommandHandlers +Imports Microsoft.VisualStudio.Text.Editor +Imports Microsoft.VisualStudio.Text.Editor.Commanding.Commands +Imports Roslyn.Utilities +Imports VSCommanding = Microsoft.VisualStudio.Commanding + +Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense + + Partial Friend Class LegacyTestState + Inherits TestStateBase + + Friend ReadOnly CompletionCommandHandler As CompletionCommandHandler + + Friend ReadOnly Property CurrentCompletionPresenterSession As TestCompletionPresenterSession + Get + Return SessionTestState.CurrentCompletionPresenterSession + End Get + End Property + + ' Do not call directly. Use TestStateFactory + Friend Sub New(workspaceElement As XElement, + extraCompletionProviders As CompletionProvider(), + excludedTypes As List(Of Type), + extraExportedTypes As List(Of Type), + includeFormatCommandHandler As Boolean, + workspaceKind As String) + MyBase.New(workspaceElement, extraCompletionProviders, excludedTypes, extraExportedTypes, includeFormatCommandHandler, workspaceKind) + + Me.CompletionCommandHandler = GetExportedValue(Of CompletionCommandHandler)() + End Sub + +#Region "Editor Related Operations" + + Public Overrides Sub SendEscape() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of EscapeKeyCommandArgs)) + MyBase.SendEscape(Sub(a, n, c) handler.ExecuteCommand(a, Sub() SignatureHelpAfterCompletionCommandHandler.ExecuteCommand(a, n, c), c), Sub() Return) + End Sub + + Public Overrides Sub SendDownKey() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of DownKeyCommandArgs)) + MyBase.SendDownKey(Sub(a, n, c) handler.ExecuteCommand(a, Sub() SignatureHelpAfterCompletionCommandHandler.ExecuteCommand(a, n, c), c), Sub() Return) + End Sub + + Public Overrides Sub SendUpKey() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of UpKeyCommandArgs)) + MyBase.SendUpKey(Sub(a, n, c) handler.ExecuteCommand(a, Sub() SignatureHelpAfterCompletionCommandHandler.ExecuteCommand(a, n, c), c), Sub() Return) + End Sub + + Public Overrides Sub SendPageUp() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of PageUpKeyCommandArgs)) + MyBase.SendPageUp(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendCut() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of CutCommandArgs)) + MyBase.SendCut(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendPaste() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of PasteCommandArgs)) + MyBase.SendPaste(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendInvokeCompletionList() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of InvokeCompletionListCommandArgs)) + MyBase.SendInvokeCompletionList(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + Public Overrides Sub SendInsertSnippetCommand() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of InsertSnippetCommandArgs)) + MyBase.SendInsertSnippetCommand(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendSurroundWithCommand() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of SurroundWithCommandArgs)) + MyBase.SendSurroundWithCommand(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendSave() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of SaveCommandArgs)) + MyBase.SendSave(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendSelectAll() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of SelectAllCommandArgs)) + MyBase.SendSelectAll(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub ToggleSuggestionMode() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of ToggleCompletionModeCommandArgs)) + MyBase.ToggleSuggestionMode(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Protected Overrides Function GetHandler(Of T As VSCommanding.ICommandHandler)() As T + Return DirectCast(DirectCast(CompletionCommandHandler, VSCommanding.ICommandHandler), T) + End Function +#End Region + +#Region "Completion Operations" + + Public Overrides Function GetSelectedItem() As CompletionItem + Return CurrentCompletionPresenterSession.SelectedItem + End Function + + Public Overrides Function GetSelectedItemOpt() As CompletionItem + Return CurrentCompletionPresenterSession?.SelectedItem + End Function + + Public Overrides Function GetCompletionItems() As IList(Of CompletionItem) + Return CurrentCompletionPresenterSession.CompletionItems + End Function + + Public Overrides Sub RaiseFiltersChanged(args As CompletionItemFilterStateChangedEventArgs) + CurrentCompletionPresenterSession.RaiseFiltersChanged(args) + End Sub + + Public Overrides Function GetCompletionItemFilters() As ImmutableArray(Of CompletionItemFilter) + Return CurrentCompletionPresenterSession.CompletionItemFilters + End Function + + Public Overrides Function HasSuggestedItem() As Boolean + ' SuggestionModeItem is always not null but is displayed only when SuggestionMode = True + Return CurrentCompletionPresenterSession.SuggestionMode + End Function + + Public Overrides Function IsSoftSelected() As Boolean + Return CurrentCompletionPresenterSession.IsSoftSelected + End Function + + Public Overrides Sub SendCommitUniqueCompletionListItem() + Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of CommitUniqueCompletionListItemCommandArgs)) + MyBase.SendCommitUniqueCompletionListItem(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + Public Overrides Sub SendSelectCompletionItem(displayText As String) + Dim item = CurrentCompletionPresenterSession.CompletionItems.FirstOrDefault(Function(i) i.DisplayText = displayText) + Assert.NotNull(item) + CurrentCompletionPresenterSession.SetSelectedItem(item) + End Sub + + Public Overrides Sub SendSelectCompletionItemThroughPresenterSession(item As CompletionItem) + CurrentCompletionPresenterSession.SetSelectedItem(item) + End Sub + + Public Overrides Async Function AssertNoCompletionSession() As Task + Await WaitForAsynchronousOperationsAsync() + Assert.Null(Me.CurrentCompletionPresenterSession) + End Function + + Public Overrides Sub AssertNoCompletionSessionWithNoBlock() + Assert.Null(Me.CurrentCompletionPresenterSession) + End Sub + + Public Overrides Async Function AssertCompletionSessionAfterTypingHash() As Task + ' The legacy completion implementation was not updated to treat # as an IntelliSense trigger + Await AssertNoCompletionSession() + End Function + + Public Overrides Async Function AssertCompletionSession(Optional projectionsView As ITextView = Nothing) As Task + ' projectionsView is not used in this implementation + Await WaitForAsynchronousOperationsAsync() + Assert.NotNull(Me.CurrentCompletionPresenterSession) + End Function + + Public Overrides Function CompletionItemsContainsAll(displayText As String()) As Boolean + AssertNoAsynchronousOperationsRunning() + Return displayText.All(Function(v) CurrentCompletionPresenterSession.CompletionItems.Any( + Function(i) i.DisplayText = v)) + End Function + + Public Overrides Function CompletionItemsContainsAny(displayText As String()) As Boolean + AssertNoAsynchronousOperationsRunning() + Return displayText.Any(Function(v) CurrentCompletionPresenterSession.CompletionItems.Any( + Function(i) i.DisplayText = v)) + End Function + + Public Overrides Function CompletionItemsContainsAny(displayText As String, displayTextSuffix As String) As Boolean + AssertNoAsynchronousOperationsRunning() + Return CurrentCompletionPresenterSession.CompletionItems.Any(Function(i) i.DisplayText = displayText AndAlso i.DisplayTextSuffix = displayTextSuffix) + End Function + + Public Overrides Sub AssertItemsInOrder(expectedOrder As String()) + AssertNoAsynchronousOperationsRunning() + Dim items = CurrentCompletionPresenterSession.CompletionItems + Assert.Equal(expectedOrder.Count, items.Count) + For i = 0 To expectedOrder.Count - 1 + Assert.Equal(expectedOrder(i), items(i).DisplayText) + Next + End Sub + + Public Overrides Async Function AssertSelectedCompletionItem( + Optional displayText As String = Nothing, + Optional displayTextSuffix As String = Nothing, + Optional description As String = Nothing, + Optional isSoftSelected As Boolean? = Nothing, + Optional isHardSelected As Boolean? = Nothing, + Optional shouldFormatOnCommit As Boolean? = Nothing, + Optional inlineDescription As String = Nothing, + Optional projectionsView As ITextView = Nothing) As Task + ' projectionsView is not used in this implementation. + + Await WaitForAsynchronousOperationsAsync() + If isSoftSelected.HasValue Then + Assert.True(isSoftSelected.Value = Me.CurrentCompletionPresenterSession.IsSoftSelected, "Current completion is not soft-selected.") + End If + + If isHardSelected.HasValue Then + Assert.True(isHardSelected.Value = Not Me.CurrentCompletionPresenterSession.IsSoftSelected, "Current completion is not hard-selected.") + End If + + If displayText IsNot Nothing Then + Assert.Equal(displayText, Me.CurrentCompletionPresenterSession.SelectedItem.DisplayText) + End If + + If displayTextSuffix IsNot Nothing Then + Assert.Equal(displayTextSuffix, Me.CurrentCompletionPresenterSession.SelectedItem.DisplayTextSuffix) + End If + + If inlineDescription IsNot Nothing Then + Assert.Equal(inlineDescription, Me.CurrentCompletionPresenterSession.SelectedItem.InlineDescription) + End If + + If shouldFormatOnCommit.HasValue Then + Assert.Equal(shouldFormatOnCommit.Value, Me.CurrentCompletionPresenterSession.SelectedItem.Rules.FormatOnCommit) + End If + + If description IsNot Nothing Then + Dim document = Me.Workspace.CurrentSolution.Projects.First().Documents.First() + Dim service = CompletionService.GetService(document) + Dim itemDescription = Await service.GetDescriptionAsync( + document, Me.CurrentCompletionPresenterSession.SelectedItem) + Assert.Equal(description, itemDescription.Text) + End If + End Function + + Public Overrides Function AssertSessionIsNothingOrNoCompletionItemLike(text As String) As Task + If Not CurrentCompletionPresenterSession Is Nothing Then + Assert.False(CompletionItemsContainsAny({"ClassLibrary1"})) + End If + + Return Task.CompletedTask + End Function + +#End Region + End Class +End Namespace diff --git a/src/EditorFeatures/TestUtilities2/Intellisense/ModernCompletionTestState.vb b/src/EditorFeatures/TestUtilities2/Intellisense/ModernCompletionTestState.vb new file mode 100644 index 0000000000000..377db0041812a --- /dev/null +++ b/src/EditorFeatures/TestUtilities2/Intellisense/ModernCompletionTestState.vb @@ -0,0 +1,377 @@ +' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +Imports System.Collections.Immutable +Imports System.Threading +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.Completion +Imports Microsoft.VisualStudio.Commanding +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion +Imports Microsoft.VisualStudio.Text.Editor +Imports Microsoft.VisualStudio.Text.Editor.Commanding.Commands +Imports Roslyn.Utilities +Imports VSCommanding = Microsoft.VisualStudio.Commanding + +Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense + + Partial Friend Class ModernCompletionTestState + Inherits TestStateBase + + Friend Const RoslynItem = "RoslynItem" + Friend ReadOnly EditorCompletionCommandHandler As VSCommanding.ICommandHandler + + ' Do not call directly. Use TestStateFactory + Friend Sub New(workspaceElement As XElement, + extraCompletionProviders As CompletionProvider(), + excludedTypes As List(Of Type), + extraExportedTypes As List(Of Type), + includeFormatCommandHandler As Boolean, + workspaceKind As String) + + MyBase.New( + workspaceElement, + extraCompletionProviders, + excludedTypes:=excludedTypes, + extraExportedTypes, + includeFormatCommandHandler, + workspaceKind:=workspaceKind) + + EditorCompletionCommandHandler = GetExportedValues(Of VSCommanding.ICommandHandler)(). + Single(Function(e As VSCommanding.ICommandHandler) e.GetType().FullName = "Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion.Implementation.CompletionCommandHandler") + End Sub + +#Region "Editor Related Operations" + + Public Overrides Sub SendEscape() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of EscapeKeyCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of EscapeKeyCommandArgs)) + MyBase.SendEscape(Sub(a, n, c) handler.ExecuteCommand(a, Sub() SignatureHelpAfterCompletionCommandHandler.ExecuteCommand(a, n, c), c), Sub() Return) + End Sub + + Public Overrides Sub SendDownKey() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of DownKeyCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of DownKeyCommandArgs)) + MyBase.SendDownKey(Sub(a, n, c) handler.ExecuteCommand(a, Sub() SignatureHelpAfterCompletionCommandHandler.ExecuteCommand(a, n, c), c), Sub() Return) + End Sub + + Public Overrides Sub SendUpKey() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of UpKeyCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of UpKeyCommandArgs)) + MyBase.SendUpKey(Sub(a, n, c) handler.ExecuteCommand(a, Sub() SignatureHelpAfterCompletionCommandHandler.ExecuteCommand(a, n, c), c), Sub() Return) + End Sub + + Public Overrides Sub SendPageUp() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of PageUpKeyCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of PageUpKeyCommandArgs)) + MyBase.SendPageUp(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendCut() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of CutCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of CutCommandArgs)) + MyBase.SendCut(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendPaste() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of PasteCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of PasteCommandArgs)) + MyBase.SendPaste(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendInvokeCompletionList() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of InvokeCompletionListCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of InvokeCompletionListCommandArgs)) + MyBase.SendInvokeCompletionList(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendInsertSnippetCommand() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of InsertSnippetCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of InsertSnippetCommandArgs)) + MyBase.SendInsertSnippetCommand(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendSurroundWithCommand() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of SurroundWithCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of SurroundWithCommandArgs)) + MyBase.SendSurroundWithCommand(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendSave() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of SaveCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of SaveCommandArgs)) + MyBase.SendSave(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendSelectAll() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of SelectAllCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of SelectAllCommandArgs)) + MyBase.SendSelectAll(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Sub SendDeleteWordToLeft() + Dim compHandler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of WordDeleteToStartCommandArgs)) + MyBase.SendWordDeleteToStart(Sub(a, n, c) compHandler.ExecuteCommand(a, n, c), AddressOf MyBase.SendDeleteWordToLeft) + End Sub + + Public Overrides Sub ToggleSuggestionMode() + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of ToggleCompletionModeCommandArgs)) + MyBase.ToggleSuggestionMode(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Protected Overrides Function GetHandler(Of T As VSCommanding.ICommandHandler)() As T + Return DirectCast(EditorCompletionCommandHandler, T) + End Function + +#End Region + +#Region "Completion Operations" + + Public Overrides Sub SendCommitUniqueCompletionListItem() + ' The legacy handler implements VSCommanding.IChainedCommandHandler(Of CommitUniqueCompletionListItemCommandArgs) + Dim handler = DirectCast(EditorCompletionCommandHandler, VSCommanding.ICommandHandler(Of CommitUniqueCompletionListItemCommandArgs)) + MyBase.SendCommitUniqueCompletionListItem(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overrides Async Function AssertNoCompletionSession() As Task + Await WaitForAsynchronousOperationsAsync() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + If session Is Nothing Then + Return + End If + + If session.IsDismissed Then + Return + End If + + Dim completionItems = session.GetComputedItems(CancellationToken.None) + ' During the computation we can explicitly dismiss the session or we can return no items. + ' Each of these conditions mean that there is no active completion. + Assert.True(session.IsDismissed OrElse completionItems.Items.Count() = 0) + End Function + + Public Overrides Sub AssertNoCompletionSessionWithNoBlock() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + If session Is Nothing Then + Return + End If + + If session.IsDismissed Then + Return + End If + + ' If completionItems cannot be calculated in 5 seconds, no session exists. + Dim task1 = Task.Delay(5000) + Dim task2 = Task.Run( + Sub() + Dim completionItems = session.GetComputedItems(CancellationToken.None) + + ' In the non blocking mode, we are not interested for a session appeared later than in 5 seconds. + If task1.Status = TaskStatus.Running Then + ' During the computation we can explicitly dismiss the session or we can return no items. + ' Each of these conditions mean that there is no active completion. + Assert.True(session.IsDismissed OrElse completionItems.Items.Count() = 0) + End If + End Sub) + + Task.WaitAny(task1, task2) + End Sub + + Public Overrides Async Function AssertCompletionSession(Optional projectionsView As ITextView = Nothing) As Task + Dim view = If(projectionsView, TextView) + + Await WaitForAsynchronousOperationsAsync() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(view) + Assert.NotNull(session) + End Function + + Public Overrides Async Function AssertCompletionSessionAfterTypingHash() As Task + ' starting with the modern completion implementation, # is treated as an IntelliSense trigger + Await AssertCompletionSession() + End Function + + Public Overrides Function CompletionItemsContainsAll(displayText As String()) As Boolean + AssertNoAsynchronousOperationsRunning() + Dim items = GetRoslynCompletionItems() + Return displayText.All(Function(v) items.Any(Function(i) i.DisplayText = v)) + End Function + + Public Overrides Function CompletionItemsContainsAny(displayText As String()) As Boolean + AssertNoAsynchronousOperationsRunning() + Dim items = GetRoslynCompletionItems() + Return displayText.Any(Function(v) items.Any(Function(i) i.DisplayText = v)) + End Function + + Public Overrides Function CompletionItemsContainsAny(displayText As String, displayTextSuffix As String) As Boolean + AssertNoAsynchronousOperationsRunning() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + Assert.NotNull(session) + Dim items = session.GetComputedItems(CancellationToken.None) + + Return items.Items.Any(Function(i) i.DisplayText = displayText AndAlso i.Suffix = displayTextSuffix) + End Function + + Public Overrides Sub AssertItemsInOrder(expectedOrder As String()) + AssertNoAsynchronousOperationsRunning() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + Assert.NotNull(session) + Dim items = session.GetComputedItems(CancellationToken.None).Items + Assert.Equal(expectedOrder.Count, items.Count) + For i = 0 To expectedOrder.Count - 1 + Assert.Equal(expectedOrder(i), items(i).DisplayText) + Next + End Sub + + Public Overrides Async Function AssertSelectedCompletionItem( + Optional displayText As String = Nothing, + Optional displayTextSuffix As String = Nothing, + Optional description As String = Nothing, + Optional isSoftSelected As Boolean? = Nothing, + Optional isHardSelected As Boolean? = Nothing, + Optional shouldFormatOnCommit As Boolean? = Nothing, + Optional inlineDescription As String = Nothing, + Optional projectionsView As ITextView = Nothing) As Task + Dim view = If(projectionsView, TextView) + + Await WaitForAsynchronousOperationsAsync() + + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(view) + Assert.NotNull(session) + Dim items = session.GetComputedItems(CancellationToken.None) + + If isSoftSelected.HasValue Then + If isSoftSelected.Value Then + Assert.True(items.UsesSoftSelection, "Current completion is not soft-selected. Expected: soft-selected") + Else + Assert.False(items.UsesSoftSelection, "Current completion is soft-selected. Expected: not soft-selected") + End If + End If + + If isHardSelected.HasValue Then + If isHardSelected.Value Then + Assert.True(Not items.UsesSoftSelection, "Current completion is not hard-selected. Expected: hard-selected") + Else + Assert.True(items.UsesSoftSelection, "Current completion is hard-selected. Expected: not hard-selected") + End If + End If + + If displayText IsNot Nothing Then + Assert.NotNull(items.SelectedItem) + If displayTextSuffix IsNot Nothing Then + Assert.NotNull(items.SelectedItem) + Assert.Equal(displayText + displayTextSuffix, items.SelectedItem.DisplayText) + Else + Assert.Equal(displayText, items.SelectedItem.DisplayText) + End If + End If + + If shouldFormatOnCommit.HasValue Then + Assert.Equal(shouldFormatOnCommit.Value, GetRoslynCompletionItem(items.SelectedItem).Rules.FormatOnCommit) + End If + + ' Need to validate inlineDescription here + ' https://github.com/dotnet/roslyn/issues/33913 + + If description IsNot Nothing Then + Dim document = Me.Workspace.CurrentSolution.Projects.First().Documents.First() + Dim service = CompletionService.GetService(document) + Dim roslynItem = GetRoslynCompletionItem(items.SelectedItem) + Dim itemDescription = Await service.GetDescriptionAsync(document, roslynItem) + Assert.Equal(description, itemDescription.Text) + End If + End Function + + Public Overrides Async Function AssertSessionIsNothingOrNoCompletionItemLike(text As String) As Task + Await WaitForAsynchronousOperationsAsync() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + If Not session Is Nothing Then + Assert.False(CompletionItemsContainsAny({text})) + End If + End Function + + Public Overrides Function GetSelectedItem() As CompletionItem + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + Assert.NotNull(session) + Dim items = session.GetComputedItems(CancellationToken.None) + Return GetRoslynCompletionItem(items.SelectedItem) + End Function + + Public Overrides Function GetSelectedItemOpt() As CompletionItem + AssertNoAsynchronousOperationsRunning() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + If session IsNot Nothing Then + Dim item = session.GetComputedItems(CancellationToken.None).SelectedItem + Return GetRoslynCompletionItemOpt(item) + End If + + Return Nothing + End Function + + Private Function GetRoslynCompletionItemOpt(editorCompletionItem As Data.CompletionItem) As CompletionItem + Dim roslynCompletionItem As CompletionItem = Nothing + If editorCompletionItem?.Properties.TryGetProperty(RoslynItem, roslynCompletionItem) Then + Return roslynCompletionItem + End If + + Return Nothing + End Function + + Private Function GetRoslynCompletionItems() As CompletionItem() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + Assert.NotNull(session) + Return session.GetComputedItems(CancellationToken.None).Items.Select(Function(item) + Return GetRoslynCompletionItemOpt(item) + End Function).WhereNotNull().ToArray() + End Function + + Public Overrides Function GetCompletionItems() As IList(Of CompletionItem) + Return New List(Of CompletionItem)(GetCompletionItemsAsync().Result) + End Function + + Private Async Function GetCompletionItemsAsync() As Task(Of IEnumerable(Of CompletionItem)) + Await WaitForAsynchronousOperationsAsync() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + Assert.NotNull(session) + Return session.GetComputedItems(CancellationToken.None).Items.Select(Function(item) GetRoslynCompletionItem(item)) + End Function + + Private Shared Function GetRoslynCompletionItem(item As Data.CompletionItem) As CompletionItem + Return DirectCast(item.Properties(RoslynItem), CompletionItem) + End Function + + Public Overrides Sub RaiseFiltersChanged(args As CompletionItemFilterStateChangedEventArgs) + Throw New NotImplementedException() + End Sub + + Public Overrides Function GetCompletionItemFilters() As ImmutableArray(Of CompletionItemFilter) + Throw New NotImplementedException() + End Function + + Public Overrides Function HasSuggestedItem() As Boolean + AssertNoAsynchronousOperationsRunning() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + Assert.NotNull(session) + Dim computedItems = session.GetComputedItems(CancellationToken.None) + Return computedItems.SuggestionItem IsNot Nothing + End Function + + Public Overrides Function IsSoftSelected() As Boolean + AssertNoAsynchronousOperationsRunning() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + Assert.NotNull(session) + Dim computedItems = session.GetComputedItems(CancellationToken.None) + Return computedItems.UsesSoftSelection + End Function + + Public Overrides Sub SendSelectCompletionItem(displayText As String) + AssertNoAsynchronousOperationsRunning() + Dim session = GetExportedValue(Of IAsyncCompletionBroker)().GetSession(TextView) + Dim operations = DirectCast(session, IAsyncCompletionSessionOperations) + operations.SelectCompletionItem(session.GetComputedItems(CancellationToken.None).Items.Single(Function(i) i.DisplayText = displayText)) + End Sub + + Public Overrides Sub SendSelectCompletionItemThroughPresenterSession(item As CompletionItem) + Throw New NotImplementedException() + End Sub + +#End Region + End Class +End Namespace diff --git a/src/EditorFeatures/TestUtilities2/Intellisense/TestState.vb b/src/EditorFeatures/TestUtilities2/Intellisense/TestState.vb deleted file mode 100644 index 73ce8e4750599..0000000000000 --- a/src/EditorFeatures/TestUtilities2/Intellisense/TestState.vb +++ /dev/null @@ -1,622 +0,0 @@ -' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -Imports System.Collections.Immutable -Imports System.Threading -Imports Microsoft.CodeAnalysis -Imports Microsoft.CodeAnalysis.Completion -Imports Microsoft.CodeAnalysis.CSharp -Imports Microsoft.CodeAnalysis.Editor.CommandHandlers -Imports Microsoft.CodeAnalysis.Editor.CSharp.CompleteStatement -Imports Microsoft.CodeAnalysis.Editor.Implementation.Formatting -Imports Microsoft.CodeAnalysis.Editor.UnitTests.Utilities -Imports Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces -Imports Microsoft.CodeAnalysis.SignatureHelp -Imports Microsoft.CodeAnalysis.Test.Utilities -Imports Microsoft.VisualStudio.Commanding -Imports Microsoft.VisualStudio.Composition -Imports Microsoft.VisualStudio.Language.Intellisense -Imports Microsoft.VisualStudio.Text -Imports Microsoft.VisualStudio.Text.Editor -Imports Microsoft.VisualStudio.Text.Editor.Commanding.Commands -Imports Roslyn.Utilities -Imports CompletionItem = Microsoft.CodeAnalysis.Completion.CompletionItem -Imports VSCommanding = Microsoft.VisualStudio.Commanding - -Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense - - Partial Friend Class TestState - Inherits AbstractCommandHandlerTestState - Implements ITestState - - Friend ReadOnly AsyncCompletionService As IAsyncCompletionService - Friend ReadOnly SignatureHelpCommandHandler As SignatureHelpCommandHandler - Friend ReadOnly FormatCommandHandler As FormatCommandHandler - Friend ReadOnly CompleteStatementCommandHandler As CompleteStatementCommandHandler - Friend ReadOnly CompletionCommandHandler As CompletionCommandHandler - Friend ReadOnly IntelliSenseCommandHandler As IntelliSenseCommandHandler - Private ReadOnly SessionTestState As IIntelliSenseTestState - - Private Shared s_lazyEntireAssemblyCatalogWithCSharpAndVisualBasicWithoutCompletionTestParts As Lazy(Of ComposableCatalog) = - New Lazy(Of ComposableCatalog)(Function() - Return TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic. - WithoutPartsOfTypes({ - GetType(IIntelliSensePresenter(Of ICompletionPresenterSession, ICompletionSession)), - GetType(IIntelliSensePresenter(Of ISignatureHelpPresenterSession, ISignatureHelpSession)), - GetType(FormatCommandHandler)}). - WithParts({ - GetType(TestCompletionPresenter), - GetType(TestSignatureHelpPresenter), - GetType(IntelliSenseTestState)}) - End Function) - - Private Shared ReadOnly Property EntireAssemblyCatalogWithCSharpAndVisualBasicWithoutCompletionTestParts As ComposableCatalog - Get - Return s_lazyEntireAssemblyCatalogWithCSharpAndVisualBasicWithoutCompletionTestParts.Value - End Get - End Property - - Private Shared s_lazyExportProviderFactoryWithCSharpAndVisualBasicWithoutCompletionTestParts As Lazy(Of IExportProviderFactory) = - New Lazy(Of IExportProviderFactory)(Function() - Return ExportProviderCache.GetOrCreateExportProviderFactory(EntireAssemblyCatalogWithCSharpAndVisualBasicWithoutCompletionTestParts) - End Function) - - Private Shared ReadOnly Property ExportProviderFactoryWithCSharpAndVisualBasicWithoutCompletionTestParts As IExportProviderFactory - Get - Return s_lazyExportProviderFactoryWithCSharpAndVisualBasicWithoutCompletionTestParts.Value - End Get - End Property - - Friend ReadOnly Property CurrentSignatureHelpPresenterSession As TestSignatureHelpPresenterSession - Get - Return SessionTestState.CurrentSignatureHelpPresenterSession - End Get - End Property - - Friend ReadOnly Property CurrentCompletionPresenterSession As TestCompletionPresenterSession - Get - Return SessionTestState.CurrentCompletionPresenterSession - End Get - End Property - - Private Sub New(workspaceElement As XElement, - extraCompletionProviders As IEnumerable(Of Lazy(Of CompletionProvider, OrderableLanguageAndRoleMetadata)), - Optional excludedTypes As List(Of Type) = Nothing, - Optional extraExportedTypes As List(Of Type) = Nothing, - Optional includeFormatCommandHandler As Boolean = False, - Optional workspaceKind As String = Nothing) - MyBase.New(workspaceElement, GetExportProvider(excludedTypes, extraExportedTypes, includeFormatCommandHandler), workspaceKind:=workspaceKind) - - Dim languageServices = Me.Workspace.CurrentSolution.Projects.First().LanguageServices - Dim language = languageServices.Language - - If extraCompletionProviders IsNot Nothing Then - Dim completionService = DirectCast(languageServices.GetService(Of CompletionService), CompletionServiceWithProviders) - If completionService IsNot Nothing Then - completionService.SetTestProviders(extraCompletionProviders.Select(Function(lz) lz.Value).ToList()) - End If - End If - - Me.SessionTestState = GetExportedValue(Of IIntelliSenseTestState)() - - Me.AsyncCompletionService = GetExportedValue(Of IAsyncCompletionService)() - - Me.CompletionCommandHandler = GetExportedValue(Of CompletionCommandHandler)() - - Me.SignatureHelpCommandHandler = GetExportedValue(Of SignatureHelpCommandHandler)() - - Me.IntelliSenseCommandHandler = GetExportedValue(Of IntelliSenseCommandHandler)() - - Me.FormatCommandHandler = If(includeFormatCommandHandler, - GetExportedValue(Of FormatCommandHandler)(), - Nothing) - - Me.CompleteStatementCommandHandler = If(includeFormatCommandHandler, - GetExportedValues(Of VSCommanding.ICommandHandler)().OfType(Of CompleteStatementCommandHandler)().SingleOrDefault(), - Nothing) - End Sub - - Private Overloads Shared Function GetExportProvider(excludedTypes As List(Of Type), - extraExportedTypes As List(Of Type), - includeFormatCommandHandler As Boolean) As ExportProvider - If (excludedTypes Is Nothing OrElse excludedTypes.Count = 0) AndAlso - (extraExportedTypes Is Nothing OrElse extraExportedTypes.Count = 0) AndAlso - Not includeFormatCommandHandler Then - Return ExportProviderFactoryWithCSharpAndVisualBasicWithoutCompletionTestParts.CreateExportProvider() - End If - - Dim combinedExcludedTypes = CombineExcludedTypes(excludedTypes, includeFormatCommandHandler) - Dim extraParts = ExportProviderCache.CreateTypeCatalog(CombineExtraTypes(If(extraExportedTypes, New List(Of Type)))) - Return GetExportProvider(combinedExcludedTypes, extraParts) - End Function - - Private Shared Function CombineExcludedTypes(excludedTypes As IList(Of Type), includeFormatCommandHandler As Boolean) As IList(Of Type) - Dim result = New List(Of Type) From { - GetType(IIntelliSensePresenter(Of ICompletionPresenterSession, ICompletionSession)), - GetType(IIntelliSensePresenter(Of ISignatureHelpPresenterSession, ISignatureHelpSession)) - } - - If Not includeFormatCommandHandler Then - result.Add(GetType(FormatCommandHandler)) - result.Add(GetType(CompleteStatementCommandHandler)) - End If - - If excludedTypes IsNot Nothing Then - result.AddRange(excludedTypes) - End If - - Return result - End Function - - Private Shared Function CombineExtraTypes(extraExportedTypes As IList(Of Type)) As IList(Of Type) - Dim result = New List(Of Type) From { - GetType(TestCompletionPresenter), - GetType(TestSignatureHelpPresenter), - GetType(IntelliSenseTestState) - } - - If extraExportedTypes IsNot Nothing Then - result.AddRange(extraExportedTypes) - End If - - Return result - End Function - - Friend Shared Function CreateVisualBasicTestState( - documentElement As XElement, - Optional extraCompletionProviders As CompletionProvider() = Nothing, - Optional extraExportedTypes As List(Of Type) = Nothing) As TestState - Return New TestState( - - - - <%= documentElement.Value %> - - - , - CreateLazyProviders(extraCompletionProviders, LanguageNames.VisualBasic, roles:=Nothing), - excludedTypes:=Nothing, - extraExportedTypes) - End Function - - Friend Shared Function CreateCSharpTestState( - documentElement As XElement, - Optional extraCompletionProviders As CompletionProvider() = Nothing, - Optional excludedTypes As List(Of Type) = Nothing, - Optional extraExportedTypes As List(Of Type) = Nothing, - Optional includeFormatCommandHandler As Boolean = False, - Optional languageVersion As LanguageVersion = LanguageVersion.Default) As TestState - Return New TestState( - - > - - <%= documentElement.Value %> - - - , - CreateLazyProviders(extraCompletionProviders, LanguageNames.CSharp, roles:=Nothing), - excludedTypes, - extraExportedTypes, - includeFormatCommandHandler) - End Function - - Friend Shared Function CreateTestStateFromWorkspace( - workspaceElement As XElement, - Optional extraCompletionProviders As CompletionProvider() = Nothing, - Optional extraExportedTypes As List(Of Type) = Nothing, - Optional workspaceKind As String = Nothing) As TestState - Return New TestState( - workspaceElement, - CreateLazyProviders(extraCompletionProviders, LanguageNames.VisualBasic, roles:=Nothing), - excludedTypes:=Nothing, - extraExportedTypes, - workspaceKind:=workspaceKind) - End Function - -#Region "Base class methods and properties implemented in the interface" - Public Shadows ReadOnly Property Workspace As TestWorkspace Implements ITestState.Workspace - Get - Return MyBase.Workspace - End Get - End Property - - Public Shadows ReadOnly Property SubjectBuffer As ITextBuffer Implements ITestState.SubjectBuffer - Get - Return MyBase.SubjectBuffer - End Get - End Property - - Public Shadows ReadOnly Property TextView As ITextView Implements ITestState.TextView - Get - Return MyBase.TextView - End Get - End Property - - Public Shadows Function GetExportedValue(Of T)() As T Implements ITestState.GetExportedValue - Return MyBase.GetExportedValue(Of T)() - End Function - - Public Shadows Function GetService(Of T)() As T Implements ITestState.GetService - Return MyBase.GetService(Of T)() - End Function - - Public Shadows Function GetDocumentText() As String Implements ITestState.GetDocumentText - Return MyBase.GetDocumentText() - End Function - - Public Shadows Async Function WaitForAsynchronousOperationsAsync() As Task Implements ITestState.WaitForAsynchronousOperationsAsync - Await MyBase.WaitForAsynchronousOperationsAsync() - End Function - - Public Shadows Sub SendMoveToPreviousCharacter(Optional extendSelection As Boolean = False) Implements ITestState.SendMoveToPreviousCharacter - MyBase.SendMoveToPreviousCharacter(extendSelection) - End Sub - - Public Shadows Sub SendDeleteWordToLeft() Implements ITestState.SendDeleteWordToLeft - MyBase.SendDeleteWordToLeft() - End Sub - - Public Function GetSelectedItem() As CompletionItem Implements ITestState.GetSelectedItem - Return CurrentCompletionPresenterSession.SelectedItem - End Function - - Public Function GetSelectedItemOpt() As CompletionItem Implements ITestState.GetSelectedItemOpt - Return CurrentCompletionPresenterSession?.SelectedItem - End Function - - Public Function GetCompletionItems() As IList(Of CompletionItem) Implements ITestState.GetCompletionItems - Return CurrentCompletionPresenterSession.CompletionItems - End Function - - Public Sub RaiseFiltersChanged(args As CompletionItemFilterStateChangedEventArgs) Implements ITestState.RaiseFiltersChanged - CurrentCompletionPresenterSession.RaiseFiltersChanged(args) - End Sub - - Public Function GetCompletionItemFilters() As ImmutableArray(Of CompletionItemFilter) Implements ITestState.GetCompletionItemFilters - Return CurrentCompletionPresenterSession.CompletionItemFilters - End Function - - Public Function GetSuggestionModeItem() As CompletionItem Implements ITestState.GetSuggestionModeItem - Return CurrentCompletionPresenterSession.SuggestionModeItem - End Function - - Public Function IsSoftSelected() As Boolean Implements ITestState.IsSoftSelected - Return CurrentCompletionPresenterSession.IsSoftSelected - End Function - - Public Function GetSignatureHelpItems() As IList(Of SignatureHelpItem) Implements ITestState.GetSignatureHelpItems - Return CurrentSignatureHelpPresenterSession.SignatureHelpItems - End Function - - Public Shadows Sub AssertMatchesTextStartingAtLine(line As Integer, text As String) Implements ITestState.AssertMatchesTextStartingAtLine - MyBase.AssertMatchesTextStartingAtLine(line, text) - End Sub - - Public Shadows Function GetLineFromCurrentCaretPosition() As ITextSnapshotLine Implements ITestState.GetLineFromCurrentCaretPosition - Return MyBase.GetLineFromCurrentCaretPosition() - End Function - - Public Shadows Function GetCaretPoint() As CaretPosition Implements ITestState.GetCaretPoint - Return MyBase.GetCaretPoint() - End Function - - Public Shadows Function GetLineTextFromCaretPosition() As String Implements ITestState.GetLineTextFromCaretPosition - Return MyBase.GetLineTextFromCaretPosition() - End Function - - Public Function GetCompletionCommandHandler() As CompletionCommandHandler Implements ITestState.GetCompletionCommandHandler - Return CompletionCommandHandler - End Function - -#End Region - -#Region "IntelliSense Operations" - - Public Overloads Sub SendEscape() Implements ITestState.SendEscape - MyBase.SendEscape(Sub(a, n, c) IntelliSenseCommandHandler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendDownKey() Implements ITestState.SendDownKey - MyBase.SendDownKey(Sub(a, n, c) IntelliSenseCommandHandler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendUpKey() Implements ITestState.SendUpKey - MyBase.SendUpKey(Sub(a, n, c) IntelliSenseCommandHandler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Shadows Sub SendLeftKey() Implements ITestState.SendLeftKey - MyBase.SendLeftKey() - End Sub - - Public Shadows Sub SendRightKey() Implements ITestState.SendRightKey - MyBase.SendRightKey() - End Sub - - Public Shadows Sub SendUndo() Implements ITestState.SendUndo - MyBase.SendUndo() - End Sub - -#End Region - -#Region "Completion Operations" - Public Overloads Sub SendTab() Implements ITestState.SendTab - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of TabKeyCommandArgs)) - MyBase.SendTab(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() EditorOperations.InsertText(vbTab)) - End Sub - - Public Overloads Sub SendReturn() Implements ITestState.SendReturn - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of ReturnKeyCommandArgs)) - MyBase.SendReturn(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() EditorOperations.InsertNewLine()) - End Sub - - Public Overloads Sub SendPageUp() Implements ITestState.SendPageUp - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of PageUpKeyCommandArgs)) - MyBase.SendPageUp(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendCut() Implements ITestState.SendCut - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of CutCommandArgs)) - MyBase.SendCut(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendPaste() Implements ITestState.SendPaste - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of PasteCommandArgs)) - MyBase.SendPaste(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendInvokeCompletionList() Implements ITestState.SendInvokeCompletionList - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of InvokeCompletionListCommandArgs)) - MyBase.SendInvokeCompletionList(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendCommitUniqueCompletionListItem() Implements ITestState.SendCommitUniqueCompletionListItem - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of CommitUniqueCompletionListItemCommandArgs)) - MyBase.SendCommitUniqueCompletionListItem(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendSelectCompletionItem(displayText As String) Implements ITestState.SendSelectCompletionItem - Dim item = CurrentCompletionPresenterSession.CompletionItems.FirstOrDefault(Function(i) i.DisplayText = displayText) - Assert.NotNull(item) - CurrentCompletionPresenterSession.SetSelectedItem(item) - End Sub - - Public Overloads Sub SendSelectCompletionItemThroughPresenterSession(item As CompletionItem) Implements ITestState.SendSelectCompletionItemThroughPresenterSession - CurrentCompletionPresenterSession.SetSelectedItem(item) - End Sub - - Public Overloads Sub SendInsertSnippetCommand() Implements ITestState.SendInsertSnippetCommand - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of InsertSnippetCommandArgs)) - MyBase.SendInsertSnippetCommand(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendSurroundWithCommand() Implements ITestState.SendSurroundWithCommand - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of SurroundWithCommandArgs)) - MyBase.SendSurroundWithCommand(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendSave() Implements ITestState.SendSave - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of SaveCommandArgs)) - MyBase.SendSave(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendSelectAll() Implements ITestState.SendSelectAll - Dim handler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of SelectAllCommandArgs)) - MyBase.SendSelectAll(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Async Function AssertNoCompletionSession(Optional block As Boolean = True) As Task Implements ITestState.AssertNoCompletionSession - If block Then - Await WaitForAsynchronousOperationsAsync() - End If - Assert.Null(Me.CurrentCompletionPresenterSession) - End Function - - Public Async Function AssertCompletionSession() As Task Implements ITestState.AssertCompletionSession - Await WaitForAsynchronousOperationsAsync() - Assert.NotNull(Me.CurrentCompletionPresenterSession) - End Function - - Public Async Function AssertLineTextAroundCaret(expectedTextBeforeCaret As String, expectedTextAfterCaret As String) As Task Implements ITestState.AssertLineTextAroundCaret - Await WaitForAsynchronousOperationsAsync() - - Dim actual = GetLineTextAroundCaretPosition() - - Assert.Equal(expectedTextBeforeCaret, actual.TextBeforeCaret) - Assert.Equal(expectedTextAfterCaret, actual.TextAfterCaret) - End Function - - Public Function CompletionItemsContainsAll(displayText As String()) As Boolean Implements ITestState.CompletionItemsContainsAll - AssertNoAsynchronousOperationsRunning() - Return displayText.All(Function(v) CurrentCompletionPresenterSession.CompletionItems.Any( - Function(i) i.DisplayText = v)) - End Function - - Public Function CompletionItemsContainsAny(displayText As String()) As Boolean Implements ITestState.CompletionItemsContainsAny - AssertNoAsynchronousOperationsRunning() - Return displayText.Any(Function(v) CurrentCompletionPresenterSession.CompletionItems.Any( - Function(i) i.DisplayText = v)) - End Function - - Public Sub AssertItemsInOrder(expectedOrder As String()) Implements ITestState.AssertItemsInOrder - AssertNoAsynchronousOperationsRunning() - Dim items = CurrentCompletionPresenterSession.CompletionItems - Assert.Equal(expectedOrder.Count, items.Count) - For i = 0 To expectedOrder.Count - 1 - Assert.Equal(expectedOrder(i), items(i).DisplayText) - Next - End Sub - - Public Async Function AssertSelectedCompletionItem( - Optional displayText As String = Nothing, - Optional description As String = Nothing, - Optional isSoftSelected As Boolean? = Nothing, - Optional isHardSelected As Boolean? = Nothing, - Optional displayTextSuffix As String = Nothing, - Optional shouldFormatOnCommit As Boolean? = Nothing, - Optional inlineDescription As String = Nothing) As Task Implements ITestState.AssertSelectedCompletionItem - - Await WaitForAsynchronousOperationsAsync() - If isSoftSelected.HasValue Then - Assert.True(isSoftSelected.Value = Me.CurrentCompletionPresenterSession.IsSoftSelected, "Current completion is not soft-selected.") - End If - - If isHardSelected.HasValue Then - Assert.True(isHardSelected.Value = Not Me.CurrentCompletionPresenterSession.IsSoftSelected, "Current completion is not hard-selected.") - End If - - If displayText IsNot Nothing Then - Assert.Equal(displayText, Me.CurrentCompletionPresenterSession.SelectedItem.DisplayText) - End If - - If displayTextSuffix IsNot Nothing Then - Assert.Equal(displayTextSuffix, Me.CurrentCompletionPresenterSession.SelectedItem.DisplayTextSuffix) - End If - - If inlineDescription IsNot Nothing Then - Assert.Equal(inlineDescription, Me.CurrentCompletionPresenterSession.SelectedItem.InlineDescription) - End If - - If shouldFormatOnCommit.HasValue Then - Assert.Equal(shouldFormatOnCommit.Value, Me.CurrentCompletionPresenterSession.SelectedItem.Rules.FormatOnCommit) - End If - -#If False Then - If insertionText IsNot Nothing Then - Assert.Equal(insertionText, Me.CurrentCompletionPresenterSession.SelectedItem.TextChange.NewText) - End If -#End If - - If description IsNot Nothing Then - Dim document = Me.Workspace.CurrentSolution.Projects.First().Documents.First() - Dim service = CompletionService.GetService(document) - Dim itemDescription = Await service.GetDescriptionAsync( - document, Me.CurrentCompletionPresenterSession.SelectedItem) - Assert.Equal(description, itemDescription.Text) - End If - End Function - -#End Region - -#Region "Signature Help and Completion Operations" - - Private Sub ExecuteTypeCharCommand(args As TypeCharCommandArgs, finalHandler As Action, context As CommandExecutionContext) - Dim sigHelpHandler = DirectCast(SignatureHelpCommandHandler, VSCommanding.IChainedCommandHandler(Of TypeCharCommandArgs)) - Dim formatHandler = DirectCast(FormatCommandHandler, VSCommanding.IChainedCommandHandler(Of TypeCharCommandArgs)) - Dim compHandler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of TypeCharCommandArgs)) - Dim completeStatementHandler = DirectCast(CompleteStatementCommandHandler, IChainedCommandHandler(Of TypeCharCommandArgs)) - - If formatHandler IsNot Nothing AndAlso completeStatementHandler IsNot Nothing Then - Dim wrappedFinalHandler = finalHandler - finalHandler = - Sub() - completeStatementHandler.ExecuteCommand(args, wrappedFinalHandler, context) - End Sub - End If - - Dim mainHandler = - Sub() - sigHelpHandler.ExecuteCommand(args, Sub() compHandler.ExecuteCommand(args, finalHandler, context), context) - End Sub - - If formatHandler Is Nothing Then - mainHandler() - Else - formatHandler.ExecuteCommand(args, mainHandler, context) - End If - End Sub - - Public Overloads Sub SendTypeChars(typeChars As String) Implements ITestState.SendTypeChars - MyBase.SendTypeChars(typeChars, Sub(a, n, c) ExecuteTypeCharCommand(a, n, c)) - End Sub - - Public Overloads Sub SendBackspace() Implements ITestState.SendBackspace - Dim compHandler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of BackspaceKeyCommandArgs)) - MyBase.SendBackspace(Sub(a, n, c) compHandler.ExecuteCommand(a, n, c), AddressOf MyBase.SendBackspace) - End Sub - - Public Overloads Sub SendDelete() Implements ITestState.SendDelete - Dim compHandler = DirectCast(CompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of DeleteKeyCommandArgs)) - MyBase.SendDelete(Sub(a, n, c) compHandler.ExecuteCommand(a, n, c), AddressOf MyBase.SendDelete) - End Sub - - Public Sub SendTypeCharsToSpecificViewAndBuffer(typeChars As String, view As IWpfTextView, buffer As ITextBuffer) Implements ITestState.SendTypeCharsToSpecificViewAndBuffer - For Each ch In typeChars - Dim localCh = ch - ExecuteTypeCharCommand(New TypeCharCommandArgs(view, buffer, localCh), Sub() EditorOperations.InsertText(localCh.ToString()), TestCommandExecutionContext.Create()) - Next - End Sub -#End Region - -#Region "Signature Help Operations" - - Public Overloads Sub SendInvokeSignatureHelp() Implements ITestState.SendInvokeSignatureHelp - Dim handler = DirectCast(SignatureHelpCommandHandler, VSCommanding.IChainedCommandHandler(Of InvokeSignatureHelpCommandArgs)) - MyBase.SendInvokeSignatureHelp(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Async Function AssertNoSignatureHelpSession(Optional block As Boolean = True) As Task Implements ITestState.AssertNoSignatureHelpSession - If block Then - Await WaitForAsynchronousOperationsAsync() - End If - - Assert.Null(Me.CurrentSignatureHelpPresenterSession) - End Function - - Public Async Function AssertSignatureHelpSession() As Task Implements ITestState.AssertSignatureHelpSession - Await WaitForAsynchronousOperationsAsync() - Assert.NotNull(Me.CurrentSignatureHelpPresenterSession) - End Function - - Private Function GetDisplayText(item As SignatureHelpItem, selectedParameter As Integer) As String - Dim suffix = If(selectedParameter < item.Parameters.Count, - GetDisplayText(item.Parameters(selectedParameter).SuffixDisplayParts), - String.Empty) - Return String.Join( - String.Empty, - GetDisplayText(item.PrefixDisplayParts), - String.Join( - GetDisplayText(item.SeparatorDisplayParts), - item.Parameters.Select(Function(p) GetDisplayText(p.DisplayParts))), - GetDisplayText(item.SuffixDisplayParts), - suffix) - End Function - - Private Function GetDisplayText(parts As IEnumerable(Of TaggedText)) As String - Return String.Join(String.Empty, parts.Select(Function(p) p.ToString())) - End Function - - Public Function SignatureHelpItemsContainsAll(displayText As String()) As Boolean Implements ITestState.SignatureHelpItemsContainsAll - AssertNoAsynchronousOperationsRunning() - Return displayText.All(Function(v) CurrentSignatureHelpPresenterSession.SignatureHelpItems.Any( - Function(i) GetDisplayText(i, CurrentSignatureHelpPresenterSession.SelectedParameter.Value) = v)) - End Function - - Public Function SignatureHelpItemsContainsAny(displayText As String()) As Boolean Implements ITestState.SignatureHelpItemsContainsAny - AssertNoAsynchronousOperationsRunning() - Return displayText.Any(Function(v) CurrentSignatureHelpPresenterSession.SignatureHelpItems.Any( - Function(i) GetDisplayText(i, CurrentSignatureHelpPresenterSession.SelectedParameter.Value) = v)) - End Function - - Public Async Function AssertSelectedSignatureHelpItem(Optional displayText As String = Nothing, - Optional documentation As String = Nothing, - Optional selectedParameter As String = Nothing) As Task Implements ITestState.AssertSelectedSignatureHelpItem - Await WaitForAsynchronousOperationsAsync() - - If displayText IsNot Nothing Then - Assert.Equal(displayText, GetDisplayText(Me.CurrentSignatureHelpPresenterSession.SelectedItem, Me.CurrentSignatureHelpPresenterSession.SelectedParameter.Value)) - End If - - If documentation IsNot Nothing Then - Assert.Equal(documentation, Me.CurrentSignatureHelpPresenterSession.SelectedItem.DocumentationFactory(CancellationToken.None).GetFullText()) - End If - - If selectedParameter IsNot Nothing Then - Assert.Equal(selectedParameter, GetDisplayText( - Me.CurrentSignatureHelpPresenterSession.SelectedItem.Parameters( - Me.CurrentSignatureHelpPresenterSession.SelectedParameter.Value).DisplayParts)) - End If - End Function - - -#End Region - End Class -End Namespace diff --git a/src/EditorFeatures/TestUtilities2/Intellisense/TestStateBase.vb b/src/EditorFeatures/TestUtilities2/Intellisense/TestStateBase.vb new file mode 100644 index 0000000000000..1690ebe2778ea --- /dev/null +++ b/src/EditorFeatures/TestUtilities2/Intellisense/TestStateBase.vb @@ -0,0 +1,314 @@ +' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +Imports System.Collections.Immutable +Imports System.Threading +Imports Microsoft.CodeAnalysis.Completion +Imports Microsoft.CodeAnalysis.Editor.CommandHandlers +Imports Microsoft.CodeAnalysis.Editor.Implementation.Formatting +Imports Microsoft.CodeAnalysis.Editor.UnitTests.Utilities +Imports Microsoft.CodeAnalysis.SignatureHelp +Imports Microsoft.CodeAnalysis.Test.Utilities +Imports Microsoft.VisualStudio.Commanding +Imports Microsoft.VisualStudio.Language.Intellisense +Imports Microsoft.VisualStudio.Text +Imports Microsoft.VisualStudio.Text.Editor +Imports Microsoft.VisualStudio.Text.Editor.Commanding.Commands +Imports VSCommanding = Microsoft.VisualStudio.Commanding + +Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense + Friend MustInherit Class TestStateBase + Inherits AbstractCommandHandlerTestState + + Protected ReadOnly SessionTestState As IIntelliSenseTestState + Private ReadOnly SignatureHelpBeforeCompletionCommandHandler As SignatureHelpBeforeCompletionCommandHandler + Protected ReadOnly SignatureHelpAfterCompletionCommandHandler As SignatureHelpAfterCompletionCommandHandler + Private ReadOnly FormatCommandHandler As FormatCommandHandler + + Friend ReadOnly Property CurrentSignatureHelpPresenterSession As TestSignatureHelpPresenterSession + Get + Return SessionTestState.CurrentSignatureHelpPresenterSession + End Get + End Property + + Public Sub New(workspaceElement As XElement, + extraCompletionProviders As CompletionProvider(), + excludedTypes As List(Of Type), + extraExportedTypes As List(Of Type), + includeFormatCommandHandler As Boolean, + workspaceKind As String) + MyBase.New(workspaceElement, CombineExcludedTypes(excludedTypes, includeFormatCommandHandler), ExportProviderCache.CreateTypeCatalog(CombineExtraTypes(If(extraExportedTypes, New List(Of Type)))), workspaceKind:=workspaceKind) + + Dim languageServices = Me.Workspace.CurrentSolution.Projects.First().LanguageServices + Dim language = languageServices.Language + + Dim lazyExtraCompletionProviders = CreateLazyProviders(extraCompletionProviders, language, roles:=Nothing) + If lazyExtraCompletionProviders IsNot Nothing Then + Dim completionService = DirectCast(languageServices.GetService(Of CompletionService), CompletionServiceWithProviders) + If completionService IsNot Nothing Then + completionService.SetTestProviders(lazyExtraCompletionProviders.Select(Function(lz) lz.Value).ToList()) + End If + End If + + Me.SessionTestState = GetExportedValue(Of IIntelliSenseTestState)() + + Me.SignatureHelpBeforeCompletionCommandHandler = GetExportedValue(Of SignatureHelpBeforeCompletionCommandHandler)() + + Me.SignatureHelpAfterCompletionCommandHandler = GetExportedValue(Of SignatureHelpAfterCompletionCommandHandler)() + + Me.FormatCommandHandler = If(includeFormatCommandHandler, GetExportedValue(Of FormatCommandHandler)(), Nothing) + End Sub + +#Region "Editor Related Operations" + + Protected Overloads Sub ExecuteTypeCharCommand(args As TypeCharCommandArgs, finalHandler As Action, context As CommandExecutionContext, completionCommandHandler As VSCommanding.IChainedCommandHandler(Of TypeCharCommandArgs)) + Dim sigHelpHandler = DirectCast(SignatureHelpBeforeCompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of TypeCharCommandArgs)) + Dim formatHandler = DirectCast(FormatCommandHandler, VSCommanding.IChainedCommandHandler(Of TypeCharCommandArgs)) + + If formatHandler Is Nothing Then + sigHelpHandler.ExecuteCommand( + args, Sub() completionCommandHandler.ExecuteCommand( + args, finalHandler, context), context) + Else + formatHandler.ExecuteCommand( + args, Sub() sigHelpHandler.ExecuteCommand( + args, Sub() completionCommandHandler.ExecuteCommand( + args, finalHandler, context), context), context) + End If + End Sub + + Public Overloads Sub SendTab() + Dim handler = GetHandler(Of VSCommanding.IChainedCommandHandler(Of TabKeyCommandArgs))() + MyBase.SendTab(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() EditorOperations.InsertText(vbTab)) + End Sub + + Public Overloads Sub SendReturn() + Dim handler = GetHandler(Of VSCommanding.IChainedCommandHandler(Of ReturnKeyCommandArgs))() + MyBase.SendReturn(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() EditorOperations.InsertNewLine()) + End Sub + + Public Overrides Sub SendBackspace() + Dim compHandler = GetHandler(Of VSCommanding.IChainedCommandHandler(Of BackspaceKeyCommandArgs))() + MyBase.SendBackspace(Sub(a, n, c) compHandler.ExecuteCommand(a, n, c), AddressOf MyBase.SendBackspace) + End Sub + + Public Overrides Sub SendDelete() + Dim compHandler = GetHandler(Of VSCommanding.IChainedCommandHandler(Of DeleteKeyCommandArgs))() + MyBase.SendDelete(Sub(a, n, c) compHandler.ExecuteCommand(a, n, c), AddressOf MyBase.SendDelete) + End Sub + + Public Sub SendDeleteToSpecificViewAndBuffer(view As IWpfTextView, buffer As ITextBuffer) + Dim compHandler = GetHandler(Of VSCommanding.IChainedCommandHandler(Of DeleteKeyCommandArgs))() + compHandler.ExecuteCommand(New DeleteKeyCommandArgs(view, buffer), AddressOf MyBase.SendDelete, TestCommandExecutionContext.Create()) + End Sub + + Private Overloads Sub ExecuteTypeCharCommand(args As TypeCharCommandArgs, finalHandler As Action, context As CommandExecutionContext) + Dim compHandler = GetHandler(Of VSCommanding.IChainedCommandHandler(Of TypeCharCommandArgs))() + ExecuteTypeCharCommand(args, finalHandler, context, compHandler) + End Sub + + Public Overloads Sub SendTypeChars(typeChars As String) + MyBase.SendTypeChars(typeChars, Sub(a, n, c) ExecuteTypeCharCommand(a, n, c)) + End Sub + + Public MustOverride Overloads Sub SendCut() + + Public MustOverride Overloads Sub SendPaste() + + Public MustOverride Overloads Sub SendEscape() + + Public MustOverride Overloads Sub SendDownKey() + + Public MustOverride Overloads Sub SendUpKey() + + Public MustOverride Overloads Sub SendPageUp() + + Public MustOverride Overloads Sub SendInsertSnippetCommand() + + Public MustOverride Overloads Sub SendSurroundWithCommand() + + Public MustOverride Overloads Sub SendInvokeCompletionList() + + Public MustOverride Overloads Sub SendSave() + + Public MustOverride Overloads Sub SendSelectAll() + + Protected MustOverride Function GetHandler(Of T As VSCommanding.ICommandHandler)() As T + +#End Region + +#Region "Completion Operations" + + Public MustOverride Function GetSelectedItem() As CompletionItem + + Public MustOverride Function GetSelectedItemOpt() As CompletionItem + + Public MustOverride Function GetCompletionItems() As IList(Of CompletionItem) + + Public MustOverride Sub RaiseFiltersChanged(args As CompletionItemFilterStateChangedEventArgs) + + Public MustOverride Function GetCompletionItemFilters() As ImmutableArray(Of CompletionItemFilter) + + Public MustOverride Function HasSuggestedItem() As Boolean + + Public MustOverride Function IsSoftSelected() As Boolean + + Public MustOverride Overloads Sub SendCommitUniqueCompletionListItem() + + Public MustOverride Overloads Sub SendSelectCompletionItem(displayText As String) + + Public MustOverride Overloads Sub SendSelectCompletionItemThroughPresenterSession(item As CompletionItem) + + Public MustOverride Function AssertNoCompletionSession() As Task + + Public MustOverride Sub AssertNoCompletionSessionWithNoBlock() + + Public MustOverride Function AssertCompletionSessionAfterTypingHash() As Task + + Public MustOverride Overloads Function AssertCompletionSession(Optional projectionsView As ITextView = Nothing) As Task + + Public MustOverride Overloads Function CompletionItemsContainsAll(displayText As String()) As Boolean + + Public MustOverride Overloads Function CompletionItemsContainsAny(displayText As String()) As Boolean + + Public MustOverride Overloads Function CompletionItemsContainsAny(displayText As String, displayTextSuffix As String) As Boolean + + Public MustOverride Overloads Sub AssertItemsInOrder(expectedOrder As String()) + + Public MustOverride Overloads Function AssertSessionIsNothingOrNoCompletionItemLike(text As String) As Task + + Public MustOverride Overloads Sub ToggleSuggestionMode() + + Public Overloads Sub SendTypeCharsToSpecificViewAndBuffer(typeChars As String, view As IWpfTextView, buffer As ITextBuffer) + For Each ch In typeChars + Dim localCh = ch + ExecuteTypeCharCommand(New TypeCharCommandArgs(view, buffer, localCh), Sub() EditorOperations.InsertText(localCh.ToString()), TestCommandExecutionContext.Create()) + Next + End Sub + + Public Async Function AssertLineTextAroundCaret(expectedTextBeforeCaret As String, expectedTextAfterCaret As String) As Task + Await WaitForAsynchronousOperationsAsync() + + Dim actual = GetLineTextAroundCaretPosition() + + Assert.Equal(expectedTextBeforeCaret, actual.TextBeforeCaret) + Assert.Equal(expectedTextAfterCaret, actual.TextAfterCaret) + End Function + + Public MustOverride Overloads Function AssertSelectedCompletionItem( + Optional displayText As String = Nothing, + Optional displayTextSuffix As String = Nothing, + Optional description As String = Nothing, + Optional isSoftSelected As Boolean? = Nothing, + Optional isHardSelected As Boolean? = Nothing, + Optional shouldFormatOnCommit As Boolean? = Nothing, + Optional inlineDescription As String = Nothing, + Optional projectionsView As ITextView = Nothing) As Task + +#End Region + +#Region "Signature Help Operations" + + Public Overloads Sub SendInvokeSignatureHelp() + Dim handler = DirectCast(SignatureHelpBeforeCompletionCommandHandler, VSCommanding.IChainedCommandHandler(Of InvokeSignatureHelpCommandArgs)) + MyBase.SendInvokeSignatureHelp(Sub(a, n, c) handler.ExecuteCommand(a, n, c), Sub() Return) + End Sub + + Public Overloads Async Function AssertNoSignatureHelpSession(Optional block As Boolean = True) As Task + If block Then + Await WaitForAsynchronousOperationsAsync() + End If + + Assert.Null(Me.CurrentSignatureHelpPresenterSession) + End Function + + Public Overloads Async Function AssertSignatureHelpSession() As Task + Await WaitForAsynchronousOperationsAsync() + Assert.NotNull(Me.CurrentSignatureHelpPresenterSession) + End Function + + Public Overloads Function GetSignatureHelpItems() As IList(Of SignatureHelpItem) + Return CurrentSignatureHelpPresenterSession.SignatureHelpItems + End Function + + Public Function SignatureHelpItemsContainsAll(displayText As String()) As Boolean + AssertNoAsynchronousOperationsRunning() + Return displayText.All(Function(v) CurrentSignatureHelpPresenterSession.SignatureHelpItems.Any( + Function(i) GetDisplayText(i, CurrentSignatureHelpPresenterSession.SelectedParameter.Value) = v)) + End Function + + Public Async Function AssertSelectedSignatureHelpItem(Optional displayText As String = Nothing, + Optional documentation As String = Nothing, + Optional selectedParameter As String = Nothing) As Task + Await WaitForAsynchronousOperationsAsync() + + If displayText IsNot Nothing Then + Assert.Equal(displayText, GetDisplayText(Me.CurrentSignatureHelpPresenterSession.SelectedItem, Me.CurrentSignatureHelpPresenterSession.SelectedParameter.Value)) + End If + + If documentation IsNot Nothing Then + Assert.Equal(documentation, Me.CurrentSignatureHelpPresenterSession.SelectedItem.DocumentationFactory(CancellationToken.None).GetFullText()) + End If + + If selectedParameter IsNot Nothing Then + Assert.Equal(selectedParameter, GetDisplayText( + Me.CurrentSignatureHelpPresenterSession.SelectedItem.Parameters( + Me.CurrentSignatureHelpPresenterSession.SelectedParameter.Value).DisplayParts)) + End If + End Function +#End Region + +#Region "Helpers" + + Private Shared Function CombineExcludedTypes(excludedTypes As IList(Of Type), includeFormatCommandHandler As Boolean) As IList(Of Type) + Dim result = New List(Of Type) From { + GetType(IIntelliSensePresenter(Of ICompletionPresenterSession, ICompletionSession)), + GetType(IIntelliSensePresenter(Of ISignatureHelpPresenterSession, ISignatureHelpSession)) + } + + If Not includeFormatCommandHandler Then + result.Add(GetType(FormatCommandHandler)) + End If + + If excludedTypes IsNot Nothing Then + result.AddRange(excludedTypes) + End If + + Return result + End Function + + Private Shared Function CombineExtraTypes(extraExportedTypes As IList(Of Type)) As IList(Of Type) + Dim result = New List(Of Type) From { + GetType(TestCompletionPresenter), + GetType(TestSignatureHelpPresenter), + GetType(IntelliSenseTestState) + } + + If extraExportedTypes IsNot Nothing Then + result.AddRange(extraExportedTypes) + End If + + Return result + End Function + + Private Shared Function GetDisplayText(item As SignatureHelpItem, selectedParameter As Integer) As String + Dim suffix = If(selectedParameter < item.Parameters.Count, + GetDisplayText(item.Parameters(selectedParameter).SuffixDisplayParts), + String.Empty) + Return String.Join( + String.Empty, + GetDisplayText(item.PrefixDisplayParts), + String.Join( + GetDisplayText(item.SeparatorDisplayParts), + item.Parameters.Select(Function(p) GetDisplayText(p.DisplayParts))), + GetDisplayText(item.SuffixDisplayParts), + suffix) + End Function + + Private Shared Function GetDisplayText(parts As IEnumerable(Of TaggedText)) As String + Return String.Join(String.Empty, parts.Select(Function(p) p.ToString())) + End Function + +#End Region + + End Class +End Namespace diff --git a/src/EditorFeatures/TestUtilities2/Intellisense/TestStateFactory.vb b/src/EditorFeatures/TestUtilities2/Intellisense/TestStateFactory.vb index 62fe0fa80679c..fd003a7ad1b16 100644 --- a/src/EditorFeatures/TestUtilities2/Intellisense/TestStateFactory.vb +++ b/src/EditorFeatures/TestUtilities2/Intellisense/TestStateFactory.vb @@ -5,44 +5,74 @@ Imports Microsoft.CodeAnalysis.Completion Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense Friend Class TestStateFactory Public Shared Function CreateCSharpTestState(completionImplementation As CompletionImplementation, - documentElement As XElement, + documentElement As XElement, Optional extraCompletionProviders As CompletionProvider() = Nothing, Optional excludedTypes As List(Of Type) = Nothing, Optional extraExportedTypes As List(Of Type) = Nothing, - Optional includeFormatCommandHandler As Boolean = False) As ITestState - If completionImplementation = CompletionImplementation.Legacy Then - Return TestState.CreateCSharpTestState(documentElement, extraCompletionProviders, excludedTypes, extraExportedTypes, includeFormatCommandHandler) - End If + Optional includeFormatCommandHandler As Boolean = False, + Optional languageVersion As CodeAnalysis.CSharp.LanguageVersion = CodeAnalysis.CSharp.LanguageVersion.Default) As TestStateBase - Throw New ArgumentException(completionImplementation.ToString()) + Return CreateTestState(completionImplementation, + + > + + <%= documentElement.Value %> + + + , + extraCompletionProviders, excludedTypes, extraExportedTypes, + includeFormatCommandHandler, workspaceKind:=Nothing) End Function Public Shared Function CreateVisualBasicTestState(completionImplementation As CompletionImplementation, documentElement As XElement, Optional extraCompletionProviders As CompletionProvider() = Nothing, - Optional extraExportedTypes As List(Of Type) = Nothing) As ITestState - If completionImplementation = CompletionImplementation.Legacy Then - Return TestState.CreateVisualBasicTestState(documentElement, extraCompletionProviders, extraExportedTypes) - End If + Optional extraExportedTypes As List(Of Type) = Nothing) As TestStateBase - Throw New ArgumentException(completionImplementation.ToString()) + Return CreateTestState(completionImplementation, + + + + <%= documentElement.Value %> + + + , + extraCompletionProviders, excludedTypes:=Nothing, extraExportedTypes, + includeFormatCommandHandler:=False, workspaceKind:=Nothing) End Function Public Shared Function CreateTestStateFromWorkspace(completionImplementation As CompletionImplementation, workspaceElement As XElement, Optional extraCompletionProviders As CompletionProvider() = Nothing, Optional extraExportedTypes As List(Of Type) = Nothing, - Optional workspaceKind As String = Nothing) As TestState + Optional workspaceKind As String = Nothing) As TestStateBase + + Return CreateTestState(completionImplementation, workspaceElement, extraCompletionProviders, + excludedTypes:=Nothing, extraExportedTypes, includeFormatCommandHandler:=False, workspaceKind) + End Function + + Private Shared Function CreateTestState(completionImplementation As CompletionImplementation, + workspaceElement As XElement, + extraCompletionProviders As CompletionProvider(), + excludedTypes As List(Of Type), + extraExportedTypes As List(Of Type), + includeFormatCommandHandler As Boolean, + workspaceKind As String) As TestStateBase - If completionImplementation = CompletionImplementation.Legacy Then - Return TestState.CreateTestStateFromWorkspace(workspaceElement, extraCompletionProviders, extraExportedTypes, workspaceKind) - End If + Select Case completionImplementation + Case CompletionImplementation.Legacy + Return New LegacyTestState(workspaceElement, extraCompletionProviders, excludedTypes, extraExportedTypes, + includeFormatCommandHandler, workspaceKind) + Case CompletionImplementation.Modern + Return New ModernCompletionTestState(workspaceElement, extraCompletionProviders, excludedTypes, extraExportedTypes, + includeFormatCommandHandler, workspaceKind) + End Select Throw New ArgumentException(completionImplementation.ToString()) End Function Public Shared Function GetAllCompletionImplementations() As IEnumerable(Of Object()) - Return {New Object() {CompletionImplementation.Legacy}} + Return {New Object() {CompletionImplementation.Legacy}, New Object() {CompletionImplementation.Modern}} End Function End Class End Namespace diff --git a/src/EditorFeatures/VisualBasic/AutomaticCompletion/AutomaticLineEnderCommandHandler.vb b/src/EditorFeatures/VisualBasic/AutomaticCompletion/AutomaticLineEnderCommandHandler.vb index d267b241f479f..363ff7a402aa7 100644 --- a/src/EditorFeatures/VisualBasic/AutomaticCompletion/AutomaticLineEnderCommandHandler.vb +++ b/src/EditorFeatures/VisualBasic/AutomaticCompletion/AutomaticLineEnderCommandHandler.vb @@ -5,6 +5,7 @@ Imports System.Threading Imports Microsoft.CodeAnalysis Imports Microsoft.CodeAnalysis.Editor.Implementation.AutomaticCompletion Imports Microsoft.CodeAnalysis.Text +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion Imports Microsoft.VisualStudio.Text.Operations Imports Microsoft.VisualStudio.Utilities Imports VSCommanding = Microsoft.VisualStudio.Commanding @@ -17,14 +18,16 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.AutomaticCompletion + Friend Class AutomaticLineEnderCommandHandler Inherits AbstractAutomaticLineEnderCommandHandler Friend Sub New(undoRegistry As ITextUndoHistoryRegistry, - editorOperations As IEditorOperationsFactoryService) + editorOperations As IEditorOperationsFactoryService, + asyncCompletionBroker As IAsyncCompletionBroker) - MyBase.New(undoRegistry, editorOperations) + MyBase.New(undoRegistry, editorOperations, asyncCompletionBroker) End Sub Protected Overrides Sub NextAction(editorOperation As IEditorOperations, nextAction As Action) diff --git a/src/EditorFeatures/VisualBasic/DocumentationComments/DocumentationCommentCommandHandler.vb b/src/EditorFeatures/VisualBasic/DocumentationComments/DocumentationCommentCommandHandler.vb index 62fb121be229a..1a0dc155c5a49 100644 --- a/src/EditorFeatures/VisualBasic/DocumentationComments/DocumentationCommentCommandHandler.vb +++ b/src/EditorFeatures/VisualBasic/DocumentationComments/DocumentationCommentCommandHandler.vb @@ -5,6 +5,7 @@ Imports System.Threading Imports Microsoft.CodeAnalysis.Editor.Host Imports Microsoft.CodeAnalysis.Editor.Implementation.DocumentationComments Imports Microsoft.CodeAnalysis.VisualBasic.Syntax +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion Imports Microsoft.VisualStudio.Text.Operations Imports Microsoft.VisualStudio.Utilities Imports VSCommanding = Microsoft.VisualStudio.Commanding @@ -15,6 +16,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.DocumentationComments + Friend Class DocumentationCommentCommandHandler Inherits AbstractDocumentationCommentCommandHandler(Of DocumentationCommentTriviaSyntax, DeclarationStatementSyntax) diff --git a/src/EditorFeatures/VisualBasic/DocumentationComments/XmlTagCompletionCommandHandler.vb b/src/EditorFeatures/VisualBasic/DocumentationComments/XmlTagCompletionCommandHandler.vb index 71a15878b1878..8af777207b7ad 100644 --- a/src/EditorFeatures/VisualBasic/DocumentationComments/XmlTagCompletionCommandHandler.vb +++ b/src/EditorFeatures/VisualBasic/DocumentationComments/XmlTagCompletionCommandHandler.vb @@ -9,12 +9,14 @@ Imports Microsoft.VisualStudio.Text.Operations Imports Microsoft.VisualStudio.Utilities Imports Microsoft.VisualStudio.Text.Editor Imports VSCommanding = Microsoft.VisualStudio.Commanding +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.DocumentationComments + Friend Class XmlTagCompletionCommandHandler Inherits AbstractXmlTagCompletionCommandHandler diff --git a/src/EditorFeatures/VisualBasic/EndConstructGeneration/EndConstructCommandHandler.vb b/src/EditorFeatures/VisualBasic/EndConstructGeneration/EndConstructCommandHandler.vb index fff3a56563224..a5eba0d22998c 100644 --- a/src/EditorFeatures/VisualBasic/EndConstructGeneration/EndConstructCommandHandler.vb +++ b/src/EditorFeatures/VisualBasic/EndConstructGeneration/EndConstructCommandHandler.vb @@ -9,6 +9,7 @@ Imports Microsoft.CodeAnalysis.Editor.Shared.Utilities Imports Microsoft.CodeAnalysis.Text Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Imports Microsoft.VisualStudio.Commanding +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion Imports Microsoft.VisualStudio.Text Imports Microsoft.VisualStudio.Text.Editor Imports Microsoft.VisualStudio.Text.Editor.Commanding.Commands @@ -21,6 +22,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.EndConstructGeneration + Friend Class EndConstructCommandHandler Implements IChainedCommandHandler(Of ReturnKeyCommandArgs) diff --git a/src/EditorFeatures/VisualBasic/ImplementAbstractClass/ImplementAbstractClassCommandHandler.vb b/src/EditorFeatures/VisualBasic/ImplementAbstractClass/ImplementAbstractClassCommandHandler.vb index fb59464aedf86..3cec6454d777b 100644 --- a/src/EditorFeatures/VisualBasic/ImplementAbstractClass/ImplementAbstractClassCommandHandler.vb +++ b/src/EditorFeatures/VisualBasic/ImplementAbstractClass/ImplementAbstractClassCommandHandler.vb @@ -5,6 +5,7 @@ Imports System.Threading Imports Microsoft.CodeAnalysis.Editor.VisualBasic.Utilities.CommandHandlers Imports Microsoft.CodeAnalysis.ImplementAbstractClass Imports Microsoft.CodeAnalysis.VisualBasic.Syntax +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion Imports Microsoft.VisualStudio.Text.Operations Imports Microsoft.VisualStudio.Utilities Imports VSCommanding = Microsoft.VisualStudio.Commanding @@ -15,6 +16,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.ImplementAbstractClass + Friend Class ImplementAbstractClassCommandHandler Inherits AbstractImplementAbstractClassOrInterfaceCommandHandler diff --git a/src/EditorFeatures/VisualBasic/ImplementInterface/ImplementInterfaceCommandHandler.vb b/src/EditorFeatures/VisualBasic/ImplementInterface/ImplementInterfaceCommandHandler.vb index 9a3e33c2cfe0e..042e24653d8b2 100644 --- a/src/EditorFeatures/VisualBasic/ImplementInterface/ImplementInterfaceCommandHandler.vb +++ b/src/EditorFeatures/VisualBasic/ImplementInterface/ImplementInterfaceCommandHandler.vb @@ -5,6 +5,7 @@ Imports System.Threading Imports Microsoft.CodeAnalysis.Editor.VisualBasic.Utilities.CommandHandlers Imports Microsoft.CodeAnalysis.ImplementInterface Imports Microsoft.CodeAnalysis.VisualBasic.Syntax +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion Imports Microsoft.VisualStudio.Text.Operations Imports Microsoft.VisualStudio.Utilities Imports VSCommanding = Microsoft.VisualStudio.Commanding @@ -15,6 +16,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.ImplementInterface + Friend Class ImplementInterfaceCommandHandler Inherits AbstractImplementAbstractClassOrInterfaceCommandHandler diff --git a/src/EditorFeatures/VisualBasic/LineCommit/CommitCommandHandler.vb b/src/EditorFeatures/VisualBasic/LineCommit/CommitCommandHandler.vb index 732dfc487dd40..b3170401eab32 100644 --- a/src/EditorFeatures/VisualBasic/LineCommit/CommitCommandHandler.vb +++ b/src/EditorFeatures/VisualBasic/LineCommit/CommitCommandHandler.vb @@ -8,6 +8,7 @@ Imports Microsoft.CodeAnalysis.Formatting.Rules Imports Microsoft.CodeAnalysis.Text Imports Microsoft.CodeAnalysis.Text.Shared.Extensions Imports Microsoft.VisualStudio.Commanding +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion Imports Microsoft.VisualStudio.Text Imports Microsoft.VisualStudio.Text.Editor Imports Microsoft.VisualStudio.Text.Editor.Commanding.Commands @@ -27,6 +28,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.LineCommit + Friend Class CommitCommandHandler Implements IChainedCommandHandler(Of ReturnKeyCommandArgs) Implements IChainedCommandHandler(Of PasteCommandArgs) diff --git a/src/EditorFeatures/VisualBasicTest/AutomaticCompletion/AutomaticLineEnderTests.vb b/src/EditorFeatures/VisualBasicTest/AutomaticCompletion/AutomaticLineEnderTests.vb index ba1b7c8a505d5..3f1c97e2f7e30 100644 --- a/src/EditorFeatures/VisualBasicTest/AutomaticCompletion/AutomaticLineEnderTests.vb +++ b/src/EditorFeatures/VisualBasicTest/AutomaticCompletion/AutomaticLineEnderTests.vb @@ -1,6 +1,5 @@ ' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -Imports System.Xml.Linq Imports Microsoft.CodeAnalysis.Editor.UnitTests.AutomaticCompletion Imports Microsoft.CodeAnalysis.Editor.UnitTests.Extensions Imports Microsoft.CodeAnalysis.Editor.UnitTests.Utilities @@ -8,6 +7,7 @@ Imports Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces Imports Microsoft.CodeAnalysis.Editor.VisualBasic.AutomaticCompletion Imports Microsoft.CodeAnalysis.Editor.VisualBasic.EndConstructGeneration Imports Microsoft.VisualStudio.Commanding +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion Imports Microsoft.VisualStudio.Text.Editor.Commanding.Commands Imports Microsoft.VisualStudio.Text.Operations @@ -218,13 +218,15 @@ End Module ) End Sub + ' The test verifies the integrated behavior which keeps the space '_'. + ' This corresponds to the actual VS behavior. Public Sub TestWithLineContinuation() Test( Module M Sub Main() - Dim _ + Dim _ $$ End Sub End Module @@ -244,10 +246,11 @@ End Module Friend Overrides Function CreateCommandHandler( undoRegistry As ITextUndoHistoryRegistry, - editorOperations As IEditorOperationsFactoryService + editorOperations As IEditorOperationsFactoryService, + asyncCompletionBroker As IAsyncCompletionBroker ) As IChainedCommandHandler(Of AutomaticLineEnderCommandArgs) - Return New AutomaticLineEnderCommandHandler(undoRegistry, editorOperations) + Return New AutomaticLineEnderCommandHandler(undoRegistry, editorOperations, asyncCompletionBroker) End Function Protected Overrides Function CreateNextHandler(workspace As TestWorkspace) As Action diff --git a/src/EditorFeatures/VisualBasicTest/Completion/CompletionProviders/AbstractVisualBasicCompletionProviderTests.vb b/src/EditorFeatures/VisualBasicTest/Completion/CompletionProviders/AbstractVisualBasicCompletionProviderTests.vb index 6607569f93326..e3860fe7d49f5 100644 --- a/src/EditorFeatures/VisualBasicTest/Completion/CompletionProviders/AbstractVisualBasicCompletionProviderTests.vb +++ b/src/EditorFeatures/VisualBasicTest/Completion/CompletionProviders/AbstractVisualBasicCompletionProviderTests.vb @@ -3,7 +3,7 @@ Imports System.Collections.Immutable Imports Microsoft.CodeAnalysis Imports Microsoft.CodeAnalysis.Completion -Imports Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion +Imports Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion Imports Microsoft.CodeAnalysis.Editor.UnitTests.Completion Imports Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces Imports Microsoft.CodeAnalysis.VisualBasic.Completion @@ -104,7 +104,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Completion.Complet Dim completionList = Await GetCompletionListAsync(service, document, position, CompletionTrigger.Invoke) Dim item = completionList.Items.First(Function(i) i.DisplayText.StartsWith(textTypedSoFar)) - Assert.Equal(expected, Controller.SendEnterThroughToEditor(service.GetRules(), item, textTypedSoFar)) + Assert.Equal(expected, CommitManager.SendEnterThroughToEditor(service.GetRules(), item, textTypedSoFar)) End Using End Function diff --git a/src/ExpressionEvaluator/CSharp/Test/ExpressionCompiler/Microsoft.CodeAnalysis.CSharp.ExpressionCompiler.UnitTests.csproj b/src/ExpressionEvaluator/CSharp/Test/ExpressionCompiler/Microsoft.CodeAnalysis.CSharp.ExpressionCompiler.UnitTests.csproj index c2a31916f0c7d..cef0203ff6df5 100644 --- a/src/ExpressionEvaluator/CSharp/Test/ExpressionCompiler/Microsoft.CodeAnalysis.CSharp.ExpressionCompiler.UnitTests.csproj +++ b/src/ExpressionEvaluator/CSharp/Test/ExpressionCompiler/Microsoft.CodeAnalysis.CSharp.ExpressionCompiler.UnitTests.csproj @@ -25,7 +25,7 @@ - + diff --git a/src/ExpressionEvaluator/CSharp/Test/ResultProvider/NativeViewTests.cs b/src/ExpressionEvaluator/CSharp/Test/ResultProvider/NativeViewTests.cs index af8b4437edec6..59f0efbdb6355 100644 --- a/src/ExpressionEvaluator/CSharp/Test/ResultProvider/NativeViewTests.cs +++ b/src/ExpressionEvaluator/CSharp/Test/ResultProvider/NativeViewTests.cs @@ -58,6 +58,13 @@ private void TestNativeView(bool enableNativeDebugging) Verify(children, EvalFailedResult("Native View", "To inspect the native object, enable native code debugging.")); } + + inspectionContext = CreateDkmInspectionContext(flags: DkmEvaluationFlags.NoSideEffects, runtimeInstance: runtime); + evalResult = FormatResult("o", value, inspectionContext: inspectionContext); + Verify(evalResult, + EvalResult("o", "{C}", "C", "o", DkmEvaluationResultFlags.Expandable)); + children = GetChildren(evalResult, inspectionContext); + Verify(children, new DkmEvaluationResult[0]); } } } diff --git a/src/ExpressionEvaluator/CSharp/Test/ResultProvider/ResultsViewTests.cs b/src/ExpressionEvaluator/CSharp/Test/ResultProvider/ResultsViewTests.cs index a600bdb8daf35..5bf392061fe84 100644 --- a/src/ExpressionEvaluator/CSharp/Test/ResultProvider/ResultsViewTests.cs +++ b/src/ExpressionEvaluator/CSharp/Test/ResultProvider/ResultsViewTests.cs @@ -1842,6 +1842,47 @@ static void M(List list) } } + [Fact] + public void NoSideEffects() + { + var source = +@"using System.Collections; +class C : IEnumerable +{ + private readonly IEnumerable e; + internal C(IEnumerable e) + { + this.e = e; + } + public IEnumerator GetEnumerator() + { + return this.e.GetEnumerator(); + } +}"; + var assembly = GetAssembly(source); + var assemblies = ReflectionUtilities.GetMscorlibAndSystemCore(assembly); + using (ReflectionUtilities.LoadAssemblies(assemblies)) + { + var runtime = new DkmClrRuntimeInstance(assemblies); + var type = assembly.GetType("C"); + var value = CreateDkmClrValue( + value: type.Instantiate(new[] { 1, 2 }), + type: runtime.GetType((TypeImpl)type)); + var inspectionContext = CreateDkmInspectionContext(DkmEvaluationFlags.NoSideEffects); + var evalResult = FormatResult("o", value, inspectionContext: inspectionContext); + Verify(evalResult, + EvalResult("o", "{C}", "C", "o", DkmEvaluationResultFlags.Expandable)); + var children = GetChildren(evalResult, inspectionContext: inspectionContext); + Verify(children, + EvalResult( + "e", + "{int[2]}", + "System.Collections.IEnumerable {int[]}", + "o.e", + DkmEvaluationResultFlags.Expandable | DkmEvaluationResultFlags.ReadOnly)); + } + } + private DkmEvaluationResult FormatPropertyValue(DkmClrRuntimeInstance runtime, object value, string propertyName) { var propertyInfo = value.GetType().GetProperty(propertyName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); diff --git a/src/ExpressionEvaluator/Core/Source/ResultProvider/Expansion/NativeViewExpansion.cs b/src/ExpressionEvaluator/Core/Source/ResultProvider/Expansion/NativeViewExpansion.cs index ec3f024801980..804a535d56ff1 100644 --- a/src/ExpressionEvaluator/Core/Source/ResultProvider/Expansion/NativeViewExpansion.cs +++ b/src/ExpressionEvaluator/Core/Source/ResultProvider/Expansion/NativeViewExpansion.cs @@ -26,6 +26,11 @@ internal override void GetRows( bool visitAll, ref int index) { + if ((inspectionContext.EvaluationFlags & DkmEvaluationFlags.NoSideEffects) == DkmEvaluationFlags.NoSideEffects) + { + return; + } + if (InRange(startIndex, count, index)) { rows.Add(GetRow(inspectionContext, value, parent)); diff --git a/src/ExpressionEvaluator/Core/Source/ResultProvider/Expansion/ResultsViewExpansion.cs b/src/ExpressionEvaluator/Core/Source/ResultProvider/Expansion/ResultsViewExpansion.cs index 42c54626c26b5..f481320055417 100644 --- a/src/ExpressionEvaluator/Core/Source/ResultProvider/Expansion/ResultsViewExpansion.cs +++ b/src/ExpressionEvaluator/Core/Source/ResultProvider/Expansion/ResultsViewExpansion.cs @@ -208,6 +208,11 @@ internal override void GetRows( bool visitAll, ref int index) { + if ((inspectionContext.EvaluationFlags & DkmEvaluationFlags.NoSideEffects) == DkmEvaluationFlags.NoSideEffects) + { + return; + } + if (InRange(startIndex, count, index)) { rows.Add(CreateResultsViewRow(inspectionContext, parent, resultProvider.FullNameProvider)); diff --git a/src/ExpressionEvaluator/Core/Test/ResultProvider/Debugger/Engine/DkmEvaluationFlags.cs b/src/ExpressionEvaluator/Core/Test/ResultProvider/Debugger/Engine/DkmEvaluationFlags.cs index 3b38dd5326aca..3b30735e24987 100644 --- a/src/ExpressionEvaluator/Core/Test/ResultProvider/Debugger/Engine/DkmEvaluationFlags.cs +++ b/src/ExpressionEvaluator/Core/Test/ResultProvider/Debugger/Engine/DkmEvaluationFlags.cs @@ -12,6 +12,7 @@ namespace Microsoft.VisualStudio.Debugger.Evaluation public enum DkmEvaluationFlags { None, + NoSideEffects = 4, ShowValueRaw = 128, HideNonPublicMembers = 512, NoToString = 1024, diff --git a/src/ExpressionEvaluator/Package/ExpressionEvaluatorPackage.csproj b/src/ExpressionEvaluator/Package/ExpressionEvaluatorPackage.csproj index 738320b4e4d9d..7a98061a461fd 100644 --- a/src/ExpressionEvaluator/Package/ExpressionEvaluatorPackage.csproj +++ b/src/ExpressionEvaluator/Package/ExpressionEvaluatorPackage.csproj @@ -79,6 +79,8 @@ + + diff --git a/src/ExpressionEvaluator/VisualBasic/Test/ResultProvider/ResultsViewTests.vb b/src/ExpressionEvaluator/VisualBasic/Test/ResultProvider/ResultsViewTests.vb index 51e832ae756cc..aee82f607fb09 100644 --- a/src/ExpressionEvaluator/VisualBasic/Test/ResultProvider/ResultsViewTests.vb +++ b/src/ExpressionEvaluator/VisualBasic/Test/ResultProvider/ResultsViewTests.vb @@ -145,6 +145,43 @@ End Class" End Using End Sub + + Public Sub NoSideEffects() + Const source = +"Imports System.Collections +Class C + Implements IEnumerable + Private e As IEnumerable + Sub New(e As IEnumerable) + Me.e = e + End Sub + Private Function F() As IEnumerator Implements IEnumerable.GetEnumerator + Return e.GetEnumerator() + End Function +End Class" + Dim assembly = GetAssembly(source) + Dim assemblies = ReflectionUtilities.GetMscorlibAndSystemCore(assembly) + Using ReflectionUtilities.LoadAssemblies(assemblies) + Dim runtime = New DkmClrRuntimeInstance(assemblies) + Dim type = assembly.GetType("C") + Dim value = CreateDkmClrValue( + value:=type.Instantiate(New Integer() {1, 2}), + type:=runtime.GetType(CType(type, TypeImpl))) + Dim inspectionContext = CreateDkmInspectionContext(DkmEvaluationFlags.NoSideEffects) + Dim result = FormatResult("o", value, inspectionContext:=inspectionContext) + Verify(result, + EvalResult("o", "{C}", "C", "o", DkmEvaluationResultFlags.Expandable)) + Dim children = GetChildren(result, inspectionContext:=inspectionContext) + Verify(children, + EvalResult( + "e", + "{Length=2}", + "System.Collections.IEnumerable {Integer()}", + "o.e", + DkmEvaluationResultFlags.Expandable)) + End Using + End Sub + End Class End Namespace diff --git a/src/Features/CSharp/Portable/CodeCleanup/CSharpCodeCleanupService.cs b/src/Features/CSharp/Portable/CodeCleanup/CSharpCodeCleanupService.cs index 2b22798f7bf58..56fffc1433336 100644 --- a/src/Features/CSharp/Portable/CodeCleanup/CSharpCodeCleanupService.cs +++ b/src/Features/CSharp/Portable/CodeCleanup/CSharpCodeCleanupService.cs @@ -18,7 +18,6 @@ using Microsoft.CodeAnalysis.RemoveUnnecessaryImports; using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Shared.Utilities; -using Microsoft.CodeAnalysis.Text; namespace Microsoft.CodeAnalysis.CSharp.CodeCleanup { @@ -40,80 +39,76 @@ public CSharpCodeCleanupService( /// /// Maps format document code cleanup options to DiagnosticId[] /// - private static ImmutableArray<(string description, PerLanguageOption option, ImmutableArray diagnosticIds)> _optionDiagnosticsMappings = + private static ImmutableArray<(DiagnosticSet diagnosticSet, PerLanguageOption option)> _optionDiagnosticsMappings = ImmutableArray.Create( - (CSharpFeaturesResources.Apply_implicit_explicit_type_preferences, - CodeCleanupOptions.ApplyImplicitExplicitTypePreferences, - ImmutableArray.Create(IDEDiagnosticIds.UseImplicitTypeDiagnosticId, - IDEDiagnosticIds.UseExplicitTypeDiagnosticId)), - - (CSharpFeaturesResources.Apply_this_qualification_preferences, - CodeCleanupOptions.ApplyThisQualificationPreferences, - ImmutableArray.Create(IDEDiagnosticIds.AddQualificationDiagnosticId, - IDEDiagnosticIds.RemoveQualificationDiagnosticId)), - - (CSharpFeaturesResources.Apply_language_framework_type_preferences, - CodeCleanupOptions.ApplyLanguageFrameworkTypePreferences, - ImmutableArray.Create(IDEDiagnosticIds.PreferBuiltInOrFrameworkTypeDiagnosticId)), - - (CSharpFeaturesResources.Add_remove_braces_for_single_line_control_statements, - CodeCleanupOptions.AddRemoveBracesForSingleLineControlStatements, - ImmutableArray.Create(IDEDiagnosticIds.AddBracesDiagnosticId)), - - (CSharpFeaturesResources.Add_accessibility_modifiers, - CodeCleanupOptions.AddAccessibilityModifiers, - ImmutableArray.Create(IDEDiagnosticIds.AddAccessibilityModifiersDiagnosticId)), - - (CSharpFeaturesResources.Sort_accessibility_modifiers, - CodeCleanupOptions.SortAccessibilityModifiers, - ImmutableArray.Create(IDEDiagnosticIds.OrderModifiersDiagnosticId)), - - (CSharpFeaturesResources.Make_private_field_readonly_when_possible, - CodeCleanupOptions.MakePrivateFieldReadonlyWhenPossible, - ImmutableArray.Create(IDEDiagnosticIds.MakeFieldReadonlyDiagnosticId)), - - (CSharpFeaturesResources.Remove_unnecessary_casts, - CodeCleanupOptions.RemoveUnnecessaryCasts, - ImmutableArray.Create(IDEDiagnosticIds.RemoveUnnecessaryCastDiagnosticId)), - - (CSharpFeaturesResources.Apply_expression_block_body_preferences, - CodeCleanupOptions.ApplyExpressionBlockBodyPreferences, - ImmutableArray.Create(IDEDiagnosticIds.UseExpressionBodyForConstructorsDiagnosticId, + (new DiagnosticSet(CSharpFeaturesResources.Apply_implicit_explicit_type_preferences, + new[] { IDEDiagnosticIds.UseImplicitTypeDiagnosticId, IDEDiagnosticIds.UseExplicitTypeDiagnosticId }), + CodeCleanupOptions.ApplyImplicitExplicitTypePreferences), + + (new DiagnosticSet(CSharpFeaturesResources.Apply_this_qualification_preferences, + new[] { IDEDiagnosticIds.AddQualificationDiagnosticId, IDEDiagnosticIds.RemoveQualificationDiagnosticId }), + CodeCleanupOptions.ApplyThisQualificationPreferences), + + (new DiagnosticSet(CSharpFeaturesResources.Apply_language_framework_type_preferences, + new[] { IDEDiagnosticIds.PreferBuiltInOrFrameworkTypeDiagnosticId }), + CodeCleanupOptions.ApplyLanguageFrameworkTypePreferences), + + (new DiagnosticSet(CSharpFeaturesResources.Add_remove_braces_for_single_line_control_statements, + new[] { IDEDiagnosticIds.AddBracesDiagnosticId }), + CodeCleanupOptions.AddRemoveBracesForSingleLineControlStatements), + + (new DiagnosticSet(CSharpFeaturesResources.Add_accessibility_modifiers, + new[] { IDEDiagnosticIds.AddAccessibilityModifiersDiagnosticId }), + CodeCleanupOptions.AddAccessibilityModifiers), + + (new DiagnosticSet(CSharpFeaturesResources.Sort_accessibility_modifiers, + new[] { IDEDiagnosticIds.OrderModifiersDiagnosticId }), + CodeCleanupOptions.SortAccessibilityModifiers), + + (new DiagnosticSet(CSharpFeaturesResources.Make_private_field_readonly_when_possible, + new[] { IDEDiagnosticIds.MakeFieldReadonlyDiagnosticId }), + CodeCleanupOptions.MakePrivateFieldReadonlyWhenPossible), + + (new DiagnosticSet(CSharpFeaturesResources.Remove_unnecessary_casts, + new[] { IDEDiagnosticIds.RemoveUnnecessaryCastDiagnosticId }), + CodeCleanupOptions.RemoveUnnecessaryCasts), + + (new DiagnosticSet(CSharpFeaturesResources.Apply_expression_block_body_preferences, + new[] {IDEDiagnosticIds.UseExpressionBodyForConstructorsDiagnosticId, IDEDiagnosticIds.UseExpressionBodyForMethodsDiagnosticId, IDEDiagnosticIds.UseExpressionBodyForConversionOperatorsDiagnosticId, IDEDiagnosticIds.UseExpressionBodyForOperatorsDiagnosticId, IDEDiagnosticIds.UseExpressionBodyForPropertiesDiagnosticId, IDEDiagnosticIds.UseExpressionBodyForIndexersDiagnosticId, IDEDiagnosticIds.UseExpressionBodyForAccessorsDiagnosticId, - IDEDiagnosticIds.UseExpressionBodyForLocalFunctionsDiagnosticId)), + IDEDiagnosticIds.UseExpressionBodyForLocalFunctionsDiagnosticId}), + CodeCleanupOptions.ApplyExpressionBlockBodyPreferences), - (CSharpFeaturesResources.Apply_inline_out_variable_preferences, - CodeCleanupOptions.ApplyInlineOutVariablePreferences, - ImmutableArray.Create(IDEDiagnosticIds.InlineDeclarationDiagnosticId)), + (new DiagnosticSet(CSharpFeaturesResources.Apply_inline_out_variable_preferences, + new[] { IDEDiagnosticIds.InlineDeclarationDiagnosticId }), + CodeCleanupOptions.ApplyInlineOutVariablePreferences), - (CSharpFeaturesResources.Remove_unused_variables, - CodeCleanupOptions.RemoveUnusedVariables, - ImmutableArray.Create(CSharpRemoveUnusedVariableCodeFixProvider.CS0168, - CSharpRemoveUnusedVariableCodeFixProvider.CS0219)), + (new DiagnosticSet(CSharpFeaturesResources.Remove_unused_variables, + new[] { CSharpRemoveUnusedVariableCodeFixProvider.CS0168, CSharpRemoveUnusedVariableCodeFixProvider.CS0219 }), + CodeCleanupOptions.RemoveUnusedVariables), - (CSharpFeaturesResources.Apply_object_collection_initialization_preferences, - CodeCleanupOptions.ApplyObjectCollectionInitializationPreferences, - ImmutableArray.Create(IDEDiagnosticIds.UseObjectInitializerDiagnosticId, - IDEDiagnosticIds.UseCollectionInitializerDiagnosticId)) + (new DiagnosticSet(CSharpFeaturesResources.Apply_object_collection_initialization_preferences, + new[] { IDEDiagnosticIds.UseObjectInitializerDiagnosticId, IDEDiagnosticIds.UseCollectionInitializerDiagnosticId }), + CodeCleanupOptions.ApplyObjectCollectionInitializationPreferences) ); public async Task CleanupAsync( - Document document, IProgressTracker progressTracker, CancellationToken cancellationToken) + Document document, + EnabledDiagnosticOptions enabledDiagnostics, + IProgressTracker progressTracker, + CancellationToken cancellationToken) { - var docOptions = await document.GetOptionsAsync(cancellationToken).ConfigureAwait(false); - // add one item for the 'format' action we'll do last progressTracker.AddItems(1); // and one for 'remove/sort usings' if we're going to run that. - var organizeUsings = docOptions.GetOption(CodeCleanupOptions.RemoveUnusedImports) || - docOptions.GetOption(CodeCleanupOptions.SortImports); - + var organizeUsings = enabledDiagnostics.OrganizeUsings.IsRemoveUnusedImportEnabled || + enabledDiagnostics.OrganizeUsings.IsSortImportsEnabled; if (organizeUsings) { progressTracker.AddItems(1); @@ -122,7 +117,7 @@ public async Task CleanupAsync( if (_codeFixServiceOpt != null) { document = await ApplyCodeFixesAsync( - document, docOptions, progressTracker, cancellationToken).ConfigureAwait(false); + document, enabledDiagnostics.Diagnostics, progressTracker, cancellationToken).ConfigureAwait(false); } // do the remove usings after code fix, as code fix might remove some code which can results in unused usings. @@ -130,7 +125,7 @@ public async Task CleanupAsync( { progressTracker.Description = CSharpFeaturesResources.Organize_Usings; document = await RemoveSortUsingsAsync( - document, docOptions, cancellationToken).ConfigureAwait(false); + document, enabledDiagnostics.OrganizeUsings, cancellationToken).ConfigureAwait(false); progressTracker.ItemCompleted(); } @@ -144,9 +139,9 @@ public async Task CleanupAsync( } private async Task RemoveSortUsingsAsync( - Document document, DocumentOptionSet docOptions, CancellationToken cancellationToken) + Document document, OrganizeUsingsSet organizeUsingsSet, CancellationToken cancellationToken) { - if (docOptions.GetOption(CodeCleanupOptions.RemoveUnusedImports)) + if (organizeUsingsSet.IsRemoveUnusedImportEnabled) { var removeUsingsService = document.GetLanguageService(); if (removeUsingsService != null) @@ -158,7 +153,7 @@ private async Task RemoveSortUsingsAsync( } } - if (docOptions.GetOption(CodeCleanupOptions.SortImports)) + if (organizeUsingsSet.IsSortImportsEnabled) { using (Logger.LogBlock(FunctionId.CodeCleanup_SortImports, cancellationToken)) { @@ -170,21 +165,19 @@ private async Task RemoveSortUsingsAsync( } private async Task ApplyCodeFixesAsync( - Document document, DocumentOptionSet docOptions, + Document document, ImmutableArray enabledDiagnosticSets, IProgressTracker progressTracker, CancellationToken cancellationToken) { - var enabledOptions = GetEnabledOptions(docOptions); - // Add a progress item for each enabled option we're going to fixup. - progressTracker.AddItems(enabledOptions.Length); + progressTracker.AddItems(enabledDiagnosticSets.Length); - foreach (var (description, diagnosticIds) in enabledOptions) + foreach (var diagnosticSet in enabledDiagnosticSets) { cancellationToken.ThrowIfCancellationRequested(); - progressTracker.Description = description; - document = await ApplyCodeFixesForSpecificDiagnosticIds( - document, diagnosticIds, cancellationToken).ConfigureAwait(false); + progressTracker.Description = diagnosticSet.Description; + document = await ApplyCodeFixesForSpecificDiagnosticIdsAsync( + document, diagnosticSet.DiagnosticIds, progressTracker, cancellationToken).ConfigureAwait(false); // Mark this option as being completed. progressTracker.ItemCompleted(); @@ -193,55 +186,40 @@ private async Task ApplyCodeFixesAsync( return document; } - private async Task ApplyCodeFixesForSpecificDiagnosticIds( - Document document, ImmutableArray diagnosticIds, CancellationToken cancellationToken) + private async Task ApplyCodeFixesForSpecificDiagnosticIdsAsync( + Document document, ImmutableArray diagnosticIds, IProgressTracker progressTracker, CancellationToken cancellationToken) { foreach (var diagnosticId in diagnosticIds) { using (Logger.LogBlock(FunctionId.CodeCleanup_ApplyCodeFixesAsync, diagnosticId, cancellationToken)) { - document = await ApplyCodeFixesForSpecificDiagnosticId( - document, diagnosticId, cancellationToken).ConfigureAwait(false); + document = await _codeFixServiceOpt.ApplyCodeFixesForSpecificDiagnosticIdAsync( + document, diagnosticId, progressTracker, cancellationToken).ConfigureAwait(false); } } return document; } - private async Task ApplyCodeFixesForSpecificDiagnosticId( - Document document, string diagnosticId, CancellationToken cancellationToken) + public EnabledDiagnosticOptions GetAllDiagnostics() { - var tree = await document.GetSyntaxTreeAsync(cancellationToken).ConfigureAwait(false); - var textSpan = new TextSpan(0, tree.Length); - - var fixCollection = await _codeFixServiceOpt.GetDocumentFixAllForIdInSpan( - document, textSpan, diagnosticId, cancellationToken).ConfigureAwait(false); - if (fixCollection == null) - { - return document; - } - - var fixAllService = document.Project.Solution.Workspace.Services.GetService(); - - var solution = await fixAllService.GetFixAllChangedSolutionAsync( - fixCollection.FixAllState.CreateFixAllContext(new ProgressTracker(), cancellationToken)).ConfigureAwait(false); - - return solution.GetDocument(document.Id); + var diagnosticSets = _optionDiagnosticsMappings.SelectAsArray(i => i.diagnosticSet); + return new EnabledDiagnosticOptions(diagnosticSets, new OrganizeUsingsSet(isRemoveUnusedImportEnabled: true, isSortImportsEnabled: true)); } - private ImmutableArray<(string description, ImmutableArray diagnosticIds)> GetEnabledOptions(DocumentOptionSet docOptions) + public EnabledDiagnosticOptions GetEnabledDiagnostics(OptionSet optionSet) { - var result = ArrayBuilder<(string description, ImmutableArray diagnosticIds)>.GetInstance(); + var diagnosticSets = ArrayBuilder.GetInstance(); - foreach (var (description, option, diagnosticIds) in _optionDiagnosticsMappings) + foreach (var (diagnosticSet, option) in _optionDiagnosticsMappings) { - if (docOptions.GetOption(option)) + if (optionSet.GetOption(option, LanguageNames.CSharp)) { - result.AddRange((description, diagnosticIds)); + diagnosticSets.AddRange(diagnosticSet); } } - return result.ToImmutableAndFree(); + return new EnabledDiagnosticOptions(diagnosticSets.ToImmutableArray(), new OrganizeUsingsSet(optionSet, LanguageNames.CSharp)); } } } diff --git a/src/Features/CSharp/Portable/Completion/CompletionProviders/NamedParameterCompletionProvider.cs b/src/Features/CSharp/Portable/Completion/CompletionProviders/NamedParameterCompletionProvider.cs index a27ea8192103d..11aea5eed57e7 100644 --- a/src/Features/CSharp/Portable/Completion/CompletionProviders/NamedParameterCompletionProvider.cs +++ b/src/Features/CSharp/Portable/Completion/CompletionProviders/NamedParameterCompletionProvider.cs @@ -256,7 +256,10 @@ int IEqualityComparer.GetHashCode(IParameterSymbol obj) { return Task.FromResult(new TextChange( selectedItem.Span, - selectedItem.DisplayText)); + // Do not insert colon on so that user can complete out a variable name that does not currently exist. + // ch == null is to support the old completion only. + // Do not insert an extra colon if colon has been explicitly typed. + (ch == null || ch == '\t' || ch == ':') ? selectedItem.DisplayText : selectedItem.GetEntireDisplayText())); } } } diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.cs.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.cs.xlf index c202ec6ba9753..a44ce681814ae 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.cs.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.cs.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + Převést na metodu @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + Přidat [Obsolete] Use '{0}' - Use '{0}' + Použít {0} Introduce 'using' statement - Introduce 'using' statement + Zavést příkaz using {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.de.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.de.xlf index 2f7b249a54e57..780f66dfa189f 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.de.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.de.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + In Methode konvertieren @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + Hinzufügen [veraltet] Use '{0}' - Use '{0}' + "{0}" verwenden Introduce 'using' statement - Introduce 'using' statement + "using"-Anweisung einführen {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.es.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.es.xlf index aef19f8e18e4c..ad8b06c964f57 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.es.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.es.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + Convertir al método @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + Agregar [obsoleto] Use '{0}' - Use '{0}' + Usar "{0}" Introduce 'using' statement - Introduce 'using' statement + Introducir la instrucción "using" {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.fr.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.fr.xlf index 2cc4e27b09621..c77a277063491 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.fr.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.fr.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + Convertir en méthode @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + Ajouter [obsolète] Use '{0}' - Use '{0}' + Utiliser '{0}' Introduce 'using' statement - Introduce 'using' statement + Introduire l’instruction 'using' {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.it.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.it.xlf index 3891e625263a0..723544c88d076 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.it.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.it.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + Converti in metodo @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + Aggiungi [obsoleto] Use '{0}' - Use '{0}' + Usa '{0}' Introduce 'using' statement - Introduce 'using' statement + Introduci l'istruzione 'using' {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ja.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ja.xlf index a4d2552a974b0..09ab8e156d788 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ja.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ja.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + メソッドに変換 @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + 追加 [廃止] Use '{0}' - Use '{0}' + '{0}' を使用します Introduce 'using' statement - Introduce 'using' statement + 'using' ステートメントを導入します {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ko.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ko.xlf index 09bf016dbd2ba..9d9a090323ad4 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ko.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ko.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + 메서드로 변환 @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + [Obsolete] 추가 Use '{0}' - Use '{0}' + '{0}' 사용 Introduce 'using' statement - Introduce 'using' statement + 'using' 문 지정 {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.pl.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.pl.xlf index 75ce1b765d641..14b9c895f36d5 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.pl.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.pl.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + Konwertuj na metodę @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + Dodaj [przestarzałe] Use '{0}' - Use '{0}' + Użyj elementu „{0}” Introduce 'using' statement - Introduce 'using' statement + Wprowadź instrukcję „using” {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.pt-BR.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.pt-BR.xlf index 78537e3e3add4..742252ce350da 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.pt-BR.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.pt-BR.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + Converter em método @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + Adicionar [Obsolete] Use '{0}' - Use '{0}' + Usar '{0}' Introduce 'using' statement - Introduce 'using' statement + Introduzir a instrução 'using' {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ru.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ru.xlf index 8aea7ba6ba361..5ace9c21b1407 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ru.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.ru.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + Преобразовать в метод @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + Добавить [устарело] Use '{0}' - Use '{0}' + Использовать "{0}" Introduce 'using' statement - Introduce 'using' statement + Добавить инструкцию 'using' {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.tr.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.tr.xlf index 2b320a305dab3..76627f2e25e4b 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.tr.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.tr.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + Yönteme dönüştür @@ -279,7 +279,7 @@ deprecated - deprecated + kullanım dışı @@ -294,7 +294,7 @@ awaitable, extension - awaitable, extension + awaitable, uzantı @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + Ekle [Eski] Use '{0}' - Use '{0}' + '{0}' kullan Introduce 'using' statement - Introduce 'using' statement + 'using' deyimi ekle {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.zh-Hans.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.zh-Hans.xlf index 71c9b7fe0b1b3..ef8dfbaa00ef1 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.zh-Hans.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.zh-Hans.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + 转换为方法 @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + 添加 [Obsolete] Use '{0}' - Use '{0}' + 使用 "{0}" Introduce 'using' statement - Introduce 'using' statement + 介绍 'using' 语句 {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.zh-Hant.xlf b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.zh-Hant.xlf index 24e18eeee517c..a3d6fa8926700 100644 --- a/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.zh-Hant.xlf +++ b/src/Features/CSharp/Portable/xlf/CSharpFeaturesResources.zh-Hant.xlf @@ -64,7 +64,7 @@ Convert to method - Convert to method + 轉換為方法 @@ -149,7 +149,7 @@ <member name> = - <member name> = + <成員名稱> = @@ -654,7 +654,7 @@ <class name> - <class name> + <類別名稱> @@ -694,7 +694,7 @@ <Name> - <Name> + <名稱> @@ -744,17 +744,17 @@ Add [Obsolete] - Add [Obsolete] + 新增 [Obsolete] Use '{0}' - Use '{0}' + 使用 '{0}' Introduce 'using' statement - Introduce 'using' statement + 引進 'using’ 陳述式 {Locked="using"} "using" is a C# keyword and should not be localized. diff --git a/src/Features/Core/Portable/CodeCleanup/DiagnosticSet.cs b/src/Features/Core/Portable/CodeCleanup/DiagnosticSet.cs new file mode 100644 index 0000000000000..1b1af5cce63e7 --- /dev/null +++ b/src/Features/Core/Portable/CodeCleanup/DiagnosticSet.cs @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Immutable; + +namespace Microsoft.CodeAnalysis.CodeCleanup +{ + /// + /// Indicates which code fixes are enabled for a Code Cleanup operation. Each code fix in the set is triggered by + /// one or more diagnostic IDs, which could be provided by the compiler or an analyzer. + /// + internal sealed class DiagnosticSet + { + public string Description { get; } + public ImmutableArray DiagnosticIds { get; } + + public DiagnosticSet(string description, string[] diagnosticIds) + { + Description = description; + DiagnosticIds = ImmutableArray.Create(diagnosticIds); + } + } +} diff --git a/src/Features/Core/Portable/CodeCleanup/EnabledDiagnosticOptions.cs b/src/Features/Core/Portable/CodeCleanup/EnabledDiagnosticOptions.cs new file mode 100644 index 0000000000000..aff63420b5bf7 --- /dev/null +++ b/src/Features/Core/Portable/CodeCleanup/EnabledDiagnosticOptions.cs @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Immutable; + +namespace Microsoft.CodeAnalysis.CodeCleanup +{ + /// + /// Indicates which features are enabled for a code cleanup operation. + /// + internal sealed class EnabledDiagnosticOptions + { + public ImmutableArray Diagnostics { get; } + + public OrganizeUsingsSet OrganizeUsings { get; } + + public EnabledDiagnosticOptions(ImmutableArray diagnostics, OrganizeUsingsSet organizeUsings) + { + Diagnostics = diagnostics; + OrganizeUsings = organizeUsings; + } + } +} diff --git a/src/Features/Core/Portable/CodeCleanup/ICodeCleanupService.cs b/src/Features/Core/Portable/CodeCleanup/ICodeCleanupService.cs index fa8a544dfa6db..8cdff1189fc9d 100644 --- a/src/Features/Core/Portable/CodeCleanup/ICodeCleanupService.cs +++ b/src/Features/Core/Portable/CodeCleanup/ICodeCleanupService.cs @@ -3,12 +3,15 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.Host; +using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Shared.Utilities; namespace Microsoft.CodeAnalysis.CodeCleanup { internal interface ICodeCleanupService : ILanguageService { - Task CleanupAsync(Document document, IProgressTracker progressTracker, CancellationToken cancellationToken); + Task CleanupAsync(Document document, EnabledDiagnosticOptions enabledDiagnostics, IProgressTracker progressTracker, CancellationToken cancellationToken); + EnabledDiagnosticOptions GetAllDiagnostics(); + EnabledDiagnosticOptions GetEnabledDiagnostics(OptionSet optionSet); } } diff --git a/src/Features/Core/Portable/CodeCleanup/OrganizeUsingsSettings.cs b/src/Features/Core/Portable/CodeCleanup/OrganizeUsingsSettings.cs new file mode 100644 index 0000000000000..52dad42fb8a11 --- /dev/null +++ b/src/Features/Core/Portable/CodeCleanup/OrganizeUsingsSettings.cs @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.CodeAnalysis.Options; + +namespace Microsoft.CodeAnalysis.CodeCleanup +{ + /// + /// Indicates which, if any, Organize Usings features are enabled for code cleanup. + /// + internal sealed class OrganizeUsingsSet + { + public bool IsRemoveUnusedImportEnabled { get; } + public bool IsSortImportsEnabled { get; } + + public OrganizeUsingsSet(OptionSet optionSet, string language) + { + IsRemoveUnusedImportEnabled = optionSet.GetOption(CodeCleanupOptions.RemoveUnusedImports, language); + IsSortImportsEnabled = optionSet.GetOption(CodeCleanupOptions.SortImports, language); + } + + public OrganizeUsingsSet(bool isRemoveUnusedImportEnabled, bool isSortImportsEnabled) + { + IsRemoveUnusedImportEnabled = isRemoveUnusedImportEnabled; + IsSortImportsEnabled = isSortImportsEnabled; + } + } +} diff --git a/src/Features/Core/Portable/CodeFixes/ICodeFixService.cs b/src/Features/Core/Portable/CodeFixes/ICodeFixService.cs index 813b6c3ae229c..d96bb69f0290d 100644 --- a/src/Features/Core/Portable/CodeFixes/ICodeFixService.cs +++ b/src/Features/Core/Portable/CodeFixes/ICodeFixService.cs @@ -4,6 +4,7 @@ using System.Collections.Immutable; using System.Threading; using System.Threading.Tasks; +using Microsoft.CodeAnalysis.Shared.Utilities; using Microsoft.CodeAnalysis.Text; namespace Microsoft.CodeAnalysis.CodeFixes @@ -11,8 +12,9 @@ namespace Microsoft.CodeAnalysis.CodeFixes internal interface ICodeFixService { Task> GetFixesAsync(Document document, TextSpan textSpan, bool includeSuppressionFixes, CancellationToken cancellationToken); - Task GetDocumentFixAllForIdInSpan(Document document, TextSpan textSpan, string diagnosticId, CancellationToken cancellationToken); + Task GetDocumentFixAllForIdInSpanAsync(Document document, TextSpan textSpan, string diagnosticId, CancellationToken cancellationToken); + Task ApplyCodeFixesForSpecificDiagnosticIdAsync(Document document, string diagnosticId, IProgressTracker progressTracker, CancellationToken cancellationToken); CodeFixProvider GetSuppressionFixer(string language, IEnumerable diagnosticIds); - Task GetMostSevereFixableDiagnostic(Document document, TextSpan range, CancellationToken cancellationToken); + Task GetMostSevereFixableDiagnosticAsync(Document document, TextSpan range, CancellationToken cancellationToken); } } diff --git a/src/Features/Core/Portable/Completion/CommonCompletionProvider.cs b/src/Features/Core/Portable/Completion/CommonCompletionProvider.cs index 213ce19b64780..2e9625ed193c5 100644 --- a/src/Features/Core/Portable/Completion/CommonCompletionProvider.cs +++ b/src/Features/Core/Portable/Completion/CommonCompletionProvider.cs @@ -18,7 +18,7 @@ public override bool ShouldTriggerCompletion(SourceText text, int position, Comp { switch (trigger.Kind) { - case CompletionTriggerKind.Insertion: + case CompletionTriggerKind.Insertion when position > 0: var insertedCharacterPosition = position - 1; return this.IsInsertionTrigger(text, insertedCharacterPosition, options); diff --git a/src/Features/Core/Portable/Completion/CommonCompletionUtilities.cs b/src/Features/Core/Portable/Completion/CommonCompletionUtilities.cs index aa67b47a14462..a680bd2241d31 100644 --- a/src/Features/Core/Portable/Completion/CommonCompletionUtilities.cs +++ b/src/Features/Core/Portable/Completion/CommonCompletionUtilities.cs @@ -20,6 +20,12 @@ internal static class CommonCompletionUtilities { private const string NonBreakingSpaceString = "\x00A0"; + public static TextSpan GetWordSpan(SourceText text, int position, + Func isWordStartCharacter, Func isWordCharacter) + { + return GetWordSpan(text, position, isWordStartCharacter, isWordCharacter, alwaysExtendEndSpan: false); + } + public static TextSpan GetWordSpan(SourceText text, int position, Func isWordStartCharacter, Func isWordCharacter, bool alwaysExtendEndSpan = false) { diff --git a/src/Features/Core/Portable/Completion/CompletionService.cs b/src/Features/Core/Portable/Completion/CompletionService.cs index 24ac61ad66c69..4ccaaee32c9c1 100644 --- a/src/Features/Core/Portable/Completion/CompletionService.cs +++ b/src/Features/Core/Portable/Completion/CompletionService.cs @@ -138,7 +138,14 @@ public virtual ImmutableArray FilterItems( string filterText) { var helper = CompletionHelper.GetHelper(document); + return FilterItems(helper, items, filterText); + } + internal static ImmutableArray FilterItems( + CompletionHelper completionHelper, + ImmutableArray items, + string filterText) + { var bestItems = ArrayBuilder.GetInstance(); foreach (var item in items) { @@ -149,7 +156,7 @@ public virtual ImmutableArray FilterItems( } else { - var comparison = helper.CompareItems(item, bestItems.First(), filterText, CultureInfo.CurrentCulture); + var comparison = completionHelper.CompareItems(item, bestItems.First(), filterText, CultureInfo.CurrentCulture); if (comparison < 0) { // This item is strictly better than the best items we've found so far. diff --git a/src/Features/Core/Portable/PublicAPI.Unshipped.txt b/src/Features/Core/Portable/PublicAPI.Unshipped.txt index b7d7df97663a9..eee5820a2e0b7 100644 --- a/src/Features/Core/Portable/PublicAPI.Unshipped.txt +++ b/src/Features/Core/Portable/PublicAPI.Unshipped.txt @@ -7,6 +7,9 @@ const Microsoft.CodeAnalysis.QuickInfo.QuickInfoSectionKinds.Exception = "Except const Microsoft.CodeAnalysis.QuickInfo.QuickInfoSectionKinds.Text = "Text" -> string const Microsoft.CodeAnalysis.QuickInfo.QuickInfoSectionKinds.TypeParameters = "TypeParameters" -> string const Microsoft.CodeAnalysis.QuickInfo.QuickInfoSectionKinds.Usage = "Usage" -> string +const Microsoft.CodeAnalysis.TextTags.Constant = "Constant" -> string +const Microsoft.CodeAnalysis.TextTags.EnumMember = "EnumMember" -> string +const Microsoft.CodeAnalysis.TextTags.ExtensionMethod = "ExtensionMethod" -> string Microsoft.CodeAnalysis.Completion.CompletionItem.DisplayTextPrefix.get -> string Microsoft.CodeAnalysis.Completion.CompletionItem.DisplayTextSuffix.get -> string Microsoft.CodeAnalysis.Completion.CompletionItem.WithDisplayTextPrefix(string displayTextPrefix) -> Microsoft.CodeAnalysis.Completion.CompletionItem @@ -23,9 +26,6 @@ Microsoft.CodeAnalysis.QuickInfo.QuickInfoSection.Text.get -> string Microsoft.CodeAnalysis.QuickInfo.QuickInfoSectionKinds Microsoft.CodeAnalysis.QuickInfo.QuickInfoService Microsoft.CodeAnalysis.QuickInfo.QuickInfoService.QuickInfoService() -> void -const Microsoft.CodeAnalysis.TextTags.Constant = "Constant" -> string -const Microsoft.CodeAnalysis.TextTags.EnumMember = "EnumMember" -> string -const Microsoft.CodeAnalysis.TextTags.ExtensionMethod = "ExtensionMethod" -> string static Microsoft.CodeAnalysis.Completion.CompletionItem.Create(string displayText, string filterText = null, string sortText = null, System.Collections.Immutable.ImmutableDictionary properties = null, System.Collections.Immutable.ImmutableArray tags = default(System.Collections.Immutable.ImmutableArray), Microsoft.CodeAnalysis.Completion.CompletionItemRules rules = null, string displayTextPrefix = null, string displayTextSuffix = null, string inlineDescription = null) -> Microsoft.CodeAnalysis.Completion.CompletionItem static Microsoft.CodeAnalysis.Completion.CompletionItem.Create(string displayText, string filterText, string sortText, System.Collections.Immutable.ImmutableDictionary properties, System.Collections.Immutable.ImmutableArray tags, Microsoft.CodeAnalysis.Completion.CompletionItemRules rules) -> Microsoft.CodeAnalysis.Completion.CompletionItem static Microsoft.CodeAnalysis.Completion.CompletionItem.Create(string displayText, string filterText, string sortText, System.Collections.Immutable.ImmutableDictionary properties, System.Collections.Immutable.ImmutableArray tags, Microsoft.CodeAnalysis.Completion.CompletionItemRules rules, string displayTextPrefix, string displayTextSuffix) -> Microsoft.CodeAnalysis.Completion.CompletionItem diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.cs.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.cs.xlf index aeb0db4d9f6bc..61e94cb5d8dc8 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.cs.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.cs.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + Přidat název členu @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + Přidat název elementu řazené kolekce členů {0} @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + Zarovnat zalomené argumenty Align wrapped parameters - Align wrapped parameters + Zarovnat zalomené parametry Change namespace to '{0}' - Change namespace to '{0}' + Změnit obor názvů na {0} Change to global namespace - Change to global namespace + Změnit na globální obor názvů @@ -74,7 +74,7 @@ Convert to class - Convert to class + Převést na třídu @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + Převést na strukturu Convert to tuple - Convert to tuple + Převést na řazenou kolekci členů Expression value is never used - Expression value is never used + Hodnota výrazu se nikdy nepoužívá. Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + Nepovedlo se analyzovat tok dat pro: {0} @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + Odsadit všechny argumenty Indent all parameters - Indent all parameters + Odsadit všechny parametry Indent wrapped arguments - Indent wrapped arguments + Odsadit zalomené argumenty Indent wrapped parameters - Indent wrapped parameters + Odsadit zalomené parametry + + + + Indexing can be simplified + Indexování se dá zjednodušit. + + + + Introduce constant + Zavést konstantu + + + + Introduce field + Zavést pole + + + + Introduce local + Zavést místní + + + + Introduce query variable + Zavést proměnnou dotazu + + + + Invert conditional + Převrátit podmínku @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + Přesunout soubor do: {0} Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + Přesunout soubor do kořenové složky projektu @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + Soukromá metoda {0} se může odebrat, protože se nikdy nevolá. Pull '{0}' up - Pull '{0}' up + Povýšit {0} Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + Povýšit {0} na {1} Pull members up to base type... - Pull members up to base type... + Povýšit členy na základní typ... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + Odebrat redundantní přiřazení @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + Odebrat nepoužívaný parametr Remove unused parameter '{0}' - Remove unused parameter '{0}' + Odebrat nepoužívaný parametr {0} Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + Odeberte nepoužívaný parametr {0}, pokud není součástí dodávaného veřejného rozhraní API. Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + Odeberte nepoužívaný parametr {0}, pokud není součástí dodávaného veřejného rozhraní API. Jeho počáteční hodnota se nikdy nepoužívá. Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + Odeberte nepoužívaný parametr {0}. Jeho počáteční hodnota se nikdy nepoužívá. @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + Místo {0} použijte {1} @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + Zrušit zalomení všech argumentů Unwrap all parameters - Unwrap all parameters + Zrušit zalomení všech parametrů Unwrap and indent all arguments - Unwrap and indent all arguments + Zrušit zalomení všech argumentů a odsadit je Unwrap and indent all parameters - Unwrap and indent all parameters + Zrušit zalomení všech parametrů a odsadit je Unwrap argument list - Unwrap argument list + Zrušit zalomení seznamu argumentů Unwrap expression - Unwrap expression + Zrušit zalomení výrazu Unwrap parameter list - Unwrap parameter list + Zrušit zalomení seznamu parametrů @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + Pro místní funkce používat text bloku Use compound assignment - Use compound assignment + Použít složené přiřazení Use discard '_' - Use discard '_' + Použít zahození _ Use discarded local - Use discarded local + Použít zahozenou místní @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + Pro místní funkce používat text výrazu Use index operator - Use index operator + Použít operátor indexu @@ -392,29 +392,29 @@ Použít interpolovaný řetězec doslovného zápisu + + Use range operator + Použít operátor rozsahu + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + Hodnota přiřazená k: {0} se nikdy nepoužívá. Value assigned to symbol is never used - Value assigned to symbol is never used + Hodnota přiřazená symbolu se nikdy nepoužívá. + + + + Warning: Changing namespace may produce invalid code and change code meaning. + Upozornění: Změna oboru názvů může vést k vytvoření neplatného kódu a změnit význam kódu. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + Zalomit každý argument Wrap every parameter - Wrap every parameter + Zalomit každý parametr Wrap expression - Wrap expression + Zalomit výraz Wrap long argument list - Wrap long argument list + Zalomit dlouhý seznam argumentů Wrap long parameter list - Wrap long parameter list + Zalomit dlouhý seznam parametrů Wrapping - Wrapping + Obalování {0} can be simplified - {0} can be simplified + {0} se dá zjednodušit. @@ -2477,22 +2477,22 @@ Tato verze se používá zde: {2}. updating usages in containing member - updating usages in containing member + aktualizace použití v obsahujícím členu updating usages in containing project - updating usages in containing project + aktualizace použití v obsahujícím projektu updating usages in containing type - updating usages in containing type + aktualizace použití v obsahujícím typu updating usages in dependent projects - updating usages in dependent projects + aktualizace použití v závislých projektech diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.de.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.de.xlf index 0d866f449287b..22841fb88e263 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.de.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.de.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + Membername hinzufügen @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + Tupelelementnamen "{0}" hinzufügen @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + Umschlossene Argumente ausrichten Align wrapped parameters - Align wrapped parameters + Umschlossene Parameter ausrichten Change namespace to '{0}' - Change namespace to '{0}' + Namespace in "{0}" ändern Change to global namespace - Change to global namespace + In globalen Namespace ändern @@ -74,7 +74,7 @@ Convert to class - Convert to class + In Klasse konvertieren @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + In Struktur konvertieren Convert to tuple - Convert to tuple + In Tupel konvertieren Expression value is never used - Expression value is never used + Der Ausdruckswert wird niemals verwendet. Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + Fehler beim Analysieren des Datenflusses für: {0} @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + Alle Argumente einrücken Indent all parameters - Indent all parameters + Alle Parameter einrücken Indent wrapped arguments - Indent wrapped arguments + Umschlossene Argumente einrücken Indent wrapped parameters - Indent wrapped parameters + Einzug für umschlossene Parameter + + + + Indexing can be simplified + Die Indizierung kann vereinfacht werden + + + + Introduce constant + Konstante einfügen + + + + Introduce field + Feld einführen + + + + Introduce local + Lokale Variable einführen + + + + Introduce query variable + Abfragevariable bereitstellen + + + + Invert conditional + Bedingten Operator umkehren @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + Datei in "{0}" verschieben Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + Datei in den Stammordner des Projekts verschieben @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + Die private Methode "{0}" kann entfernt werden, da sie nie aufgerufen wird. Pull '{0}' up - Pull '{0}' up + "{0}" nach oben ziehen Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + "{0}" zu "{1}" ziehen Pull members up to base type... - Pull members up to base type... + Member zum Basistyp ziehen... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + Überflüssige Zuordnung entfernen @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + Nicht verwendete Parameter entfernen Remove unused parameter '{0}' - Remove unused parameter '{0}' + Nicht verwendeten Parameter "{0}" entfernen Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + Nicht verwendeten Parameter "{0}" entfernen, wenn dieser nicht Bestandteil einer öffentlich verfügbaren API ist Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + Nicht verwendeten Parameter "{0}" entfernen, wenn dieser nicht Bestandteil einer öffentlich verfügbaren API ist. Sein ursprünglicher Wert wird niemals verwendet. Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + Nicht verwendeten Parameter "{0}" entfernen. Sein ursprünglicher Wert wird niemals verwendet. @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + "{0}" durch "{1}" ersetzen @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + Alle Argumente entpacken Unwrap all parameters - Unwrap all parameters + Alle Parameter entpacken Unwrap and indent all arguments - Unwrap and indent all arguments + Alle Argumente entpacken und einrücken Unwrap and indent all parameters - Unwrap and indent all parameters + Alle Parameter entpacken und einrücken Unwrap argument list - Unwrap argument list + Argumentliste entpacken Unwrap expression - Unwrap expression + Ausdruck umschließen Unwrap parameter list - Unwrap parameter list + Parameterliste entpacken @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + Blocktext für lokale Funktionen verwenden Use compound assignment - Use compound assignment + Verbundzuweisung verwenden Use discard '_' - Use discard '_' + Ausschussvariable "_" verwenden Use discarded local - Use discarded local + Verworfene lokale Variable verwenden @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + Ausdruckstext für lokale Funktionen verwenden Use index operator - Use index operator + Indexoperator verwenden @@ -392,29 +392,29 @@ Interpolierte ausführliche Zeichenfolge verwenden + + Use range operator + Bereichsoperator verwenden + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + Der Wert, der "{0}" zugewiesen ist, wird niemals verwendet. Value assigned to symbol is never used - Value assigned to symbol is never used + Der Wert, der dem Symbol zugeordnet ist, wird niemals verwendet. + + + + Warning: Changing namespace may produce invalid code and change code meaning. + Warnung: Durch die Änderung des Namespaces kann der Code ungültig werden oder seine Bedeutung verändern. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + Jedes Argument umschließen Wrap every parameter - Wrap every parameter + Alle Parameter umschließen Wrap expression - Wrap expression + Ausdruck umschließen Wrap long argument list - Wrap long argument list + Lange Argumentliste umschließen Wrap long parameter list - Wrap long parameter list + Lange Parameterliste umschließen Wrapping - Wrapping + Umbruch {0} can be simplified - {0} can be simplified + {0} kann vereinfacht werden @@ -2477,22 +2477,22 @@ Diese Version wird verwendet in: {2} updating usages in containing member - updating usages in containing member + Verwendungen in enthaltenden Members wird aktualisiert. updating usages in containing project - updating usages in containing project + Verwendungen im enthaltenden Projekt werden aktualisiert. updating usages in containing type - updating usages in containing type + Verwendungen im enthaltenden Typ aktualisieren updating usages in dependent projects - updating usages in dependent projects + Verwendungen in abhängigen Projekten werden aktualisiert. diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.es.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.es.xlf index 489fd1eb1a25f..bfc6421dc2132 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.es.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.es.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + Agregar nombre de miembro @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + Agregar el nombre del elemento de tupla "{0}" @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + Alinear argumentos ajustados Align wrapped parameters - Align wrapped parameters + Alinear parámetros ajustados Change namespace to '{0}' - Change namespace to '{0}' + Cambiar el espacio de nombres "{0}" Change to global namespace - Change to global namespace + Cambiar al espacio de nombres global @@ -74,7 +74,7 @@ Convert to class - Convert to class + Convertir a la clase @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + Convertir a struct Convert to tuple - Convert to tuple + Convertir a tupla Expression value is never used - Expression value is never used + El valor de la expresión no se utiliza nunca. Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + No se pudo analizar el flujo de datos para: {0}. @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + Aplicar sangría a todos los argumentos Indent all parameters - Indent all parameters + Aplicar sangría a todos los parámetros Indent wrapped arguments - Indent wrapped arguments + Argumentos con la sangría ajustada Indent wrapped parameters - Indent wrapped parameters + Parámetros con la sangría ajustada + + + + Indexing can be simplified + La indexación de direcciones puede ser simplificado + + + + Introduce constant + Introducir la sangría + + + + Introduce field + Introducir campo + + + + Introduce local + Introducir local + + + + Introduce query variable + Introducir la variable de consulta + + + + Invert conditional + Invertir condicional @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + Mover el archivo a "{0}" Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + Mover el archivo a la carpeta raíz del proyecto @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + El método privado "{0}" se puede quitar porque nunca se invoca. Pull '{0}' up - Pull '{0}' up + Extraer "{0}" Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + Extraer "{0}" hasta "{1}" Pull members up to base type... - Pull members up to base type... + Extraer miembros hasta el tipo de base... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + Quitar asignación redundante @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + Quitar el parámetro no utilizado Remove unused parameter '{0}' - Remove unused parameter '{0}' + Retirar el parámetro "{0}" sin usar Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + Quitar el parámetro "{0}" sin usar si no forma parte de una API pública enviada Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + Quitar el parámetro sin usar "{0}" si no forma parte de una API pública enviada; su valor inicial no se usa nunca. Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + Eliminar el parámetro "{0}" sin usar, ya que su valor inicial no se utiliza nunca @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + Reemplazar "{0}" por "{1}" @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + Desajustar todos los argumentos Unwrap all parameters - Unwrap all parameters + Desajustar todos los parámetros Unwrap and indent all arguments - Unwrap and indent all arguments + Desajustar todos los argumentos y aplicarles sangría Unwrap and indent all parameters - Unwrap and indent all parameters + Desajustar todos los parámetros y aplicarles sangría Unwrap argument list - Unwrap argument list + Desajustar la lista de argumentos Unwrap expression - Unwrap expression + Desajustar la expresión Unwrap parameter list - Unwrap parameter list + Desajustar la lista de parámetros @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + Usar el cuerpo de bloques para las funciones locales Use compound assignment - Use compound assignment + Usar la asignación compuesta Use discard '_' - Use discard '_' + Usar opción de descarte "_" Use discarded local - Use discarded local + Usar el local descartado @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + Usar el cuerpo de la expresión para las funciones locales Use index operator - Use index operator + Usar operador de índice @@ -392,29 +392,29 @@ Utilizar cadenas verbatim interpoladas + + Use range operator + Usar el operador de intervalo + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + El valor asignado a "{0}" no se utiliza nunca. Value assigned to symbol is never used - Value assigned to symbol is never used + El valor asignado al símbolo nunca se utiliza. + + + + Warning: Changing namespace may produce invalid code and change code meaning. + Advertencia: si cambia Cambiar el espacio de nombres puede producir código inválido y cambiar el significado del código. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + Ajustar todos los argumentos Wrap every parameter - Wrap every parameter + Ajustar todos los parámetros Wrap expression - Wrap expression + Ajustar la expresión Wrap long argument list - Wrap long argument list + Desajustar la lista larga de argumentos Wrap long parameter list - Wrap long parameter list + Ajustar la lista larga de parámetros Wrapping - Wrapping + Ajuste {0} can be simplified - {0} can be simplified + {0} se puede simplificar. @@ -2477,22 +2477,22 @@ Esta versión se utiliza en: {2} updating usages in containing member - updating usages in containing member + actualización de los usos en el miembro contenedor updating usages in containing project - updating usages in containing project + actualización de usos en el proyecto contenedor updating usages in containing type - updating usages in containing type + actualización de los usos en el tipo contenedor updating usages in dependent projects - updating usages in dependent projects + actualización de usos en proyectos dependientes diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.fr.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.fr.xlf index 74f6fb5115557..3354874780b29 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.fr.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.fr.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + Ajouter le nom du membre @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + Ajouter le nom d'élément tuple '{0}' @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + Aligner les arguments inclus dans un wrapper Align wrapped parameters - Align wrapped parameters + Aligner les paramètres inclus dans un wrapper Change namespace to '{0}' - Change namespace to '{0}' + Remplacer l’espace de noms par '{0}' Change to global namespace - Change to global namespace + Remplacer par l'espace de noms général @@ -74,7 +74,7 @@ Convert to class - Convert to class + Convertir en classe @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + Convertir en struct Convert to tuple - Convert to tuple + Convertir en tuple Expression value is never used - Expression value is never used + La valeur d'expression n'est jamais utilisée Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + Impossible d’analyser le flux de données pour : {0} @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + Mettre en retrait tous les arguments Indent all parameters - Indent all parameters + Mettre en retrait tous les paramètres Indent wrapped arguments - Indent wrapped arguments + Mettre en retrait les arguments inclus dans un wrapper Indent wrapped parameters - Indent wrapped parameters + Mettre en retrait les paramètres inclus dans un wrapper + + + + Indexing can be simplified + L'indexation peut être simplifiée + + + + Introduce constant + Introduire une constante + + + + Introduce field + Introduire le champ + + + + Introduce local + Introduire un élément local + + + + Introduce query variable + Introduire la variable de requête + + + + Invert conditional + Inverser un élément conditionnel @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + Déplacer le fichier vers '{0}' Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + Déplacer le fichier dans le dossier racine du projet @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + Impossible de supprimer la méthode privée '{0}', car elle n'est jamais appelée. Pull '{0}' up - Pull '{0}' up + Tirer '{0}' vers le haut Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + Tirer '{0}' jusqu'à '{1}' Pull members up to base type... - Pull members up to base type... + Tirer les membres jusqu'au type de base... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + Supprimer l'attribution redondante @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + Supprimer le paramètre inutilisé Remove unused parameter '{0}' - Remove unused parameter '{0}' + Supprimer le paramètre '{0}' inutilisé Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + Supprimer le paramètre inutilisé '{0}' si celui-ci ne fait pas partie d’une API publique livrée Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + Supprimer le paramètre '{0}' inutilisé s'il ne fait pas partie d'une API publique fournie, sa valeur initiale n'est jamais utilisée Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + Supprimer le paramètre '{0}' inutilisé, sa valeur initiale n'est jamais utilisée @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + Remplacer '{0}' par '{1}' @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + Exclure du wrapper tous les arguments Unwrap all parameters - Unwrap all parameters + Exclure du wrapper tous les paramètres Unwrap and indent all arguments - Unwrap and indent all arguments + Exclure du wrapper tous les arguments et les mettre en retrait Unwrap and indent all parameters - Unwrap and indent all parameters + Exclure du wrapper tous les paramètres et les mettre en retrait Unwrap argument list - Unwrap argument list + Exclure du wrapper la liste d'arguments Unwrap expression - Unwrap expression + Exclure l'expression du wrapper Unwrap parameter list - Unwrap parameter list + Exclure du wrapper la liste de paramètres @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + Utiliser le corps de bloc pour les fonctions locales Use compound assignment - Use compound assignment + Utiliser une attribution composée Use discard '_' - Use discard '_' + Utiliser Ignorer '_' Use discarded local - Use discarded local + Utiliser un élément local ignoré @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + Utiliser le corps d'expression pour des fonctions locales Use index operator - Use index operator + Utiliser l'opérateur d'index @@ -392,29 +392,29 @@ Utiliser une chaîne textuelle interpolée + + Use range operator + Utiliser l'opérateur de plage + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + La valeur attribuée à '{0}' n'est jamais utilisée Value assigned to symbol is never used - Value assigned to symbol is never used + La valeur attribuée au symbole n'est jamais utilisée + + + + Warning: Changing namespace may produce invalid code and change code meaning. + Avertissement : Le changement d’espace de noms peut produire du code non valide et changer la signification du code. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + Inclure dans un wrapper chaque argument Wrap every parameter - Wrap every parameter + Wrapper chaque paramètre Wrap expression - Wrap expression + Inclure l'expression dans un wrapper Wrap long argument list - Wrap long argument list + Inclure dans un wrapper la liste d'arguments longue Wrap long parameter list - Wrap long parameter list + Wrapper la longue liste de paramètres Wrapping - Wrapping + Retour à la ligne {0} can be simplified - {0} can be simplified + {0} peut être simplifié @@ -2477,22 +2477,22 @@ Version utilisée dans : {2} updating usages in containing member - updating usages in containing member + mise à jour des utilisations dans le membre conteneur updating usages in containing project - updating usages in containing project + mise à jour des utilisations dans le projet conteneur updating usages in containing type - updating usages in containing type + mise à jour des utilisations dans le type conteneur updating usages in dependent projects - updating usages in dependent projects + mise à jour des utilisations dans les projets dépendants diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.it.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.it.xlf index ac6a860985e89..5ef6e05843f4a 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.it.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.it.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + Aggiungi nome del membro @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + Aggiungi il nome dell'elemento tupla '{0}' @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + Allinea gli argomenti con ritorno a capo Align wrapped parameters - Align wrapped parameters + Allinea i parametri con ritorno a capo Change namespace to '{0}' - Change namespace to '{0}' + Modifica lo spazio dei nomi in '{0}' Change to global namespace - Change to global namespace + Passa allo spazio dei nomi globale @@ -74,7 +74,7 @@ Convert to class - Convert to class + Converti in classe @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + Converti in struct Convert to tuple - Convert to tuple + Converti in tupla Expression value is never used - Expression value is never used + Il valore dell'espressione non viene mai usato Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + Non è stato possibile analizzare il flusso di dati per: {0} @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + Imposta rientro per tutti gli argomenti Indent all parameters - Indent all parameters + Imposta rientro per tutti i parametri Indent wrapped arguments - Indent wrapped arguments + Imposta rientro per argomenti con ritorno a capo Indent wrapped parameters - Indent wrapped parameters + Imposta rientro per parametri con ritorno a capo + + + + Indexing can be simplified + L'indicizzazione può essere semplificata + + + + Introduce constant + Introduci costante + + + + Introduce field + Introduci campo + + + + Introduce local + Introduci variabile locale + + + + Introduce query variable + Introduci la variabile di query + + + + Invert conditional + Inverti espressione condizionale @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + Sposta il file in '{0}' Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + Sposta il file nella cartella radice del progetto @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + Il metodo privato '{0}' può essere rimosso perché non viene mai richiamato. Pull '{0}' up - Pull '{0}' up + Esegui pull '{0}' al livello superiore Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + Esegui pull di '{0}' fino a '{1}' Pull members up to base type... - Pull members up to base type... + Esegui pull dei membri fino al tipo di base... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + Rimuovi l'assegnazione ridondante @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + Rimuovere il parametro inutilizzato Remove unused parameter '{0}' - Remove unused parameter '{0}' + Rimuovi il parametro inutilizzato '{0}' Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + Rimuovi il parametro inutilizzato '{0}' se non fa parte di un'API pubblica fornita Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + Rimuovi il parametro inutilizzato '{0}' se non fa parte di un'API pubblica. Il relativo valore iniziale non viene mai usato Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + Rimuovi il parametro inutilizzato '{0}'. Il relativo valore iniziale non viene mai usato @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + Sostituisci '{0}' con '{1}' @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + Annulla ritorno a capo per tutti gli argomenti Unwrap all parameters - Unwrap all parameters + Annulla ritorno a capo per tutti i parametri Unwrap and indent all arguments - Unwrap and indent all arguments + Annulla il ritorno a capo e imposta il rientro per tutti gli argomenti Unwrap and indent all parameters - Unwrap and indent all parameters + Annulla ritorno a capo e imposta rientro per tutti i parametri Unwrap argument list - Unwrap argument list + Annulla ritorno a capo per l'elenco di argomenti Unwrap expression - Unwrap expression + Annulla ritorno a capo per l'espressione Unwrap parameter list - Unwrap parameter list + Annulla ritorno a capo per elenco di parametri @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + Usa il corpo del blocco per le funzioni locali Use compound assignment - Use compound assignment + Usa l'assegnazione composta Use discard '_' - Use discard '_' + Usa '_' rimosso Use discarded local - Use discarded local + Usa variabili locali rimosse @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + Usa corpo dell'espressione per funzioni locali Use index operator - Use index operator + Usa operatore di indice @@ -392,29 +392,29 @@ Usa stringa verbatim interpolata + + Use range operator + Usa l'operatore di intervallo + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + Il valore assegnato a '{0}' non viene mai usato Value assigned to symbol is never used - Value assigned to symbol is never used + Il valore assegnato al simbolo non viene mai usato + + + + Warning: Changing namespace may produce invalid code and change code meaning. + Avviso: la modifica dello spazio dei nomi può comportare la creazione di codice non valido e modificare il significato del codice. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + Imposta ritorno a capo per ogni argomento Wrap every parameter - Wrap every parameter + Imposta ritorno a capo per ogni parametro Wrap expression - Wrap expression + Imposta ritorno a capo per l'espressione Wrap long argument list - Wrap long argument list + Imposta ritorno a capo per elenco di argomenti lungo Wrap long parameter list - Wrap long parameter list + Imposta ritorno a capo per elenco di parametri lungo Wrapping - Wrapping + Ritorno a capo {0} can be simplified - {0} can be simplified + {0} può essere semplificato @@ -769,7 +769,7 @@ constant - constant + costante @@ -2477,22 +2477,22 @@ Questa versione è usata {2} updating usages in containing member - updating usages in containing member + aggiornamento degli utilizzi nel membro contenitore updating usages in containing project - updating usages in containing project + aggiornamento degli utilizzi nel progetto contenitore updating usages in containing type - updating usages in containing type + aggiornamento degli utilizzi nel tipo contenitore updating usages in dependent projects - updating usages in dependent projects + aggiornamento degli utilizzi nei progetti dipendenti diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.ja.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.ja.xlf index 6fb04a326c514..f6976bfc3c295 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.ja.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.ja.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + メンバー名を追加します @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + タプル要素名 '{0}' を追加します @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + 折り返された引数を揃える Align wrapped parameters - Align wrapped parameters + 折り返されたパラメーターを調整します Change namespace to '{0}' - Change namespace to '{0}' + 名前空間を '{0}' に変更します Change to global namespace - Change to global namespace + グローバル名前空間に変更します @@ -74,7 +74,7 @@ Convert to class - Convert to class + クラスに変換 @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + 構造体に変換 Convert to tuple - Convert to tuple + タプルに変換 Expression value is never used - Expression value is never used + 式の値が使用されていません Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + データ フローを分析できませんでした: {0} @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + すべての引数にインデントを設定します Indent all parameters - Indent all parameters + すべてのパラメーターにインデントを設定します Indent wrapped arguments - Indent wrapped arguments + 折り返された引数にインデントを設定します Indent wrapped parameters - Indent wrapped parameters + 折り返されたパラメーターにインデントを設定します + + + + Indexing can be simplified + インデックスの作成を簡略化することができます + + + + Introduce constant + 定数を導入します + + + + Introduce field + フィールドを導入します + + + + Introduce local + ローカルを導入します + + + + Introduce query variable + クエリ変数を導入します + + + + Invert conditional + 条件を反転します @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + ファイルを '{0}' に移動します Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + ファイルをプロジェクト ルート フォルダーに移動します @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + プライベート メソッド '{0}' が呼び出されることがないよう削除できます。 Pull '{0}' up - Pull '{0}' up + 最大 '{0}' 個をプル Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + '{1}' まで '{0}' をプルします Pull members up to base type... - Pull members up to base type... + 基本型のメンバーをプル... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + 冗長な代入を削除します @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + 未使用のパラメーターを削除します Remove unused parameter '{0}' - Remove unused parameter '{0}' + 未使用のパラメーター '{0}' を削除 Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + 未使用のパラメーター '{0}' が同梱のパブリック API の一部ではない場合に削除します Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + 未使用のパラメーター '{0}' が同梱のパブリック API の一部ではなく、初期値が使用されていない場合に削除します Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + 未使用のパラメーター '{0}' を削除します。その初期値が使用されていません @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + '{0}' を '{1}' に置き換える @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + すべての引数の折り返しを解除 Unwrap all parameters - Unwrap all parameters + すべてのパラメーターの折り返しを解除します Unwrap and indent all arguments - Unwrap and indent all arguments + 折り返しを解除してすべての引数にインデントを設定します Unwrap and indent all parameters - Unwrap and indent all parameters + 折り返しを解除し、すべてのパラメーターにインデントを設定します Unwrap argument list - Unwrap argument list + 引数リストの折り返しを解除 Unwrap expression - Unwrap expression + 式の折り返しを解除 Unwrap parameter list - Unwrap parameter list + パラメーター リストのラップを解除します @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + ローカル関数にブロック本体を使用します Use compound assignment - Use compound assignment + 複合割り当てを使用 Use discard '_' - Use discard '_' + 破棄 '_' を使用 Use discarded local - Use discarded local + 破棄されたローカルを使用します @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + ローカル関数に式本体を使用します Use index operator - Use index operator + インデックス演算子を使用 @@ -392,29 +392,29 @@ 挿入された verbatim 文字列を使用します + + Use range operator + 範囲演算子を使用 + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + '{0}' に割り当てられた値が使用されていません Value assigned to symbol is never used - Value assigned to symbol is never used + シンボルに割り当てられた値は使用されることがありません + + + + Warning: Changing namespace may produce invalid code and change code meaning. + 警告: 名前空間を変更すると無効なコードが生成され、コードの意味が変更される可能性があります。 @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + すべての引数を折り返します Wrap every parameter - Wrap every parameter + すべてのパラメーターを折り返します Wrap expression - Wrap expression + 式を折り返す Wrap long argument list - Wrap long argument list + 長い引数リストを折り返します Wrap long parameter list - Wrap long parameter list + 長いパラメーター リストを折り返します Wrapping - Wrapping + 折り返し {0} can be simplified - {0} can be simplified + {0} を簡略化できます。 @@ -2477,22 +2477,22 @@ This version used in: {2} updating usages in containing member - updating usages in containing member + それを含むメンバーの使用の更新 updating usages in containing project - updating usages in containing project + それを含むプロジェクトの使用の更新 updating usages in containing type - updating usages in containing type + それを含む型の使用の更新 updating usages in dependent projects - updating usages in dependent projects + 依存プロジェクトの使用の更新 diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.ko.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.ko.xlf index 4f7022d11b631..8fafdeea29d11 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.ko.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.ko.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + 멤버 이름 추가 @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + 튜플 요소 이름 '{0}' 추가 @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + 줄 바꿈 된 인수 맞춤 Align wrapped parameters - Align wrapped parameters + 줄 바꿈 된 매개 변수 맞춤 Change namespace to '{0}' - Change namespace to '{0}' + 네임스페이스를 '{0}'(으)로 변경 Change to global namespace - Change to global namespace + 전역 네임스페이스로 변경 @@ -74,7 +74,7 @@ Convert to class - Convert to class + 클래스로 변환 @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + 구조체로 변환 Convert to tuple - Convert to tuple + 튜플로 변환 Expression value is never used - Expression value is never used + 식 값은 절대 사용되지 않습니다. Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + {0}의 데이터 흐름 분석 실패 @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + 모든 인수 들여쓰기 Indent all parameters - Indent all parameters + 모든 매개 변수 들여쓰기 Indent wrapped arguments - Indent wrapped arguments + 줄 바꿈 된 인수 들여쓰기 Indent wrapped parameters - Indent wrapped parameters + 줄 바꿈 된 매개 변수 들여쓰기 + + + + Indexing can be simplified + 인덱싱은 단순화될 수 있습니다. + + + + Introduce constant + 상수 지정 + + + + Introduce field + 필드 지정 + + + + Introduce local + 로컬 소개 + + + + Introduce query variable + 쿼리 변수 지정 + + + + Invert conditional + 조건 반전 @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + 파일을 '{0}'(으)로 이동 Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + 파일을 프로젝트 루트 폴더로 이동 @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + 개인 메서드 '{0}'은(는) 호출되지 않으므로 제거할 수 있습니다. Pull '{0}' up - Pull '{0}' up + '{0}' 끌어오기 Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + '{0}'을(를) '{1}'(으)로 끌어오기 Pull members up to base type... - Pull members up to base type... + 기본 형식까지 멤버를 풀... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + 중복 할당 제거 @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + 사용하지 않는 매개 변수를 제거하세요. Remove unused parameter '{0}' - Remove unused parameter '{0}' + 사용하지 않는 매개 변수 '{0}' 제거 Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + 제공된 공용 API의 일부가 아닌 경우 사용하지 않는 매개 변수 '{0}' 제거 Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + 제공된 공용 API의 일부가 아닌 경우 사용하지 않는 '{0}' 매개 변수를 제거하세요. 초기 값은 사용되지 않습니다. Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + 사용하지 않는 매개 변수 '{0}'을(를) 제거합니다. 이 매개 변수의 초기 값은 절대 사용되지 않습니다. @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + '{0}'을(를) '{1}'(으)로 바꾸기 @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + 모든 인수 줄 바꿈 조정 Unwrap all parameters - Unwrap all parameters + 모든 매개 변수 줄 바꿈 조정 Unwrap and indent all arguments - Unwrap and indent all arguments + 모든 인수 줄 바꿈 조정 및 들여쓰기 Unwrap and indent all parameters - Unwrap and indent all parameters + 모든 매개 변수 줄 바꿈 조정 및 들여쓰기 Unwrap argument list - Unwrap argument list + 인수 목록 줄 바꿈 조정 Unwrap expression - Unwrap expression + 식 줄 바꿈 조정 Unwrap parameter list - Unwrap parameter list + 매개 변수 목록 줄 바꿈 조정 @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + 로컬 함수에 블록 본문 사용 Use compound assignment - Use compound assignment + 복합형 할당 사용 Use discard '_' - Use discard '_' + 무시 항목 '_' 사용 Use discarded local - Use discarded local + 무시된 로컬 사용 @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + 로컬 함수의 식 본문 사용 Use index operator - Use index operator + 인덱스 연산자 사용 @@ -392,29 +392,29 @@ 보간된 축자 문자열 사용 + + Use range operator + 범위 연산자 사용 + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + '{0}'에 할당된 값은 사용되지 않습니다. Value assigned to symbol is never used - Value assigned to symbol is never used + 기호에 할당된 값은 사용되지 않습니다. + + + + Warning: Changing namespace may produce invalid code and change code meaning. + 경고: 네임스페이스를 변경하면 잘못된 코드가 발생하고 코드 의미가 변경될 수 있습니다. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + 모든 인수 줄 바꿈 Wrap every parameter - Wrap every parameter + 모든 매개 변수 줄 바꿈 Wrap expression - Wrap expression + 식 줄 바꿈 Wrap long argument list - Wrap long argument list + 긴 인수 목록 줄 바꿈 Wrap long parameter list - Wrap long parameter list + 긴 매개 변수 목록 줄 바꿈 Wrapping - Wrapping + 줄 바꿈 {0} can be simplified - {0} can be simplified + {0}은(는) 단순화될 수 있습니다. @@ -2477,22 +2477,22 @@ This version used in: {2} updating usages in containing member - updating usages in containing member + 포함하는 멤버에서 사용을 업데이트하는 중 updating usages in containing project - updating usages in containing project + 포함하는 프로젝트에서 사용을 업데이트하는 중 updating usages in containing type - updating usages in containing type + 포함하는 형식에서 사용을 업데이트하는 중 updating usages in dependent projects - updating usages in dependent projects + 종속 프로젝트에서 사용을 업데이트하는 중 diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.pl.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.pl.xlf index b91102d528896..7b443c0758841 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.pl.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.pl.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + Dodaj nazwę składowej @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + Dodaj nazwę elementu krotki „{0}” @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + Dopasuj opakowane argumenty Align wrapped parameters - Align wrapped parameters + Dopasuj opakowane parametry Change namespace to '{0}' - Change namespace to '{0}' + Zmień przestrzeń nazw na „{0}” Change to global namespace - Change to global namespace + Zmień na globalną przestrzeń nazw @@ -74,7 +74,7 @@ Convert to class - Convert to class + Konwertuj na klasę @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + Konwertuj na strukturę Convert to tuple - Convert to tuple + Konwertuj na spójną kolekcję Expression value is never used - Expression value is never used + Wartość wyrażenia nie jest nigdy używana. Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + Nie można przeanalizować przepływu danych dla: {0} @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + Dodaj wcięcie dla wszystkich argumentów Indent all parameters - Indent all parameters + Dodaj wcięcie dla wszystkich parametrów Indent wrapped arguments - Indent wrapped arguments + Dodaj wcięcie dla opakowanych argumentów Indent wrapped parameters - Indent wrapped parameters + Dodaj wcięcie dla opakowanych parametrów + + + + Indexing can be simplified + Indeksowanie można uprościć + + + + Introduce constant + Wprowadź stałą + + + + Introduce field + Wprowadź pole + + + + Introduce local + Wprowadź zmienną lokalną + + + + Introduce query variable + Wprowadź zmienną zapytania + + + + Invert conditional + Odwróć warunkowe @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + Przenieś plik do lokalizacji „{0}” Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + Przenieś plik do folderu głównego projektu @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + Metodę prywatną „{0}” można usunąć, ponieważ nie jest nigdy wywoływana. Pull '{0}' up - Pull '{0}' up + Ściągnij element „{0}” w górę Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + Ściągnij elementy „{0}” aż do elementu „{1}” Pull members up to base type... - Pull members up to base type... + Ściągnij składowe aż do typu bazowego... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + Usuń nadmiarowe przypisanie @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + Usuń nieużywany parametr Remove unused parameter '{0}' - Remove unused parameter '{0}' + Usuń nieużywany parametr „{0}” Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + Usuń nieużywany parametr „{0}”, jeśli nie jest częścią dostarczonego publicznego API Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + Usuń nieużywany parametr „{0}”, jeśli nie jest częścią dostarczonego publicznego interfejsu API, ponieważ jego wartość początkowa nie jest nigdy używana Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + Usuń nieużywany parametr „{0}”, ponieważ jego wartość początkowa nie jest nigdy używana. @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + Zamień element „{0}” na element „{1}” @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + Odpakuj wszystkie argumenty Unwrap all parameters - Unwrap all parameters + Odpakuj wszystkie parametry Unwrap and indent all arguments - Unwrap and indent all arguments + Odpakuj wszystkie argumenty i dodaj dla nich wcięcie Unwrap and indent all parameters - Unwrap and indent all parameters + Odpakuj wszystkie parametry i dodaj dla nich wcięcie Unwrap argument list - Unwrap argument list + Odpakuj listę argumentów Unwrap expression - Unwrap expression + Odpakuj wyrażenie Unwrap parameter list - Unwrap parameter list + Odpakuj listę parametrów @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + Użyj treści bloku dla funkcji lokalnych Use compound assignment - Use compound assignment + Użyj przypisania złożonego Use discard '_' - Use discard '_' + Użyj odrzucenia „_” Use discarded local - Use discarded local + Użyj odrzuconej zmiennej lokalnej @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + Użyj treści wyrażenia dla funkcji lokalnych Use index operator - Use index operator + Użyj operatora indeksu @@ -392,29 +392,29 @@ Użyj interpolowanego dosłownego ciągu wyrażenia + + Use range operator + Użyj operatora zakresu + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + Wartość przypisana do elementu „{0}” nie jest nigdy używana Value assigned to symbol is never used - Value assigned to symbol is never used + Wartość przypisana do symbolu nie jest nigdy używana + + + + Warning: Changing namespace may produce invalid code and change code meaning. + Ostrzeżenie: Zmiana przestrzeni nazw może skutkować nieprawidłowym kodem i zmianą jego znaczenia. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + Opakuj każdy argument Wrap every parameter - Wrap every parameter + Opakuj każdy parametr Wrap expression - Wrap expression + Opakuj wyrażenie Wrap long argument list - Wrap long argument list + Opakuj długą listę argumentów Wrap long parameter list - Wrap long parameter list + Opakuj długą listę parametrów Wrapping - Wrapping + Opakowywanie {0} can be simplified - {0} can be simplified + Element {0} można uprościć @@ -2477,22 +2477,22 @@ Ta wersja jest używana wersja: {2} updating usages in containing member - updating usages in containing member + aktualizowanie użyć w zawierającym elemencie członkowskim updating usages in containing project - updating usages in containing project + aktualizowanie użyć w projekcie zawierającym updating usages in containing type - updating usages in containing type + aktualizowanie użyć w typie zawierającym updating usages in dependent projects - updating usages in dependent projects + aktualizowanie użyć w projektach zależnych diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.pt-BR.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.pt-BR.xlf index c45226eddbeff..3897fd16406fe 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.pt-BR.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.pt-BR.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + Adicionar o nome do membro @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + Adicionar o nome do elemento de tupla '{0}' @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + Alinhar argumentos encapsulados Align wrapped parameters - Align wrapped parameters + Alinhar os parâmetros encapsulados Change namespace to '{0}' - Change namespace to '{0}' + Alterar o namespace para '{0}' Change to global namespace - Change to global namespace + Alterar para o namespace global @@ -74,7 +74,7 @@ Convert to class - Convert to class + Converter em classe @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + Converter para struct Convert to tuple - Convert to tuple + Converter a tupla Expression value is never used - Expression value is never used + O valor da expressão nunca é usado Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + Falha ao analisar o fluxo de dados para: {0} @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + Recuar todos os argumentos Indent all parameters - Indent all parameters + Recuar todos os parâmetros Indent wrapped arguments - Indent wrapped arguments + Recuar argumentos encapsulados Indent wrapped parameters - Indent wrapped parameters + Recuar parâmetros encapsulados + + + + Indexing can be simplified + A indexação pode ser simplificada + + + + Introduce constant + Introduzir a constante + + + + Introduce field + Introduzir campo + + + + Introduce local + Introduzir o local + + + + Introduce query variable + Introduzir a variável de consulta + + + + Invert conditional + Inverter condicional @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + Mover o arquivo para '{0}' Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + Mover o arquivo para a pasta raiz do projeto @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + O método particular '{0}' pode ser removido pois nunca é invocado. Pull '{0}' up - Pull '{0}' up + Efetuar pull de '{0}' Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + Efetue pull de '{0}' até '{1}' Pull members up to base type... - Pull members up to base type... + Efetuar pull de membros até o tipo base... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + Remover a atribuição redundante @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + Remover o parâmetro não utilizado Remove unused parameter '{0}' - Remove unused parameter '{0}' + Remover o parâmetro não usado '{0}' Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + Remover o parâmetro não usado '{0}' se ele não fizer parte de uma API pública enviada Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + Remover o parâmetro não usado '{0}' se ele não fizer parte de uma API pública enviada, seu valor inicial nunca é usado Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + Remover o parâmetro não usado '{0}', seu valor inicial nunca é usado @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + Substituir '{0}' por '{1}' @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + Desencapsular todos os argumentos Unwrap all parameters - Unwrap all parameters + Desencapsular todos os parâmetros Unwrap and indent all arguments - Unwrap and indent all arguments + Desencapsular e recuar todos os argumentos Unwrap and indent all parameters - Unwrap and indent all parameters + Desencapsular e recuar todos os parâmetros Unwrap argument list - Unwrap argument list + Desencapsular a lista de argumentos Unwrap expression - Unwrap expression + Desencapsular a expressão Unwrap parameter list - Unwrap parameter list + Desencapsular a lista de parâmetros @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + Usar o corpo do bloco para funções locais Use compound assignment - Use compound assignment + Usar a atribuição composta Use discard '_' - Use discard '_' + Usar o descarte de '_' Use discarded local - Use discarded local + Usar local descartado @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + Usar o corpo da expressão para funções locais Use index operator - Use index operator + Usar operador de índice @@ -392,29 +392,29 @@ Usar cadeia de caracteres textual interpolada + + Use range operator + Usar operador de intervalo + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + O valor atribuído a '{0}' nunca é usado Value assigned to symbol is never used - Value assigned to symbol is never used + O valor atribuído ao símbolo nunca é usado + + + + Warning: Changing namespace may produce invalid code and change code meaning. + Aviso: a alteração do namespace pode produzir código inválido e mudar o significado do código. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + Encapsular cada argumento Wrap every parameter - Wrap every parameter + Encapsular cada parâmetro Wrap expression - Wrap expression + Encapsular a expressão Wrap long argument list - Wrap long argument list + Encapsular a lista de argumentos longa Wrap long parameter list - Wrap long parameter list + Encapsular a lista de parâmetros longa Wrapping - Wrapping + Disposição {0} can be simplified - {0} can be simplified + {0} pode ser simplificado @@ -759,7 +759,7 @@ is - is + é @@ -1892,7 +1892,7 @@ Essa versão é usada no: {2} Remove tag - Remover marca + Remover tag @@ -2477,22 +2477,22 @@ Essa versão é usada no: {2} updating usages in containing member - updating usages in containing member + atualizando os usos em contém membros updating usages in containing project - updating usages in containing project + usos em que contém o projeto de atualização updating usages in containing type - updating usages in containing type + usos em que contém o tipo de atualização updating usages in dependent projects - updating usages in dependent projects + atualizar usos em projetos dependentes diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.ru.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.ru.xlf index 92d47202ace03..1447f1ae81079 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.ru.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.ru.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + Добавить имя элемента @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + Добавить имя элемента кортежа "{0}" @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + Выровнять свернутые аргументы Align wrapped parameters - Align wrapped parameters + Выровнять свернутые параметры Change namespace to '{0}' - Change namespace to '{0}' + Изменить пространство имен на "{0}" Change to global namespace - Change to global namespace + Изменить на глобальное пространство имен @@ -74,7 +74,7 @@ Convert to class - Convert to class + Преобразовать в класс @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + Преобразовать в структуру Convert to tuple - Convert to tuple + Преобразовать в кортеж Expression value is never used - Expression value is never used + Значение выражения никогда не используется Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + Не удалось проанализировать поток данных для: {0} @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + Добавить отступы для всех аргументов Indent all parameters - Indent all parameters + Добавить отступы для всех параметров Indent wrapped arguments - Indent wrapped arguments + Добавить отступы для свернутых аргументов Indent wrapped parameters - Indent wrapped parameters + Создать отступы для свернутых параметров + + + + Indexing can be simplified + Вы можете упростить индексирование + + + + Introduce constant + Добавить константу + + + + Introduce field + Добавить поле + + + + Introduce local + Добавить локальный оператор + + + + Introduce query variable + Добавить переменную запроса + + + + Invert conditional + Инвертировать условный оператор @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + Переместить файл в "{0}" Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + Переместить файл в корневую папку проекта @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + Закрытый метод "{0}" можно удалить, так как он никогда не вызывается. Pull '{0}' up - Pull '{0}' up + Извлечь "{0}" Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + Извлечь '{0}' в '{1}' Pull members up to base type... - Pull members up to base type... + Извлечь элементы до базового типа... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + Удалить избыточные операторы присваивания @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + Удалите неиспользуемый параметр Remove unused parameter '{0}' - Remove unused parameter '{0}' + Удалить неиспользуемый параметр "{0}" Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + Удалить неиспользуемый параметр "{0}", если он не является частью предоставляемого общедоступного API Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + Удалите неиспользуемый параметр "{0}" если он не является частью предоставленного общедоступного API. Начальное значение этого параметра никогда не используется Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + Удалите неиспользуемый параметр "{0}", его начальное значение никогда не используется @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + Замените '{0}' на '{1}' @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + Развернуть все аргументы Unwrap all parameters - Unwrap all parameters + Развернуть все параметры Unwrap and indent all arguments - Unwrap and indent all arguments + Развернуть все аргументы и удалить отступы для них Unwrap and indent all parameters - Unwrap and indent all parameters + Развернуть все параметры и добавить отступы для них Unwrap argument list - Unwrap argument list + Развернуть список аргументов Unwrap expression - Unwrap expression + Развернуть выражение Unwrap parameter list - Unwrap parameter list + Развернуть список параметров @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + Использовать тело блока для локальных функций Use compound assignment - Use compound assignment + Использовать составной оператор присваивания Use discard '_' - Use discard '_' + Используйте символ удаления "_" Use discarded local - Use discarded local + Использовать удаленный локальный оператор @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + Использовать тело выражения для локальных функций Use index operator - Use index operator + Использовать оператор индекса @@ -392,29 +392,29 @@ Использовать интерполированную строку verbatim + + Use range operator + Использовать оператор диапазона + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + Значение, присвоенное "{0}", никогда не используется Value assigned to symbol is never used - Value assigned to symbol is never used + Значение, присваиваемое символу, никогда не используется + + + + Warning: Changing namespace may produce invalid code and change code meaning. + Предупреждение: изменение пространства имен может привести к появлению недопустимого кода и к изменению значения кода. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + Свернуть каждый аргумент Wrap every parameter - Wrap every parameter + Свернуть каждый параметр Wrap expression - Wrap expression + Свернуть выражение Wrap long argument list - Wrap long argument list + Свернуть длинный список аргументов Wrap long parameter list - Wrap long parameter list + Свернуть длинный список параметров Wrapping - Wrapping + Перенос по словам {0} can be simplified - {0} can be simplified + {0} можно упростить @@ -2437,7 +2437,7 @@ This version used in: {2} Parentheses should be added for clarity - Parentheses should be added for clarity + Добавьте скобки для большей ясности @@ -2477,22 +2477,22 @@ This version used in: {2} updating usages in containing member - updating usages in containing member + обновление директив usage во вложенном элементе updating usages in containing project - updating usages in containing project + обновление директив usage во вложенном проекте updating usages in containing type - updating usages in containing type + обновление директив usage во вложенном типе updating usages in dependent projects - updating usages in dependent projects + обновление директив usage в зависимых проектах diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.tr.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.tr.xlf index 355bd71940e0c..8726e55ac234f 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.tr.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.tr.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + Üye adı Ekle @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + '{0}' demet öğesi adını ekle @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + Sarmalanan bağımsız değişkenleri hizala Align wrapped parameters - Align wrapped parameters + Sarmalanan parametreleri hizala Change namespace to '{0}' - Change namespace to '{0}' + Ad alanını '{0}' olarak değiştir Change to global namespace - Change to global namespace + Genel ad alanı olarak değiştir @@ -74,7 +74,7 @@ Convert to class - Convert to class + Sınıfa dönüştür @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + Yapıya dönüştür Convert to tuple - Convert to tuple + Başlığa dönüştür Expression value is never used - Expression value is never used + İfade değeri asla kullanılmaz Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + {0} için veri akışı analiz edilemedi @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + Tüm bağımsız değişkenleri girintile Indent all parameters - Indent all parameters + Tüm parametreleri girintile Indent wrapped arguments - Indent wrapped arguments + Sarmalanan bağımsız değişkenleri girintile Indent wrapped parameters - Indent wrapped parameters + Sarmalanan parametreleri girintile + + + + Indexing can be simplified + Dizin oluşturma basitleştirilebilir + + + + Introduce constant + Sabit ekle + + + + Introduce field + Alan ekle + + + + Introduce local + Yerel ekle + + + + Introduce query variable + Sorgu değişkeni ekle + + + + Invert conditional + Koşullu öğeyi ters çevir @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + Dosyayı '{0}' konumuna taşı Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + Dosyayı proje kök klasörüne taşı @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + '{0}' özel metodu hiç çağrılmadığından kaldırılabilir. Pull '{0}' up - Pull '{0}' up + '{0}' öğesini yukarı çek Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + '{0}' öğesini '{1}' hedefine çek Pull members up to base type... - Pull members up to base type... + Üyeleri temel türe çek... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + Gereksiz atamayı kaldır @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + Kullanılmayan parametreyi kaldırma Remove unused parameter '{0}' - Remove unused parameter '{0}' + Kullanılmayan '{0}' parametresini kaldır Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + Kullanılmayan '{0}' parametresi gönderilmiş bir genel API'nin parçası değilse parametreyi kaldırın Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + Kullanılmayan '{0}' parametresi gönderilmiş bir genel API'nin parçası değilse parametreyi kaldırın, parametrenin ilk değeri asla kullanılmaz Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + Kullanılmayan '{0}' parametresini kaldırın, parametrenin ilk değeri hiç kullanılmaz @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + '{0}' öğesini '{1}' ile değiştir @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + Tüm bağımsız değişkenlerin sarmalamasını kaldır Unwrap all parameters - Unwrap all parameters + Tüm parametrelerin sarmalamasını kaldır Unwrap and indent all arguments - Unwrap and indent all arguments + Sarmalamayı kaldır ve tüm bağımsız değişkenleri girintile Unwrap and indent all parameters - Unwrap and indent all parameters + Sarmalamayı kaldır ve tüm parametreleri girintile Unwrap argument list - Unwrap argument list + Bağımsız değişken listesinin sarmalamasını kaldır Unwrap expression - Unwrap expression + İfadenin sarmalamasını kaldır Unwrap parameter list - Unwrap parameter list + Parametre listesinin sarmalamasını kaldır @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + Yerel işlevler için blok gövdesi kullan Use compound assignment - Use compound assignment + Bileşik atama kullan Use discard '_' - Use discard '_' + '_' atmasını kullan Use discarded local - Use discarded local + Atılmış yereli kullan @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + Yerel işlevler için ifade gövdesi kullan Use index operator - Use index operator + Dizin işleci kullan @@ -392,29 +392,29 @@ Enterpolasyonlu kelimesi kelimesine dizeyi kullanın + + Use range operator + Aralık işleci kullan + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + '{0}' öğesine atanan değer hiç kullanılmaz Value assigned to symbol is never used - Value assigned to symbol is never used + Sembole atanan değer hiç kullanılmaz + + + + Warning: Changing namespace may produce invalid code and change code meaning. + Uyarı: Ad alanının değiştirilmesi geçersiz kod oluşturabilir ve kodun anlamını değiştirebilir. @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + Her bağımsız değişkeni sarmala Wrap every parameter - Wrap every parameter + Her parametreyi sarmala Wrap expression - Wrap expression + İfadeyi sarmala Wrap long argument list - Wrap long argument list + Uzun bağımsız değişken listesini sarmala Wrap long parameter list - Wrap long parameter list + Uzun parametre listesini sarmala Wrapping - Wrapping + Kaydırma {0} can be simplified - {0} can be simplified + {0} basitleştirilebilir @@ -1892,7 +1892,7 @@ Bu sürüm şurada kullanılır: {2} Remove tag - Etiketi kaldır + Etiketi Kaldır @@ -2477,22 +2477,22 @@ Bu sürüm şurada kullanılır: {2} updating usages in containing member - updating usages in containing member + üye içeren içinde güncelleştirme kullanımları updating usages in containing project - updating usages in containing project + projeyi içeren kullanımlar güncelleştiriliyor updating usages in containing type - updating usages in containing type + türünü içeren içinde güncelleştirme kullanımları updating usages in dependent projects - updating usages in dependent projects + bağımlı projelerdeki kullanımlar güncelleştiriliyor diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.zh-Hans.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.zh-Hans.xlf index 04a9c7e4afedc..82cb82bbbea26 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.zh-Hans.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.zh-Hans.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + 添加成员名称 @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + 添加元组元素名称 "{0}" @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + 对齐包装的参数 Align wrapped parameters - Align wrapped parameters + 对齐包装参数 Change namespace to '{0}' - Change namespace to '{0}' + 将名称空间更改为“{0}” Change to global namespace - Change to global namespace + 更改为全局命名空间 @@ -74,7 +74,7 @@ Convert to class - Convert to class + 转换为类 @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + 转换为结构 Convert to tuple - Convert to tuple + 转换为元组 Expression value is never used - Expression value is never used + 永远不会使用表达式值 Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + 未能分析 {0} 的数据流 @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + 缩进所有参数 Indent all parameters - Indent all parameters + 缩进所有参数 Indent wrapped arguments - Indent wrapped arguments + 缩进包装的参数 Indent wrapped parameters - Indent wrapped parameters + 缩进包装参数 + + + + Indexing can be simplified + 索引可以简化 + + + + Introduce constant + 引入常量 + + + + Introduce field + 介绍领域 + + + + Introduce local + 引入局部 + + + + Introduce query variable + 引入查询变量 + + + + Invert conditional + 反转条件 @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + 将文件移至“{0}” Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + 将文件移动到项目根文件夹 @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + 私有方法“{0}”可以删除,因为它永远不会被调用。 Pull '{0}' up - Pull '{0}' up + 向上拉 "{0}" Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + 将 "{0}" 拉到 "{1}" Pull members up to base type... - Pull members up to base type... + 将成员拉到基本类型..。 @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + 删除冗余分配 @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + 删除未使用的参数 Remove unused parameter '{0}' - Remove unused parameter '{0}' + 删除未使用的参数 "{0}" Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + 如果未使用的参数 "{0}" 不是已发布的公共 api 的一部分, 请将其删除 Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + 删除未使用的参数“{0}”如果它不是已发布的公共API的一部分,则永远不会使用其初始值 Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + 删除未使用的参数 “{0}” ,因为它的值从未被使用过 @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + 将 "{0}" 替换为 "{1}" @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + 解开所有参数 Unwrap all parameters - Unwrap all parameters + 打开所有参数 Unwrap and indent all arguments - Unwrap and indent all arguments + 展开和缩进所有参数 Unwrap and indent all parameters - Unwrap and indent all parameters + 展开和缩进所有参数 Unwrap argument list - Unwrap argument list + 展开参数列表 Unwrap expression - Unwrap expression + 展开表达式 Unwrap parameter list - Unwrap parameter list + 展开参数列表 @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + 对本地函数使用块体 Use compound assignment - Use compound assignment + 使用复合分配 Use discard '_' - Use discard '_' + 使用丢弃 "_" Use discarded local - Use discarded local + 使用丢弃的本地 @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + 将表达式主体用于本地函数 Use index operator - Use index operator + 使用索引运算符 @@ -392,29 +392,29 @@ 使用内插的原义字符串 + + Use range operator + 使用范围运算符 + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + 永远不会使用分配给 "{0}" 的值 Value assigned to symbol is never used - Value assigned to symbol is never used + 从不使用分配给符号的值 + + + + Warning: Changing namespace may produce invalid code and change code meaning. + 警告: 更改命名空间可能会产生无效的代码并更改代码的含义。 @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + 包装每个参数 Wrap every parameter - Wrap every parameter + 包装每个参数 Wrap expression - Wrap expression + 包装表达式 Wrap long argument list - Wrap long argument list + 包装长参数列表 Wrap long parameter list - Wrap long parameter list + 包装长参数列表 Wrapping - Wrapping + 换行 {0} can be simplified - {0} can be simplified + {0} 可以简化 @@ -2477,22 +2477,22 @@ This version used in: {2} updating usages in containing member - updating usages in containing member + 更新包含成员的用法 updating usages in containing project - updating usages in containing project + 更新包含项目中的用法 updating usages in containing type - updating usages in containing type + 更新包含类型中的用法 updating usages in dependent projects - updating usages in dependent projects + 更新相关项目中的用法 diff --git a/src/Features/Core/Portable/xlf/FeaturesResources.zh-Hant.xlf b/src/Features/Core/Portable/xlf/FeaturesResources.zh-Hant.xlf index 86aaa185e4226..1b8944caff6df 100644 --- a/src/Features/Core/Portable/xlf/FeaturesResources.zh-Hant.xlf +++ b/src/Features/Core/Portable/xlf/FeaturesResources.zh-Hant.xlf @@ -4,7 +4,7 @@ Add member name - Add member name + 新增成員名稱 @@ -29,7 +29,7 @@ Add tuple element name '{0}' - Add tuple element name '{0}' + 新增元組元素名稱 ‘{0}’ @@ -39,22 +39,22 @@ Align wrapped arguments - Align wrapped arguments + 對齊包裝的引數 Align wrapped parameters - Align wrapped parameters + 對齊包裝的參數 Change namespace to '{0}' - Change namespace to '{0}' + 將命名空間變更為 ‘{0}' Change to global namespace - Change to global namespace + 變更為全域命名空間 @@ -74,7 +74,7 @@ Convert to class - Convert to class + 轉換為類別 @@ -84,22 +84,22 @@ Convert to struct - Convert to struct + 轉換為結構 Convert to tuple - Convert to tuple + 轉換為元組 Expression value is never used - Expression value is never used + 永遠不會使用運算式值 Failed to analyze data-flow for: {0} - Failed to analyze data-flow for: {0} + 無法分析下列項目的資料流程: {0} @@ -119,22 +119,52 @@ Indent all arguments - Indent all arguments + 將所有引數縮排 Indent all parameters - Indent all parameters + 將所有餐數縮排 Indent wrapped arguments - Indent wrapped arguments + 將包裝的引數縮排 Indent wrapped parameters - Indent wrapped parameters + 將換行參數縮排 + + + + Indexing can be simplified + 可簡化索引 + + + + Introduce constant + 引進常數 + + + + Introduce field + 引進欄位 + + + + Introduce local + 引進區域函式 + + + + Introduce query variable + 引進查詢變數 + + + + Invert conditional + 反轉條件 @@ -147,6 +177,11 @@ Make local function 'static' + + Make readonly fields writable + Make readonly fields writable + {Locked="readonly"} "readonly" is C# keyword and should not be localized. + Merge with nested '{0}' statement Merge with nested '{0}' statement @@ -169,47 +204,12 @@ Move file to '{0}' - Move file to '{0}' + 將檔案移至 ‘{0}' Move file to project root folder - Move file to project root folder - - - - Indexing can be simplified - Indexing can be simplified - - - - Introduce constant - Introduce constant - - - - Introduce field - Introduce field - - - - Introduce local - Introduce local - - - - Introduce query variable - Introduce query variable - - - - Make readonly fields writable - Make readonly fields writable - {Locked="readonly"} "readonly" is C# keyword and should not be localized. - - - Invert conditional - Invert conditional + 將檔案移到專案根資料夾 @@ -229,22 +229,22 @@ Private method '{0}' can be removed as it is never invoked. - Private method '{0}' can be removed as it is never invoked. + 因為永遠不會叫用私用方法 ‘{0}’,所以可予以移除。 Pull '{0}' up - Pull '{0}' up + 向上提取 ‘{0}’ Pull '{0}' up to '{1}' - Pull '{0}' up to '{1}' + 提取 '{0}' 最多 '{1}’ Pull members up to base type... - Pull members up to base type... + 將成員提取直到基底類型... @@ -254,7 +254,7 @@ Remove redundant assignment - Remove redundant assignment + 移除多餘的指派 @@ -269,27 +269,27 @@ Remove unused parameter - Remove unused parameter + 移除未使用的參數 Remove unused parameter '{0}' - Remove unused parameter '{0}' + 移除未使用的參數 ‘{0}’ Remove unused parameter '{0}' if it is not part of a shipped public API - Remove unused parameter '{0}' if it is not part of a shipped public API + 如果未使用的參數 ‘{0}’ 不屬於已發行的公用 API,請予以移除 Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used - Remove unused parameter '{0}' if it is not part of a shipped public API, its initial value is never used + 如果未使用的參數 '{0}' 不屬於已發行的公用 API,請予以移除,永遠不會使用其初始值 Remove unused parameter '{0}', its initial value is never used - Remove unused parameter '{0}', its initial value is never used + 移除未使用的參數 '{0}',永遠不會使用其初始值 @@ -299,7 +299,7 @@ Replace '{0}' with '{1}' - Replace '{0}' with '{1}' + 將 ‘{0}’ 取代為 ‘{1}' @@ -314,37 +314,37 @@ Unwrap all arguments - Unwrap all arguments + 將所有引數取消換行 Unwrap all parameters - Unwrap all parameters + 將所有參數取消換行 Unwrap and indent all arguments - Unwrap and indent all arguments + 將所有引數取消換行並縮排 Unwrap and indent all parameters - Unwrap and indent all parameters + 將所有參數取消換行並縮排 Unwrap argument list - Unwrap argument list + 將引數清單取消換行 Unwrap expression - Unwrap expression + 將運算式取消換行 Unwrap parameter list - Unwrap parameter list + 將參數清單取消換行 @@ -354,22 +354,22 @@ Use block body for local functions - Use block body for local functions + 為區域函式使用區塊主體 Use compound assignment - Use compound assignment + 使用複合指派 Use discard '_' - Use discard '_' + 使用捨棄 '_’ Use discarded local - Use discarded local + 使用捨棄的區域函式 @@ -379,12 +379,12 @@ Use expression body for local functions - Use expression body for local functions + 為區域函式使用運算式主體 Use index operator - Use index operator + 使用索引運算子 @@ -392,29 +392,29 @@ 使用插入的逐字字串 + + Use range operator + 使用範圍運算子 + + Use simple 'using' statement Use simple 'using' statement - - Warning: Changing namespace may produce invalid code and change code meaning. - Warning: Changing namespace may produce invalid code and change code meaning. - - - - Use range operator - Use range operator - - Value assigned to '{0}' is never used - Value assigned to '{0}' is never used + 永遠不會使用指派給 '{0}' 的值 Value assigned to symbol is never used - Value assigned to symbol is never used + 永遠不會使用指派給符號的值 + + + + Warning: Changing namespace may produce invalid code and change code meaning. + 警告: 變更命名空間可能會產生無效的程式碼及變更程式碼意義。 @@ -424,37 +424,37 @@ Wrap every argument - Wrap every argument + 包裝每個引數 Wrap every parameter - Wrap every parameter + 將每個參數換行 Wrap expression - Wrap expression + 換行運算式 Wrap long argument list - Wrap long argument list + 包裝長引數清單 Wrap long parameter list - Wrap long parameter list + 將長參數清單換行 Wrapping - Wrapping + 換行 {0} can be simplified - {0} can be simplified + 可簡化 {0} @@ -2477,22 +2477,22 @@ This version used in: {2} updating usages in containing member - updating usages in containing member + 正在更新包含成員中的使用方式 updating usages in containing project - updating usages in containing project + 正在更新包含專案中的使用方式 updating usages in containing type - updating usages in containing type + 正在更新包含類型中的使用方式 updating usages in dependent projects - updating usages in dependent projects + 正在更新相依專案中的使用方式 diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.cs.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.cs.xlf index f225fd87788d1..f1a67e47723cb 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.cs.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.cs.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Přidat Await Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Přidat Await a ConfigureAwait(false) Add <Obsolete> - Add <Obsolete> + Přidat <Obsolete> Add missing Imports - Add missing Imports + Přidat chybějící importy {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + Přidat Shadows {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + Zavést příkaz Using {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1734,7 +1734,7 @@ Sub(<seznam_parametrů>) <výraz> Add 'Overloads' - Přidat přetížení + Přidat Overloads {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.de.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.de.xlf index 85be026e269fc..6fcacf399263c 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.de.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.de.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + "Await" hinzufügen Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + "Await" und "ConfigureAwait(false)" hinzufügen Add <Obsolete> - Add <Obsolete> + <Veraltet> hinzufügen Add missing Imports - Add missing Imports + Fehlende Importe hinzufügen {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + Schatten hinzufügen {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + Using-Anweisung einführen {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1734,7 +1734,7 @@ Sub(<Parameterliste>) <Ausdruck> Add 'Overloads' - Überladungen hinzufügen + Überladungen hinzufügen {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.es.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.es.xlf index 36bede0dfe2f1..49785e919f5ff 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.es.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.es.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Agregar await Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Agregar await y "ConfigureAwait(false)" Add <Obsolete> - Add <Obsolete> + Agregar <obsoleto> Add missing Imports - Add missing Imports + Agregar importaciones que faltan {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + Agregar "Shadows" {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + Introducir instrucción "using" {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1729,12 +1729,12 @@ Sub(<listaDeParámetros>) <instrucción> Type '{0}' is not defined. - No está definido el tipo "{0}". + No está definido el tipo '{0}'. Add 'Overloads' - Agregar sobrecargas + Agregar "Overloads" {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.fr.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.fr.xlf index 024505a845839..5b5a04988e652 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.fr.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.fr.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Ajouter Await Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Ajouter Await et 'ConfigureAwait(false)' Add <Obsolete> - Add <Obsolete> + Ajouter <Obsolete> Add missing Imports - Add missing Imports + Ajouter les importations manquantes {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + Ajouter 'Shadows' {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + Introduire l'instruction 'Using' {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1734,7 +1734,7 @@ Sub(<parameterList>) <statement> Add 'Overloads' - Ajouter des surcharges + Ajouter 'Overloads' {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.it.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.it.xlf index f666b02b05249..68c4089bc35e2 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.it.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.it.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Aggiungi Await Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Aggiungi Await a 'ConfigureAwait(false)' Add <Obsolete> - Add <Obsolete> + Aggiungi <Obsolete> Add missing Imports - Add missing Imports + Aggiungi Import mancanti {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + Aggiungi 'Shadows' {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + Introduci istruzioni 'Using' {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -94,7 +94,7 @@ Remove Unnecessary Imports - Rimuovi istruzioni Imports non necessarie + Rimuovi Import non necessari @@ -339,7 +339,7 @@ R&emove and Sort Imports - Ri&muovi e ordina import + Ri&muovi e ordina Import @@ -1544,7 +1544,7 @@ Sub(<elencoParametri>) <istruzione> Imports statement is unnecessary. - L'istruzione imports non è necessaria. + L'istruzione Imports non è necessaria. @@ -1734,7 +1734,7 @@ Sub(<elencoParametri>) <istruzione> Add 'Overloads' - Aggiungi overload + Aggiungi 'Overloads' {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ja.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ja.xlf index 2d0c8fb789045..93905cc509bb6 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ja.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ja.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Await の追加 Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Await と 'ConfigureAwait(false)' の追加 Add <Obsolete> - Add <Obsolete> + <Obsolete> の追加 Add missing Imports - Add missing Imports + 欠落しているインポートの追加 {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + 'Shadows' の追加 {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + ’Using’ ステートメントの導入 {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1211,7 +1211,7 @@ Option Infer {On | Off} Computes a value for each item in the query, and assigns the value to a new range variable. - クエリ内の各項目の値を計算し、新しい範囲変数に値を割り当てます。 + クエリ内の各項目の値をコンピューティングし、新しい範囲変数に値を割り当てます。 @@ -1733,7 +1733,7 @@ Sub(<parameterList>) <statement> Add 'Overloads' - オーバーロードを追加します + 'Overloads' の追加 {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ko.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ko.xlf index 23f6740e8eb24..c943ae50776bd 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ko.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ko.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Await 추가 Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Await 및 'ConfigureAwait(false)' 추가 Add <Obsolete> - Add <Obsolete> + <Obsolete> 추가 Add missing Imports - Add missing Imports + 누락된 Imports 추가 {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + 'Shadows' 추가 {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + 'Using' 문 지정 {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -458,7 +458,7 @@ CType(Object As Expression, Object As Type) As Type Declares and allocates storage space for one or more variables. Dim {<var> [As [New] dataType [(boundList)]][= initializer]}[, var2] - 하나 이상의 변수에 사용할 저장 공간을 선언하고 할당합니다. + 하나 이상의 변수에 사용할 스토리지 공간을 선언하고 할당합니다. Dim {<var> [As [New] dataType [(boundList)]][= initializer]}[, var2] @@ -850,7 +850,7 @@ Iterator Function(<parameterList>) As IEnumerable(Of <T>) Reallocates storage space for an array variable. - 배열 변수의 저장 공간을 다시 할당합니다. + 배열 변수의 스토리지 공간을 다시 할당합니다. @@ -1734,7 +1734,7 @@ Sub(<parameterList>) <statement> Add 'Overloads' - 오버로드 추가 + 'Overloads' 추가 {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.pl.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.pl.xlf index 143ffba791621..d7e3cf3b6907b 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.pl.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.pl.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Dodaj operator Await Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Dodaj operator Await i wywołanie „ConfigureAwait(false)” Add <Obsolete> - Add <Obsolete> + Dodaj oznaczenie <Obsolete> Add missing Imports - Add missing Imports + Dodaj brakujące instrukcje Imports {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + Dodaj modyfikatory „Shadows” {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + Wprowadź instrukcję „Using” {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1734,7 +1734,7 @@ Sub(<listaParametrów>) <instrukcja> Add 'Overloads' - Dodaj przeciążenia + Dodaj modyfikatory „Overloads” {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.pt-BR.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.pt-BR.xlf index 538693e6a03f1..125ca0236071a 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.pt-BR.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.pt-BR.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Adicionar Await Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Adicionar Await e 'ConfigureAwait(false)' Add <Obsolete> - Add <Obsolete> + Adicionar <Obsolete> Add missing Imports - Add missing Imports + Adicionar Importações ausentes {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + Adicionar 'Shadows' {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + Apresente a instrução 'Using' {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1644,7 +1644,7 @@ Sub(<parameterList>) <statement> Aggregate clause - Cláusula Agregar + Cláusula Aggregate {Locked="Aggregate"} "Aggregate" is a VB keyword and should not be localized. @@ -1734,7 +1734,7 @@ Sub(<parameterList>) <statement> Add 'Overloads' - Adicionar Sobrecargas + Adicionar 'Overloads' {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ru.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ru.xlf index 6b668a049d7cb..2383edd63542d 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ru.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.ru.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Добавить Await Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Добавить Await и "ConfigureAwait(false)" Add <Obsolete> - Add <Obsolete> + Добавить <Obsolete> Add missing Imports - Add missing Imports + Добавить отсутствующий оператор Imports {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + Добавить "Shadows" {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + Ввести оператор "Using" {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1734,7 +1734,7 @@ Sub(<parameterList>) <statement> Add 'Overloads' - Добавить перегрузки + Добавить "Overloads" {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.tr.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.tr.xlf index 31f6a0a57c7d1..1a58cd3657874 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.tr.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.tr.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + Await ekle Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + Await ve 'ConfigureAwait(false)' ekle Add <Obsolete> - Add <Obsolete> + <Obsolete> ekle Add missing Imports - Add missing Imports + Eksik İçeri Aktarımları ekle {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + 'Shadows' ekle {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + 'Using' deyimi ekle {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1734,7 +1734,7 @@ Sub(<parameterList>) <statement> Add 'Overloads' - Aşırı Yükleme Ekle + 'Overloads' ekle {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.zh-Hans.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.zh-Hans.xlf index c19092b72c355..08dac1e47ea68 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.zh-Hans.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.zh-Hans.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + 添加 Await Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + 添加 Await 和 “ConfigureAwait(false)” Add <Obsolete> - Add <Obsolete> + 添加 <Obsolete> Add missing Imports - Add missing Imports + 添加缺少的 Import {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + 添加 “Shadows” {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + 引入 “Using” 语句 {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1734,7 +1734,7 @@ Sub(<parameterList>) <statement> Add 'Overloads' - 添加重载 + 添加 “Overloads” {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.zh-Hant.xlf b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.zh-Hant.xlf index 7820bae70d12e..5c15544094fb4 100644 --- a/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.zh-Hant.xlf +++ b/src/Features/VisualBasic/Portable/xlf/VBFeaturesResources.zh-Hant.xlf @@ -4,27 +4,27 @@ Add Await - Add Await + 新增 Await Add Await and 'ConfigureAwait(false)' - Add Await and 'ConfigureAwait(false)' + 新增 Await 及 'ConfigureAwait(false)' Add <Obsolete> - Add <Obsolete> + 新增 <已淘汰> Add missing Imports - Add missing Imports + 新增缺少的匯入 {Locked="Import"} "Import" is a VB keyword and should not be localized. Add 'Shadows' - Add 'Shadows' + 新增「陰影」 {Locked="Shadows"} "Shadows" is a VB keyword and should not be localized. @@ -69,7 +69,7 @@ Introduce 'Using' statement - Introduce 'Using' statement + 引入 'Using' 陳述式 {Locked="Using"} "Using" is a VB keyword and should not be localized. @@ -1734,7 +1734,7 @@ Sub(<parameterList>) <statement> Add 'Overloads' - 加入多載 + 新增「多載」 {Locked="Overloads"} "Overloads" is a VB keyword and should not be localized. diff --git a/src/Interactive/EditorFeatures/Core/CommandHandlers/InteractiveCompletionCommandHandler.cs b/src/Interactive/EditorFeatures/Core/CommandHandlers/InteractiveCompletionCommandHandler.cs index ca30f18b79261..286dc6f679b1e 100644 --- a/src/Interactive/EditorFeatures/Core/CommandHandlers/InteractiveCompletionCommandHandler.cs +++ b/src/Interactive/EditorFeatures/Core/CommandHandlers/InteractiveCompletionCommandHandler.cs @@ -13,7 +13,7 @@ namespace Microsoft.CodeAnalysis.Editor.CommandHandlers [Export(typeof(VSCommanding.ICommandHandler))] [ContentType(PredefinedInteractiveCommandsContentTypes.InteractiveCommandContentTypeName)] [Name(PredefinedCommandHandlerNames.Completion)] - [Order(After = PredefinedCommandHandlerNames.SignatureHelp)] + [Order(After = PredefinedCommandHandlerNames.SignatureHelpBeforeCompletion)] internal sealed class InteractiveCompletionCommandHandler : AbstractCompletionCommandHandler { [ImportingConstructor] diff --git a/src/Interactive/EditorFeatures/Core/CommandHandlers/InteractiveIntelliSenseCommandHandler.cs b/src/Interactive/EditorFeatures/Core/CommandHandlers/InteractiveIntelliSenseCommandHandler.cs deleted file mode 100644 index a09c5988d92f4..0000000000000 --- a/src/Interactive/EditorFeatures/Core/CommandHandlers/InteractiveIntelliSenseCommandHandler.cs +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.ComponentModel.Composition; -using Microsoft.VisualStudio.InteractiveWindow.Commands; -using Microsoft.VisualStudio.Utilities; -using VSCommanding = Microsoft.VisualStudio.Commanding; - -namespace Microsoft.CodeAnalysis.Editor.CommandHandlers -{ - [Export(typeof(VSCommanding.ICommandHandler))] - [ContentType(PredefinedInteractiveCommandsContentTypes.InteractiveCommandContentTypeName)] - [Name(PredefinedCommandHandlerNames.IntelliSense)] - internal sealed class InteractiveIntelliSenseCommandHandler : AbstractIntelliSenseCommandHandler - { - [ImportingConstructor] - public InteractiveIntelliSenseCommandHandler( - CompletionCommandHandler completionCommandHandler, - SignatureHelpCommandHandler signatureHelpCommandHandler) - : base(completionCommandHandler, - signatureHelpCommandHandler) - { - } - } -} diff --git a/src/Setup/DevDivVsix/CompilersPackage/Microsoft.CodeAnalysis.Compilers.Setup.csproj b/src/Setup/DevDivVsix/CompilersPackage/Microsoft.CodeAnalysis.Compilers.Setup.csproj index 537a07568580e..91e4ca294ba15 100644 --- a/src/Setup/DevDivVsix/CompilersPackage/Microsoft.CodeAnalysis.Compilers.Setup.csproj +++ b/src/Setup/DevDivVsix/CompilersPackage/Microsoft.CodeAnalysis.Compilers.Setup.csproj @@ -65,7 +65,7 @@ %(DesktopCompilerArtifact._OptimizeAssembly) vs.file.ngenArchitecture=%(DesktopCompilerArtifact.NgenArchitecture) vs.file.ngenPriority=%(DesktopCompilerArtifact.NGenPriority) - vs.file.ngenApplication="[installDir]\MSBuild\15.0\Bin\Roslyn\%(DesktopCompilerArtifact.NGenApplication)" + vs.file.ngenApplication="[installDir]\MSBuild\Current\Bin\Roslyn\%(DesktopCompilerArtifact.NGenApplication)" <_FileEntries Include='file source="%(_File.Path)"%(_File.NGenArchitectureString)%(_File.NGenPriorityString)%(_File.NGenApplicationString)'/> @@ -144,49 +144,49 @@ vs.dependencies vs.nonCriticalProcesses vs.nonCriticalProcess name="VBCSCompiler" -folder InstallDir:\MSBuild\15.0\Bin\Roslyn +folder InstallDir:\MSBuild\Current\Bin\Roslyn @(_FileEntries, '%0d%0a ') folder InstallDir:\Common7\Tools\vsdevcmd\ext file source="$(MSBuildProjectDirectory)\roslyn.bat" -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\cs +folder InstallDir:\MSBuild\Current\Bin\Roslyn\cs @(_CsSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\de +folder InstallDir:\MSBuild\Current\Bin\Roslyn\de @(_DeSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\es +folder InstallDir:\MSBuild\Current\Bin\Roslyn\es @(_EsSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\fr +folder InstallDir:\MSBuild\Current\Bin\Roslyn\fr @(_FrSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\it +folder InstallDir:\MSBuild\Current\Bin\Roslyn\it @(_ItSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\ja +folder InstallDir:\MSBuild\Current\Bin\Roslyn\ja @(_JaSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\ko +folder InstallDir:\MSBuild\Current\Bin\Roslyn\ko @(_KoSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\pl +folder InstallDir:\MSBuild\Current\Bin\Roslyn\pl @(_PlSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\pt-BR +folder InstallDir:\MSBuild\Current\Bin\Roslyn\pt-BR @(_PlSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\ru +folder InstallDir:\MSBuild\Current\Bin\Roslyn\ru @(_RuSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\tr +folder InstallDir:\MSBuild\Current\Bin\Roslyn\tr @(_TrSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\zh-Hans +folder InstallDir:\MSBuild\Current\Bin\Roslyn\zh-Hans @(_zh-HansSatellite->'%(_FileEntries)', '%0d%0a ') -folder InstallDir:\MSBuild\15.0\Bin\Roslyn\zh-Hant +folder InstallDir:\MSBuild\Current\Bin\Roslyn\zh-Hant @(_zh-HantSatellite->'%(_FileEntries)', '%0d%0a ') ]]> diff --git a/src/Setup/DevDivVsix/CompilersPackage/roslyn.bat b/src/Setup/DevDivVsix/CompilersPackage/roslyn.bat index a7272495a6e00..eb49017e381d9 100644 --- a/src/Setup/DevDivVsix/CompilersPackage/roslyn.bat +++ b/src/Setup/DevDivVsix/CompilersPackage/roslyn.bat @@ -6,7 +6,7 @@ if "%VSCMD_ARG_CLEAN_ENV%" NEQ "" goto :clean_env @REM ------------------------------------------------------------------------ :start -set "PATH=%VSINSTALLDIR%MSBuild\15.0\bin\Roslyn;%PATH%" +set "PATH=%VSINSTALLDIR%MSBuild\Current\bin\Roslyn;%PATH%" goto :end diff --git a/src/VisualStudio/CSharp/Impl/LanguageService/CSharpCodeCleanupFixer.cs b/src/VisualStudio/CSharp/Impl/LanguageService/CSharpCodeCleanupFixer.cs new file mode 100644 index 0000000000000..594ef37518f5c --- /dev/null +++ b/src/VisualStudio/CSharp/Impl/LanguageService/CSharpCodeCleanupFixer.cs @@ -0,0 +1,356 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Immutable; +using System.ComponentModel.Composition; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.CodeAnalysis.CodeCleanup; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.RemoveUnusedVariable; +using Microsoft.CodeAnalysis.Diagnostics; +using Microsoft.CodeAnalysis.Editor; +using Microsoft.CodeAnalysis.Editor.Shared.Utilities; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.CodeAnalysis.PooledObjects; +using Microsoft.CodeAnalysis.Shared.Extensions; +using Microsoft.CodeAnalysis.Shared.Utilities; +using Microsoft.CodeAnalysis.Text; +using Microsoft.VisualStudio.Editor.CodeCleanup; +using Microsoft.VisualStudio.Language.CodeCleanUp; +using Microsoft.VisualStudio.LanguageServices.Implementation.CodeCleanup; +using Microsoft.VisualStudio.Utilities; + +namespace Microsoft.VisualStudio.LanguageServices.CSharp.LanguageService +{ + [Export(typeof(CodeCleanUpFixer))] + [ContentType(ContentTypeNames.CSharpContentType)] + internal class CSharpCodeCleanUpFixer : CodeCleanUpFixer + { + private const string RemoveUnusedImportsFixId = "RemoveUnusedImportsFixId"; + private const string SortImportsFixId = "SortImportsFixId"; + + [Export] + [FixId(IDEDiagnosticIds.UseImplicitTypeDiagnosticId)] + [Name(IDEDiagnosticIds.UseImplicitTypeDiagnosticId)] + [Order(After = IDEDiagnosticIds.UseExpressionBodyForConstructorsDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_implicit_explicit_type_preferences))] + public static readonly FixIdDefinition UseImplicitTypeDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.UseExplicitTypeDiagnosticId)] + [Name(IDEDiagnosticIds.UseExplicitTypeDiagnosticId)] + [Order(After = IDEDiagnosticIds.UseExpressionBodyForConstructorsDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_implicit_explicit_type_preferences))] + public static readonly FixIdDefinition UseExplicitTypeDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.AddQualificationDiagnosticId)] + [Name(IDEDiagnosticIds.AddQualificationDiagnosticId)] + [Order(After = IDEDiagnosticIds.UseObjectInitializerDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_this_qualification_preferences))] + public static readonly FixIdDefinition AddQualificationDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.RemoveQualificationDiagnosticId)] + [Name(IDEDiagnosticIds.RemoveQualificationDiagnosticId)] + [Order(After = IDEDiagnosticIds.UseObjectInitializerDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_this_qualification_preferences))] + public static readonly FixIdDefinition RemoveQualificationDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.PreferBuiltInOrFrameworkTypeDiagnosticId)] + [Name(IDEDiagnosticIds.PreferBuiltInOrFrameworkTypeDiagnosticId)] + [Order(After = IDEDiagnosticIds.InlineDeclarationDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_language_framework_type_preferences))] + public static readonly FixIdDefinition PreferBuiltInOrFrameworkTypeDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.AddBracesDiagnosticId)] + [Name(IDEDiagnosticIds.AddBracesDiagnosticId)] + [Order(After = SortImportsFixId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Add_remove_braces_for_single_line_control_statements))] + public static readonly FixIdDefinition AddBracesDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.AddAccessibilityModifiersDiagnosticId)] + [Name(IDEDiagnosticIds.AddAccessibilityModifiersDiagnosticId)] + [Order(After = IDEDiagnosticIds.AddBracesDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Add_accessibility_modifiers))] + public static readonly FixIdDefinition AddAccessibilityModifiersDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.OrderModifiersDiagnosticId)] + [Name(IDEDiagnosticIds.OrderModifiersDiagnosticId)] + [Order(After = IDEDiagnosticIds.AddAccessibilityModifiersDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Sort_accessibility_modifiers))] + public static readonly FixIdDefinition OrderModifiersDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.MakeFieldReadonlyDiagnosticId)] + [Name(IDEDiagnosticIds.MakeFieldReadonlyDiagnosticId)] + [Order(After = IDEDiagnosticIds.AddQualificationDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Make_private_field_readonly_when_possible))] + public static readonly FixIdDefinition MakeFieldReadonlyDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.RemoveUnnecessaryCastDiagnosticId)] + [Name(IDEDiagnosticIds.RemoveUnnecessaryCastDiagnosticId)] + [Order(After = IDEDiagnosticIds.MakeFieldReadonlyDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Remove_unnecessary_casts))] + public static readonly FixIdDefinition RemoveUnnecessaryCastDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.UseExpressionBodyForConstructorsDiagnosticId)] + [Name(IDEDiagnosticIds.UseExpressionBodyForConstructorsDiagnosticId)] + [Order(After = IDEDiagnosticIds.OrderModifiersDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_expression_block_body_preferences))] + public static readonly FixIdDefinition UseExpressionBodyForConstructorsDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.UseExpressionBodyForMethodsDiagnosticId)] + [Name(IDEDiagnosticIds.UseExpressionBodyForMethodsDiagnosticId)] + [Order(After = IDEDiagnosticIds.OrderModifiersDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_expression_block_body_preferences))] + public static readonly FixIdDefinition UseExpressionBodyForMethodsDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.UseExpressionBodyForConversionOperatorsDiagnosticId)] + [Name(IDEDiagnosticIds.UseExpressionBodyForConversionOperatorsDiagnosticId)] + [Order(After = IDEDiagnosticIds.OrderModifiersDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_expression_block_body_preferences))] + public static readonly FixIdDefinition UseExpressionBodyForConversionOperatorsDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.UseExpressionBodyForOperatorsDiagnosticId)] + [Name(IDEDiagnosticIds.UseExpressionBodyForOperatorsDiagnosticId)] + [Order(After = IDEDiagnosticIds.OrderModifiersDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_expression_block_body_preferences))] + public static readonly FixIdDefinition UseExpressionBodyForOperatorsDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.UseExpressionBodyForPropertiesDiagnosticId)] + [Name(IDEDiagnosticIds.UseExpressionBodyForPropertiesDiagnosticId)] + [Order(After = IDEDiagnosticIds.OrderModifiersDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_expression_block_body_preferences))] + public static readonly FixIdDefinition UseExpressionBodyForPropertiesDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.UseExpressionBodyForIndexersDiagnosticId)] + [Name(IDEDiagnosticIds.UseExpressionBodyForIndexersDiagnosticId)] + [Order(After = IDEDiagnosticIds.OrderModifiersDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_expression_block_body_preferences))] + public static readonly FixIdDefinition UseExpressionBodyForIndexersDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.UseExpressionBodyForAccessorsDiagnosticId)] + [Name(IDEDiagnosticIds.UseExpressionBodyForAccessorsDiagnosticId)] + [Order(After = IDEDiagnosticIds.OrderModifiersDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_expression_block_body_preferences))] + public static readonly FixIdDefinition UseExpressionBodyForAccessorsDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.InlineDeclarationDiagnosticId)] + [Name(IDEDiagnosticIds.InlineDeclarationDiagnosticId)] + [Order(After = IDEDiagnosticIds.UseImplicitTypeDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_inline_out_variable_preferences))] + public static readonly FixIdDefinition InlineDeclarationDiagnosticId; + + [Export] + [FixId(CSharpRemoveUnusedVariableCodeFixProvider.CS0168)] + [Name(CSharpRemoveUnusedVariableCodeFixProvider.CS0168)] + [Order(After = IDEDiagnosticIds.RemoveUnnecessaryCastDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Remove_unused_variables))] + public static readonly FixIdDefinition CS0168; + + [Export] + [FixId(CSharpRemoveUnusedVariableCodeFixProvider.CS0219)] + [Name(CSharpRemoveUnusedVariableCodeFixProvider.CS0219)] + [Order(After = IDEDiagnosticIds.RemoveUnnecessaryCastDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Remove_unused_variables))] + public static readonly FixIdDefinition CS0219; + + [Export] + [FixId(IDEDiagnosticIds.UseObjectInitializerDiagnosticId)] + [Name(IDEDiagnosticIds.UseObjectInitializerDiagnosticId)] + [Order(After = IDEDiagnosticIds.PreferBuiltInOrFrameworkTypeDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_object_collection_initialization_preferences))] + public static readonly FixIdDefinition UseObjectInitializerDiagnosticId; + + [Export] + [FixId(IDEDiagnosticIds.UseCollectionInitializerDiagnosticId)] + [Name(IDEDiagnosticIds.UseCollectionInitializerDiagnosticId)] + [Order(After = IDEDiagnosticIds.PreferBuiltInOrFrameworkTypeDiagnosticId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [LocalizedName(typeof(CSharpFeaturesResources), nameof(CSharpFeaturesResources.Apply_object_collection_initialization_preferences))] + public static readonly FixIdDefinition UseCollectionInitializerDiagnosticId; + + [Export] + [FixId(RemoveUnusedImportsFixId)] + [Name(RemoveUnusedImportsFixId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [ExportMetadata("EnableByDefault", true)] + [LocalizedName(typeof(CSharpVSResources), nameof(CSharpVSResources.Remove_unnecessary_usings))] + public static readonly FixIdDefinition RemoveUnusedImports; + + [Export] + [FixId(SortImportsFixId)] + [Name(SortImportsFixId)] + [Order(After = RemoveUnusedImportsFixId)] + [ConfigurationKey("unused")] + [HelpLink("https://www.microsoft.com")] + [ExportMetadata("EnableByDefault", true)] + [LocalizedName(typeof(CSharpVSResources), nameof(CSharpVSResources.Sort_usings))] + public static readonly FixIdDefinition SortImports; + + private readonly IThreadingContext _threadingContext; + + [ImportingConstructor] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] + public CSharpCodeCleanUpFixer(IThreadingContext threadingContext) + { + _threadingContext = threadingContext; + } + + public override Task FixAsync(ICodeCleanUpScope scope, ICodeCleanUpExecutionContext context, CancellationToken cancellationToken) + { + switch (scope) + { + case TextBufferCodeCleanUpScope textBufferScope: + return FixTextBufferAsync(textBufferScope, context, cancellationToken); + case IVsHierarchyCodeCleanupScope hierarchyContentScope: + return FixHierarchyContentAsync(hierarchyContentScope, context, cancellationToken); + default: + return Task.FromResult(false); + } + } + + private Task FixHierarchyContentAsync(IVsHierarchyCodeCleanupScope hierarchyContent, ICodeCleanUpExecutionContext context, CancellationToken cancellationToken) + { + // TODO: this one will be implemented later + // https://github.com/dotnet/roslyn/issues/30165 + var hierarchy = hierarchyContent.Hierarchy; + if (hierarchy == null) + { + // solution + return Task.FromResult(false); + } + + var itemId = hierarchyContent.ItemId; + if (itemId == (uint)VSConstants.VSITEMID.Root) + { + // Project + } + else if (hierarchy.GetCanonicalName(itemId, out var path) == 0) + { + var attr = File.GetAttributes(path); + if (attr.HasFlag(FileAttributes.Directory)) + { + // directory + } + else + { + // document + } + } + + return Task.FromResult(false); + } + + private async Task FixTextBufferAsync(TextBufferCodeCleanUpScope textBufferScope, ICodeCleanUpExecutionContext context, CancellationToken cancellationToken) + { + using (var cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(context.OperationContext.UserCancellationToken, cancellationToken)) + { + cancellationToken = cancellationTokenSource.Token; + + var buffer = textBufferScope.SubjectBuffer; + using (var scope = context.OperationContext.AddScope(allowCancellation: true, description: EditorFeaturesResources.Applying_changes)) + { + var progressTracker = new ProgressTracker((description, completed, total) => + { + if (scope != null) + { + scope.Description = description; + scope.Progress.Report(new ProgressInfo(completed, total)); + } + }); + + var document = buffer.CurrentSnapshot.GetOpenDocumentInCurrentContextWithChanges(); + var codeCleanupService = document.GetLanguageService(); + + var allDiagnostics = codeCleanupService.GetAllDiagnostics(); + + var enabedDiagnosticSets = ArrayBuilder.GetInstance(); + + foreach (var diagnostic in allDiagnostics.Diagnostics) + { + foreach (var diagnosticId in diagnostic.DiagnosticIds) + { + if (context.EnabledFixIds.IsFixIdEnabled(diagnosticId)) + { + enabedDiagnosticSets.Add(diagnostic); + break; + } + } + } + + var isRemoveUnusedUsingsEnabled = context.EnabledFixIds.IsFixIdEnabled(RemoveUnusedImportsFixId); + var isSortUsingsEnabled = context.EnabledFixIds.IsFixIdEnabled(SortImportsFixId); + var enabledDiagnostics = new EnabledDiagnosticOptions(enabedDiagnosticSets.ToImmutableArray(), + new OrganizeUsingsSet(isRemoveUnusedUsingsEnabled, isSortUsingsEnabled)); + + var newDoc = await codeCleanupService.CleanupAsync( + document, enabledDiagnostics, progressTracker, cancellationToken).ConfigureAwait(true); + + await _threadingContext.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); + return document.Project.Solution.Workspace.TryApplyChanges(newDoc.Project.Solution, progressTracker); + } + } + } + } +} diff --git a/src/VisualStudio/CSharp/Impl/Snippets/SnippetCommandHandler.cs b/src/VisualStudio/CSharp/Impl/Snippets/SnippetCommandHandler.cs index bb10f935fcea5..07534d7cefe7a 100644 --- a/src/VisualStudio/CSharp/Impl/Snippets/SnippetCommandHandler.cs +++ b/src/VisualStudio/CSharp/Impl/Snippets/SnippetCommandHandler.cs @@ -8,6 +8,7 @@ using Microsoft.CodeAnalysis.Text; using Microsoft.VisualStudio.Commanding; using Microsoft.VisualStudio.Editor; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.LanguageServices.Implementation.Snippets; using Microsoft.VisualStudio.Shell; using Microsoft.VisualStudio.Text; @@ -21,7 +22,8 @@ namespace Microsoft.VisualStudio.LanguageServices.CSharp.Snippets [ContentType(CodeAnalysis.Editor.ContentTypeNames.CSharpContentType)] [Name("CSharp Snippets")] [Order(After = CodeAnalysis.Editor.PredefinedCommandHandlerNames.Completion)] - [Order(After = CodeAnalysis.Editor.PredefinedCommandHandlerNames.IntelliSense)] + [Order(After = PredefinedCompletionNames.CompletionCommandHandler)] + [Order(After = CodeAnalysis.Editor.PredefinedCommandHandlerNames.SignatureHelpAfterCompletion)] internal sealed class SnippetCommandHandler : AbstractSnippetCommandHandler, ICommandHandler diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.cs.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.cs.xlf index 13e58facb2e1b..954bbeffc70ff 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.cs.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.cs.xlf @@ -24,7 +24,7 @@ Discard - Discard + Zahodit @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + Generovat odběr událostí @@ -379,7 +379,7 @@ Unused local - Unused local + Nepoužitá místní @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + Když je na více řádcích diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.de.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.de.xlf index 696dc0a7e9d7a..e6e3b200534b0 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.de.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.de.xlf @@ -24,7 +24,7 @@ Discard - Discard + Verwerfen @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + Ereignisabonnement generieren @@ -379,7 +379,7 @@ Unused local - Unused local + Nicht verwendete lokale Variable @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + Bei mehreren Zeilen diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.es.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.es.xlf index 5e84b829738b2..f3d2e6dface44 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.es.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.es.xlf @@ -24,7 +24,7 @@ Discard - Discard + Descartar @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + Generar suscripción de eventos @@ -379,7 +379,7 @@ Unused local - Unused local + Local sin uso @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + Cuando se usan varias líneas diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.fr.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.fr.xlf index 1b4830bcdbf2f..f58d0c9bb2bc1 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.fr.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.fr.xlf @@ -24,7 +24,7 @@ Discard - Discard + Annuler @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + Générer un abonnement à des événements @@ -379,7 +379,7 @@ Unused local - Unused local + Local inutilisé @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + Si plusieurs lignes diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.it.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.it.xlf index cf7feadc9bdd6..24113c06a5f15 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.it.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.it.xlf @@ -24,7 +24,7 @@ Discard - Discard + Scarta @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + Genera sottoscrizione di eventi @@ -379,7 +379,7 @@ Unused local - Unused local + Variabile locale inutilizzata @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + In presenza di più righe diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ja.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ja.xlf index 84dfc692a27a9..69eddac0bfbbf 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ja.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ja.xlf @@ -24,7 +24,7 @@ Discard - Discard + 破棄 @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + イベント サブスクリプションの生成 @@ -379,7 +379,7 @@ Unused local - Unused local + 未使用のローカル @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + 複数行の場合 diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ko.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ko.xlf index c32b36a5d27d3..eb4f68605fc13 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ko.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ko.xlf @@ -24,7 +24,7 @@ Discard - Discard + 폐기 @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + 이벤트 구독 생성 @@ -379,7 +379,7 @@ Unused local - Unused local + 사용하지 않는 로컬 @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + 여러 줄일 때 diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.pl.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.pl.xlf index 544d6095cb667..d499593aef1e9 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.pl.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.pl.xlf @@ -24,7 +24,7 @@ Discard - Discard + Odrzuć @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + Generuj subskrypcję zdarzenia @@ -379,7 +379,7 @@ Unused local - Unused local + Nieużywane zmienne lokalne @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + Gdy dotyczy wielu wierszy diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.pt-BR.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.pt-BR.xlf index 182736fda2c59..7e8a966a556f9 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.pt-BR.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.pt-BR.xlf @@ -24,7 +24,7 @@ Discard - Discard + Descarte @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + Gerar Assinatura de Evento @@ -379,7 +379,7 @@ Unused local - Unused local + Local não usado @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + Quando estiver em várias linhas diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ru.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ru.xlf index 6e9a2a17aeb64..1fc84f92cd35f 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ru.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.ru.xlf @@ -24,7 +24,7 @@ Discard - Discard + Отменить @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + Создать подписку на события @@ -379,7 +379,7 @@ Unused local - Unused local + Не использовать локальный аргумент @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + Для нескольких строк diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.tr.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.tr.xlf index dbd9c5b30e4ff..8aebfd11fcd69 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.tr.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.tr.xlf @@ -24,7 +24,7 @@ Discard - Discard + At @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + Olay Aboneliği Oluştur @@ -379,7 +379,7 @@ Unused local - Unused local + Kullanılmayan yerel @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + Birden çok satırdaysa @@ -754,7 +754,7 @@ In arithmetic operators: * / % + - << >> & ^ | - Aritmetik işleçleri içinde: * / % + - << >> & ^ | + Aritmetik işleçleri içinde: * / % + - <> <>& ^ | diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.zh-Hans.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.zh-Hans.xlf index da93dd47f2b88..cea52d84c7fd9 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.zh-Hans.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.zh-Hans.xlf @@ -24,7 +24,7 @@ Discard - Discard + 放弃 @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + 生成事件订阅 @@ -379,7 +379,7 @@ Unused local - Unused local + 未使用的本地 @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + 在多行上时 diff --git a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.zh-Hant.xlf b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.zh-Hant.xlf index 9de53b15e705b..46765baaf428f 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.zh-Hant.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/CSharpVSResources.zh-Hant.xlf @@ -24,7 +24,7 @@ Discard - Discard + 捨棄 @@ -34,7 +34,7 @@ Generate Event Subscription - Generate Event Subscription + 產生事件訂閱 @@ -379,7 +379,7 @@ Unused local - Unused local + 未使用的區域函式 @@ -544,7 +544,7 @@ When on multiple lines - When on multiple lines + 在多行上時 diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.cs.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.cs.xlf index 36dbd5fdf11fa..1c387343fa328 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.cs.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.cs.xlf @@ -79,40 +79,40 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - Zobrazit diagnostiku pro zavřené soubory; -Obarvit regulární výraz; + Zobrazit diagnostiku pro zavřené soubory; +Vybarvit regulární výraz; Zvýrazňovat související komponenty pod kurzorem; -Hlásit neplatné regulární výrazy; -Povolit analýzu celého řešení; +Nahlásit neplatné regulární výrazy; +Povolit úplnou analýzu řešení; Provést analýzu funkcí editoru v externím procesu; -Povolit přechod na dekompilované zdroje; +Povolit navigaci na dekompilované zdroje; Direktivy using; -Při řazení direktiv using umístit nejdřív direktivy System; +Při řazení direktiv using umístit systémové direktivy jako první; Oddělovat skupiny direktiv using; -Navrhovat direktivy using pro typy v referenčních sestaveních; -Navrhovat direktivy using pro typy v balíčcích NuGet; +Navrhnout použití typů v sestaveních reference; +Navrhnout použití typů v balíčcích NuGet; Zvýrazňování; Zvýrazňovat odkazy na symbol pod kurzorem; Zvýrazňovat související klíčová slova pod kurzorem; Sbalení; -Po otevření souborů přejít do režimu sbalení; -Zobrazit oddělovače řádků procedur; +Po otevření souborů přejít do režimu osnovy; +Zobrazovat oddělovače řádků procedur; Zobrazit sbalení pro konstrukty na úrovni deklarace; Zobrazit sbalení pro konstrukty na úrovni kódu; -Zobrazit sbalení pro komentáře a oblast pro preprocesor; -Sbalit oblasti při sbalování na definice; +Zobrazit sbalení pro komentáře a oblasti pro preprocesor; +Při sbalování na definice sbalovat oblasti; Zesvětlení; -Zesvětlit nepoužívané direktivy using; +Zesvětlit nepoužité direktivy using; Zesvětlit nedosažitelný kód; Vodítka pro strukturu bloku; Zobrazit vodítka pro konstrukty na úrovni deklarace; Zobrazit vodítka pro konstrukty na úrovni kódu; -Nápověda editoru; -Generovat komentáře dokumentace XML pro ///; -Vkládat * na začátek nových řádků při psaní komentářů /* */; -Zobrazit náhled pro sledování přejmenování; -Rozdělit řetězcové literály při stisknutí klávesy Enter; -Hlásit neplatné zástupné symboly ve voláních string.Format; +Nápověda k editoru; +_Generovat komentáře dokumentace XML pro ///; +Při psaní komentářů /* */ vkládat na začátek nových řádků hvězdičku (*); +Zobrazovat náhled pro sledování přejmenování; +Rozdělit literály řetězců u Enter; +Oznamovat neplatné zástupné symboly ve voláních String.Format; Extrahovat metodu; Nevkládat odkaz nebo výstup do vlastní struktury; Implementovat rozhraní nebo abstraktní třídu; @@ -121,7 +121,8 @@ s ostatními členy stejného druhu; na konec; Při generování vlastnosti; preferovat vyvolávací vlastnosti; -preferovat automatické vlastnosti; +preferovat automatické vlastnosti; +Používat rozšířené barvy; C# Advanced options page keywords @@ -131,8 +132,8 @@ Automatically format block on end brace; Automatically format on return; Automatically format on paste; Automaticky formátovat při psaní; -Automaticky formátovat příkaz při zadání středníku; -Automaticky formátovat blok při zadání pravé složené závorky; +Automaticky formátovat příkaz při středníku; +Automaticky formátovat blok při koncové složené závorce; Automaticky formátovat při stisknutí klávesy Enter; Automaticky formátovat při vložení; C# Formatting > General options page keywords @@ -150,12 +151,12 @@ place goto labels one indent less than current; Odsadit obsah bloku; odsadit levé a pravé složené závorky; odsadit obsah příkazu case; -odsadit obsah příkazu case (když je v bloku); +odsazovat obsah příkazu case (když je v bloku); odsadit návěští case; odsazení návěští; -umístit návěští goto do levého sloupce; -odsadit popisky normálně; -umístit návěští goto o jedno odsazení méně, než je aktuální; +umístit návěští goto do sloupce nejvíce vlevo; +odsadit návěští normálně; +umístit návěští goto o jedno odsazení méně než je aktuální; C# Formatting > Indentation options page keywords @@ -178,17 +179,17 @@ Place members in anonymous types on new line; Place query expression clauses on new line; Možnost formátování nového řádku pro složené závorky;Možnosti formátování nového řádku pro klíčová slova;Možnosti nového řádku pro složené závorky; Pro typy umístit levou složenou závorku na nový řádek; -Pro metody a místní funkce umístit levou složenou závorku na nový řádek; +Pro metody a lokální funkce umístit levou složenou závorku na nový řádek; Pro vlastnosti, indexery a události umístit levou složenou závorku na nový řádek; -Pro přístupové objekty vlastností, indexerů a událostí umístit levou složenou závorku na nový řádek; +Pro přistupující objekty vlastností, indexerů a událostí umístit levou složenou závorku na nový řádek; Pro anonymní metody umístit levou složenou závorku na nový řádek; Pro řídicí bloky umístit levou složenou závorku na nový řádek; Pro anonymní typy umístit levou složenou závorku na nový řádek; Pro inicializátory objektů, kolekcí a polí umístit levou složenou závorku na nový řádek; Možnosti nového řádku pro klíčová slova; -Umístit else na nový řádek; -Umístit catch na nový řádek; -Umístit finally na nový řádek; +Umístit klíčové slovo else na nový řádek; +Umístit klíčové slovo catch na nový řádek; +Umístit klíčové slovo finally na nový řádek; Možnosti nového řádku pro výraz; Umístit členy v inicializátorech objektů na nový řádek; Umístit členy v anonymních typech na nový řádek; @@ -228,35 +229,35 @@ Ignore spaces around binary operators; Remove spaces before and after binary operators; Insert space before and after binary operators; Nastavit mezery pro deklarace metod; -Vložit mezeru mezi název metody a její levou kulatou závorku; -Vkládat mezery uvnitř závorek u seznamu parametrů; -Vkládat mezery uvnitř závorek u prázdného seznamu parametrů; +Vložit mezeru mezi název metody a její levou kulatou závorkou; +Vložit mezeru mezi kulaté závorky seznamu parametrů; +Vložit mezeru mezi kulaté závorky prázdného seznamu parametrů; Nastavit mezery pro volání metod; -Vkládat mezery uvnitř závorek u seznamu argumentů; -Vkládat mezery uvnitř závorek u prázdného seznamu argumentů; +Vložit mezeru mezi kulaté závorky seznamu argumentů; +Vložit mezeru mezi kulaté závorky prázdného seznamu argumentů; Nastavit další možnosti mezer; Vkládat mezeru po klíčových slovech v příkazech toku řízení; -Vkládat mezery uvnitř závorek výrazů; -Vkládat mezery uvnitř závorek přetypování; -Vkládat mezery uvnitř závorek příkazů toku řízení; +Vložit mezeru mezi kulaté závorky výrazů; +Vložit mezeru mezi kulaté závorky přetypování; +Vložit mezery mezi kulaté závorky příkazů řízení toku; Vložit mezeru po přetypování; -Ignorovat mezery v deklaračních příkazech; -Nastavit mezery pro složené závorky; +Ignorovat mezery ve výpisech deklarací; +Nastavit mezery pro hranaté závorky; Vložit mezeru před levou hranatou závorku; -Vložit mezeru uvnitř prázdných hranatých závorek; -Vkládat mezery uvnitř hranatých závorek; +Vložit mezeru mezi prázdné hranaté závorky; +Vložit mezery mezi hranaté závorky; Nastavit mezery pro oddělovače; Vložit mezeru po dvojtečce pro základní typ nebo rozhraní v deklaraci typu; -Vložit mezeru za čárkou; -Vložit mezery za tečkou; -Vložit mezeru za středníkem v příkazu for; +Vložit mezeru za čárku; +Vložit mezeru za tečku; +Vložit mezeru za středník v příkazu for; Vložit mezeru před dvojtečku pro základní typ nebo rozhraní v deklaraci typu; -Vložit mezeru před čárkou; -Vložit mezeru před tečkou; -Vložit mezeru před středníkem v příkazu for; +Vložit mezeru před čárku; +Vložit mezeru před tečku; +Vložit mezeru před středník v příkazu for; Nastavit mezery pro operátory; -Ignorovat mezery kolem binárních operátorů; -Odebrat mezery před a za binárními operátory; +Ignorovat mezery okolo binárních operátorů; +Odebrat mezery před a po binárních operátorech; Vložit mezeru před a za binární operátory; C# Formatting > Spacing options page keywords @@ -280,19 +281,19 @@ Never add new line on enter; Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; - Změnit nastavení seznamu pro doplňování;Předem vybrat naposledy použitý člen;Seznamy pro doplňování; -Zobrazit seznam pro doplňování po zadání znaku; -Zobrazit seznam pro doplňování po odstranění znaku; -Zvýraznit odpovídající části položek seznamu pro doplňování; -Zobrazit filtry položek pro doplňování; + Změnit nastavení pro seznam dokončení;Předvolit naposledy použitou položku; Seznamy dokončení; +Po zadání znaku zobrazit seznam dokončení; +Po odstranění znaku zobrazit seznam dokončení; +Zvýraznit odpovídající části položek seznamu dokončení; +Zobrazit filtry položek dokončení; Chování fragmentů; Nikdy nezahrnovat fragmenty; Vždy zahrnovat fragmenty; -Zahrnovat fragmenty při zadání ?-Tab za identifikátorem; +Zahrnovat fragmenty po zadání ?-Tab za identifikátor; Chování klávesy Enter; -Nikdy nepřidávat nový řádek při stisknutí klávesy Enter; -Přidat nový řádek při stisknutí klávesy Enter jenom za plně napsaným slovem; -Vždy přidat nový řádek při stisknutí klávesy Enter; +Při stisknutí klávesy Enter nikdy nepřidávat nový řádek; +Při stisknutí klávesy Enter přidat nový řádek jenom po dopsání celého slova; +Při stisknutí klávesy Enter vždy přidat nový řádek; Zobrazovat návrhy názvů; C# IntelliSense options page keywords diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.de.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.de.xlf index 2b9879a34139c..feaec3a1eccfd 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.de.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.de.xlf @@ -79,47 +79,50 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - Diagnose für geschlossene Dateien anzeigen; + Diagnoseinformationen für geschlossene Dateien anzeigen; Reguläre Ausdrücke farbig hervorheben; Zugehörige Komponenten unter dem Cursor markieren; -Ungültige reguläre Ausdrücke melden; -Analyse von Editor-Features in externem Prozess durchführen; -Using-Anweisungen; -Systemanweisungen beim Sortieren von using-Anweisungen zuerst platzieren; -Using-Anweisungsgruppen trennen; -Using-Anweisungen für Typen in Verweisassemblys vorschlagen; -Using-Anweisungen für Typen in NuGet-Paketen vorschlagen, -Hervorheben, -Verweise auf Symbole unter dem Cursor markieren; -Zugehörige Schlüsselwörter unter dem Cursor markieren; -Gliedern; -Beim Öffnen von Dateien in Gliederungsmodus wechseln; -Zeilentrennzeichen zwischen Prozeduren anzeigen; -Gliederung für Konstrukte auf Deklarationsebene anzeigen; -Gliederung für Konstrukte auf Codeebene anzeigen; -Gliederung für Kommentare und Präprozessorregionen anzeigen; -#regions beim Reduzieren auf Definitionen zuklappen; -Ausblenden; -Nicht verwendete Zeichenfolgen ausblenden; -Nicht erreichbaren Code ausblenden; -Führungslinien für Blockstruktur; -Führungslinien für Konstrukte auf Deklarationsebene anzeigen; -Führungslinien für Konstrukte auf Codeebene anzeigen; -Editor-Hilfe; -XML-Dokumentationskommentare generieren für ///; -* beim Schreiben von /* */-Kommentaren am Anfang neuer Zeilen einfügen; -Vorschau für die Nachverfolgung von Umbenennungen anzeigen; -Zeichenfolgenliterale bei Eingabe teilen; -Ungültige Platzhaler in string.Format-Aufrufen melden; -Methode extrahieren; -Nicht ref oder out auf benutzerdefinierte Struktur legen; -Schnittstelle oder abstrakte Klasse implementieren; -Eigenschaften, Ereignisse und Methoden bei der Eingabe:; -mit anderen Membern der gleichen Art platzieren; -am Ende platzieren; -Beim Generieren von Eigenschaften:; +Ungültige reguläre Ausdrücke melden; +Vollständige Lösungsanalyse aktivieren; +Editor-Funktionsanalyse in externem Prozess ausführen ; +Navigation zu dekompilierten Quellen aktivieren; +Using-Direktiven; +System-Direktiven beim Sortieren von Using-Direktiven an erster Stelle platzieren; +Using-Direktivengruppen trennen; +Using-Direktiven für Typen in Verweisassemblys vorschlagen; +Using-Direktiven für Typen in NuGet-Paketen vorschlagen; +Hervorhebung; +Verweise auf Symbol unter Cursor hervorheben; +Verwandte Schlüsselbegriffe unter Cursor anzeigen; +Gliederung; +Gliederungsmodus beim Öffnen von Dateien starten; +Zeilentrennzeichen in Prozeduren anzeigen; +Gliederung für Konstrukte auf Deklarationsebene anzeigen; +Gliederung für Konstrukte auf Codeebene anzeigen; +Gliederung für Kommentare und Präprozessorregionen anzeigen; +#regions beim Reduzieren auf Definitionen zuklappen; +Ausblenden; +Nicht verwendete Using-Anweisungen ausblenden; +Unerreichbaren Code ausblenden; +Führungslinien für Blockstruktur; +Führungslinien für Konstrukte auf Deklarationsebene anzeigen; +Führungslinien für Konstrukte auf Codeebene anzeigen; +Editor-Hilfe; +XML-Dokumentationskommentare für /// eingeben; +Beim Schreiben von Kommentaren (/* */) * am Beginn neuer Zeilen einfügen; +Vorschau für Nachverfolgung beim Umbenennen anzeigen; +Zeichenfolgenliterale bei Eingabe teilen; +Ungültige Platzhalter in string.Format-Aufrufen melden; +Methode extrahieren; +ref oder out nicht auf benutzerdefinierte Struktur legen; +Schnittstelle oder abstrakte Klasse implementieren; +Eingefügte Eigenschaften, Ereignisse und Methoden hier ablegen; +bei anderen Membern derselben Art; +am Ende; +Beim Generieren von Eigenschaften; ausgelöste Eigenschaften bevorzugen; -automatische Eigenschaften bevorzugen; +automatische Eigenschaften bevorzugen; +Erweiterte Farben verwenden; C# Advanced options page keywords @@ -128,10 +131,10 @@ Automatically format statement on semicolon ; Automatically format block on end brace; Automatically format on return; Automatically format on paste; - Bei Eingabe automatisch formatieren; + Automatisch während der Eingabe formatieren; Anweisung bei Semikolon automatisch formatieren; Block bei schließender geschweifter Klammer automatisch formatieren; -Bei Verwendung der EINGABETASTE automatisch formatieren; +Bei Verwendung der EINGABETASTE automatisch formatieren Beim Einfügen automatisch formatieren; C# Formatting > General options page keywords @@ -145,13 +148,14 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - Blockinhalt einziehen; -Öffnende und schließende geschweifte Klammern einziehen; + Blockinhalte einziehen; +Öffnende und schließende geschweifte Klammern einziehen; +case-Inhalte einziehen; case-Inhalte einziehen (bei Block); -case-Bezeichnungen einziehen; -Bezeichnungseinzug; -goto-Bezeichnungen in Spalte ganz links platzieren; -Bezeichnungen normal einziehen; +case-Bezeichnungen einziehen; +Bezeichnungseinzug; +goto-Bezeichnungen in Spalte ganz links platzieren; +Bezeichnungen normal einziehen; goto-Bezeichnungen um eine Einzugsebene weiter links als die aktuelle Position platzieren; C# Formatting > Indentation options page keywords @@ -173,24 +177,23 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - Zeilenwechsel-Formatierungsoption für geschweifte Klammern; -Zeilenwechsel-Formatierungsoptionen für Schlüsselwörter; + Zeilenwechsel-Formatierungsoption für geschweifte Klammern;Zeilenwechsel-Formatierungsoptionen für Schlüsselwörter;Zeilenwechseloptionen für geschweifte Klammern; Öffnende geschweifte Klammer für Typen in neuer Zeile platzieren; Öffnende geschweifte Klammer in neuer Zeile für Methoden und lokale Funktionen einfügen; -Fügt eine öffnende geschweifte Klammer für Eigenschaften, Indexer und Ereignisse in einer neuen Zeile ein.; -Fügt eine öffnende geschweifte Klammer für eine Eigenschaft, den Indexer und Ereignisaccessor in einer neuen Zeile ein.; +Öffnende geschweifte Klammer für Eigenschaften, Indexer und Ereignisse in einer neuen Zeile einfügen; +Öffnende geschweifte Klammer für eine Eigenschaft, den Indexer und Ereignisaccessor in einer neuen Zeile einfügen; Öffnende geschweifte Klammer für anonyme Methoden in neuer Zeile platzieren; Öffnende geschweifte Klammer für Kontrollblöcke in neuer Zeile platzieren; Öffnende geschweifte Klammer für anonyme Typen in neuer Zeile platzieren; Öffnende geschweifte Klammer für Objekt-, Sammlungs- und Arrayinitialisierer in neue Zeile einfügen; Zeilenwechseloptionen für Schlüsselwörter; -else-Anweisung in neuer Zeile platzieren; -catch-Anweisung in neuer Zeile platzieren; -finally-Anweisung in neuer Zeile platzieren; +else-Anweisung in neue Zeile setzen; +catch-Anweisung in neue Zeile setzen; +finally-Anweisung in neue Zeile setzen; Zeilenwechseloptionen für Ausdrücke; -Member in Objektinitialisierern in neuer Zeile platzieren; -Member in anonymen Typen in neuer Zeile platzieren; -Abfrageausdrucksklauseln in neuer Zeile platzieren; +Member in Objektinitialisierern in neue Zeile setzen; +Member in anonymen Typen in neue Zeile setzen; +Klauseln von Abfrageausdrücken in neuer Zeile platzieren; C# Formatting > New Lines options page keywords @@ -225,34 +228,34 @@ Set spacing for operators; Ignore spaces around binary operators; Remove spaces before and after binary operators; Insert space before and after binary operators; - Abstand für Methodendeklaration festlegen; + Abstände für Methodendeklarationen festlegen; Leerzeichen zwischen Methodenname und öffnender runder Klammer einfügen; -Leerzeichen innerhalb der runden Klammern einer Parameterliste einfügen; -Leerzeichen innerhalb der runden Klammern einer leeren Parameterliste einfügen; -Abstand für Methodenaufrufe festlegen; +Leerzeichen zwischen runden Klammern in Parameterliste einfügen; +Leerzeichen zwischen runden Klammern in leere Parameterliste einfügen; +Abstände für Methodenaufrufe festlegen; Leerzeichen zwischen runden Klammern um Argumentliste einfügen; Leerzeichen zwischen runden Klammern um leere Argumentliste einfügen; -Andere Optionen für Abstände festlegen; +Weitere Abstandsoptionen festlegen; Leerzeichen nach Schlüsselwörtern in Anweisungen für die Ablaufsteuerung einfügen; Leerzeichen zwischen runden Klammern von Ausdrücken einfügen; -Leerzeichen zwischen runden Klammern für Typumwandlungen einfügen; -Leerzeichen zwischen runden Klammern für Ablaufsteuerungsanweisungen einfügen; +Leerzeichen zwischen runde Klammern für Typumwandlungen einfügen; +Leerzeichen zwischen den Klammern von Ablaufsteuerungsanweisungen einfügen; Leerzeichen nach Umwandlung einfügen; Leerzeichen um Deklarationsanweisungen ignorieren; Abstände für eckige Klammern festlegen; Leerzeichen vor öffnender eckiger Klammer einfügen; Leerzeichen zwischen leeren eckigen Klammern einfügen; Leerzeichen zwischen eckigen Klammern einfügen; -Abstand für Trennzeichen festlegen; +Abstand für Trennzeichen; In Typdeklarationen Leerzeichen nach Doppelpunkt für Basis oder Schnittstelle einfügen; Leerzeichen nach Komma einfügen; Leerzeichen nach Punkt einfügen; -Leerzeichen nach Semikolon in der „for“-Anweisung einfügen; -In Typdeklarationen Leerzeichen vor Doppelpunkt für Basis einfügen; +In for-Anweisung Leerzeichen nach Semikolon einfügen; +In Typdeklarationen Leerzeichen vor Doppelpunkt für Basis oder Schnittstelle einfügen; Leerzeichen vor Komma einfügen; Leerzeichen vor Punkt einfügen; -Leerzeichen vor Semikolon in der „for“-Anweisung einfügen; -Abstand für Operatoren festlegen; +In for-Anweisung Leerzeichen vor Semikolon einfügen; +Abstände für Operatoren festlegen; Leerzeichen um binäre Operatoren ignorieren; Leerzeichen vor und nach binären Operatoren entfernen; Leerzeichen vor und nach binären Operatoren einfügen; @@ -278,17 +281,15 @@ Never add new line on enter; Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; - Einstellungen der Vervollständigungsliste ändern; -Vorauswahl des zuletzt verwendeten Members; -Vervollständigungslisten; -Vervollständigungsliste nach Eingabe eines Zeichens anzeigen; + Einstellungen der Vervollständigungsliste ändern;Vorauswahl des zuletzt verwendeten Members; Vervollständigungslisten; +Vervoll­ständigungsliste nach Eingabe eines Zeichens anzeigen; Vervollständigungsliste nach Löschen eines Zeichens anzeigen; -Übereinstimmende Teile der Vervollständigungslistenelemente hervorheben; +Übereinstimmende Teile der Vervollständigungslistenelemente anzeigen; Vervollständigungselementfilter anzeigen; -Codeausschnittverhalten; -Codeausschnitte nie einschließen; -Codeausschnitte immer einschließen; -Codeausschnitte einschließen, wenn ?-TAB nach einem Bezeichner eingegeben wird; +Ausschnittverhalten; +Ausschnitte nie einschließen; +Ausschnitte immer einschließen; +Ausschnitte einschließen, wenn ?-TAB nach einem Bezeichner eingegeben wird; Verhalten der EINGABETASTE; Nie neue Zeile beim Drücken der EINGABETASTE einfügen; Neue Zeile beim Drücken der EINGABETASTE nur nach einem vollständig eingegebenen Wort einfügen; diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.es.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.es.xlf index e764107567bcc..b95370447498b 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.es.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.es.xlf @@ -9,7 +9,7 @@ Advanced - Opciones avanzadas + Avanzadas "Advanced" node under Tools > Options, Text Editor, C#. @@ -79,49 +79,50 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - Mostrar diagnósticos para archivos cerrados; -Colorear la expresión regular; -Destacar componentes relacionados bajo el cursor; -Informar de expresiones regulares no válidas; -Permitir el análisis de la solución completa; -Realizar análisis de la función de editor en proceso externo; -Habilitar la exploración a las fuentes de descompilado; -Uso de directivas; -Colocar las directivas de sistema primero al ordenar using; -Separar grupos de directiva; -Sugerir tipos de using en ensamblados de referencia; -Sugerir tipos de using de paquetes de NuGet; -Destacar; -Destacan las referencias al símbolo bajo el cursor; -Destacar palabras claves relacionadas bajo el cursor; -Esquematizar; -El modo de esquematización en archivos abiertos; -Ver procedimiento de separadores de línea; + Mostrar diagnóstico para archivos cerrados; +Colorear expresión regular; +Resaltar componentes relacionados bajo el cursor; +Informar sobre expresiones regulares no válidas; +Habilitar análisis de la solución completa; +Realizar el análisis de características del editor en proceso externo; +Habilitar la navegación a orígenes descompilados; +Directivas Using; +Poner directivas del sistema primero cuando se organicen instrucciones Using; +Separar grupos de directivas using; +Sugerir directivas using para los tipos en los ensamblados de referencia; +Sugerir directivas using para los tipos en los paquetes NuGet; +Resaltar; +Resaltar referencias al símbolo bajo el cursor; +Resaltar palabras clave relacionadas bajo el cursor; +Esquematización; +Especificar el modo de esquematización al abrir los archivos; +Mostrar separadores de líneas de procedimientos; Mostrar esquematización para construcciones a nivel de declaración; Mostrar esquematización para construcciones a nivel de código; -Mostrar esquematización para comentarios y regiones de procesamiento previo; -Contraer regiones al contraer definiciones; -Atenuar; -Atenuar usings sin utilizar; -Atenuar código inalcanzable; -Bloquear guías de estructura; +Mostrar esquematización para regiones de preprocesador y comentarios; +Contraer regiones cuando se contraiga a las definiciones; +Atenuación; +Atenuar directivas using no usadas; +Atenuar código inaccesible; +Guías de estructura de bloque; Mostrar guías para construcciones a nivel de declaración; Mostrar guías para construcciones a nivel de código; Ayuda del editor; -Generar comentarios de documentación XML para ///; -Insertar * en el inicio de nuevas líneas al escribir /* */ comentarios; -Mostrar vista previa para cambiar el seguimiento del cambio de nombre; -Dividir literales de cadena al pulsar Entrar; -Informar de marcadores de posición no válidos en cadena. Aplicar formato a llamadas; +Generar comentarios de documentación XML con ///; +Insertar * al comienzo de las nuevas líneas al escribir comentarios /* */; +Mostrar vista previa para seguimiento de cambio de nombre; +Dividir literales de cadena al presionar Entrar; +Informar sobre marcadores de posición no válidos en llamadas a string.Format; Extraer método; -No poner ref o out en estructura personalizada; -Implementar la interfaz o clase abstracta; -Al insertar propiedades, eventos y métodos, colocarlos; +No colocar "out" o "ref" en estructura personalizada; +Implementar interfaz o clase abstracta; +Al insertar propiedades, eventos y métodos, colóquelos; con otros miembros de la misma clase; al final; -Al generar propiedad; -preferir propiedades throwing; -preferir propiedades auto; +Al generar una propiedad; +preferir propiedades de lanzamiento; +preferir propiedades automáticas; +Usar colores mejorados; C# Advanced options page keywords @@ -130,11 +131,11 @@ Automatically format statement on semicolon ; Automatically format block on end brace; Automatically format on return; Automatically format on paste; - Aplicar formato automáticamente al escribir; -Aplicar formato automáticamente a instrucción con punto y coma; -Aplicar formato automáticamente al bloqueo de la llave de cierre; -Aplicar formato automáticamente al volver; -Aplicar formato automáticamente al pegar; + Dar formato automáticamente al escribir; +Dar formato automáticamente a la instrucción al introducir punto y coma; +Dar formato automáticamente al bloque al introducir llave final; +Dar formato automáticamente al volver; +Dar formato automáticamente al pegar; C# Formatting > General options page keywords @@ -147,15 +148,15 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - Aplicar sangría al bloque de contenidos; -aplicar sangría a llaves de apertura y cierre; -aplicar sangría a contenido de caso; -aplicar sangría a contenido de caso (al bloquear); -aplicar sangría a etiquetas de caso; -sangría de etiqueta; -colocar las etiquetas de goto en la columna de la izquierda; -aplicar sangría a las etiquetas normalmente; -colocar las etiquetas de goto en un espacio de sangría inferior al actual; + Aplicar sangría al contenido del bloque; +aplicar sangría a llaves de apertura y de cierre; +aplicar sangría al contenido de case; +aplicar sangría al contenido de case (cuando está bloqueado); +aplicar sangría a etiquetas case; +sangría de etiquetas; +colocar etiquetas goto en primera columna de la izquierda; +aplicar sangría normal a etiquetas; +reducir una sangrí­a para las etiquetas goto; C# Formatting > Indentation options page keywords @@ -176,23 +177,23 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - Nueva opción de formato de línea para llaves; Nuevas opciones de formato de línea de palabras clave; Nuevas opciones de línea para llaves; -Colocar la llave abierta en nueva línea de tipos; -Colocar la llave abierta en una nueva línea de métodos y funciones locales; -Colocar la llave abierta en una nueva línea para propiedades, indizadores y eventos; -Colocar la llave abierta en nueva línea de propiedad, indizador y descriptores de acceso de evento; -Colocar la llave abierta en una nueva línea de métodos anónimos; -Colocar la llave abierta en nueva línea de bloques de control; -Colocar la llave abierta en nueva línea de tipos anónimos; -Colocar la llave abierta en una nueva línea para el objeto, la colección y los inicializadores de matriz; -Nuevas opciones de línea de palabras clave; -Colocar en otro lugar de una nueva línea; -Colocar la captura en línea nueva; -Colocar finalmente en una nueva línea; -Nuevas opciones de línea de expresión; -Colocar los miembros en los inicializadores de objeto en una nueva línea; -Colocar miembros en tipos anónimos en línea nueva; -Colocar cláusulas de expresión de consulta en línea nueva; + Opción de formato de nueva línea para llaves;Opciones de formato de nueva línea para palabras clave;Opciones de nueva línea para llaves; +Colocar llave de apertura para tipos en nueva línea; +Poner la llave de apertura en una línea nueva para los métodos y las funciones locales; +Colocar llave de apertura para propiedades, indizadores y eventos en nueva línea; +Colocar llave de apertura para descriptores de acceso de eventos, indizadores y propiedades en nueva línea; +Colocar llave de apertura para métodos anónimos en nueva línea; +Colocar llave de apertura para bloques de control en nueva línea; +Colocar llave de apertura para tipos anónimos en nueva línea; +Colocar llave de apertura en la nueva línea para los inicializadores de objeto, colección y matriz; +Opciones de nueva línea para palabras clave; +Colocar "else" en nueva línea; +Colocar "catch" en nueva línea; +Colocar "finally" en nueva línea; +Opciones de nueva línea para expresiones; +Colocar miembros de inicializadores de objetos en nueva línea; +Colocar miembros en tipos anónimos en nueva línea; +Colocar cláusulas de expresiones de consulta en nueva línea; C# Formatting > New Lines options page keywords @@ -227,37 +228,37 @@ Set spacing for operators; Ignore spaces around binary operators; Remove spaces before and after binary operators; Insert space before and after binary operators; - Establecer el espaciado de las declaraciones de método; -Insertar espacio entre el nombre del método y sus paréntesis de apertura; -Insertar espacio entre paréntesis de la lista del parámetro; -Insertar espacio entre paréntesis de la lista de parámetros vacía; -Establecer el espaciado para las llamadas de método; -Insertar espacio entre paréntesis de la lista del argumento; -Insertar espacio entre paréntesis de la lista de argumentos vacía; -Definir otras opciones de espaciado; -Insertar espacio tras palabras clave en los Estados de flujo de control; -Insertar espacio entre paréntesis de las expresiones; -Insertar espacio entre paréntesis del tipo moldes; -Insertar espacios entre paréntesis de los Estados de flujo de control; -Insertar un espacio después de fundido; -Ignorar espacios en las declaraciones de la declaración; -Establecer el espaciado de los soportes; -Insertar espacio antes del corchete abierto; + Establecer espaciado para declaraciones de método; +Insertar espacio entre el nombre del método y el paréntesis de apertura; +Insertar espacio entre paréntesis de la lista de parámetros; +Insertar espacio entre paréntesis vacíos de la lista de parámetros; +Establecer espaciado para llamadas a métodos; +Insertar espacio entre paréntesis de la lista de agumentos; +Insertar espacio entre paréntesis vacíos de la lista de argumentos; +Establecer otras opciones de espaciado; +Insertar espacio después de las palabras clave en instrucciones de flujo de control; +Insertar espacio entre paréntesis de expresiones; +Insertar espacio entre paréntesis de conversiones de tipo; +Insertar espacio entre paréntesis de instrucciones de flujo de control; +Insertar espacio tras conversión; +Omitir espacios en instrucciones de declaración; +Establecer espaciado para corchetes; +Insertar espacio delante de corchetes de apertura; Insertar espacio entre corchetes vacíos; Insertar espacios entre corchetes; -Establecer el espaciado para delimitadores; -Insertar un espacio después de dos puntos para la base o interfaz en declaración de tipo; -Insertar espacio tras la coma; -Insertar un espacio después de punto; -Insertar un espacio después de punto y coma en declaración; -Insertar espacio antes de colon para la base o interfaz en declaración de tipo; -Insertar espacio antes de coma; -Insertar espacio antes del punto; -Insertar espacio antes del punto y coma en declaración; -Establecer el espaciado para los operadores; -Ignorar espacios alrededor de los operadores binarios; -Quitar espacios antes y después de los operadores binarios; -Insertar espacio antes y después de los operadores binarios; +Establecer espaciado para delimitadores; +Insertar espacio tras dos puntos para base o interfaz en una declaración de tipo; +Insertar espacio tras coma; +Insertar espacio tras punto; +Insertar espacio tras punto y coma en instrucciones "for"; +Insertar espacio delante de dos puntos para base o interfaz en una declaración de tipo; +Insertar espacio delante de coma; +Insertar espacio delante de punto; +Insertar espacio delante de punto y coma en instrucciones "for"; +Establecer espaciado para operadores; +Omitir espacios alrededor de operadores binarios; +Quitar espacios delante y detrás de operadores binarios; +Insertar espacio delante y detrás de operadores binarios; C# Formatting > Spacing options page keywords @@ -280,19 +281,19 @@ Never add new line on enter; Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; - Cambiar la configuración de la lista de finalización; Preseleccionar el miembro usado más recientemente; Listas de finalización; + Cambiar configuración de la lista de finalización;Preseleccionar el miembro usado recientemente; Listas de finalización; Mostrar lista de finalización después de escribir un carácter; -Mostrar lista de finalización después de un eliminar un carácter; -Destacar porciones coincidentes de elementos de la lista de finalización; -Mostrar fitros de elementos de finalización; -Comportamiento de los fragmentos; -No incluir nunca fragmentos; -Incluir siempre fragmentos; -¿Cuándo incluir fragmentos? Se escribe -Tab después de un identificador; -Escribir clave comportamiento; -No agregar nunca nueva línea al entrar; -Solo agregar nueva línea al entrar después de una palabra escrita por completo; -Siempre agregar nueva línea al entrar; +Mostrar lista de finalización después de eliminar un carácter; +Resaltar partes coincidentes de elementos de la lista de finalización; +Mostrar filtros de elementos de finalización; +Comportamiento de los fragmentos de código; +No incluir nunca fragmentos de código; +Incluir siempre fragmentos de código; +Incluir fragmentos de código cuando ?-Tab se escriba después de un identificador; +Comportamiento de la tecla Entrar; +No agregar nunca una línea nueva al presionar Entrar; +Agregar solo una nueva línea con Entrar al final de palabras; +Agregar siempre una línea nueva al presionar Entrar; Mostrar sugerencias de nombre; C# IntelliSense options page keywords diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.fr.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.fr.xlf index 148e43bb0926f..652a8a70a7975 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.fr.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.fr.xlf @@ -79,49 +79,50 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - Afficher les diagnostics des fichiers fermés; -Colorer l'expression régulière; -Mettre en évidence les composants connexes sous le curseur; -Signaler les expressions régulières non valides; -Activer l'analyse de solution complète; -Effectuer une analyse de fonctionnalités d'éditeur dans un processus externe; -Activer la navigation vers les sources décompilées; -Directives using; -Placer les directives système en premier lors du tri des instructions using; -Séparer les groupes de directives using; -Suggérer des instructions using pour les types dans les assemblys de référence; -Suggérer des instructions using pour les types dans les packages NuGet; -Mise en évidence; -Mettre en évidence les références au symbole sous le curseur; -Mettre en évidence les mots clés associés sous le curseur; -Mode Plan; -Entrer en mode Plan à l'ouverture des fichiers; -Afficher les séparateurs de ligne de procédure; -Afficher le mode Plan pour les constructions de niveau déclaration; -Afficher le mode Plan pour les constructions de niveau code; -Afficher le mode Plan pour les commentaires et les régions de préprocesseur; -Réduire les régions en même temps que les définitions; -Fondu; -Faire disparaître en fondu les instructions using non utilisées; -Faire disparaître en fondu le code inaccessible; -Guides de structure de bloc; -Afficher les guides des constructions de niveau déclaration; -Afficher les guides des constructions de niveau code; -Aide de l'éditeur; -Générer des commentaires de documentation XML pour ///; -Insérer * au début des nouvelles lignes pendant l'écriture de commentaires /* */; -Afficher un aperçu pour le suivi du renommage; -Diviser les littéraux de chaîne avec Entrée; -Signaler les espaces réservés non valides dans les appels string.Format; -Extraire la méthode; -Ne pas mettre ref ou out sur un struct personnalisé; -Implémenter une interface ou une classe abstraite; -Pendant l'insertion de propriétés, d'événements et de méthodes, les placer; -avec d'autres membres du même genre; -à la fin; -Pendant la génération de propriété; -préférer les propriétés de levée d'exception; -préférer les propriétés automatiques; + Afficher les diagnostics pour les fichiers fermés ; +Coloriser l'expression régulière ; +Surligner les composants liés sous le curseur ; +Signaler les expressions régulières non valides ; +Activer l'analyse complète de la solution ; +Effectuer l'analyse des fonctionnalités de l'éditeur dans un processus externe ; +Activer la navigation vers les sources décompilées ; +Directives Using ; +Placer en premier les directives system au moment du tri des directives using ; +Séparer les groupes de directives using ; +Suggérer des using pour les types dans les assemblys de référence ; +Suggérer des using pour les types dans les packages NuGet ; +Mise en surbrillance ; +Mettre en surbrillance les références au symbole sous le curseur ; +Surligner les mots clés liés sous le curseur ; +Mode Plan ; +Passer en mode Plan à l'ouverture des fichiers ; +Afficher les séparateurs de ligne de procédure ; +Afficher le mode Plan pour les constructions au niveau des déclarations ; +Afficher le mode Plan pour les constructions au niveau du code ; +Afficher le mode Plan pour les commentaires et les régions du préprocesseur ; +Réduire regions au moment de la réduction aux définitions ; +Suppression ; +Supprimer les instructions using inutilisées ; +Supprimer le code inaccessible ; +Repères de structure de bloc ; +Afficher les repères pour les constructions au niveau des déclarations ; +Afficher les repères pour les constructions au niveau du code ; +Aide de l'éditeur ; +Générer des commentaires de documentation XML pour /// ; +Insérer * au début des nouvelles lignes pour l'écriture de commentaires /* */ ; +Afficher un aperçu pour le suivi des renommages ; +Diviser les littéraux de chaîne avec Entrée ; +Signaler les espaces réservés non valides dans les appels de string.Format ; +Extraire la méthode ; +Ne pas ajouter ref ou out dans un struct personnalisé ; +Implémenter une interface ou une classe abstraite ; +Quand vous insérez des propriétés, des événements et des méthodes, placez-les ; +avec d'autres membres du même genre ; +à la fin ; +Durant la génération des propriétés ; +préférer les propriétés de levée d'exceptions ; +préférer les propriétés automatiques ; +Utiliser des couleurs améliorées ; C# Advanced options page keywords @@ -130,11 +131,11 @@ Automatically format statement on semicolon ; Automatically format block on end brace; Automatically format on return; Automatically format on paste; - Mettre en forme automatiquement pendant la frappe; -Mettre en forme automatiquement l'instruction avec un point-virgule; -Mettre en forme automatiquement le bloc avec une accolade fermante; -Mettre en forme automatiquement avec la touche Retour; -Mettre en forme automatiquement après le collage; + Mettre en forme automatiquement en cours de frappe ; +Mettre en forme automatiquement l'instruction quand un point-virgule est entré ; +Mettre en forme automatiquement le bloc quand une accolade de fin est entrée ; +Mettre en forme automatiquement au retour ; +Mettre en forme automatiquement au moment du collage ; C# Formatting > General options page keywords @@ -147,15 +148,15 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - Mettre en retrait le contenu de bloc; -Mettre en retrait les accolades ouvrantes et fermantes; -Mettre en retrait le contenu de cas; -Mettre en retrait le contenu de cas (s'il s'agit d'un bloc); -Mettre en retrait les étiquettes de cas; -Mise en retrait d'étiquette; -Placer les étiquettes goto dans la colonne la plus à gauche; -Mettre en retrait les étiquettes normalement; -Placer les étiquettes goto avec un retrait de moins que l'actuel; + Mettre en retrait le contenu d'un bloc ; +mettre en retrait les accolades ouvrantes et fermantes ; +mettre en retrait le contenu de case ; +mettre en retrait le contenu de case (dans un bloc) ; +mettre en retrait les étiquettes case ; +mise en retrait d'étiquette ; +placer des étiquettes goto dans la colonne située le plus à gauche ; +mettre en retrait normalement les étiquettes ; +placer les étiquettes goto en retrait d'un niveau par rapport au niveau actuel ; C# Formatting > Indentation options page keywords @@ -176,23 +177,23 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - Option de mise en forme des nouvelles lignes pour les accolades;Options de mise en forme des nouvelles lignes pour les mots clés;Options des nouvelles lignes pour les accolades; -Placer une accolade ouvrante sur une nouvelle ligne pour les types; -Placer une accolade ouvrante sur une nouvelle ligne pour les méthodes et les fonctions locales; -Placer une accolade ouvrante sur une nouvelle ligne pour les propriétés, les indexeurs et les événements; -Placer une accolade ouvrante sur une nouvelle ligne pour les accesseurs de propriété, d'indexeur et d'événement; -Placer une accolade ouvrante sur une nouvelle ligne pour les méthodes anonymes; -Placer une accolade ouvrante sur une nouvelle ligne pour les blocs de contrôle; -Placer une accolade ouvrante sur une nouvelle ligne pour les types anonymes; -Placer une accolade ouvrante sur une nouvelle ligne pour les initialiseurs d'objet, de collection et de tableau; -Options des nouvelles lignes pour les mots clés; -Placer else sur une nouvelle ligne; -Placer catch sur une nouvelle ligne; -Placer finally sur une nouvelle ligne; -Options des nouvelles lignes pour l'expression; -Placer les membres dans des initialiseurs d'objet sur une nouvelle ligne; -Placer les membres dans des types anonymes sur une nouvelle ligne; -Placer les clauses d'expression de requête sur une nouvelle ligne; + Nouvelle option de mise en forme de ligne pour les accolades;Nouvelles options de mise en forme de ligne pour les mots clés;Nouvelles options de ligne pour les accolades; +Placer une accolade ouvrante sur une nouvelle ligne pour les types ; +Placer une accolade ouvrante sur une nouvelle ligne pour les méthodes et les fonctions locales ; +Placer une accolade ouvrante sur une nouvelle ligne pour les propriétés, indexeurs et événements ; +Placer une accolade ouvrante sur une nouvelle ligne pour les accesseurs de propriété, d'indexeur et d'événement ; +Placer une accolade ouvrante sur une nouvelle ligne pour les méthodes anonymes ; +Placer l'accolade ouvrante sur une nouvelle ligne pour les blocs de contrôle ; +Placer une accolade ouvrante sur une nouvelle ligne pour les types anonymes ; +Placer une accolade ouvrante sur une nouvelle ligne pour les initialiseurs d'objet, de collection et de tableau ; +Nouvelles options de ligne pour les mots clés ; +Placer else sur une nouvelle ligne ; +Placer catch sur une nouvelle ligne ; +Placer finally sur une nouvelle ligne ; +Nouvelles options de lignes pour expressions ; +Placer les membres dans les initialiseurs d'objets sur une nouvelle ligne ; +Placer les membres dans les types anonymes sur une nouvelle ligne ; +Placer les clauses d'expression de requête sur une nouvelle ligne ; C# Formatting > New Lines options page keywords @@ -227,37 +228,37 @@ Set spacing for operators; Ignore spaces around binary operators; Remove spaces before and after binary operators; Insert space before and after binary operators; - Définir l'espacement des déclarations de méthode; -Insérer un espace entre le nom de la méthode et sa parenthèse ouvrante; -Insérer un espace entre les parenthèses de liste de paramètres; -Insérer un espace entre des parenthèses de liste de paramètres vides; -Définir l'espacement des appels de méthode; -Insérer un espace entre les parenthèses de liste d'arguments; -Insérer un espace entre des parenthèses de liste d'arguments vides; -Définir d'autres options d'espacement; -Insérer un espace après les mots clés dans les instructions de contrôle de flux; -Insérer un espace entre les parenthèses d'expressions; -Insérer un espace entre les parenthèses de casts de type; -Insérer un espace entre les parenthèses d'instructions de contrôle de flux; -Insérer un espace après cast; -Ignorer les espaces dans les instructions de déclaration; -Définir l'espacement des crochets; -Insérer un espace avant un crochet ouvrant; -Insérer un espace entre des crochets vides; -Insérer un espace entre les crochets; -Définir l'espacement des délimiteurs; -Insérer un espace après le signe deux-points pour la base ou l'interface dans une déclaration de type; -Insérer un espace après la virgule; -Insérer un espace après le point; -Insérer un espace après le point-virgule pour l'instruction; -Insérer un espace avant le signe deux-points pour la base ou l'interface dans une déclaration de type; -Insérer un espace avant la virgule; -Insérer un espace avant le point; -Insérer un espace avant le point-virgule pour l'instruction; -Définir l'espacement des opérateurs; -Ignorer les espaces autour des opérateurs binaires; -Supprimer les espaces avant et après les opérateurs binaires; -Insérer un espace avant et après les opérateurs binaires; + Définir l'espacement des déclarations de méthode ; +Insérer un espace entre le nom de la méthode et sa parenthèse ouvrante ; +Insérer un espace dans les parenthèses de la liste de paramètres ; +Insérer un espace dans les parenthèses de la liste de paramètres vide ; +Définir l'espacement des appels de méthode ; +Insérer un espace dans les parenthèses de la liste d'arguments ; +Insérer un espace dans les parenthèses de la liste d'arguments vide ; +Définir d'autres options d'espacement ; +Insérer un espace après les mots clés dans les instructions de flux de contrôle ; +Insérer un espace dans les parenthèses d'expressions ; +Insérer un espace dans les parenthèses de casts de type ; +Insérer des espaces à l'intérieur des parenthèses des instructions de flux de contrôle ; +Insérer un espace après cast ; +Ignorer les espaces dans les instructions de déclaration ; +Définir l'espacement des crochets ; +Insérer un espace avant un crochet ouvrant ; +Insérer un espace dans des crochets vides ; +Insérer des espaces dans des crochets ; +Définir l'espacement des délimiteurs ; +Insérer un espace après le signe deux-points pour base ou interface dans une déclaration de type ; +Insérer un espace après la virgule ; +Insérer un espace après le point ; +Insérer un espace après le point-virgule dans une instruction for ; +Insérer un espace avant le signe deux-points pour base ou interface dans une déclaration de type ; +Insérer un espace avant la virgule ; +Insérer un espace avant le point ; +Insérer un espace avant le point-virgule dans une instruction for ; +Définir l'espacement des opérateurs ; +Ignorer les espaces autour des opérateurs binaires ; +Supprimer les espaces avant et après les opérateurs binaires ; +Insérer un espace avant et après les opérateurs binaires ; C# Formatting > Spacing options page keywords @@ -280,20 +281,20 @@ Never add new line on enter; Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; - Changer les paramètres de liste de saisie semi-automatique;Présélectionner le dernier membre utilisé;Listes de saisie semi-automatique; -Afficher la liste de saisie semi-automatique après la saisie d'un caractère; -Afficher la liste de saisie semi-automatique après la suppression d'un caractère; -Mettre en évidence les parties correspondantes des éléments de liste de saisie semi-automatique; -Afficher les filtres d'élément de saisie semi-automatique; -Comportement des extraits de code; -Ne jamais inclure d'extrait de code; -Toujours inclure des extraits de code; -Inclure des extraits de code quand ?-Tab est tapé après un identificateur; -Comportement de la touche Entrée; -Ne jamais ajouter de nouvelle ligne avec Entrée; -Ajouter une nouvelle ligne avec Entrée uniquement après la saisie complète d'un mot; -Toujours ajouter une nouvelle ligne avec Entrée; -Afficher les suggestions de nom; + Changer les paramètres de la liste de complétion;Présélectionner le dernier membre utilisé;Listes de complétion; +Afficher la liste de complétion après la saisie d'un caractère ; +Afficher la liste de complétion après la suppression d'un caractère ; +Mettre en surbrillance les parties correspondantes des éléments de liste de complétion ; +Afficher les filtres d'éléments de complétion ; +Comportement des extraits ; +Ne jamais inclure d'extraits ; +Toujours inclure les extraits ; +Inclure les extraits quand ?-Tab est tapé après un identificateur ; +Comportement de la touche Entrée ; +Ne jamais ajouter de nouvelle ligne après Entrée ; +Ajouter uniquement une nouvelle ligne après avoir appuyé sur Entrée à la fin du mot complet tapé ; +Toujours ajouter une nouvelle ligne après Entrée ; +Afficher les suggestions de nom ; C# IntelliSense options page keywords @@ -353,7 +354,7 @@ Afficher les suggestions de nom; Naming - Nommage + Affectation de noms diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.it.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.it.xlf index f2f5df0907578..3f9da91632eb4 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.it.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.it.xlf @@ -79,9 +79,9 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - Mostra diagnostica per file chiusi; -Colora espressione regolare; -Evidenzia componenti correlati sotto il cursore; + Mostra diagnostica per file chiusi; +Colora espressione regolare; +Evidenzia componenti correlati sotto il cursore; Segnala espressioni regolari non valide; Abilita analisi della soluzione completa; Esegui analisi delle funzionalità dell'editor in processo esterno; @@ -118,10 +118,11 @@ Non inserire ref o out in struct personalizzato; Implementa interfaccia o classe astratta; Posiziona proprietà, eventi e metodi inseriti; con altri membri dello stesso tipo; -alla fine; +al termine; Durante la generazione della proprietà; preferisci proprietà generate; -preferisci proprietà automatiche; +preferisci proprietà automatiche; +Usa colori migliorati; C# Advanced options page keywords @@ -147,14 +148,14 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - Imposta rientro per contenuto del blocco; -imposta rientro per parentesi graffe di apertura e chiusura; -imposta rientro per contenuto case; -imposta rientro per contenuto case (quando è un blocco); -imposta rientro per etichette case; -imposta rientro per etichetta; -inserisci etichette goto nella colonna più a sinistra; -imposta rientro per etichette normalmente; + Imposta rientro per contenuto del blocco; +imposta rientro per parentesi graffe di apertura e chiusura; +imposta rientro per contenuto case; +imposta rientro per contenuto case (quando è un blocco); +imposta rientro per etichette case; +imposta rientro per etichetta; +inserisci etichette goto nella colonna più a sinistra; +imposta rientro per etichette normalmente; inserisci etichette goto con un livello di rientro inferiore al corrente; C# Formatting > Indentation options page keywords @@ -176,7 +177,7 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - Nuova opzione formattazione riga per parentesi graffe;Nuove opzioni formattazione riga per parole chiave;Opzioni relative alla nuova riga per parentesi graffe; + Opzione relativa alla nuova riga per parentesi graffe;Opzioni relative alla formattazione nuova riga per parole chiave;Opzioni di nuova riga per parentesi graffe; Inserisci parentesi graffa di apertura in una nuova riga per i tipi; Inserisci parentesi graffa di apertura in una nuova riga per metodi e funzioni locali; Inserisci parentesi graffa di apertura in una nuova riga per proprietà, indicizzatori ed eventi; @@ -185,11 +186,11 @@ Inserisci parentesi graffa di apertura in una nuova riga per i metodi anonimi; Inserisci parentesi graffa di apertura in una nuova riga per i blocchi di controllo; Inserisci parentesi graffa di apertura in una nuova riga per i tipi anonimi; Inserisci parentesi graffa di apertura in una nuova riga per inizializzatori di oggetto, raccolta e matrice; -Opzioni relative alla nuova riga per le parole chiave; -Inserisci else in una nuova riga; -Inserisci catch in una nuova riga; -Inserisci finally in una nuova riga; -Opzioni relative alla nuova riga per le espressioni; +Opzioni di nuova riga per parole chiave; +Inserisci "else" in una nuova riga; +Inserisci "catch" in una nuova riga; +Inserisci "finally" in una nuova riga; +Opzioni di nuova riga per espressioni; Inserisci membri di inizializzatori di oggetto in una nuova riga; Inserisci membri di tipi anonimi in una nuova riga; Inserisci clausole di espressione di query in una nuova riga; @@ -240,7 +241,7 @@ Inserisci spazio tra le parentesi delle espressioni; Inserisci spazio tra le parentesi dei cast di tipo; Inserisci spazio tra le parentesi delle istruzioni del flusso di controllo; Inserisci spazio dopo il cast; -Ignora gli spazi nelle istruzioni di dichiarazione; +Ignora spazi nelle istruzioni di dichiarazione; Imposta spaziatura per le parentesi quadre; Inserisci spazio prima della parentesi quadra di apertura; Inserisci spazio tra parentesi quadre vuote; @@ -256,7 +257,7 @@ Inserisci spazio prima del punto; Inserisci spazio prima del punto e virgola nell'istruzione for; Imposta spaziatura per gli operatori; Ignora spazi prima e dopo gli operatori binari; -Rimuovi gli spazi prima e dopo gli operatori binari; +Rimuovi spazi prima e dopo gli operatori binari; Inserisci spazio prima e dopo gli operatori binari; C# Formatting > Spacing options page keywords diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ja.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ja.xlf index 9598f6318298c..341536d5a6123 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ja.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ja.xlf @@ -79,7 +79,50 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - 閉じているファイルの診断結果を表示する; 正規表現を色付けする; カーソルの下の関連コンポーネントを強調表示する; 無効な正規表現を報告する; 完全なソリューション分析を有効にする; エディター機能分析を外部処理で実行する; 逆コンパイルされたソースへのナビゲーションを有効にする; ディレクティブを使用する; using の並べ替えのとき、最初に System ディレクティブを配置する; ディレクティブ グループを使用して分離します; 参照アセンブリの型に using を提案する; NuGet パッケージの型に using を提案する; 強調表示する; カーソルの下のシンボルへの参照wを強調表示する; カーソルの下の関連キーワードを強調表示する; アウトライン; ファイルを開くときにアウトライン モードに入る; プロシージャ行の区切り記号を表示する; 宣言レベルのコンストラクトのアウトラインを表示する; コード レベルのコンストラクトのアウトラインを表示する; コメントとプリプロセッサ領域のアウトラインを表示する; 定義を折りたたむときに領域を折りたたむ; フェード; 未使用の using をフェードアウトします; 到達できないコードをフェードアウトします; ブロック構造のガイド; 宣言レベルのコンストラクトのガイドを表示する; コード レベルのコンストラクトのガイドを表示する; エディターのヘルプ; /// に対する XML ドキュメントを生成する; /* */ コメントを作成するときに新しい行の先頭に * を挿入する; Enter で文字列リテラルを分割する; string.Format 呼び出しで無効なプレースホルダーをレポートします; メソッドの抽出; カスタム構造体に ref または out を設定しない; インターフェイスまたは抽象クラスの実装; プロパティ、イベント、メソッドを挿入するときに、それらを配置する; 同じ種類の他のメンバー; 末尾; プロパティを生成するとき; スロー プロパティを優先する; 自動プロパティを優先する; + 閉じているファイルの診断結果を表示する; +正規表現をカラー化する; +カーソルの下にある関連コンポーネントをハイライトする; +無効な正規表現を報告する; +完全ソリューション解析を有効にする; +外部プロセスでエディター機能解析を実行する; +逆コンパイルされたソースへのナビゲーションを有効にする; +ディレクティブを使用する; +using を並べ替える際に、system ディレクティブを先頭に配置する; +ディレクティブ グループを使用して分離する; +参照アセンブリの型に using を提案する; +NuGet パッケージの型に using を提案する; +強調表示; +カーソルの下にあるシンボルへの参照をハイライトする; +カーソルの下にあるキーワードの関連キーワードをハイライトする; +アウトライン; +ファイルを開くときにアウトライン モードに入る; +プロシージャ行の区切り記号を表示する; +宣言レベルのコンストラクトのアウトラインを表示する; +コード レベルのコンストラクトのアウトラインを表示する; +コメントとプリプロセッサ領域のアウトラインを表示する; +定義を折りたたむときに regions を折りたたむ; +フェード; +未使用の using をフェードアウトする; +到達できないコードをフェードアウトする; +ブロック構造のガイド; +宣言レベルのコンストラクトのガイドを表示する; +コード レベルのコンストラクトのガイドを表示する; +エディターのヘルプ; +/// が入力されたとき、XML ドキュメント コメントを生成する; +/* */ コメントを記述する際、新しい行の先頭に * を挿入する; +名前変更追跡のプレビューを表示する; +Enter で文字列リテラルを分割する; +string.Format の呼び出しで無効なプレースホルダーをレポートする; +メソッドを抽出する; +カスタム構造体に ref または out を設定しない; +インターフェイスまたは抽象クラスを実装する; +プロパティ、イベント、メソッドを挿入する際には、次の場所に挿入する; +同じ種類の他のメンバーと共に; +末尾; +プロパティの生成時; +スロー プロパティを優先する; +自動プロパティを優先する; +拡張された色を使用する; C# Advanced options page keywords @@ -88,11 +131,11 @@ Automatically format statement on semicolon ; Automatically format block on end brace; Automatically format on return; Automatically format on paste; - 入力時にオートフォーマットする; -; でステートメントをオートフォーマットする; -閉じかっこでブロックをオートフォーマットする; -Return でオートフォーマットする; -貼り付け時にオート フォーマットする; + 入力時にオートフォーマットする; +セミコロンでステートメントをオートフォーマットする; +終わり中かっこでブロックをオートフォーマットする; +戻り時にオートフォーマットする; +貼り付け時にオートフォーマットする; C# Formatting > General options page keywords @@ -105,14 +148,14 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - ブロックの内容をインデントする; -始めと終わりの中かっこをインデントする; -case の内容をインデントする; -case の内容をインデントします (ブロックする場合); -case ラベルをインデントする; -ラベル インデント; -goto ラベルを左端の列に配置する; -ラベルを標準にインデント; + ブロックの内容をインデントする; +始めと終わりの中かっこをインデントする; +case の内容をインデントする; +case の内容をインデントする (ブロックする場合); +case ラベルをインデントする; +ラベル インデント; +goto ラベルを左端の列に配置する; +ラベルを標準にインデントする; goto ラベルを現在より 1 インデントだけ下げて配置する; C# Formatting > Indentation options page keywords @@ -134,22 +177,22 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - 中かっこの改行書式オプション;キーワードの改行書式オプション;中かっこの改行オプション; -新しい行に型の始めかっこを配置する; -新しい行にメソッドとローカル関数の始めかっこを配置する; -プロパティ、インデクサー、イベントの新しい行に始めかっこを配置します; -プロパティ、インデクサー、イベント アクセサーの新しい行に始めかっこを配置します; -新しい行に匿名メソッドの始めかっこを配置する; -新しい行に制御ブロックの始めかっこを配置する; -新しい行に匿名型の始めかっこを配置する; -新しい行にオブジェクト、コレクション、および配列初期化子の始めかっこを配置する; -キーワードの改行オプション; -新しい行に else を配置する; -新しい行に catch を配置する; -新しい行に finally を配置する; -式の改行オプション; -新しい行にオブジェクト初期化子のメンバーを配置する; -新しい行に匿名型のメンバーを配置する; + 中かっこの改行書式オプション;キーワードの改行オプション;中かっこの改行オプション; +型の新しい行に始めかっこを配置する; +メソッドとローカル関数の新しい行に始めかっこを配置する; +プロパティ、インデクサー、イベントの新しい行に始めかっこを配置する; +プロパティ、インデクサー、イベント アクセサーの新しい行に始めかっこを配置する; +匿名メソッドの新しい行に始めかっこを配置する; +コントロール ブロックの新しい行に始めかっこを配置する; +匿名型の新しい行に始めかっこを配置する; +オブジェクト、コレクション、および配列初期化子の新しい行に始めかっこを配置する; +キーワードの改行オプション; +新しい行に else を配置する; +新しい行に catch を配置する; +新しい行に finally を配置する; +式の改行オプション; +新しい行にオブジェクト初期化子のメンバーを配置する; +新しい行に匿名型のメンバーを配置する; 新しい行にクエリ式の句を配置する; C# Formatting > New Lines options page keywords @@ -187,32 +230,33 @@ Remove spaces before and after binary operators; Insert space before and after binary operators; メソッド宣言子のスペースを設定する; メソッド名と始めかっこの間にスペースを挿入する; -パラメーター リストのかっこ内に空白を挿入する; -空のパラメーター リストのかっこ内に空白を挿入する; +パラメーター リストのかっこ内にスペースを挿入する; +空のパラメーター リストのかっこ内にスペースを挿入する; メソッドの呼び出しのスペースを設定する; 引数リストのかっこ内にスペースを挿入する; 空の引数リストのかっこ内にスペースを挿入する; その他のスペース オプションを設定する; 制御フロー ステートメント内のキーワードの後にスペースを挿入する; -式のかっこ内に空白を挿入する; +式のかっこ内にスペースを挿入する; 型キャストのかっこ内にスペースを挿入する; -制御フロー ステートメントのかっこ内にスペースを挿入する;キャストの後にスペースを挿入する; +制御フロー ステートメントのかっこ内にスペースを挿入する; +キャストの後にスペースを挿入する; 宣言ステートメント内のスペースを無視する; -大かっこのスペースを設定する; +角かっこのスペースを設定する; 始め角かっこの前にスペースを挿入する; 空の角かっこ内にスペースを挿入する; 角かっこ内にスペースを挿入する; 区切り記号のスペースを設定する; -型宣言で、基本またはインターフェースのコロンの後にスペースを挿入する; +型宣言で、基本またはインターフェイス用のコロンの後にスペースを配置する; コンマの後にスペースを追加する; -ピリオドの後にスペースを挿入する; -for ステートメントでセミコロンの後にスペースを挿入する; -型宣言で、基本またはインターフェースのコロンの前にスペースを挿入する; +ピリオドの後にスペースを追加する; +for ステートメントで、セミコロンの後にスペースを挿入する; +型宣言で、基本またはインターフェイス用のコロンの前にスペースを挿入する; コンマの前にスペースを挿入する; ピリオドの前にスペースを挿入する; -for ステートメントでセミコロンの前にスペースを挿入する; +for ステートメントで、セミコロンの前にスペースを挿入する; 演算子のスペースを設定する; -バイナリ演算子の周囲のスペースを無視する; +バイナリ演算子の前後のスペースを無視する; バイナリ演算子の前後のスペースを削除する; バイナリ演算子の前後にスペースを挿入する; C# Formatting > Spacing options page keywords @@ -237,20 +281,20 @@ Never add new line on enter; Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; - 入力候補一覧の設定を変更します; 最近使用メンバーをあらかじめ選択する; 入力候補一覧; -文字入力後に入力候補一覧を表示する; -文字が削除された後に入力候補一覧を表示する; -入力候補一覧の項目の一致している部分を強調表示する; -入力候補の項目フィルターを表示する; -スニペットの動作; -スニペットを含めない; -常にスニペットを含める; -識別子の後に ? Tab を入力したときにスニペットを含める; -Enter キー入力時動作; -Enter キーで新しい行を追加しない; -単語を完全に入力した後 Enter キーで確定時に新しい行を追加する; -Enter キーで常に新しい行を追加する; -名前の候補を表示する; + 入力候補一覧の設定を変更する;最近使用されたメンバーをあらかじめ選択する; 入力候補一覧; +文字が入力された後に入力候補一覧を表示する; +文字が削除された後に入力候補一覧を表示する; +入力候補一覧の項目の一致している部分を強調表示する; +入力候補の項目フィルターを表示する; +スニペットの動作; +スニペットを含めない; +常にスニペットを含める; +識別子の後に ? Tab を入力したときにスニペットを含める; +Enter キー入力時動作; +Enter キーで新しい行を追加しない; +単語を完全に入力した後のみ、Enter キーで新しい行を追加する; +Enter キーで常に新しい行を追加する; +名前の提案を表示する; C# IntelliSense options page keywords @@ -290,7 +334,7 @@ Enter キーで常に新しい行を追加する; CSharp Editor with Encoding - Encoding 付き CSharp エディター + エンコード付き CSharp エディター @@ -310,7 +354,7 @@ Enter キーで常に新しい行を追加する; Naming - 名前付け + 名前指定 diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ko.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ko.xlf index dcb3902a1353a..994d1d981773a 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ko.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ko.xlf @@ -79,28 +79,28 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - 닫힌 파일에 대한 진단 표시; + 닫힌 파일에 대한 진단 표시; 정규식 색 지정; 커서 아래의 관련 구성 요소 강조; 잘못된 정규식 보고; 전체 솔루션 분석 사용; 외부 프로세스에서 편집기 기능 분석 수행; 디컴파일된 소스에 탐색을 사용하도록 설정; -Using 지시문; -using 정렬 시 System 지시문 먼저 배치; +using 지시문; +using 정렬 시 system 지시문 먼저 배치; using 지시문 그룹 구분; -참조 어셈블리의 형식에 대한 using 제안; -NuGet 패키지의 형식에 대한 using 제안; +참조 어셈블리의 형식에 using 제안; +NuGet 패키지의 형식에 using 제안; 강조 표시; 커서 아래의 기호에 대한 참조 강조; 커서 아래의 관련 키워드 강조; 개요; 개요 모드로 파일 열기; -프로시저 줄 구분 기호 표시; +프로시저 줄 구분선 표시; 선언 수준 구문에 대한 개요 표시; 코드 수준 구문에 대한 개요 표시; 설명 및 전처리기 영역에 대한 개요 표시; -정의로 축소할 때 영역 축소; +정의로 축소 시 영역 축소; 페이딩; 사용하지 않는 using 페이드 아웃; 접근할 수 없는 코드 페이드 아웃; @@ -108,19 +108,21 @@ NuGet 패키지의 형식에 대한 using 제안; 선언 수준 구문에 대한 가이드 표시; 코드 수준 구문에 대한 가이드 표시; 편집기 도움말; -///에 대한 XML 문서 주석 생성; +///에 대해 XML 문서 주석 생성; /* */ 주석을 작성할 때 새 줄의 시작 부분에 * 삽입; 이름 바꾸기 추적 미리 보기 표시; <Enter> 키를 누르면 문자열 리터럴 분할; string.Format 호출에서 잘못된 자리 표시자 보고; -메서드 추출; 사용자 지정 구조체에 ref 또는 out 추가 안 함; +메서드 추출; +사용자 지정 구조체에 ref 또는 out 추가 안 함; 인터페이스 또는 추상 클래스 구현; -속성, 이벤트 및 메서드 삽입 시 다음에 배치; +속성, 이벤트 및 메서드 삽입 시 배치; 같은 종류의 다른 멤버와 함께 있는 경우; 끝에; -속성을 생성할 때; +속성 생성 시; throw되는 속성 선호; -자동 속성 선호; +자동 속성 선호; +향상된 색 사용; C# Advanced options page keywords @@ -178,10 +180,10 @@ Place query expression clauses on new line; 중괄호에 대한 줄 바꿈 서식 옵션;키워드에 대한 줄 바꿈 서식 옵션;중괄호에 대한 줄 바꿈 옵션; 형식의 여는 중괄호를 새 줄에 배치; 메서드 및 로컬 함수의 여는 중괄호를 새 줄에 배치; -속성, 인덱스 및 이벤트의 여는 중괄호를 새 줄에 배치; +속성, 인덱서 및 이벤트의 여는 중괄호를 새 줄에 배치; 속성, 인덱서 및 이벤트 접근자의 여는 중괄호를 새 줄에 배치; 무명 메서드의 여는 중괄호를 새 줄에 배치; -제어 블록의 여는 중괄호를 새 줄에 배치,; +제어 블록의 여는 중괄호를 새 줄에 배치; 무명 형식의 여는 중괄호를 새 줄에 배치; 개체, 컬렉션 및 배열 이니셜라이저의 여는 중괄호를 새 줄에 배치; 키워드에 대한 줄 바꿈 옵션; @@ -190,8 +192,8 @@ Place query expression clauses on new line; 새 줄에 finally 배치; 식에 대한 줄 바꿈 옵션; 개체 이니셜라이저의 멤버를 새 줄에 배치; -새 줄에 무명 형식의 맴버 배치; -새 줄에 쿼리 식 절 배치; +무명 형식의 멤버를 새 줄에 배치; +쿼리 식의 절을 새 줄에 배치; C# Formatting > New Lines options page keywords @@ -228,31 +230,31 @@ Remove spaces before and after binary operators; Insert space before and after binary operators; 메서드 선언의 간격 설정; 메서드 이름과 여는 괄호 사이에 공백 삽입; -매개 변수 목록 괄호의 내부에 공백 삽입; -빈 매개 변수 목록 괄호의 내부에 공백 삽입; +매개 변수 목록 괄호 내에 공백 삽입; +빈 매개 변수 목록 괄호 내에 공백 삽입; 메서드 호출의 간격 설정; -인수 목록 괄호의 내부에 공백 삽입; -빈 인수 목록 괄호의 내부에 공백 삽입; -기타 간격 옵션 설정,; +인수 목록 괄호 내부에 공백 삽입; +빈 인수 목록 괄호 내부에 공백 삽입; +기타 간격 옵션 설정; 제어 흐름 문의 키워드 뒤에 공백 삽입; -식의 괄호 내부에 공백 삽; +식의 괄호 내부에 공백 삽입; 형식 캐스트의 괄호 내부에 공백 삽입; 제어 흐름 문의 괄호 내부에 공백 삽입; 캐스트 뒤에 공백 삽입; 선언문의 공백 무시; 대괄호의 간격 설정; 여는 대괄호 앞에 공백 삽입; -빈 대괄호 안에 공백 삽입; -대괄호 안에 공백 삽입; +빈 대괄호 내부에 공백 삽입; +대괄호 내부에 공백 삽입; 구분 기호의 간격 설정; 형식 선언의 기본 또는 인터페이스에 대한 콜론 뒤에 공백 삽입; 쉼표 뒤에 공백 삽입; 점 뒤에 공백 삽입; -문의 세미콜론 뒤에 공백 삽입; +for 문의 세미콜론 뒤에 공백 삽입; 형식 선언의 기본 또는 인터페이스에 대한 콜론 앞에 공백 삽입; 쉼표 앞에 공백 삽입; 점 앞에 공백 삽입; -문의 세미콜론 앞에 공백 삽입; +for 문의 세미콜론 앞에 공백 삽입; 연산자의 간격 설정; 이항 연산자 주위의 공백 무시; 이항 연산자 앞뒤의 공백 제거; @@ -261,7 +263,7 @@ Insert space before and after binary operators; Change formatting options for wrapping;leave block on single line;leave statements and member declarations on the same line - 줄 바꿈 서식 옵션 변경;한 줄에 블록 그대로 두기;같은 줄에 문 및 멤버 선언 그대로 두기 + 줄 바꿈 서식 옵션 변경;블록 한 줄에 두기;문과 멤버 선언을 같은 줄에 두기 C# Formatting > Wrapping options page keywords @@ -292,7 +294,7 @@ Show name suggestions; <Enter> 키를 누르면 새 줄 추가 안 함; 단어를 모두 입력한 후 <Enter> 키를 누르면 새 줄 추가; <Enter> 키를 누르면 항상 새 줄 추가; -이름 제안 표시; +이름 추천 표시; C# IntelliSense options page keywords diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.pl.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.pl.xlf index 01f376c661c78..6b7dddfd4f896 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.pl.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.pl.xlf @@ -79,49 +79,50 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - Pokaż diagnostykę dla zamkniętych plików; + Pokaż dane diagnostyczne dla zamkniętych plików; Koloruj wyrażenie regularne; Wyróżnij powiązane składniki pod kursorem; -Zgłoś nieprawidłowe wyrażenia regularne; +Raportuj nieprawidłowe wyrażenia regularne; Włącz pełną analizę rozwiązania; Wykonaj analizę funkcji edytora w procesie zewnętrznym; -Włącz nawigację do dekompilowanych źródeł; +Włącz nawigowanie do dekompilowanych źródeł; Dyrektywy using; -Umieść dyrektywy systemowe na początku podczas sortowania dyrektyw using; -Oddziel grupy dyrektyw using; -Proponuj dyrektywy using dla typów w zestawach odwołań; -Proponuj dyrektywy using dla typów w pakietach NuGet; +Umieść najpierw dyrektywy system podczas sortowania deklaracji using; +Oddziel grupy dyrektywy using; +Sugeruj dyrektywy using dla typów w zestawach referencyjnych; +Sugeruj dyrektywy using dla typów w pakietach NuGet; Wyróżnianie; Wyróżnij odwołania do symbolu pod kursorem; -Wyróżnij powiązane słowa kluczowe pod kursorem; -Zwijanie; -Włącz tryb zwijania, gdy pliki są otwarte; +Wyróżnij pokrewne słowa kluczowe pod kursorem; +Konspekt; +Przejdź do trybu konspektu przy otwieraniu plików; Pokaż separatory wierszy procedury; -Pokaż zwijanie dla konstrukcji na poziomie deklaracji; -Pokaż zwijanie dla konstrukcji na poziomie kodu; -Pokaż zwijanie dla komentarzy i regionów preprocesora; +Pokaż konspekt dla konstrukcji na poziomie deklaracji; +Pokaż konspekt dla konstrukcji na poziomie kodu; +Pokaż konspekt dla regionów komentarzy i preprocesora; Zwiń regiony podczas zwijania do definicji; Zanikanie; Zanikanie nieużywanych dyrektyw using; Zanikanie nieosiągalnego kodu; Prowadnice struktury blokowej; -Pokaż prowadnice dla konstrukcji na poziomie deklaracji; -Pokaż prowadnice dla konstrukcji na poziomie kodu; +Pokaż przewodniki dla konstrukcji na poziomie deklaracji; +Pokaż przewodniki dla konstrukcji na poziomie kodu; Pomoc edytora; -Generuj komentarze dokumentacji XML dla ciągu ///; -Wstaw znak * na początku nowych wierszy podczas pisania komentarzy /* */; -Pokaż podgląd na potrzeby śledzenia zmian nazw; -Dziel literały ciągu po naciśnięciu klawisza Enter; -Zgłaszaj nieprawidłowe symbole zastępcze w wywołaniach string.Format; -Wyodrębnij metodę; -Nie umieszczaj słów kluczowych ref ani out w strukturach niestandardowych; +Generuj komentarze dokumentacji XML dla ///; +Wstawiaj znak * na początku nowych wierszy podczas pisania komentarzy (/* */); +Pokaż podgląd śledzenia zmian nazw; +Dziel literały ciągów po naciśnięciu klawisza Enter; +Zgłaszaj nieprawidłowe symbole zastępcze w wywołaniach metody string.Format; +Wyodrębnianie metody; +Nie umieszczaj parametrów ref i out w strukturze niestandardowej; Implementuj interfejs lub klasę abstrakcyjną; -Podczas wstawiania właściwości, zdarzeń i metod umieszczaj je; +W przypadku wstawiania właściwości, zdarzeń i metod umieszczaj je; z innymi składowymi tego samego rodzaju; na końcu; Podczas generowania właściwości; preferuj właściwości przerzucane; -preferuj właściwości automatyczne; +preferuj właściwości automatyczne; +Użyj ulepszonych kolorów; C# Advanced options page keywords @@ -130,11 +131,11 @@ Automatically format statement on semicolon ; Automatically format block on end brace; Automatically format on return; Automatically format on paste; - Automatycznie formatuj podczas wpisywania; -Automatycznie formatuj instrukcję w pozycji średnika; -Automatycznie formatuj blok w pozycji zamykającego nawiasu klamrowego; -Automatycznie formatuj przy zwróceniu; -Automatycznie formatuj przy wklejeniu; + Formatuj automatycznie podczas pisania; +Automatycznie sformatuj instrukcję w pozycji średnika ; +Automatycznie sformatuj blok w pozycji nawiasu klamrowego; +Formatuj automatycznie po przejściu do nowego wiersza; +Automatycznie sformatuj przy wklejeniu; C# Formatting > General options page keywords @@ -149,13 +150,13 @@ indent labels normally; place goto labels one indent less than current; Wcięcie zawartości bloku; wcięcie otwierających i zamykających nawiasów klamrowych; -wcięcie zawartości instrukcji case; -wcięcie zawartości instrukcji case (w przypadku bloku); -wcięcie etykiet instrukcji case; -wcięcie etykiet; -umieść etykiety goto w pierwszej kolumnie od lewej; +wcięcie zawartości elementu case; +wcięcie zawartości elementu case (w przypadku bloku); +wcięcie etykiet elementu case; +wcięcia etykiet; +umieść etykiety instrukcji goto w kolumnie z lewej strony; normalne wcięcie etykiet; -wcięcie etykiet goto o jeden mniejsze niż bieżące; +umieść etykiety instrukcji goto o jedno wcięcie bliżej niż bieżący element; C# Formatting > Indentation options page keywords @@ -176,23 +177,23 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - Opcja formatowania nowego wiersza dla nawiasów klamrowych;Opcje formatowania nowych wierszy dla słów kluczowych;Opcje nowych wierszy dla nawiasów klamrowych; + Opcja formatowania nowego wiersza dla nawiasów;Opcje formatowania nowego wiersza dla słów kluczowych;Opcje nowego wiersza dla nawiasów klamrowych; Umieść otwierający nawias klamrowy w nowym wierszu dla typów; Umieść otwierający nawias klamrowy w nowym wierszu dla metod i funkcji lokalnych; Umieść otwierający nawias klamrowy w nowym wierszu dla właściwości, indeksatorów i zdarzeń; -Umieść otwierający nawias klamrowy w nowym wierszu dla metod dostępu do właściwości, indeksatorów i zdarzeń; +Umieść otwierający nawias klamrowy w nowym wierszu dla metod dostępu właściwości, indeksatora i zdarzenia; Umieść otwierający nawias klamrowy w nowym wierszu dla metod anonimowych; -Umieść otwierający nawias klamrowy w nowym wierszu dla bloków kontrolnych; +Umieść otwierający nawias klamrowy w nowym wierszu dla bloków sterowania; Umieść otwierający nawias klamrowy w nowym wierszu dla typów anonimowych; Umieść otwierający nawias klamrowy w nowym wierszu dla inicjatorów obiektów, kolekcji i tablic; Opcje nowego wiersza dla słów kluczowych; -Umieść słowo kluczowe else w nowym wierszu; -Umieść słowo kluczowe catch w nowym wierszu; -Umieść słowo kluczowe finally w nowym wierszu; +Umieść element else w nowym wierszu; +Umieść element catch w nowym wierszu; +Umieść element finally w nowym wierszu; Opcje nowego wiersza dla wyrażenia; Umieść składowe w inicjatorach obiektów w nowym wierszu; -Umieść składowe w typach anonimowych w nowym wierszu; -Umieść klauzule wyrażeń zapytań w nowym wierszu; +Umieść składowe typów anonimowych w nowym wierszu; +Umieść klauzule wyrażenia zapytania w nowym wierszu; C# Formatting > New Lines options page keywords @@ -228,36 +229,36 @@ Ignore spaces around binary operators; Remove spaces before and after binary operators; Insert space before and after binary operators; Ustaw odstępy dla deklaracji metod; -Wstawiaj odstęp między nazwą metody i nawiasem otwierającym; -Wstawiaj odstęp w nawiasach list parametrów; -Wstawiaj odstęp w pustych nawiasach list parametrów; +Wstaw spację między nazwę metody i jej nawias otwierający; +Wstaw spację wewnątrz nawiasów listy parametrów; +Wstaw spację wewnątrz nawiasów pustej listy parametrów; Ustaw odstępy dla wywołań metod; -Wstawiaj odstęp w nawiasach list argumentów; -Wstawiaj odstęp w pustych nawiasach list argumentów; +Wstaw spację wewnątrz nawiasów listy argumentów; +Wstaw spację wewnątrz nawiasów pustej listy argumentów; Ustaw inne opcje odstępów; -Wstawiaj odstęp po słowach kluczowych w instrukcjach przepływu sterowania; -Wstawiaj odstęp w nawiasach wyrażeń; -Wstawiaj odstęp w nawiasach rzutowań typów; -Wstawiaj odstęp w nawiasach instrukcji przepływu sterowania; -Wstawiaj odstęp po rzutowaniu; -Ignoruj odstęp w instrukcjach deklaracji; -Ustaw odstępy dla nawiasów kwadratowych; -Wstawiaj odstęp przed otwierającym nawiasem kwadratowym; -Wstawiaj odstęp w pustych nawiasach kwadratowych; -Wstawiaj odstęp w nawiasach kwadratowych; +Wstaw spację po słowach kluczowych w instrukcjach przepływu sterowania; +Wstaw spację wewnątrz nawiasów wyrażeń; +Wstaw spację wewnątrz nawiasów rzutowania typu; +Wstaw spacje wewnątrz nawiasów instrukcji przepływu sterowania; +Wstaw spację po rzutowaniu; +Ignoruj spacje w instrukcjach deklaracji; +Ustaw odstępy dla nawiasów; +Wstaw spację przed otwierającym nawiasem kwadratowym; +Wstaw spację wewnątrz pustych nawiasów kwadratowych; +Wstaw spacje wewnątrz nawiasów kwadratowych; Ustaw odstępy dla ograniczników; -Wstawiaj odstęp po dwukropku dla podstawy lub interfejsu w deklaracji typu; -Wstawiaj odstęp po przecinku; -Wstawiaj odstęp po kropce; -Wstawiaj odstęp po średniku w instrukcji for; -Wstawiaj odstęp przed dwukropkiem dla podstawy lub interfejsu w deklaracji typu; -Wstawiaj odstęp przed przecinkiem; -Wstawiaj odstęp przed kropką; -Wstawiaj odstęp przed średnikiem w instrukcji for; +Wstaw spację po dwukropku dla elementu base lub interface w deklaracji typu; +Wstaw spację po przecinku; +Wstaw spację po kropce; +Wstaw spację po średniku w instrukcji for; +Wstaw spację przed dwukropkiem dla elementu base lub interface w deklaracji typu; +Wstaw spację przed przecinkiem; +Wstaw spację przed kropką; +Wstaw spację przed średnikiem w instrukcji for; Ustaw odstępy dla operatorów; -Ignoruj odstęp wokół operatorów binarnych; -Usuwaj odstęp przed operatorami binarnymi i po nich; -Wstawiaj odstęp przed operatorami binarnymi i po nich; +Ignoruj spacje dookoła operatorów binarnych; +Usuń spacje przed operatorami binarnymi i po nich; +Wstaw spację przed operatorami binarnymi i po nich; C# Formatting > Spacing options page keywords @@ -283,17 +284,17 @@ Show name suggestions; Zmień ustawienia listy uzupełniania;Wybierz wstępnie ostatnio używaną składową; Listy uzupełniania; Pokaż listę uzupełniania po wpisaniu znaku; Pokaż listę uzupełniania po usunięciu znaku; -Wyróżnij zgodne fragmenty pozycji listy uzupełniania; -Pokaż filtry pozycji uzupełniania; +Wyróżnij pasujące fragmenty elementów listy uzupełniania; +Pokaż filtry elementów uzupełniania; Zachowanie fragmentów kodu; Nigdy nie dołączaj fragmentów kodu; Zawsze dołączaj fragmenty kodu; Dołącz fragmenty kodu po wpisaniu znaku ? po identyfikatorze i naciśnięciu klawisza Tab; Zachowanie klawisza Enter; Nigdy nie dodawaj nowego wiersza po naciśnięciu klawisza Enter; -Dodaj nowy wiersz po naciśnięciu klawisza Enter na końcu wpisanego całego słowa; +Dodaj nowy wiersz po naciśnięciu klawisza Enter tylko po zakończeniu pełnego wpisanego wyrazu; Zawsze dodawaj nowy wiersz po naciśnięciu klawisza Enter; -Pokaż sugestie dotyczące nazw; +Pokaż sugestie dotyczące nazwy; C# IntelliSense options page keywords diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.pt-BR.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.pt-BR.xlf index 3cdd6bfa1842d..b65fdf45f1300 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.pt-BR.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.pt-BR.xlf @@ -79,49 +79,50 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - Mostrar diagnósticos para arquivos fechados; -Colorir a expressão regular; -Destacar os componentes relacionados sob o cursor; -Relatório inválidas expressões regulares; -Permitir a análise de solução completa; -Realizar análise de recurso de editor em um processo externo; -Permitir a navegação para descompilado fontes; + Mostrar diagnósticos para arquivos fechados; +Colorir a expressão regular; +Realçar componentes relacionados sob o cursor; +Relatar expressões regulares inválidas; +Habilitar análise completa da solução; +Executar análise de recurso do editor em processo externo; +Habilitar a navegação para fontes decompostas; Usando diretivas; -Posicionar diretivas de sistema primeiro ao classificar usos; -Separar usando grupos Directiva; -Sugerir usos para tipos em assemblies de referência; -Sugerir usos para tipos de pacotes NuGet; -Destacando-se; -Destacar as referências para o símbolo sob o cursor; -Destacar palavras-chave relacionadas sob o cursor; +Colocar as diretivas do sistema primeiro ao classificar os usos; +Separar usando grupos diretivos; +Sugerir usos para tipos em conjuntos de referência; +Sugerir usos para tipos em pacotes NuGet; +Realce; +Realçar referências ao símbolo sob o cursor; +Realçar as palavras-chave relacionadas sob o cursor; Estrutura de tópicos; -Entrar no modo de estrutura de tópicos quando abrem arquivos; -Mostrar o procedimento separadores de linha; -Mostrar a estrutura de tópicos para construções de nível de declaração; -Mostrar a estrutura de tópicos para construções de nível de código; -Mostrar a estrutura de tópicos para comentários e regiões de pré-processamento; -Regiões de colapso ao recolher a definições; -Desvanecimento; -Fade-out usos não utilizados; -Fade-out código inacessível; -Bloquear guias de estrutura; -Mostrar guias para construções de nível de declaração; -Mostrar guias para construções de nível de código; -Ajuda do editor; -Gerar comentários de documentação XML para / / /; -Insira * no início de novas linhas ao escrever / * * / comentários; -Mostrar visualização para renomear de rastreamento; -Dividir a cadeia de caracteres literais em Enter; -Relatório inválido espaços reservados na sequência de caracteres. Chamadas de formato; -Extrair o método; -Não colocar ref ou out na struct personalizado; -Implementar a Interface ou classe abstrata; -Ao inserir Propriedades, métodos e eventos, colocá-los; -com outros membros da mesma espécie; -no final; -Ao gerar a propriedade; -prefiro jogar Propriedades; -Prefiro propriedades auto; +Inserir modo de estrutura de tópicos quando os arquivos são abertos; +Mostrar separadores de linha de procedimento; +Mostrar estrutura de tópicos para constructos de nível de declaração; +Mostrar estrutura de tópicos para constructos de nível de código; +Mostrar estrutura de tópicos para comentários e regiões de pré-processador; +Recolher regiões ao recolher definições; +Esmaecendo; +Esmaecer os usos não utilizados; +Esmaecer código inacessível; +Bloquear Guias de Estrutura; +Mostrar guias para constructos de nível de declaração; +Mostrar guias para constructos de nível de código; +Ajuda do Editor; +Gerar comentários de documentação XML para ///; +Inserir * no início de novas linhas ao escrever / * * / comentários; +Mostrar visualização para acompanhamento de renomeação; +Dividir literais de cadeia de caracteres ao inserir; +Relatar espaços reservados inválidos na corda. Chamadas do formato; +Extrair Método; +Não colocar referência ou out na estrutura personalizada; +Implementar interface ou classe abstrata; +Ao inserir propriedades, eventos e métodos, coloque-os; +com outros membros do mesmo tipo; +no fim; +Ao gerar propriedade; +prefira propriedades de lançamento; +prefira propriedades automáticas; +Usar cores aprimoradas; C# Advanced options page keywords @@ -131,10 +132,10 @@ Automatically format block on end brace; Automatically format on return; Automatically format on paste; Formatar automaticamente ao digitar; -Formatar automaticamente a instrução em ponto-e-vírgula; +Formatar automaticamente a instrução no ponto e vírgula; Formatar automaticamente o bloco na chave de fechamento; -Formatar automaticamente ao retornar; -Formatar automaticamente ao colar; +Formatar automaticamente na devolução; +Formatar automaticamente na pasta; C# Formatting > General options page keywords @@ -147,15 +148,15 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - Recuar conteúdos do bloco; -recuar chaves de abertura e fechamento; -recuar conteúdo de case; -recuar conteúdo de case (quando bloquear); -recuar rótulos de case; -recuo do rótulo; -posicionar rótulos goto na coluna mais à esquerda; -recuar rótulos normalmente; -colocar rótulos goto a recuo a menos que o atual; + Conteúdo do bloqueio de recuo; +recuo aberto e fechamento de chaves; +recuo do conteúdo do caso; +recuo do conteúdo do caso (ao bloquear); +rótulos de caso de recuo; +recuo de rótulo; +coloque os rótulos goto na coluna mais à esquerda; +rótulos de recuo normalmente; +coloque os rótulos goto um recuo menor que o atual; C# Formatting > Indentation options page keywords @@ -176,21 +177,21 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - Nova opção de formatação de linha para chaves, novas opções de formatação de linha para palavras-chave, novas opções de linha para chaves; -Colocar chave de abertura na nova linha para tipos; -Colocar chave de abertura na nova linha para métodos e funções locais; -Colocar chave de abertura na nova linha para propriedades, indexadores e eventos; -Colocar chave de abertura na nova linha para propriedade, indexador e acessadores de evento; -Colocar chave de abertura na nova linha para métodos anônimos; -Colocar chave de abertura na nova linha de blocos de controle; -Colocar chave de abertura na nova linha para tipos anônimos; -Colocar chave de abertura na nova linha de objeto e coleção inicializadores de matriz; + Nova opção de formatação de linha para chaves;Novas opções de formatação de linha para palavras-chave;Novas opções de linha para chaves; +Colocar a chave aberta na nova linha para tipos; +Colocar a chave aberta na nova linha para métodos e funções locais; +Colocar a chave aberta na nova linha para propriedades, indexadores e eventos; +Colocar a chave aberta na nova linha para os acessadores de propriedade, indexador e evento; +Colocar a chave aberta na nova linha para métodos anônimos; +Colocar a chave aberta na nova linha para os blocos de controle; +Colocar a chave aberta na nova linha para tipos anônimos; +Colocar a chave aberta na nova linha para inicializadores de objeto, coleção e matriz; Novas opções de linha para palavras-chave; -Colocar else na nova linha; -Colocar catch na nova linha; -Colocar finally na nova linha; +Colocar outro na nova linha; +Colocar variável na nova linha; +Colocar finalmente na nova linha; Novas opções de linha para expressão; -Colocar membros em inicializadores de objetos na nova linha; +Colocar membros em inicializadores de objeto na nova linha; Colocar membros em tipos anônimos na nova linha; Colocar cláusulas de expressão de consulta na nova linha; C# Formatting > New Lines options page keywords @@ -227,37 +228,37 @@ Set spacing for operators; Ignore spaces around binary operators; Remove spaces before and after binary operators; Insert space before and after binary operators; - Definir espaçamento para declarações de método; -Inserir espaço entre o nome do método e seu parêntese de abertura; -Inserir espaço nos parênteses de lista de parâmetro; -Inserir espaço nos parênteses de lista de parâmetro vazio; + Definir espaçamento para declarações de métodos; +Inserir espaço entre o nome do método e seus parênteses de abertura; +Inserir espaço nos parênteses da lista de parâmetros; +Inserir espaço nos parênteses da lista de parâmetros vazia; Definir espaçamento para chamadas de método; -Inserir espaço nos parênteses de lista de argumento; -Inserir espaço nos parênteses de lista de argumento vazio; +Inserir espaço nos parênteses da lista de argumentos; +Inserir espaço nos parênteses da lista de argumentos vazia; Definir outras opções de espaçamento; -Inserir espaço após palavras-chave nas demonstrações de fluxo de controle; -Inserir espaço nos parênteses de expressões; -Inserir espaço nos parênteses de conversões de tipo; -Inserir espaços entre parênteses das demonstrações de fluxo de controle; +Inserir espaço após palavras-chave em instruções de fluxo de controle; +Inserir espaço entre parênteses de expressões; +Inserir espaço entre parênteses de tipos de conversão; +Inserir espaços entre parênteses das instruções de fluxo de controle; Inserir espaço após conversão; -Ignorar espaços em instruções de declaração; +Ignorar espaços em declarações de declaração; Definir espaçamento para colchetes; -Inserir espaço antes de colchetes de abertura; +Inserir o espaço antes de abrir o colchete; Inserir espaço dentro de colchetes vazios; -Inserir espaços dentro de colchetes; +Inserir espaços entre colchetes; Definir espaçamento para delimitadores; -Inserir espaço após dois-pontos para base ou interface na declaração de tipo; +Inserir espaço após dois pontos para base ou interface na declaração de tipo; Inserir espaço após vírgula; -Inserir espaço após ponto; -Inserir espaço após ponto-e-vírgula na instrução; -Inserir espaço antes de dois-pontos para base ou interface na declaração de tipo; +Inserir espaço após o ponto; +Inserir espaço após ponto e vírgula para instrução; +Inserir espaço antes dos dois pontos para base ou interface na declaração de tipo; Inserir espaço antes da vírgula; Inserir espaço antes do ponto; -Inserir espaço antes de ponto-e-vírgula na instrução; +Inserir espaço antes do ponto e vírgula para instrução; Definir espaçamento para operadores; -Ignorar espaços em torno de operadores binários; -Remover espaços antes e depois de operadores binários; -Inserir espaço antes e depois de operadores binários; +Ignorar espaços ao redor de operadores binários; +Remover espaços antes e depois dos operadores binários; +Inserir espaço antes e depois dos operadores binários; C# Formatting > Spacing options page keywords @@ -280,20 +281,20 @@ Never add new line on enter; Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; - Alterar as configurações de lista de conclusão; pre-selecionar membro usado recentemente; Listas de conclusão; + Alterar configurações da lista de conclusão;Pré-selecionar o membro usado mais recentemente; Listas de conclusão; Mostrar lista de conclusão após um caractere ser digitado; Mostrar lista de conclusão após um caractere ser excluído; -Realçar partes correspondentes dos itens da lista de conclusão; +Realçar as partes correspondentes dos itens da lista de conclusão; Mostrar filtros de itens de conclusão; Comportamento de trechos; Nunca incluir trechos; Sempre incluir trechos; -Incluir trechos quando?-Tab é digitado após um identificador; -Inserir comportamento das teclas; +Incluir trechos quando? –Tab é digitado após um identificador; +Inserir o comportamento chave; Nunca adicionar nova linha ao inserir; -Somente adicionar nova linha ao inserir após o fim da palavra totalmente digitada; -Sempre adicionar a nova linha ao inserir; -Mostrar sugestões de nome; +Apenas adicionar uma nova linha ao inserir após o final da palavra totalmente digitada; +Sempre adicionar nova linha ao inserir; +Mostrar sugestões de nomes; C# IntelliSense options page keywords diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ru.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ru.xlf index f20b840baadd9..8b0eb205ee0cf 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ru.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.ru.xlf @@ -9,7 +9,7 @@ Advanced - Дополнительный + Дополнительно "Advanced" node under Tools > Options, Text Editor, C#. @@ -24,12 +24,12 @@ Settings for the C# editor found under the Advanced, Formatting, and IntelliSense nodes in the Tools/Options dialog box. - Параметры для редактора C# находятся в узлах "Дополнительно", "Форматирование " и "IntelliSense" в диалоговом окне "Сервис/Параметры". + Параметры для редактора C# находятся во вкладках "Дополнительно", "Форматирование " и "IntelliSense" в диалоговом окне "Сервис/Параметры". "C# Editor" node help text in profile Import/Export. Settings for general C# options found under the General and Tabs nodes in the Tools/Options dialog box. - Общие параметры C# находятся в узлах "Общие" и "Табуляция" в диалоговом окне "Сервис/Параметры". + Общие параметры C# находятся во вкладках "Общие" и "Табуляция" в диалоговом окне "Сервис/Параметры". "C#" node help text in profile Import/Export. @@ -79,7 +79,50 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - Отображать диагностические сведения для закрытых файлов; Выделять регулярные выражения цветом; Выделять соответствующие компоненты под курсором; Сообщать о недопустимых регулярных выражениях; Включить полный анализ решения; Выполнять анализ функций редактора во внешнем процессе; Включить переход на декомпилированные исходные файлы; Директивы using; Размещать системные директивы при сортировке с использованием директивы using; Разделять группы директив using; Предлагать директивы usings для типов в ссылочных сборках; Предлагать директивы usings для типов в пакетах NuGet; Выделение цветом; Выделять цветом ссылки на символы под курсором; Выделять цветом соответствующие ключевые слова под курсором; Отображение структуры; Переходить в режим отображения структуры при открытии файлов; Отображать разделители линий процедур; Отображать структуру для инструкций уровня объявления; Отображать структуру для инструкций уровня кода; Отображать структуру для комментариев и регионов препроцессора; Сворачивать регионы при сворачивании определений; Скрытие с помощью плавной анимации; Скрывать неиспользуемые директивы using с помощью плавной анимации; Скрывать неиспользуемый код с помощью плавной анимации; Направляющие для блочных структур; Отображать направляющие для инструкций уровня объявления; Отображать направляющие для инструкций уровня кода; Справка по редактору; Формировать комментарии XML-документации для ///; Вставлять * в начале новых строк при написании комментариев /* */; Отображать предварительный просмотр для отслеживания переименования; Разделять строковые литералы при нажатии клавиши ВВОД; Сообщать о недопустимых заполнителях в вызовах string.Format; Метод извлечения; Не помещать ссылку или вывод в настраиваемую структуру; Реализовать интерфейс или абстрактный класс; При вставке свойств, событий и методов размещать их; с другими членами того же типа, в конце; При создании свойств; предпочитать свойства, создающие исключения; предпочитать автоматические свойства; + Показывать диагностику для закрытых файлов; +Выделить регулярные выражения цветом; +Выделить связанные компоненты под курсором; +Сообщать о недопустимых регулярных выражениях; +Включить полный анализ решения; +Выполнить анализ функций редактора во внешнем процессе; +Включить переход к декомпилированным источникам; +Директивы using; +Располагать директивы system первыми при сортировке using; +Разделять группы директив using; +Предлагать директивы using для типов в эталонных сборках; +Предлагать директивы using для типов в пакетах NuGet; +Выделение; +Выделять ссылки на символ под курсором; +Выделить связанные ключевые слова под курсором; +Структурирование; +Включать режим редактирования структуры при открытии файлов; +Показывать разделители линий процедур; +Показывать структуру для конструкций уровня объявления; +Показывать структуру для конструкций уровня кода; +Показывать структуру для комментариев и областей препроцессора; +Сворачивать области при сворачивании в определения; +Исчезание; +Скрывать неиспользуемые директивы using; +Скрывать недостижимый код; +Направляющие для структуры блоков; +Показывать направляющие для конструкций уровня объявления; +Показывать направляющие для конструкций уровня кода; +Справка по редактору; +Создавать комментарии XML-документации для ///; +Вставлять * в начале новой строки при написании комментариев /* */; +Показывать предпросмотр для отслеживания переименований; +Разделять строковые литералы при нажатии клавиши ВВОД; +Сообщать о недопустимых заполнителях в вызовах string.Format; +Извлечение метода; +Не помещать ссылку или вывод в настраиваемую структуру; +Реализовать интерфейс или абстрактный класс; +При вставке свойств, методов и событий помещать их; +вместе с другими элементами того же типа; +в конец; +При создании свойства; +предпочитать свойства, создающие исключения; +предпочитать автосвойства; +Использовать расширенные цвета; C# Advanced options page keywords @@ -88,11 +131,11 @@ Automatically format statement on semicolon ; Automatically format block on end brace; Automatically format on return; Automatically format on paste; - Автоматическое форматирование при вводе; -Автоматическое форматирование выражения после указания точки с запятой; -Автоматическое форматирование блока после указания закрывающей скобки; -Автоматическое форматирование при нажатии клавиши ВВОД; -Автоматическое форматирование при вставке; + Автоматически форматировать при вводе; +Автоматически форматировать оператор при вводе точки с запятой; +Автоматически форматировать блок при вводе закрывающей фигурной скобки; +Автоматически форматировать при возврате; +Автоматически форматировать при вставке; C# Formatting > General options page keywords @@ -105,15 +148,15 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - Выделять отступами содержимое блоков; -выделять отступами открывающие и закрывающие фигурные скобки; -выделять отступами содержимое; -выделять отступами содержимое (для блоков when); -выделять отступами метки case; -отступы меток; -помещать метки goto в крайний левый столбец; -выделять метки обычными отступами; -помещать метки goto на один отступ меньше по сравнению с текущим; + Делать отступ перед блоком комментариев; +Делать отступ для открывающих и закрывающих фигурных скобок; +Делать отступ в содержимом case; +Делать отступ в содержимом case (для блока); +Делать отступ меток case; +Отступ для меток; +Помещать метки goto в самый левый столбец; +Делать нормальный отступ для меток; +Помещать метки goto на один отступ меньше, чем текущие; C# Formatting > Indentation options page keywords @@ -134,23 +177,23 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - Параметр форматирования новых строк для скобок;Параметры форматирования новых строк для ключевых слов;Параметры новых строк для скобок; -Размещать открывающую скобку на новой строке для типов; -Размещать открывающую скобку на новой строке для методов и локальных функций; -Размещать открывающую скобку на новой строке для свойств, индексаторов и событий; -Размещать открывающую скобку на новой строке для методов доступа свойств, индексаторов и событий; -Размещать открывающую скобку на новой строке для анонимных методов; -Размещать открывающую скобку на новой строке для блоков управления; -Размещать открывающую скобку на новой строке для анонимных типов; -Размещать открывающую скобку на новой строке для инициализаторов объектов, коллекций и массивов; + Параметры форматирования новой строки для фигурных скобок;Параметры форматирования новой строки для ключевых слов;Параметры новых строк для фигурных скобок; +Располагать открывающую фигурную скобку на новой строке для типов; +Располагать открывающую фигурную скобку на новой строке для методов и локальных функций; +Располагать открывающую фигурную скобку на новой строке для свойств, индексаторов и событий; +Располагать открывающую фигурную скобку на новой строке для методов доступа к свойству, индексатору или событию; +Располагать открывающую скобку на новой строке для анонимных методов; +Располагать открывающую фигурную скобку на новой строке для блоков управления; +Располагать открывающую скобку на новой строке для анонимных типов; +Располагать открывающую скобку на новой строке для объекта, коллекции и инициализаторов массива; Параметры новых строк для ключевых слов; -Размещать ключевое слово else на новой строке; -Размещать ключевое слово catch на новой строке; -Размещать ключевое слово finally на новой строке; -Параметры новых строк для выражений; -Размещать методы в инициализаторах объектов на новой строке; -Размещать члены в анонимных типах на новой строке; -Размещать предложения выражения запроса на новой строке; +Располагать else на новой строке; +Располагать catch на новой строке; +Располагать finally на новой строке; +Параметры новых строк для выражения; +Располагать члены инициализаторов объекта на новой строке; +Располагать члены в анонимных типах на новой строке; +Располагать выражения запроса на новой строке; C# Formatting > New Lines options page keywords @@ -185,37 +228,37 @@ Set spacing for operators; Ignore spaces around binary operators; Remove spaces before and after binary operators; Insert space before and after binary operators; - Задать интервалы для объявлений методов; -Вставлять пробелы между именами методов и открывающими скобками методов; -Вставлять пробелы внутри скобок списка параметров; -Вставлять пробелы внутри скобок пустого списка параметров; -Задать интервалы для вызовов методов; -Вставлять пробелы внутри скобок списка аргументов; -Вставлять пробелы внутри скобок пустого списка аргументов; + Задать интервал для объявлений методов; +Вставлять пробел между именем метода и открывающей скобкой; +Вставлять пробел между скобками со списком параметров; +Вставлять пробел между скобками с пустым списком параметров; +Задать интервал для вызова методов; +Вставлять пробел между скобками со списком аргументов; +Вставлять пробел между скобками с пустым списком аргументов; Задать другие параметры интервалов; -Вставлять пробелы после ключевых слов в операторах управления потоком; -Вставлять пробелы внутри скобок выражений; -Вставлять пробелы внутри скобок приведения типов; -Вставлять пробелы внутри скобок операторов управления потоком; -Вставлять пробелы после приведения; +Вставлять пробел после ключевых слов в операторах потока управления; +Вставлять пробел между скобками для выражений; +Вставлять пробел между скобками для приведения типа; +Вставлять пробел между скобками в операторах потока управления; +Вставлять пробел после приведения; Игнорировать пробелы в операторах объявления; -Задать интервалы для квадратных скобок; -Вставлять пробелы перед открывающими квадратными скобками; -Вставлять пробелы внутри пустых квадратных скобок; -Вставлять пробелы в квадратных скобках; -Задать интервалы для разделителей; -Вставлять пробелы после двоеточия для основы или интерфейса в объявлении типа; -Вставлять пробелы после запятых; -Вставлять пробелы после точек; -Вставлять пробелы после точек с запятыми в инструкциях for; -Вставлять пробелы перед двоеточием для основы или интерфейса в объявлении типа; -Вставлять пробелы перед запятыми; -Вставлять пробелы перед точками; -Вставлять пробелы перед точками с запятыми в инструкциях for; -Задать интервалы для операторов; -Игнорировать пробелы в двоичных операторах; -Удалить пробелы до и после бинарных операторов; -Вставить пробелы до и после бинарных операторов; +Задать интервал для скобок; +Вставлять пробел перед открывающей квадратной скобкой; +Вставлять пробел между пустыми квадратными скобками; +Вставлять пробелы между квадратными скобками; +Задать интервал для разделителей; +Вставлять пробел после двоеточия для базового типа или интерфейса в объявлениях типов; +Вставлять пробел после запятой; +Вставлять пробел после точки; +Вставлять пробел после точки с запятой в операторе for; +Вставлять пробел перед двоеточием для базового типа или интерфейса в объявлениях типов; +Вставлять пробел перед запятой; +Вставлять пробел перед точкой; +Вставлять пробел перед точкой с запятой в операторе for; +Задать интервал для операторов for; +Игнорировать пробелы вокруг бинарных операторов; +Удалять пробелы до и после бинарных операторов; +Вставлять пробел до и после бинарных операторов; C# Formatting > Spacing options page keywords @@ -239,19 +282,19 @@ Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; Изменить параметры списка завершения;Предварительно выбрать наиболее часто используемый член; Списки завершения; -Отображать список завершения после ввода символа; -Отображать список завершения после удаления символа; -Выделять совпадающие части элементов списков завершения; -Отображать фильтры элементов завершения; -Поведение для фрагментов; -Никогда не включать фрагменты; -Всегда включать фрагменты; -Включать фрагменты, если вслед за идентификатором вводится символ ?-Tab; -Указать поведение для клавиши; -Никогда не добавлять новую строку после нажатия клавиши ВВОД; -Добавлять новую строку при нажатии клавиши ВВОД только после ввода целого слова; -Всегда добавлять новую строку после нажатия клавиши ВВОД; -Отображать предложения имен; +Показывать список завершения после ввода символа; +Показывать список завершения после удаления символа; +Выделять совпадающие части элементов списка завершения; +Показывать фильтры элементов завершения; +Поведение фрагментов кода; +Никогда не включать фрагменты кода; +Всегда включать фрагменты кода; +Включать фрагменты кода, когда после идентификатора указывается ?-Tab; +Поведение при нажатии клавиши ВВОД; +Никогда не добавлять новую строку при нажатии клавиши ВВОД; +Добавлять новую строку при нажатии клавиши ВВОД только в конце полностью введенного слова; +Всегда добавлять новую строку при нажатии клавиши ВВОД; +Показывать варианты имен; C# IntelliSense options page keywords @@ -261,7 +304,7 @@ Show name suggestions; General - Общее + Общие "General" node under Tools > Options, Text Editor, C# (used for Code Style and Formatting) diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.tr.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.tr.xlf index e0c15e4d97b52..7cb4ace3d2fc6 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.tr.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.tr.xlf @@ -79,49 +79,49 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - Teşhis için kapalı dosyaları göster; -Normal ifade renklendirmek; -İmleç altında ilişkili bileşenleri vurgulamak; -Rapor geçersiz normal ifadeler; -Tam çözüm analiz izin verin; -Dış işlem Düzenleyicisi özelliğini çözümlemesi; -Gezinti decompiled kaynakları için etkinleştir; -Yönergeleri kullanarak; -Sistem yönergeleri usings sıralarken birincilik; -Yönerge gruplarını kullanarak ayırın; -Usings başvuru derlemelerinin türlerin öneririz; -Usings NuGet paketlerinde türleri için öneririz; -Vurgulayarak; -İmleç altında sembol için başvurular vurgulamak; -İmleç altında ilgili anahtar kelimeler vurgulayın; -Anahat oluşturma; -Dosyaları açtığınızda düzeylendirme modu girin; -Yordam satır ayırıcıları göster; -Bildirim düzey yapıları için anahat göster; -Anahat kodu düzeyi yapıları için göstermek; -Yorum ve Önişlemci bölgeler için anahat göster; -Bölgeler ne zaman tanımlarına daraltma daraltma; -Solan; -Kullanılmayan usings fade; -Ulaşılamaz kodu fade; -Yapı kılavuzları engellemek; -Bildirim düzey yapıları için kılavuzları göster; -Kod düzeyi yapıları için kılavuzları göster; -Editör Yardım; -XML belgeleri yorum için / / / oluşturmak; -Ekle * yazarken yeni satırları başlangıcında / * * / Yorumlar; -İzleme yeniden adlandırma için Önizlemeyi göster; -Split dize hazır bilgi tarih girin; -Dizesinde geçersiz yer tutucuları rapor. Biçimi çağrıları; -Yöntemi ayıklamak; -Değil ürün kodu koymak veya özel yapı dışarı; -Arabirim ya da soyut sınıf uygulamak; -Özelliklerini, olaylarını ve yöntemlerini eklerken, yer onları; -aynı diğer üyeleri ile; -vasıl belgili tanımlık son; -Özellik oluşturma sırasında; -özellikleri atma tercih; -otomatik özellikleri tercih; + Kapatılan dosyalara ilişkin tanılamaları göster; +Normal ifadeyi renklendir; +İmlecin altında ilgili bileşenleri vurgula; +Geçersiz normal ifadeleri bildir; +Tam çözüm analizini etkinleştir; +Dış işlemde düzenleyici özellik analizi gerçekleştir; +Derlemesi ayrılan kaynaklar için gezintiyi etkinleştir; +Using yönergeleri; +using deyimlerini sıralarken sistem yönergelerini ilk sıraya yerleştir; +using yönerge gruplarını ayır; +Başvuru bütünleştirilmiş kodlarında türler için using öner; +NuGet paketlerinde türler için using öner; +Vurgulama; +İmlecin altındaki sembole başvuruları vurgula; +İmlecin altında ilgili anahtar sözcükleri vurgula; +Ana Hat Oluşturma; +Dosyalar açılırken ana hat oluşturma moduna gir; +Yordam satır ayırıcılarını göster; +Bildirim düzeyinde yapılar için ana hattı göster; +Kod düzeyinde yapılar için ana hattı göster; +Açıklamalar ve ön işlemci bölgeleri için ana hattı göster; +Tanımlara daraltırken region öğelerini daralt; +Soluklaştırma; +Kullanılmayan using deyimlerini soluklaştır; +Erişilemeyen kodu soluklaştır; +Blok Yapısı Kılavuzları; +Bildirim düzeyinde yapılar için kılavuzları göster; +Kod düzeyinde yapılar için kılavuzları göster; +Düzenleyici Yardımı +/// için XML belge açıklamaları oluştur; +/* */ açıklamaları yazarken her yeni satırın başına * ekle; +Yeniden adlandırma izlemesi için önizleme göster; +Enter tuşuna basıldığında dize değişmez değerlerini böl; +string.Format çağrılarındaki geçersiz yer tutucuları bildir; +Ayıklama Metodu; +Özel struct'a ref veya out koyma; +Interface veya Abstract Sınıfı Uygula; +Özellik, olay ve metot eklerken, bunları şuraya yerleştir; +aynı türden başka üyelerle birlikte, sonda; +Özellik oluştururken; +özel durum oluşturan özellikleri tercih et; +otomatik özellikleri tercih et; +Gelişmiş renkleri kullan; C# Advanced options page keywords @@ -130,11 +130,11 @@ Automatically format statement on semicolon ; Automatically format block on end brace; Automatically format on return; Automatically format on paste; - Ne zaman tipik biçimi otomatik olarak; -Otomatik olarak noktalı virgül ekstresinde biçimi; -Otomatik biçimlendirme blok sonu küme ayracı; -Otomatik olarak biçimi dönüşünde; -Formatı yapıştırırken otomatik olarak; + Yazarken otomatik biçimlendir; +Noktalı virgül girildiğinde deyimi otomatik biçimlendir; +Kapama küme ayracı girildiğinde otomatik biçimlendir +Return tuşuna basıldığında otomatik biçimlendir; +Yapıştırma sonrasında otomatik biçimlendir; C# Formatting > General options page keywords @@ -147,15 +147,15 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - Girinti bloğu içeriği; -açma ve kapama ayraçları girinti; -girinti servis talebi içeriğini; -girinti servis talebi içeriğini (ne zaman blok); -girinti durum etiketi; -etiket girinti; -goto etiket en soldaki sütuna getirin; -Etiketleri normal girinti; -goto etiket bir girinti az geçerli yerleştirin; + Blok içeriğini girintile; +açma ve kapama küme ayraçlarını girintile; +case içeriğini girintile; +case içeriğini girintile (engelliyken); +case etiketlerini girintile; +etiket girintileme; +goto etiketlerini en soldaki sütuna yerleştir; +etiketleri normal şekilde girintile; +goto etiketlerinin girintisi geçerli düzeyden bir düzey az olsun; C# Formatting > Indentation options page keywords @@ -176,23 +176,23 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - Yeni satır biçimlendirme seçeneği Diş teline; Yeni satır biçimlendirme seçenekleri anahtar kelimeler için; Yeni satırı seçenekleri Diş teline; -Açık küme ayracı türleri için yeni satıra yerleştirin; -Yöntemleri ve yerel işlevler için yeni satırda yer açık küme ayracı; -Özellikleri, Dizin oluşturucular ve olaylar için yeni satırda yer açık küme ayracı; -Açık küme ayracı özelliği, Dizin Oluşturucusu ve olay erişimcileri için yeni satıra yerleştirin; -Anonim yöntemler için yeni satırda yer açık küme ayracı; -Denetim blokları için yeni satırda yer açık küme ayracı; -Anonim türler için yeni satırda yer açık küme ayracı; -Açık küme ayracı nesne, koleksiyon ve dizi başlatıcı için yeni satıra yerleştirin; -Anahtar kelimeler için yeni satırı seçenekleri; -Başka yeni satıra yerleştirin; -Yer üstünde yeni içini kaplamak yakalamak; -Sonunda yer yeni satıra; -Yeni satırı seçenekleri ifade için; -Üye nesnesi başlatıcıları yeni satıra yerleştirin; -Üye anonim türler yeni satıra yerleştirin; -Sorgu ifade yan tümceleri yeni satıra yerleştirin; + Küme ayraçları için yeni satır biçimlendirme seçeneği;Anahtar sözcükler için yeni satır biçimlendirme seçenekleri;Küme ayraçları için yeni satır seçenekleri; +Türler için yeni satıra açma küme ayracı yerleştir; +Metotlar ve yerel işlemler için yeni satıra açma küme ayracı yerleştir; +Özellikler, dizin oluşturucular ve olaylar için yeni satıra açma küme ayracı yerleştir; +Özellik, dizin oluşturucusu ve olay erişimcileri için yeni satıra açma küme ayracı yerleştir; +Anonim metotlar için yeni satıra açma küme ayracı yerleştir; +Denetim blokları için yeni satıra açma küme ayracı yerleştir; +Anonim türler için yeni satıra açma küme ayracı yerleştir; +Nesne, koleksiyon ve dizi başlatıcıları için yeni satıra açma küme ayracı yerleştir; +Anahtar sözcükler için yeni satır seçenekleri; +Else anahtar sözcüğünü yeni satıra yerleştir; +Catch anahtar sözcüğünü yeni satıra yerleştir; +Finally anahtar sözcüğünü yeni satıra yerleştir; +İfade için yeni satır seçenekleri; +Nesne başlatıcısındaki üyeleri yeni satıra yerleştir; +Anonim türlerdeki üyeleri yeni satıra yerleştir; +Sorgu ifadesi yan tümcelerini yeni satıra yerleştir; C# Formatting > New Lines options page keywords @@ -227,37 +227,37 @@ Set spacing for operators; Ignore spaces around binary operators; Remove spaces before and after binary operators; Insert space before and after binary operators; - Aralığı için yöntem bildirimleri ayarlama; -Yöntem adı ve onun açma parantezi arasında boşluk; -Parametre liste parantez içindeki boşluk ekleyin; -Boş parametre liste parantez içindeki boşluk ekleyin; -Yöntem çağrıları için aralığı ayarlama; -Bağımsız değişken listesi parantez içindeki boşluk ekleyin; -Boş bağımsız değişken listesi parantez içindeki boşluk ekleyin; -Diğer aralığı seçenekleri ayarlayın; -Denetim akış deyimleri anahtar kelimeler sonra boşluk Ekle; -Parantez içindeki ifadeler boşluk; -Türü yayınları parantez içindeki boşluk ekleyin; -Parantez içindeki alanlarda denetim akış deyimleri ekleyin; -Döküm sonra boşluk; -Bildirim deyimleri içinde boşluklar göz ardı; -Köşeli ayraç aralığı ayarlama; -Açık köşeli ayraç önce boşluk Ekle; -Boş köşeli ayraç içindeki boşluk ekleyin; -Köşeli ayraçlar içinde boşluk Ekle; -Sınırlayıcılar aralığını ayarla; -Kolon Bankası veya arayüz türü bildirimindeki sonra boşluk Ekle; -Virgülden sonra boşluk; -Sonra nokta boşluk; -For ifadesinin içinde noktalı sonra boşluk Ekle; -Kolon Bankası veya arayüz önce boşluk tür bildiriminde; -Virgül önce boşluk Ekle; -Nokta önce boşluk Ekle; -İçinde noktalı virgül deyim için önce boşluk Ekle; -Operatörler için aralığı ayarlama; -İkili işleçler sonra boşluk yok saymak; -Önce ve sonra ikili işleçler boşlukları kaldırma; -Önce ve sonra ikili işleçler boşluk ekleyin; + Metot bildirimleri için boşlukları ayarla; +Metot adı ile metodun açma ayracı arasına boşluk ekle; +Parametre listesi ayraçları içine boşluk ekle; +Boş parametre listesi ayraçları içine boşluk ekle; +Metot çağrıları için boşlukları ayarla; +Bağımsız değişken listesi ayraçları içine boşluk ekle; +Boş bağımsız değişken listesi ayraçları içine boşluk ekle; +Diğer boşluk seçeneklerini ayarla; +Denetim akışı deyimlerinde anahtar sözcüklerden sonra boşluk ekle; +İfadelerin ayraçları içine boşluk ekle; +Tür atamalarının ayraçları içine boşluk ekle; +Denetim akışı deyimlerinin ayraçları içine boşluk ekle; +Atamadan sonra boşluk ekle; +Bildirim deyimlerindeki boşlukları yoksay; +Köşeli ayraçlar için boşlukları ayarla; +Açma köşeli ayracından önce boşluk ekle; +Boş köşeli ayraçların içine boşluk ekle; +Köşeli ayraçlar içine boşluk ekle; +Sınırlayıcılar için boşlukları ayarla; +Tür bildiriminde base veya interface için iki noktadan sonra boşluk ekle; +Virgülden sonra boşluk ekle; +Noktadan sonra boşluk ekle; +for deyiminde noktalı virgülden sonra boşluk ekle; +Tür bildiriminde base veya interface için iki noktadan önce boşluk ekle; +Virgülden önce boşluk ekle; +Noktadan önce boşluk ekle; +for deyiminde noktalı virgülden önce boşluk ekle; +İşleçler için boşlukları ayarla; +İkili işleçlerin çevresindeki boşlukları yoksay; +İkili işleçlerden önceki ve sonraki boşlukları kaldır; +İkili işleçlerden önce ve sonra boşluk ekle; C# Formatting > Spacing options page keywords @@ -280,20 +280,20 @@ Never add new line on enter; Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; - Tamamlama liste ayarlarını değiştirme; Önceden select en son üye kullanılan; Tamamlama listeleri; -Bir karakter yazılır sonra tamamlanma listesi göstermek; -Bir karakter silindikten sonra tamamlanma listesinde göster; -Tamamlama liste öğelerini eşleşen kısımlarını vurgulamak; -Tamamlama madde filtreleri göster; -Parçacıkları davranış; -Asla parçacıkları içerir; -Her zaman parçacıkları içerir; -Parçacıkları içerir zaman?-sekmesini sonra bir tanımlayıcı; yazılan -Tuşuna basıldığında girin; -Asla yeni bir satır ekleyin hadi girin; -Sadece yeni bir satır ekleyin üzerinde tam olarak yazılı kelime; bitiminden sonra girin -Her zaman yeni bir satır ekleyin hadi girin; -Adı önerilerini göster; + Tamamlanma listesi ayarlarını değiştir;Son kullanılan üyeyi önceden seç; Tamamlanma listesi; +Bir karakter yazıldıktan sonra tamamlanma listesini göster; +Bir karakter silindikten sonra tamamlanma listesini göster; +Tamamlanma listesi öğelerinin eşleşen kısımlarını vurgula; +Tamamlanma öğe filtrelerini göster; +Kod parçacığı davranışı; +Kod parçacıklarını hiçbir zaman dahil etme; +Kod parçacıklarını her zaman dahil et; +Bir tanımlayıcıdan sonra ?-Tab yazılırsa kod parçacıklarını dahil et; +Enter tuşu davranışı; +Enter tuşuna basıldığında hiçbir zaman yeni satır ekleme; +Enter tuşuna basıldığında yalnızca tam bir kelime yazılmışsa sonuna yeni satır ekle; +Enter tuşuna basıldığında her zaman yeni satır ekle; +Ad önerilerini göster; C# IntelliSense options page keywords @@ -333,7 +333,7 @@ Adı önerilerini göster; CSharp Editor with Encoding - Encoding ile CSharp Düzenleyici + Kodlama ile CSharp Düzenleyici diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.zh-Hans.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.zh-Hans.xlf index aa82d5b299c0c..c4f68de9c1fa2 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.zh-Hans.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.zh-Hans.xlf @@ -79,49 +79,50 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - 显示已关闭文件的诊断; -为正则表达式着色; -突出显示光标下的相关组件; + 显示已关闭文件的诊断信息; +对正则表达式着色; +突出显示游标下的相关组件; 报告无效的正则表达式; 启用完整解决方案分析; 在外部进程中执行编辑器功能分析; -启用到反编译源的导航; +对反编译的源启用导航; Using 指令; -在对 Using 排序时首先放置系统指令; -分离 using 指令组; +对 using 进行排序时将系统指令放在开头; +将 using 指令组分隔开来; 建议对引用程序集中的类型使用 using; -建议对 NuGet包中的类型使用 using; +建议对 NuGet 包中的类型使用 using; 突出显示; -突出显示光标下对符号的引用; -突出显示光标下的相关关键字; +突出显示对游标下的符号的引用; +突出显示游标下的相关关键字; 大纲; -在文件打开时进入大纲模式; -显示程序行分隔符; -显示声明级构造的大纲; -显示代码级构造的大纲; -显示评论和预处理区域的大纲; +在文件打开时输入大纲模式; +显示流程行分隔符; +显示声明级别构造的大纲; +显示代码级别构造的大纲; +显示注释和预处理器区域的大纲; 在折叠到定义时折叠区域; -褪色; -淡出未使用的 using; -淡出无法访问的代码; +淡出; +未使用的 using 淡出; +不可访问的代码淡出; 块结构指南; -显示声明级构造的指南; -显示代码级构造的指南; +显示声明级别构造的指南; +显示代码级别构造的指南; 编辑器帮助; 为 /// 生成 XML 文档注释; -编写 /* */ 批注时在新行的开头插入 *; +在写入 /* */ 注释时在新行开头插入 *; 显示重命名跟踪的预览; -按 Enter 时拆分字符串文字; -报告 string.Format 调用中无效的占位符; +在按 Enter 时拆分字符串字面量; +报告 string.Format 调用中的无效占位符; 提取方法; 不要在自定义结构上放置 ref 或 out; 实现接口或抽象类; -插入属性、事件和方法时,将它们; -与其他同类成员一起; -放在末尾; -生成属性时; -首选 throwing 属性; -首选自动属性; +插入属性、事件和方法时,放置它们; +具有相同类型的其他成员; +位于末尾; +在生成属性时; +首选引发属性; +首选自动属性; +使用增强色; C# Advanced options page keywords @@ -147,14 +148,14 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - 缩进块内容; -缩进左右大括号; -缩进 case 内容; -缩进 case 内容(当阻止时); -缩进 case 标签; -标签缩进; -将 goto 标签放置在最左侧列中; -通常缩进标签; + 缩进块内容; +缩进左大括号和右大括号; +缩进 case 内容; +缩进 case 内容(阻止时); +缩进 case 标签; +标签缩进; +将 goto 标签置于最左侧的列中; +正常缩进标签; 将 goto 标签置于比当前位置缩进一个缩进级别的位置; C# Formatting > Indentation options page keywords @@ -176,23 +177,23 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - 大括号的新行格式选项;关键字的新行格式选项;大括号的新行选项; -对类型另起一行放置左大括号; -对方法和本地函数另起一行放置左大括号; -对属性、索引器和事件另起一行放置左大括号; -对属性、索引器和事件访问器另起一行放置左大括号; -对匿名方法另起一行放置左大括号; -对控制块另起一行放置左大括号; -对匿名类型另起一行放置左大括号; -对对象、集合和数组初始值设定项另起一行放置左大括号; -关键字的新行选项; -另起一行放置 else; -另起一行放置 catch; -另起一行放置 finally; -表达式的新行选项; -另起一行放置对象初始化器中的成员; -另起一行放置匿名类型的成员; -另起一行放置查询表达式子句; + 针对大括号的新行格式选项;针对关键字的新行格式选项;针对大括号的新行选项; +在类型的新行上放置左大括号; +在方法和本地函数的新行上放置左大括号; +在属性、索引器和事件的新行上放置左大括号; +在属性、索引器和事件访问器的新行上放置左大括号; +在匿名方法的新行上放置左大括号; +在控制块的新行上放置左大括号; +在匿名类型的新行上放置左大括号; +在对象、集合和数组初始值设定像的新行上放置左大括号; +针对关键字的新行选项 +在新行上放置 else; +在新行上放置 catch; +在新行上放置 finally; +针对表达式的新行选项; +在新行上的对象初始值设定项中放置成员; +在新行上的匿名类型中放置类型; +在新行上放置查询表达式子句; C# Formatting > New Lines options page keywords @@ -229,35 +230,35 @@ Remove spaces before and after binary operators; Insert space before and after binary operators; 设置方法声明的间距; 在方法名称与其左括号之间插入空格; -在参数列表括号中插入空格; +在参数列表括号内插入空格; 在空参数列表括号内插入空格; 设置方法调用的间距; -在参数列表括号中插入空格; -在空参数列表括号中插入空格; +在实参列表括号内插入空格; +在空实参列表括号内插入空格; 设置其他间距选项; -在控制流语句中的关键字后插入空格; +在控件流语句中的关键字后插入空格; 在表达式的括号内插入空格; -在强制转换类型的括号内插入空格; -在控制流语句的括号内插入空格; -在强制转换后插入空格; +在类型转换的括号内插入空格; +在控件流语句的括号内插入空格; +在转换后插入空格; 忽略声明语句中的空格; -设置括号的间距; -在左方括号前插入空格; +设置圆括号的间距; +在左方括号的前面插入空格; 在空方括号内插入空格; 在方括号内插入空格; -设置分隔符的间距; -在类型声明中的 base 或接口的冒号后插入空格; +设置定界符的间距; +对于类型声明中的基数或接口,在冒号后插入空格; 在逗号后插入空格; -在点后插入空格; -在 for 语句的分号后插入空格; -在类型声明中的 base 或接口的冒号前插入空格; -在逗号前插入空格; -在点前插入空格; -在 for 语句的分号前插入空格; +在句点后插入空格; +在 for 语句中的分号后插入空格; +对于类型声明中的基数或接口,在冒号后插入空格; +在逗号后插入空格; +在句点后插入空格; +在 for 语句中的分号后插入空格; 设置运算符的间距; 忽略二进制运算符两侧的空格; -删除二进制运算符前后的空格; -在二进制运算符前后插入空格; +删除二进制运算符两侧的空格; +在二进制运算符两侧插入空格; C# Formatting > Spacing options page keywords @@ -280,19 +281,19 @@ Never add new line on enter; Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; - 更改完成列表设置;预先选择最近使用的成员;完成列表; -输入字符后显示完成列表; -删除字符后显示完成列表; + 更改完成列表设置;预先选择最近使用过的成员; 完成列表; +在键入字符后显示完成列表; +在删除字符后显示完成列表; 突出显示完成列表项的匹配部分; -显示完成项目过滤器; +显示完成项筛选器; 片段行为; -永远不要包括片段; -始终包括片段; -在标识符后键入 ?-Tab 时包括片段; -输入关键行为; -切勿在输入时添加新行; -仅在完全输入的字词结束后才输入新行; -始终在输入时添加新行; +永不包含片段; +总是包含片段; +在标识符后键入 ?-Tab 时包含片段; +输入键行为; +永不在按 Enter 时添加新行; +仅在完整键入的字词结尾后按 Enter 时才添加新行; +总是在按 Enter 时添加新行; 显示名称建议; C# IntelliSense options page keywords diff --git a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.zh-Hant.xlf b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.zh-Hant.xlf index c6bc0de106a1e..42a4ab4eac6ac 100644 --- a/src/VisualStudio/CSharp/Impl/xlf/VSPackage.zh-Hant.xlf +++ b/src/VisualStudio/CSharp/Impl/xlf/VSPackage.zh-Hant.xlf @@ -79,49 +79,50 @@ prefer auto properties; regex; regular expression; Use enhanced colors; - 顯示已關閉檔的診斷程式; -著色正則運算式; -在游標下突出顯示相關元件; -報告不正確正則運算式; -實現完整的解決方案分析; -在外部過程中執行編輯器功能分析; -啟用導航以反編譯源; -使用指令; -在對使用進行排序時, 首先放置系統指令; -分離使用的指令組; -建議引用程式集中類型的使用; -建議 nuget 包中類型的使用建議; -突出顯示; -突出顯示游標下符號的參照; -在游標下突出顯示相關關鍵字; -概述; -當檔打開時, 進入大綱顯示模式; -顯示過程行分隔符號; -顯示聲明級別構造的大綱; -顯示代碼級構造的大綱; -顯示評論和預處理器區域的大綱; -折疊到定義時折疊區域; -褪色; -淡出未使用的用途; -淡出無法訪問的代碼; -塊結構指南; -顯示聲明級別構造的指南; -顯示代碼級構造的指南; -編輯説明; -生成 xml 文檔注釋///; -在撰寫/* */評論時, 在新行開頭插入 *; -顯示重命名跟蹤的預覽; -在 enter 上拆分字串文本; -報告字串中不正確預留位置。設置調用格式; -提取方法; -不要在自訂結構上放置參考或輸出; -實現介面或抽象類別; -插入屬性、事件和方法時, 放置它們; -與其他同類成員; -在最後; -生成屬性時; -喜歡投擲屬性; -喜歡汽車物業; + 顯示已關閉檔案的診斷; +為規則運算式標示色彩; +醒目提示游標下的相關元件; +報告無效的規則運算式; +啟用完整解決方案分析; +在外部處理序中執行編輯器功能分析; +啟用瀏覽以反向組譯來源; +使用指示詞; +排序 using 時先排列系統指示詞; +分隔 using 指示詞群組; +針對參考組件中的類型建議 using; +針對 NuGet 套件中的類型建議 using; +醒目提示; +醒目提示游標下的符號參考; +醒目提示游標下的相關關鍵字; +大綱; +在檔案開啟時進入大綱模式; +顯示程序行分隔符號; +顯示宣告層級建構的大綱; +顯示程式碼層級建構的大綱; +顯示註解和前置處理器區域的大綱; +在摺疊到定義時摺疊區域; +淡化; +淡化未使用的 using; +淡化無法連線的程式碼; +區塊結構輔助線; +顯示宣告層級建構的輔助線; +顯示程式碼層級建構的輔助線; +編輯器說明; +產生 /// 的 XML 文件註解; +在撰寫 /* */ 註解時,於新行開頭插入 *; +顯示重新命名追蹤的預覽; +在按 Enter 鍵時分割字串常值; +報告 string.Format 呼叫中的無效預留位置; +擷取方法; +不要在自訂結構上放置 ref 或 out; +實作 Interface 或 Abstract 類別; +在插入屬性、事件和方法時,放置它們; +具有其他同種類的成員; +在結尾; +在產生屬性時; +建議使用擲回屬性; +建議使用自動屬性; +使用增強色彩; C# Advanced options page keywords @@ -130,11 +131,11 @@ Automatically format statement on semicolon ; Automatically format block on end brace; Automatically format on return; Automatically format on paste; - 鍵入時自動格式化; -遇到分號時自動將陳述式格式化; -遇到右大括弧時自動將區塊格式化; -返回時自動格式化; -貼上時自動格式化; + 在鍵入時自動格式化; +在分號處自動將陳述式格式化; +在右大括號處自動將區塊格式化; +在換行時自動格式化; +在貼上時自動格式化; C# Formatting > General options page keywords @@ -147,15 +148,15 @@ label indentation; place goto labels in leftmost column; indent labels normally; place goto labels one indent less than current; - 將區塊內容縮排; -將左右大括弧縮排; -將 case 內容縮排; -將 case 內容縮排 (若為區塊); -將 case 標籤縮排; -將標籤縮排; -將 goto 標籤放入最左邊的資料行; -將標籤正常縮排; -將 goto 標籤的位置比目前多凸一排; + 將區塊內容縮排; +將左右大括號縮排; +將 case 內容縮排; +將 case 內容 (若為區塊) 縮排; +將 case 標籤縮排; +標籤縮排; +將 goto 標籤放入最左方欄位; +將標籤正常縮排; +將 goto 標籤在目前的位置凸出一排; C# Formatting > Indentation options page keywords @@ -176,23 +177,23 @@ New line options for expression; Place members in object initializers on new line; Place members in anonymous types on new line; Place query expression clauses on new line; - 大括弧的新行格式選項;關鍵字的新行格式選項;大括弧的新行選項; -將打開支架放在類型的新行上; -將開支架放在新的線上, 用於方法和本地函數; -將打開的大括弧放在屬性、索引子和事件的新行上; -將打開的大括弧放在屬性、索引子和事件存取子的新行上; -將打開支架放在匿名方法的新行上; -將開支架放在控制塊的新生產線上; -將匿名型別的新行打開支架; -在物件、集合和陣列初始值設定項的新行上放置打開大括弧; + 大括號的新行格式化選項;關鍵字的新行格式化選項;大括號的新行選項; +針對類型將左大括號換到新行; +針對方法和區域函式將左大括號換到新行; +針對屬性、索引子和事件將左大括號換到新行; +針對屬性、索引子和事件存取子將左大括號換到新行; +針對匿名方法將左大括號換到新行; +針對控制區塊將左大括號換到新行; +針對匿名類型將左大括號換到新行; +針對物件、集合和陣列初始設定式將左大括號換到新行; 關鍵字的新行選項; -在新的線路上放置其他地方; -在新的線路上放置捕獲; -最後地方在新的線; +將 else 換到新行; +將 catch 換到新行; +將 finally 換到新行; 運算式的新行選項; -將物件初始化器中的成員放在新行上; -將匿名型別的成員放在新行上; -將查詢運算式子句放在新行上; +將物件初始設定式中的成員換到新行; +將匿名類型中的成員換到新行; +將查詢運算式子句換到新行; C# Formatting > New Lines options page keywords @@ -228,32 +229,32 @@ Ignore spaces around binary operators; Remove spaces before and after binary operators; Insert space before and after binary operators; 設定方法宣告的間距; -在方法名稱和其左括號之間插入空格; -在參數清單括號中插入空格; -在空的參數清單括號中插入空格; +在方法名稱及其左括號間插入空格; +在參數清單括號內插入空格; +在空白參數清單括號內插入空格; 設定方法呼叫的間距; -在引數清單括號中插入空格; -在空的引數清單括號中插入空格; +在引數清單括號內插入空格; +在空白引數清單括號內插入空格; 設定其他間距選項; -在控制流程陳述式中的關鍵字後方插入空格; -在運算式的括號中插入空格; -在類型轉換的括號中插入空格; -在控制流程陳述式的括號中插入空格; -在轉換後方插入空間; +在控制流程陳述式中的關鍵字後插入空格; +在運算式的括號內插入空格; +在類型轉換的括號內插入空格; +在控制流程陳述式的括號內插入空格; +在轉換後插入空格; 略過宣告陳述式中的空格; -設定方括弧的間距; -在左方括弧前方插入空格; -在空的方括弧中插入空格; -在方括弧中插入空格; -設定分隔符號的間距; -在類型宣告中基底或介面的冒號後方插入空格; -在逗號後方插入空格; -在點後方插入空格; -在 for 陳述式中的分號後方插入空格; -在類型宣告中基部或介面的冒號前方插入空格; -在逗號前方插入空格; -在點前方插入空格; -在 for 陳述式中的分號前方插入空格; +設定中括號的空格; +在左方括號前插入空格; +在空白方括號內插入空格; +在方括號內插入空格; +設定分隔符號的空格; +針對類型宣告中的基底或介面在冒號後插入空格; +在逗號後插入空格; +在點號後插入空格; +在 for 陳述式內的分號後插入空格; +針對類型宣告中的基底或介面在冒號前插入空格; +在逗號前插入空格; +在點號前插入空格; +在 for 陳述式內的分號前插入空格; 設定運算子的間距; 略過二元運算子周圍的空格; 移除二元運算子前後的空格; @@ -280,19 +281,19 @@ Never add new line on enter; Only add new line on enter after end of fully typed word; Always add new line on enter; Show name suggestions; - 變更完成清單設置;預先選取最近使用的成員;完成清單; -鍵入字元後顯示完成清單; -刪除字元後顯示完成清單; + 變更完成清單設定;預先選取最近使用的成員; 完成清單; +在鍵入字元後顯示完成清單; +在刪除字元後顯示完成清單; 醒目提示完成清單項目的相符部分; 顯示完成項目篩選; 程式碼片段行為; -永遠不包括程式碼片段; -永遠包括程式碼片段; -在識別碼後面鍵入 ?-Tab 時包括程式碼片段; -Enter 鍵行為; -永遠不要在按 Enter 鍵時新增行; -只在完整鍵入的文字結尾後按 Enter 鍵時才新增行; -永遠在按 Enter 鍵時新增行; +永不包含程式碼片段; +永遠包含程式碼片段; +在識別碼後鍵入 ?-Tab 時包含程式碼片段; +輸入按鍵行為; +永不在按下 enter 鍵時新增行; +只在按下 enter 鍵時,於完整鍵入的文字結尾後新增行; +永遠在按下 enter 鍵時新增行; 顯示名稱建議; C# IntelliSense options page keywords diff --git a/src/VisualStudio/CSharp/Test/Interactive/InteractiveWindowTestHost.cs b/src/VisualStudio/CSharp/Test/Interactive/InteractiveWindowTestHost.cs index d799b83a76fa6..ac1ed15399b7f 100644 --- a/src/VisualStudio/CSharp/Test/Interactive/InteractiveWindowTestHost.cs +++ b/src/VisualStudio/CSharp/Test/Interactive/InteractiveWindowTestHost.cs @@ -25,9 +25,9 @@ public sealed class InteractiveWindowTestHost : IDisposable typeof(TestWaitIndicator).Assembly, typeof(TestInteractiveEvaluator).Assembly, typeof(IInteractiveWindow).Assembly - } - .Concat(TestExportProvider.GetCSharpAndVisualBasicAssemblies()) - .Concat(MinimalTestExportProvider.GetEditorAssemblies()))); + }) + .WithParts(TestExportProvider.GetCSharpAndVisualBasicAssemblyCatalog()) + .WithParts(MinimalTestExportProvider.GetEditorAssemblyCatalog())); internal InteractiveWindowTestHost(ExportProvider exportProvider) { diff --git a/src/VisualStudio/Core/Def/Implementation/CodeCleanup/CodeCleanUpFixer.cs b/src/VisualStudio/Core/Def/Implementation/CodeCleanup/CodeCleanUpFixer.cs new file mode 100644 index 0000000000000..d9a3ed4e5f73c --- /dev/null +++ b/src/VisualStudio/Core/Def/Implementation/CodeCleanup/CodeCleanUpFixer.cs @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading; +using System.Threading.Tasks; +using Microsoft.VisualStudio.Language.CodeCleanUp; + +namespace Microsoft.VisualStudio.LanguageServices.Implementation.CodeCleanup +{ + /// + /// Roslyn implementations of extend this class. Since other extensions could also + /// be implementing the interface, this abstract base class allows Roslyn to operate + /// on MEF instances of fixers known to be relevant in the context of Roslyn languages. + /// + internal abstract class CodeCleanUpFixer : ICodeCleanUpFixer + { + public abstract Task FixAsync(ICodeCleanUpScope scope, ICodeCleanUpExecutionContext context, CancellationToken cancellationToken); + } +} diff --git a/src/VisualStudio/Core/Def/Implementation/CodeCleanup/CodeCleanupFixerProvider.cs b/src/VisualStudio/Core/Def/Implementation/CodeCleanup/CodeCleanupFixerProvider.cs new file mode 100644 index 0000000000000..7580ce93553b5 --- /dev/null +++ b/src/VisualStudio/Core/Def/Implementation/CodeCleanup/CodeCleanupFixerProvider.cs @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.ComponentModel.Composition; +using System.Linq; +using Microsoft.CodeAnalysis.Editor; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.VisualStudio.Language.CodeCleanUp; +using Microsoft.VisualStudio.Utilities; +using Roslyn.Utilities; + +namespace Microsoft.VisualStudio.LanguageServices.Implementation.CodeCleanup +{ + /// + /// This is intentionally not exported as a concrete type and not an instance of + /// . Roslyn is responsible for registering its own fixer provider, as + /// opposed to the implementation importing the instances of some interface. + /// + [Export] + internal class CodeCleanUpFixerProvider : ICodeCleanUpFixerProvider + { + private readonly ImmutableArray> _codeCleanUpFixers; + + [ImportingConstructor] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] + public CodeCleanUpFixerProvider( + [ImportMany] IEnumerable> codeCleanUpFixers) + { + _codeCleanUpFixers = codeCleanUpFixers.ToImmutableArray(); + } + + public IReadOnlyCollection GetFixers() + { + return _codeCleanUpFixers.SelectAsArray(lazyFixer => lazyFixer.Value); + } + + public IReadOnlyCollection GetFixers(IContentType contentType) + { + var fixers = _codeCleanUpFixers + .Where(handler => handler.Metadata.ContentTypes.Contains(contentType.TypeName)).ToList(); + + return fixers.ConvertAll(l => l.Value); + } + } +} diff --git a/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/AbstractDebuggerIntelliSenseContext.cs b/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/AbstractDebuggerIntelliSenseContext.cs index 71cbb6191158c..5d4b89cd0c4bb 100644 --- a/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/AbstractDebuggerIntelliSenseContext.cs +++ b/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/AbstractDebuggerIntelliSenseContext.cs @@ -309,7 +309,7 @@ public void Dispose() { // Unsubscribe from events _textView.TextBuffer.PostChanged -= TextBuffer_PostChanged; - _debuggerTextView.DisconnectFromIntellisenseControllers(); + _debuggerTextView.Cleanup(); // The buffer graph subscribes to events of its source buffers, we're no longer interested _projectionBuffer.DeleteSpans(0, _projectionBuffer.CurrentSnapshot.SpanCount); diff --git a/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/DebuggerIntellisenseFilter.cs b/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/DebuggerIntellisenseFilter.cs index f42d0fabe2d3c..065aa22dbf184 100644 --- a/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/DebuggerIntellisenseFilter.cs +++ b/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/DebuggerIntellisenseFilter.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Diagnostics; using System.Runtime.InteropServices; using Microsoft.CodeAnalysis.Editor; using Microsoft.CodeAnalysis.Editor.Shared.Extensions; @@ -167,29 +168,25 @@ protected override ITextView ConvertTextView() internal void SetContext(AbstractDebuggerIntelliSenseContext context) { - // We're never notified of being disabled in the immediate window, so the - // best we can do is only keep resources from one context alive at a time. - Dispose(); - + // If there was an old context, it must be cleaned before calling SetContext. + Debug.Assert(_context == null); _context = context; this.SetCommandHandlers(context.Buffer); } internal void RemoveContext() { - Dispose(); - _context = null; + if (_context != null) + { + _context.Dispose(); + _context = null; + } } internal void SetContentType(bool install) => _context?.SetContentType(install); public void Dispose() - { - if (_context != null) - { - _context.Dispose(); - } - } + => RemoveContext(); } } diff --git a/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/DebuggerTextView.cs b/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/DebuggerTextView.cs index 34385a89a1f63..9181c1ea98353 100644 --- a/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/DebuggerTextView.cs +++ b/src/VisualStudio/Core/Def/Implementation/DebuggerIntelliSense/DebuggerTextView.cs @@ -1,20 +1,15 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Linq; using System.Windows; using System.Windows.Media; using Microsoft.CodeAnalysis.Editor; -using Microsoft.CodeAnalysis.Editor.Shared.Extensions; -using Microsoft.VisualStudio.Language.Intellisense; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Editor; using Microsoft.VisualStudio.Text.Formatting; -using Microsoft.VisualStudio.Text.Outlining; using Microsoft.VisualStudio.Text.Projection; using Microsoft.VisualStudio.TextManager.Interop; using Microsoft.VisualStudio.Utilities; -using Roslyn.Utilities; namespace Microsoft.VisualStudio.LanguageServices.Implementation.DebuggerIntelliSense { @@ -28,6 +23,11 @@ internal partial class DebuggerTextView : IWpfTextView, IDebuggerTextView, IText private IMultiSelectionBroker _multiSelectionBroker; + // This name "CompletionRoot" is specified on the Editor side. + // Roslyn must match the name. + // The const should be removed with resolution of https://github.com/dotnet/roslyn/issues/31189 + public const string CompletionRoot = nameof(CompletionRoot); + public DebuggerTextView( IWpfTextView innerTextView, IBufferGraph bufferGraph, @@ -38,6 +38,12 @@ public DebuggerTextView( _debuggerTextLinesOpt = debuggerTextLinesOpt; BufferGraph = bufferGraph; IsImmediateWindow = isImmediateWindow; + + // The editor requires the current top buffer. + // TODO it seems to be a hack. It should be removed. + // Here is an issue to track: https://github.com/dotnet/roslyn/issues/31189 + // Starting debugging for the second time, we already have the property set. + _innerTextView.Properties[CompletionRoot] = bufferGraph.TopBuffer; } /// @@ -330,7 +336,7 @@ public SnapshotSpan GetTextElementSpan(SnapshotPoint point) public ITextViewLine GetTextViewLineContainingBufferPosition(SnapshotPoint bufferPosition) { - throw new NotSupportedException(); + return _innerTextView.GetTextViewLineContainingBufferPosition(bufferPosition); } public void QueueSpaceReservationStackRefresh() @@ -353,7 +359,7 @@ IWpfTextViewLine IWpfTextView.GetTextViewLineContainingBufferPosition(SnapshotPo return _innerTextView.GetTextViewLineContainingBufferPosition(bufferPosition); } - public void DisconnectFromIntellisenseControllers() + public void Cleanup() { // The innerTextView of the immediate window never closes, but we want // our completion subscribers to unsubscribe from events when this @@ -362,8 +368,17 @@ public void DisconnectFromIntellisenseControllers() { this.ClosedInternal?.Invoke(this, EventArgs.Empty); } + + _innerTextView.Properties.RemoveProperty(CompletionRoot); } + public void QueuePostLayoutAction(Action action) => _innerTextView.QueuePostLayoutAction(action); + + public bool TryGetTextViewLines(out ITextViewLineCollection textViewLines) => _innerTextView.TryGetTextViewLines(out textViewLines); + + public bool TryGetTextViewLineContainingBufferPosition(SnapshotPoint bufferPosition, out ITextViewLine textViewLine) + => _innerTextView.TryGetTextViewLineContainingBufferPosition(bufferPosition, out textViewLine); + private event EventHandler ClosedInternal; #pragma warning disable 67 diff --git a/src/VisualStudio/Core/Def/Implementation/Extensions/VisualStudioWorkspaceImplExtensions.cs b/src/VisualStudio/Core/Def/Implementation/Extensions/VisualStudioWorkspaceImplExtensions.cs index 2a1ec3d4159ad..8b230649c51ea 100644 --- a/src/VisualStudio/Core/Def/Implementation/Extensions/VisualStudioWorkspaceImplExtensions.cs +++ b/src/VisualStudio/Core/Def/Implementation/Extensions/VisualStudioWorkspaceImplExtensions.cs @@ -65,27 +65,6 @@ private static bool TryGetImageListAndIndex(this IVsHierarchy hierarchy, IVsImag return false; } - public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, ProjectId id, out IntPtr imageList, out int index) - { - var result = TryGetImageListAndIndex(workspace, imageService, id, out imageList, out ushort ushortIndex); - - index = ushortIndex; - return result; - } - - public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, ProjectId id, out IntPtr imageList, out ushort index) - { - var hierarchy = workspace.GetHierarchy(id); - if (hierarchy != null) - { - return TryGetImageListAndIndex(hierarchy, imageService, VSConstants.VSITEMID_ROOT, out imageList, out index); - } - - imageList = default; - index = 0; - return false; - } - public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, DocumentId id, out IntPtr imageList, out ushort index) { var hierarchy = workspace.GetHierarchy(id.ProjectId); diff --git a/src/VisualStudio/Core/Def/Implementation/LanguageService/AbstractLanguageService`2.IVsImmediateStatementCompletion2.cs b/src/VisualStudio/Core/Def/Implementation/LanguageService/AbstractLanguageService`2.IVsImmediateStatementCompletion2.cs index 73ddfb3070ec0..61984820e43f9 100644 --- a/src/VisualStudio/Core/Def/Implementation/LanguageService/AbstractLanguageService`2.IVsImmediateStatementCompletion2.cs +++ b/src/VisualStudio/Core/Def/Implementation/LanguageService/AbstractLanguageService`2.IVsImmediateStatementCompletion2.cs @@ -92,15 +92,15 @@ int IVsImmediateStatementCompletion2.SetCompletionContext(string filePath, return VSConstants.E_FAIL; } + // Clean the old context in any case upfront: + // even if we fail to initialize, the old context must be cleaned. + this.filters[textView].RemoveContext(); + var context = CreateContext(view, textView, debuggerBuffer, contextBuffer, currentStatementSpan); if (context.TryInitialize()) { this.filters[textView].SetContext(context); } - else - { - this.filters[textView].RemoveContext(); - } } return VSConstants.S_OK; diff --git a/src/VisualStudio/Core/Def/Implementation/NavigationBar/NavigationBarClient.cs b/src/VisualStudio/Core/Def/Implementation/NavigationBar/NavigationBarClient.cs index 933d2c2d23772..7f2ed1ebb58b6 100644 --- a/src/VisualStudio/Core/Def/Implementation/NavigationBar/NavigationBarClient.cs +++ b/src/VisualStudio/Core/Def/Implementation/NavigationBar/NavigationBarClient.cs @@ -3,8 +3,10 @@ using System; using System.Collections.Generic; using Microsoft.CodeAnalysis.Editor; +using Microsoft.CodeAnalysis.Editor.Wpf; using Microsoft.Internal.VisualStudio.Shell; using Microsoft.VisualStudio.Editor; +using Microsoft.VisualStudio.Imaging.Interop; using Microsoft.VisualStudio.LanguageServices.Implementation.Extensions; using Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem; using Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.Extensions; @@ -19,6 +21,7 @@ namespace Microsoft.VisualStudio.LanguageServices.Implementation.NavigationBar internal class NavigationBarClient : IVsDropdownBarClient, IVsDropdownBarClient3, + IVsDropdownBarClient4, IVsDropdownBarClientEx, IVsCoTaskMemFreeMyStrings, INavigationBarPresenter, @@ -29,7 +32,6 @@ internal class NavigationBarClient : private readonly VisualStudioWorkspaceImpl _workspace; private readonly ComEventSink _codeWindowEventsSink; private readonly IVsEditorAdaptersFactoryService _editorAdaptersFactoryService; - private readonly IntPtr _imageList; private readonly IVsImageService2 _imageService; private readonly Dictionary _trackedTextViews = new Dictionary(); private IVsDropdownBar _dropdownBar; @@ -49,9 +51,6 @@ public NavigationBarClient( _projectItems = SpecializedCollections.EmptyList(); _currentTypeItems = SpecializedCollections.EmptyList(); - var vsShell = serviceProvider.GetService(typeof(SVsShell)) as IVsShell; - vsShell?.TryGetPropertyValue(__VSSPROPID.VSSPROPID_ObjectMgrTypesImgList, out _imageList); - _codeWindowEventsSink = ComEventSink.Advise(codeWindow, this); _editorAdaptersFactoryService = serviceProvider.GetMefService(); codeWindow.GetPrimaryView(out var pTextView); @@ -107,7 +106,9 @@ private NavigationBarItem GetItem(int combo, int index) int IVsDropdownBarClient.GetComboAttributes(int iCombo, out uint pcEntries, out uint puEntryType, out IntPtr phImageList) { puEntryType = (uint)(DROPDOWNENTRYTYPE.ENTRY_TEXT | DROPDOWNENTRYTYPE.ENTRY_ATTR | DROPDOWNENTRYTYPE.ENTRY_IMAGE); - phImageList = _imageList; + + // We no longer need to return an HIMAGELIST, we now use IVsDropdownBarClient4.GetEntryImage which uses monikers directly. + phImageList = IntPtr.Zero; switch (iCombo) { @@ -193,11 +194,9 @@ int IVsDropdownBarClient.GetEntryAttributes(int iCombo, int iIndex, out uint pAt int IVsDropdownBarClient.GetEntryImage(int iCombo, int iIndex, out int piImageIndex) { - var item = GetItem(iCombo, iIndex); - - piImageIndex = item.Glyph.GetGlyphIndex(); - - return VSConstants.S_OK; + // This class implements IVsDropdownBarClient4 and expects IVsDropdownBarClient4.GetEntryImage() to be called instead + piImageIndex = -1; + return VSConstants.E_UNEXPECTED; } int IVsDropdownBarClient.GetEntryText(int iCombo, int iIndex, out string ppszText) @@ -277,24 +276,27 @@ int IVsDropdownBarClient3.GetAutomationProperties(int iCombo, out string pbstrNa } int IVsDropdownBarClient3.GetEntryImage(int iCombo, int iIndex, out int piImageIndex, out IntPtr phImageList) + { + // This class implements IVsDropdownBarClient4 and expects IVsDropdownBarClient4.GetEntryImage() to be called instead + phImageList = IntPtr.Zero; + piImageIndex = -1; + + return VSConstants.E_UNEXPECTED; + } + + ImageMoniker IVsDropdownBarClient4.GetEntryImage(int iCombo, int iIndex) { var item = GetItem(iCombo, iIndex); - // If this is a project item, try to get the actual proper image from the VSHierarchy it - // represents. That way the icon will always look right no matter which type of project - // it is. For example, if phone/Windows projects have different icons, then this can - // ensure we get the right icon, and not just a hard-coded C#/VB icon. if (item is NavigationBarProjectItem projectItem) { - if (_workspace.TryGetImageListAndIndex(_imageService, projectItem.DocumentId.ProjectId, out phImageList, out piImageIndex)) + if (_workspace.TryGetHierarchy(projectItem.DocumentId.ProjectId, out var hierarchy)) { - return VSConstants.S_OK; + return _imageService.GetImageMonikerForHierarchyItem(hierarchy, VSConstants.VSITEMID_ROOT, (int)__VSHIERARCHYIMAGEASPECT.HIA_Icon); } } - piImageIndex = GetItem(iCombo, iIndex).Glyph.GetGlyphIndex(); - phImageList = _imageList; - return VSConstants.S_OK; + return item.Glyph.GetImageMoniker(); } int IVsDropdownBarClientEx.GetEntryIndent(int iCombo, int iIndex, out uint pIndent) diff --git a/src/VisualStudio/Core/Def/Implementation/Options/LocalUserRegistryOptionPersister.cs b/src/VisualStudio/Core/Def/Implementation/Options/LocalUserRegistryOptionPersister.cs index 10aa912d026a5..3264d75a5adf0 100644 --- a/src/VisualStudio/Core/Def/Implementation/Options/LocalUserRegistryOptionPersister.cs +++ b/src/VisualStudio/Core/Def/Implementation/Options/LocalUserRegistryOptionPersister.cs @@ -18,7 +18,7 @@ namespace Microsoft.VisualStudio.LanguageServices.Implementation.Options /// Serializes options marked with to the local hive-specific registry. /// [Export(typeof(IOptionPersister))] - internal sealed class LocalUserRegistryOptionPersister : ForegroundThreadAffinitizedObject, IOptionPersister + internal sealed class LocalUserRegistryOptionPersister : IOptionPersister { /// /// An object to gate access to . @@ -28,9 +28,10 @@ internal sealed class LocalUserRegistryOptionPersister : ForegroundThreadAffinit [ImportingConstructor] [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] - public LocalUserRegistryOptionPersister(IThreadingContext threadingContext, [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider) - : base(threadingContext, assertIsForeground: true) // The VSRegistry.RegistryRoot call requires being on the UI thread or else it will marshal and risk deadlock + public LocalUserRegistryOptionPersister([Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider) { + // Starting in Dev16, the ILocalRegistry service behind this call is free-threaded, and since the service is offered by msenv.dll can be requested + // without any marshalling (explicit or otherwise) to the UI thread. this._registryKey = VSRegistry.RegistryRoot(serviceProvider, __VsLocalRegistryType.RegType_UserSettings, writable: true); } diff --git a/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeTracker.cs b/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeTracker.cs index 02a2bbf770f02..eb10c72650397 100644 --- a/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeTracker.cs +++ b/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeTracker.cs @@ -6,14 +6,17 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.ErrorReporting; +using IVsAsyncFileChangeEx = Microsoft.VisualStudio.Shell.IVsAsyncFileChangeEx; using Microsoft.VisualStudio.Shell.Interop; using Roslyn.Utilities; namespace Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem { - internal sealed class FileChangeTracker : IVsFileChangeEvents, IDisposable + internal sealed class FileChangeTracker : IVsFreeThreadedFileChangeEvents2, IDisposable { - private static readonly Lazy s_none = new Lazy(() => null, LazyThreadSafetyMode.ExecutionAndPublication); + private const _VSFILECHANGEFLAGS FileChangeFlags = _VSFILECHANGEFLAGS.VSFILECHG_Time | _VSFILECHANGEFLAGS.VSFILECHG_Add | _VSFILECHANGEFLAGS.VSFILECHG_Del | _VSFILECHANGEFLAGS.VSFILECHG_Size; + + private static readonly AsyncLazy s_none = new AsyncLazy(ct => null, cacheResult: true); private readonly IVsFileChangeEx _fileChangeService; private readonly string _filePath; @@ -24,7 +27,7 @@ internal sealed class FileChangeTracker : IVsFileChangeEvents, IDisposable /// this file. This field may never be null, but might be a Lazy that has a value of null if /// we either failed to subscribe over never have tried to subscribe. /// - private Lazy _fileChangeCookie; + private AsyncLazy _fileChangeCookie; public event EventHandler UpdatedOnDisk; @@ -73,7 +76,7 @@ public bool PreviousCallToStartFileChangeHasAsynchronouslyCompleted get { var cookie = _fileChangeCookie; - return cookie != s_none && cookie.IsValueCreated; + return cookie != s_none && cookie.TryGetValue(out _); } } @@ -86,7 +89,7 @@ public void AssertUnsubscription() public void EnsureSubscription() { // make sure we have file notification subscribed - var unused = _fileChangeCookie.Value; + var unused = _fileChangeCookie.GetValue(CancellationToken.None); } public void StartFileChangeListeningAsync() @@ -98,23 +101,33 @@ public void StartFileChangeListeningAsync() Contract.ThrowIfTrue(_fileChangeCookie != s_none); - _fileChangeCookie = new Lazy(() => + _fileChangeCookie = new AsyncLazy(async cancellationToken => + { + try + { + return await ((IVsAsyncFileChangeEx)_fileChangeService).AdviseFileChangeAsync(_filePath, FileChangeFlags, this).ConfigureAwait(false); + } + catch (Exception e) when (ReportException(e)) + { + return null; + } + }, cancellationToken => { try { Marshal.ThrowExceptionForHR( - _fileChangeService.AdviseFileChange(_filePath, FileChangeWatcher.FileChangeFlags, this, out var newCookie)); + _fileChangeService.AdviseFileChange(_filePath, (uint)FileChangeFlags, this, out var newCookie)); return newCookie; } catch (Exception e) when (ReportException(e)) { return null; } - }, LazyThreadSafetyMode.ExecutionAndPublication); + }, cacheResult: true); lock (s_lastBackgroundTaskGate) { - s_lastBackgroundTask = s_lastBackgroundTask.ContinueWith(_ => _fileChangeCookie.Value, CancellationToken.None, TaskContinuationOptions.None, TaskScheduler.Default); + s_lastBackgroundTask = s_lastBackgroundTask.ContinueWith(_ => _fileChangeCookie.GetValueAsync(CancellationToken.None), CancellationToken.None, TaskContinuationOptions.None, TaskScheduler.Default).Unwrap(); } } @@ -146,7 +159,7 @@ public void StopFileChangeListening() return; } - var fileChangeCookie = _fileChangeCookie.Value; + var fileChangeCookie = _fileChangeCookie.GetValue(CancellationToken.None); _fileChangeCookie = s_none; // We may have tried to subscribe but failed, so have to check a second time @@ -183,5 +196,44 @@ int IVsFileChangeEvents.FilesChanged(uint changeCount, string[] files, uint[] ch return VSConstants.S_OK; } + + int IVsFreeThreadedFileChangeEvents2.FilesChanged(uint cChanges, string[] rgpszFile, uint[] rggrfChange) + { + UpdatedOnDisk?.Invoke(this, EventArgs.Empty); + + return VSConstants.S_OK; + } + + int IVsFreeThreadedFileChangeEvents2.DirectoryChanged(string pszDirectory) + { + throw new Exception("We only watch files; we should never be seeing directory changes!"); + } + + int IVsFreeThreadedFileChangeEvents2.DirectoryChangedEx(string pszDirectory, string pszFile) + { + throw new Exception("We only watch files; we should never be seeing directory changes!"); + } + + int IVsFreeThreadedFileChangeEvents2.DirectoryChangedEx2(string pszDirectory, uint cChanges, string[] rgpszFile, uint[] rggrfChange) + { + throw new Exception("We only watch files; we should never be seeing directory changes!"); + } + + int IVsFreeThreadedFileChangeEvents.FilesChanged(uint cChanges, string[] rgpszFile, uint[] rggrfChange) + { + UpdatedOnDisk?.Invoke(this, EventArgs.Empty); + + return VSConstants.S_OK; + } + + int IVsFreeThreadedFileChangeEvents.DirectoryChanged(string pszDirectory) + { + throw new Exception("We only watch files; we should never be seeing directory changes!"); + } + + int IVsFreeThreadedFileChangeEvents.DirectoryChangedEx(string pszDirectory, string pszFile) + { + throw new Exception("We only watch files; we should never be seeing directory changes!"); + } } } diff --git a/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeWatcher.cs b/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeWatcher.cs index b29f6ee920941..b633b49b5323e 100644 --- a/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeWatcher.cs +++ b/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeWatcher.cs @@ -1,9 +1,11 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Threading; using System.Threading.Tasks; using Microsoft.VisualStudio.Shell.Interop; using Roslyn.Utilities; +using IVsAsyncFileChangeEx = Microsoft.VisualStudio.Shell.IVsAsyncFileChangeEx; namespace Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem { @@ -22,21 +24,28 @@ internal sealed class FileChangeWatcher /// /// We create a queue of tasks against the IVsFileChangeEx service for two reasons. First, we are obtaining the service asynchronously, and don't want to - /// block on it being available, so anybody who wants to do anything must wait for it. Secondly, the service itself is single-threaded; in the past - /// we've blocked up a bunch of threads all trying to use it at once. If the latter ever changes, we probably want to reconsider the implementation of this. + /// block on it being available, so anybody who wants to do anything must wait for it. Secondly, the service itself is single-threaded; the entry points + /// are asynchronous so we avoid starving the thread pool, but there's still no reason to create a lot more work blocked than needed. Finally, since this + /// is all happening async, we generally need to ensure that an operation that happens for an earlier call to this is done before we do later calls. For example, + /// if we started a subscription for a file, we need to make sure that's done before we try to unsubscribe from it. /// For performance and correctness reasons, NOTHING should ever do a block on this; figure out how to do your work without a block and add any work to /// the end of the queue. /// - private Task _taskQueue; - private static readonly Func, object, IVsFileChangeEx> _executeActionDelegate = - (precedingTask, state) => { ((Action)state)(precedingTask.Result); return precedingTask.Result; }; + private Task _taskQueue; + private static readonly Func, object, Task> _executeActionDelegate = + async (precedingTask, state) => + { + var action = (Func)state; + await action(precedingTask.Result).ConfigureAwait(false); + return precedingTask.Result; + }; - public FileChangeWatcher(Task fileChangeService) + public FileChangeWatcher(Task fileChangeService) { _taskQueue = fileChangeService; } - private void EnqueueWork(Action action) + private void EnqueueWork(Func action) { lock (_taskQueueGate) { @@ -45,7 +54,7 @@ private void EnqueueWork(Action action) action, CancellationToken.None, TaskContinuationOptions.None, - TaskScheduler.Default); + TaskScheduler.Default).Unwrap(); } } @@ -110,7 +119,7 @@ public interface IFileWatchingToken { } - private sealed class Context : IVsFreeThreadedFileChangeEvents, IContext + private sealed class Context : IVsFreeThreadedFileChangeEvents2, IContext { private readonly FileChangeWatcher _fileChangeWatcher; private readonly string _directoryFilePathOpt; @@ -139,7 +148,10 @@ public Context(FileChangeWatcher fileChangeWatcher, string directoryFilePath) _directoryFilePathOpt = directoryFilePath; _fileChangeWatcher.EnqueueWork( - service => { ErrorHandler.ThrowOnFailure(service.AdviseDirChange(_directoryFilePathOpt, fWatchSubDir: 1, this, out _directoryWatchCookie)); }); + async service => + { + _directoryWatchCookie = await service.AdviseDirChangeAsync(_directoryFilePathOpt, watchSubdirectories: true, this).ConfigureAwait(false); + }); } } @@ -156,19 +168,19 @@ public void Dispose() } _fileChangeWatcher.EnqueueWork( - service => + async service => { // Since we put all of our work in a queue, we know that if we had tried to advise file or directory changes, // it must have happened before now if (_directoryFilePathOpt != null) { - ErrorHandler.ThrowOnFailure(service.UnadviseDirChange(_directoryWatchCookie)); + await service.UnadviseDirChangeAsync(_directoryWatchCookie).ConfigureAwait(false); } // it runs after disposed. so no lock is needed for _activeFileWatchingTokens foreach (var token in _activeFileWatchingTokens) { - UnsubscribeFileChangeEvents(service, token); + await UnsubscribeFileChangeEventsAsync(service, token).ConfigureAwait(false); } }); } @@ -188,12 +200,9 @@ public IFileWatchingToken EnqueueWatchingFile(string filePath) _activeFileWatchingTokens.Add(token); } - _fileChangeWatcher.EnqueueWork(service => + _fileChangeWatcher.EnqueueWork(async service => { - uint cookie; - ErrorHandler.ThrowOnFailure(service.AdviseFileChange(filePath, FileChangeFlags, this, out cookie)); - - token.Cookie = cookie; + token.Cookie = await service.AdviseFileChangeAsync(filePath, _VSFILECHANGEFLAGS.VSFILECHG_Size | _VSFILECHANGEFLAGS.VSFILECHG_Time, this).ConfigureAwait(false); }); return token; @@ -216,12 +225,12 @@ public void StopWatchingFile(IFileWatchingToken token) Contract.ThrowIfFalse(_activeFileWatchingTokens.Remove(typedToken), "This token was no longer being watched."); } - _fileChangeWatcher.EnqueueWork(service => UnsubscribeFileChangeEvents(service, typedToken)); + _fileChangeWatcher.EnqueueWork(service => UnsubscribeFileChangeEventsAsync(service, typedToken)); } - private void UnsubscribeFileChangeEvents(IVsFileChangeEx service, FileWatchingToken typedToken) + private Task UnsubscribeFileChangeEventsAsync(IVsAsyncFileChangeEx service, FileWatchingToken typedToken) { - ErrorHandler.ThrowOnFailure(service.UnadviseFileChange(typedToken.Cookie.Value)); + return service.UnadviseFileChangeAsync(typedToken.Cookie.Value); } public event EventHandler FileChanged; @@ -238,17 +247,23 @@ int IVsFreeThreadedFileChangeEvents.FilesChanged(uint cChanges, string[] rgpszFi int IVsFreeThreadedFileChangeEvents.DirectoryChanged(string pszDirectory) { + Debug.Fail("Since we're implementing IVsFreeThreadedFileChangeEvents2.DirectoryChangedEx2, this should not be called."); return VSConstants.E_NOTIMPL; } - int IVsFreeThreadedFileChangeEvents.DirectoryChangedEx(string pszDirectory, string pszFile) + int IVsFreeThreadedFileChangeEvents2.DirectoryChanged(string pszDirectory) { - FileChanged?.Invoke(this, pszFile); + Debug.Fail("Since we're implementing IVsFreeThreadedFileChangeEvents2.DirectoryChangedEx2, this should not be called."); + return VSConstants.E_NOTIMPL; + } - return VSConstants.S_OK; + int IVsFreeThreadedFileChangeEvents2.DirectoryChangedEx(string pszDirectory, string pszFile) + { + Debug.Fail("Since we're implementing IVsFreeThreadedFileChangeEvents2.DirectoryChangedEx2, this should not be called."); + return VSConstants.E_NOTIMPL; } - int IVsFileChangeEvents.FilesChanged(uint cChanges, string[] rgpszFile, uint[] rggrfChange) + int IVsFreeThreadedFileChangeEvents2.DirectoryChangedEx2(string pszDirectory, uint cChanges, string[] rgpszFile, uint[] rggrfChange) { for (int i = 0; i < cChanges; i++) { @@ -258,6 +273,12 @@ int IVsFileChangeEvents.FilesChanged(uint cChanges, string[] rgpszFile, uint[] r return VSConstants.S_OK; } + int IVsFileChangeEvents.FilesChanged(uint cChanges, string[] rgpszFile, uint[] rggrfChange) + { + Debug.Fail("Since we're implementing IVsFreeThreadedFileChangeEvents2.FilesChanged, this should not be called."); + return VSConstants.E_NOTIMPL; + } + int IVsFileChangeEvents.DirectoryChanged(string pszDirectory) { return VSConstants.E_NOTIMPL; @@ -274,6 +295,22 @@ public class FileWatchingToken : IFileWatchingToken /// public uint? Cookie; } + + int IVsFreeThreadedFileChangeEvents2.FilesChanged(uint cChanges, string[] rgpszFile, uint[] rggrfChange) + { + for (int i = 0; i < cChanges; i++) + { + FileChanged?.Invoke(this, rgpszFile[i]); + } + + return VSConstants.S_OK; + } + + int IVsFreeThreadedFileChangeEvents.DirectoryChangedEx(string pszDirectory, string pszFile) + { + Debug.Fail("Since we're implementing IVsFreeThreadedFileChangeEvents2.DirectoryChangedEx2, this should not be called."); + return VSConstants.E_NOTIMPL; + } } } } diff --git a/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeWatcherProvider.cs b/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeWatcherProvider.cs index 10af2181a6e12..e3ca029e7e12d 100644 --- a/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeWatcherProvider.cs +++ b/src/VisualStudio/Core/Def/Implementation/ProjectSystem/FileChangeWatcherProvider.cs @@ -4,13 +4,14 @@ using Microsoft.CodeAnalysis.Editor.Shared.Utilities; using Microsoft.VisualStudio.Shell; using Microsoft.VisualStudio.Shell.Interop; +using IVsAsyncFileChangeEx = Microsoft.VisualStudio.Shell.IVsAsyncFileChangeEx; namespace Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem { [Export(typeof(FileChangeWatcherProvider))] internal sealed class FileChangeWatcherProvider { - private readonly TaskCompletionSource _fileChangeService = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + private readonly TaskCompletionSource _fileChangeService = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); [ImportingConstructor] public FileChangeWatcherProvider(IThreadingContext threadingContext, [Import(typeof(SVsServiceProvider))] Shell.IAsyncServiceProvider serviceProvider) @@ -23,7 +24,7 @@ public FileChangeWatcherProvider(IThreadingContext threadingContext, [Import(typ { await threadingContext.JoinableTaskFactory.SwitchToMainThreadAsync(); - var fileChangeService = (IVsFileChangeEx)await serviceProvider.GetServiceAsync(typeof(SVsFileChangeEx)).ConfigureAwait(true); + var fileChangeService = (IVsAsyncFileChangeEx)await serviceProvider.GetServiceAsync(typeof(SVsFileChangeEx)).ConfigureAwait(true); _fileChangeService.SetResult(fileChangeService); }); } @@ -38,7 +39,7 @@ public FileChangeWatcherProvider(IThreadingContext threadingContext, [Import(typ // fix for a preview release that's too risky to do it in. Other options involve more extensive // mocking or extracting of interfaces which is also just churn that will be immediately undone // once we clean up the constructor either. - internal void TrySetFileChangeService_TestOnly(IVsFileChangeEx fileChange) + internal void TrySetFileChangeService_TestOnly(IVsAsyncFileChangeEx fileChange) { _fileChangeService.TrySetResult(fileChange); } diff --git a/src/VisualStudio/Core/Def/Microsoft.VisualStudio.LanguageServices.csproj b/src/VisualStudio/Core/Def/Microsoft.VisualStudio.LanguageServices.csproj index 53476eec93b25..9e563a5224605 100644 --- a/src/VisualStudio/Core/Def/Microsoft.VisualStudio.LanguageServices.csproj +++ b/src/VisualStudio/Core/Def/Microsoft.VisualStudio.LanguageServices.csproj @@ -184,6 +184,7 @@ + diff --git a/src/VisualStudio/Core/Def/RoslynPackage.cs b/src/VisualStudio/Core/Def/RoslynPackage.cs index ea979dd6da1b2..d76bac43e0189 100644 --- a/src/VisualStudio/Core/Def/RoslynPackage.cs +++ b/src/VisualStudio/Core/Def/RoslynPackage.cs @@ -16,8 +16,10 @@ using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Versions; using Microsoft.VisualStudio.ComponentModelHost; +using Microsoft.VisualStudio.Language.CodeCleanUp; using Microsoft.VisualStudio.LanguageServices.Experimentation; using Microsoft.VisualStudio.LanguageServices.Implementation; +using Microsoft.VisualStudio.LanguageServices.Implementation.CodeCleanup; using Microsoft.VisualStudio.LanguageServices.Implementation.Diagnostics; using Microsoft.VisualStudio.LanguageServices.Implementation.Interactive; using Microsoft.VisualStudio.LanguageServices.Implementation.LanguageService; @@ -86,6 +88,8 @@ protected override async Task InitializeAsync(CancellationToken cancellationToke _solutionEventMonitor = new SolutionEventMonitor(_workspace); TrackBulkFileOperations(); + + RegisterCodeCleanupProvider(); } private void InitializeColors() @@ -129,6 +133,13 @@ protected override async Task LoadComponentsAsync(CancellationToken cancellation LoadComponentsBackgroundAsync(cancellationToken).Forget(); } + private void RegisterCodeCleanupProvider() + { + var regService = ComponentModel.GetService(); + var provider = ComponentModel.GetService(); + regService.TryRegisterFixerProvider(provider); + } + private async Task LoadComponentsBackgroundAsync(CancellationToken cancellationToken) { await TaskScheduler.Default; diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf index 9f24061928d81..d1e7364cf65ab 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + Přidat do _aktuálního souboru Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + Aby bylo možné dokončit refaktoring, je nutné udělat další změny. Zkontrolujte změny níže. @@ -19,7 +19,7 @@ Allow: - Allow: + Povolit: @@ -34,37 +34,37 @@ Avoid expression statements that implicitly ignore value - Vyhněte se příkazům výrazů, které implicitně ignorují hodnotu + Vyhněte se výrazům, které implicitně ignorují hodnotu. Avoid unused parameters - Vyhněte se nevyužitým parametrům + Vyhněte se nepoužitým parametrům. Avoid unused value assignments - Vyhněte se nepoužitým přiřazením hodnoty + Vyhněte se přiřazení nepoužitých hodnot. Back - Back + Zpět Calculating dependents... - Calculating dependents... + Počítají se závislosti... Classifications - Classifications + Klasifikace Colorize regular expressions - Obarvovat regulární výrazy + Obarvit regulární výrazy @@ -74,7 +74,7 @@ Finish - Finish + Dokončit @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + Rozhraní nemůže mít pole. @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + Nastavit {0} jako abstraktní Make abstract - Make abstract + Nastavit jako abstraktní Members - Members + Členové @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + Obor názvů: {0} @@ -159,12 +159,12 @@ Prefer index operator - Přednost operátoru indexu + Preferovat operátor indexu Prefer range operator - Přednost operátoru rozsahu + Preferovat operátor rozsahu @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + Stáhnout členy @@ -194,7 +194,7 @@ Report invalid regular expressions - Hlásit neplatné regulární výrazy + Nahlásit neplatné regulární výrazy @@ -204,7 +204,7 @@ Review Changes - Review Changes + Zkontrolovat změny @@ -214,37 +214,37 @@ Select destination - Select destination + Vybrat cíl _Select Dependents - _Select Dependents + _Vybrat závislé položky _Select Public - _Select Public + _Vybrat veřejné Select destination and members to pull up. - Select destination and members to pull up. + Vyberte cíl a členy ke stažení. Select destination: - Select destination: + Vybrat cíl: Select member - Select member + Vybrat člena Select members: - Select members: + Vybrat členy: @@ -254,37 +254,37 @@ Unused value is explicitly assigned to an unused local - Nepoužitá hodnota je explicitně přiřazená k nepoužité místní proměnné + Nepoužitá hodnota se explicitně přiřadí nepoužité lokální hodnotě. Unused value is explicitly assigned to discard - Nepoužitá hodnota je explicitně přiřazen k zahození. + Nepoužitá hodnota se explicitně přiřadí k zahození. Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + Pro C# a Basic používat rozšířené barvy Use expression body for lambdas - Používat text výrazu pro lambdy + Pro výrazy lambda používat text výrazu Use expression body for local functions - Use expression body for local functions + Pro místní funkce používat text výrazu Value assigned here is never used - Hodnota přiřazená sem se nikdy nepoužívá + Zde přiřazená hodnota se nikdy nepoužije. Value returned by invocation is implicitly ignored - Hodnotu vrácená vyvoláním se implicitně ignorovuje + Hodnota vrácená voláním je implicitně ignorována. @@ -409,7 +409,7 @@ End position must be >= start position - Koncová pozice musí být >= počáteční pozici + Konečná pozice musí být >= počáteční pozici. @@ -419,17 +419,17 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + {0} se změní na abstraktní. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + {0} se změní na nestatický. '{0}' will be changed to public. - '{0}' will be changed to public. + {0} se změní na veřejný. @@ -499,7 +499,7 @@ Assembly - sestavení + Sestavení @@ -519,7 +519,7 @@ Project - PROJECT + Projekt @@ -631,7 +631,7 @@ V rozevíracím seznamu si můžete zobrazit jiné projekty, ke kterým by tento Cancel - Zrušit + Storno @@ -731,7 +731,7 @@ V rozevíracím seznamu si můžete zobrazit jiné projekty, ke kterým by tento Parameter - parametr + Parametr @@ -801,7 +801,7 @@ V rozevíracím seznamu si můžete zobrazit jiné projekty, ke kterým by tento <Unknown> - <Není známé> + <Neznámý> @@ -981,7 +981,7 @@ V rozevíracím seznamu si můžete zobrazit jiné projekty, ke kterým by tento <Unknown> - <Není známo> + <Neznámý> @@ -1285,7 +1285,7 @@ Další informace: {1} --- End of inner exception stack trace --- - --- Konec trasování zásobníku pro vnitřní výjimku --- + --- Konec trasování zásobníku vnitřních výjimek --- diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf index 8adffe546c540..cc8cc2ffd36cd 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + Zu a_ktueller Datei hinzufügen Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + Es sind weitere Änderungen erforderlich, um das Refactoring abzuschließen. Prüfen Sie die unten aufgeführten Änderungen. @@ -19,7 +19,7 @@ Allow: - Allow: + Zulassen: @@ -49,17 +49,17 @@ Back - Back + Zurück Calculating dependents... - Calculating dependents... + Abhängige Objekte werden berechnet... Classifications - Classifications + Klassifikationen @@ -74,7 +74,7 @@ Finish - Finish + Beenden @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + Die Schnittstelle kann kein Feld aufweisen. @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + "{0}" als abstrakt festlegen Make abstract - Make abstract + Als abstrakt festlegen Members - Members + Member @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + Namespace: {0} @@ -139,12 +139,12 @@ Non-public methods - Nicht-öffentliche Methoden + Nicht öffentliche Methoden Parameter preferences: - Einstellungen für Parameter: + Parametereinstellungen: @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + Member nach oben ziehen @@ -194,7 +194,7 @@ Report invalid regular expressions - Ungültiger reguläre Ausdrücke melden + Ungültige reguläre Ausdrücke melden @@ -204,7 +204,7 @@ Review Changes - Review Changes + Änderungen überprüfen @@ -214,37 +214,37 @@ Select destination - Select destination + Ziel auswählen _Select Dependents - _Select Dependents + Abhängige Objekte au_swählen _Select Public - _Select Public + Öffentliche au_swählen Select destination and members to pull up. - Select destination and members to pull up. + Wählen Sie das Ziel und die nach oben zu ziehenden Member aus. Select destination: - Select destination: + Ziel auswählen: Select member - Select member + Member auswählen Select members: - Select members: + Member auswählen: @@ -254,7 +254,7 @@ Unused value is explicitly assigned to an unused local - Der nicht verwendete Wert wird explizit einer nicht verwendeten lokalen Variable zugewiesen. + Der nicht verwendete Wert wird explizit einer nicht verwendeten lokalen Variablen zugewiesen. @@ -264,7 +264,7 @@ Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + Erweiterte Farben für C# und Basic verwenden @@ -274,7 +274,7 @@ Use expression body for local functions - Use expression body for local functions + Ausdruckskörper für lokale Funktionen verwenden @@ -284,7 +284,7 @@ Value returned by invocation is implicitly ignored - Der von diesem Aufruf zurückgegebene Wert wird implizit ignoriert. + Der vom Aufruf zurückgegebene Wert wird implizit ignoriert. @@ -409,7 +409,7 @@ End position must be >= start position - Endposition muss >= Startposition sein. + Endposition muss >= Startposition sein @@ -419,22 +419,22 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + "{0}" wird in abstrakten Wert geändert. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + "{0}" wird in nicht statischen Wert geändert. '{0}' will be changed to public. - '{0}' will be changed to public. + "{0}" wird in öffentlichen Wert geändert. given workspace doesn't support undo - Angegebener Arbeitsbereich unterstützt die Funktion "Rückgängig" nicht + Der angegebene Arbeitsbereich unterstützt die Funktion "Rückgängig" nicht. @@ -449,7 +449,7 @@ Can't find where to insert member - Position zum Einfügen des Elements nicht gefunden. + Position zum Einfügen des Members nicht gefunden. @@ -499,7 +499,7 @@ Assembly - Assembly + Assembly @@ -756,7 +756,7 @@ Verwenden Sie die Dropdownliste, um weitere zu dieser Datei gehörige Projekte a Type - Type + Typ @@ -836,7 +836,7 @@ Verwenden Sie die Dropdownliste, um weitere zu dieser Datei gehörige Projekte a '{0}' encountered an error and has been disabled. - '"{0}" hat einen Fehler festgestellt und wurde deaktiviert. + "{0}" hat einen Fehler festgestellt und wurde deaktiviert. @@ -1280,12 +1280,12 @@ Zusätzliche Informationen: {1} <Unknown Parameters> - <Unbekannter Parameter> + <Unbekannte Parameter> --- End of inner exception stack trace --- - --- Ende der internen Ausnahmestapelüberwachung --- + --- Ende der inneren Ausnahmestapelüberwachung --- @@ -1505,12 +1505,12 @@ Zusätzliche Informationen: {1} or - Oder + oder built-in types - Integrierte Typen + integrierte Typen diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf index fbac9358db870..c56b9ce54a078 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + Agregar al archivo _actual Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + Se necesitan cambios adicionales para finalizar la refactorización. Revise los cambios a continuación. @@ -19,7 +19,7 @@ Allow: - Allow: + Permitir: @@ -34,37 +34,37 @@ Avoid expression statements that implicitly ignore value - Evitar declaraciones de expresión que implícitamente ignoran el valor + Evitar instrucciones de expresión que omiten implícitamente el valor Avoid unused parameters - Evitar parámetros no utilizados + Evitar parámetros sin usar Avoid unused value assignments - Evitar asignaciones de valor no utilizadas + Evitar asignaciones de valores sin usar Back - Back + Atrás Calculating dependents... - Calculating dependents... + Calculando dependientes... Classifications - Classifications + Clasificaciones Colorize regular expressions - Colorear las expresiones regulares + Colorear expresiones regulares @@ -74,17 +74,17 @@ Finish - Finish + Finalizar Generate .editorconfig file from settings - Generar archivo .editorconfig desde la configuración + Generar archivo .editorconfig a partir de la configuración Highlight related components under cursor - Destacar componentes relacionados bajo el cursor + Resaltar componentes relacionados bajo el cursor @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + La interfaz no puede tener campos. @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + Convertir "{0}" en abstracto Make abstract - Make abstract + Convertir en abstracto Members - Members + Miembros @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + Espacio de nombres: "{0}" @@ -139,12 +139,12 @@ Non-public methods - Métodos no-públicos + Miembros no públicos Parameter preferences: - Preferencias de parámetro: + Preferencias de parámetros: @@ -154,7 +154,7 @@ Prefer compound assignments - Preferir tareas compuestas + Preferir asignaciones compuestas @@ -164,7 +164,7 @@ Prefer range operator - Preferir el operador de intervalo + Preferir operador de intervalo @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + Extraer miembros @@ -194,7 +194,7 @@ Report invalid regular expressions - Informar de las expresiones regulares no válidas + Notificar expresiones regulares no válidas @@ -204,47 +204,47 @@ Review Changes - Review Changes + Revisar cambios Save .editorconfig file - Guardar archivo de .editorconfig + Guardar archivo .editorconfig Select destination - Select destination + Seleccionar destino _Select Dependents - _Select Dependents + _Seleccionar dependientes _Select Public - _Select Public + _Seleccionar público Select destination and members to pull up. - Select destination and members to pull up. + Seleccionar destino y miembros para extraer. Select destination: - Select destination: + Seleccionar destino: Select member - Select member + Seleccionar miembro Select members: - Select members: + Seleccionar miembros: @@ -254,17 +254,17 @@ Unused value is explicitly assigned to an unused local - El valor no utilizado se asigna explícitamente a una referencia local no utilizada + El valor sin usar se asigna explícitamente a una variable local sin usar Unused value is explicitly assigned to discard - El valor no utilizado se asigna explícitamente para descartar + El valor sin usar se asigna explícitamente para descartar Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + Usar los colores mejorados para C# y Basic @@ -274,17 +274,17 @@ Use expression body for local functions - Use expression body for local functions + Usar cuerpo de expresión para funciones locales Value assigned here is never used - El valor asignado aquí nunca se utiliza + El valor asignado aquí no se usa nunca Value returned by invocation is implicitly ignored - Implícitamente se omite el valor devuelto por invocación + El valor devuelto por la invocación se omite implícitamente @@ -409,7 +409,7 @@ End position must be >= start position - La posición final debe estar en la posición de inicio >= + La posición final debe ser >= que la posición de inicio @@ -419,22 +419,22 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + "{0}" se cambiará a abstracto. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + "{0}" se cambiará a no estático. '{0}' will be changed to public. - '{0}' will be changed to public. + "{0}" se cambiará a público. given workspace doesn't support undo - El área de trabajo dada no permite deshacer + el área de trabajo determinada no permite deshacer @@ -499,7 +499,7 @@ Assembly - ensamblado + Ensamblado @@ -519,7 +519,7 @@ Project - Proyecto + Proyecto @@ -731,7 +731,7 @@ Use la lista desplegable para ver y cambiar a otros proyectos a los que puede pe Parameter - parámetro + Parámetro @@ -746,7 +746,7 @@ Use la lista desplegable para ver y cambiar a otros proyectos a los que puede pe Preview reference changes - Vista previa de los cambios de referencia + Vista previa de cambios de referencia @@ -801,7 +801,7 @@ Use la lista desplegable para ver y cambiar a otros proyectos a los que puede pe <Unknown> - <Ddesconocido> + <Desconocido> @@ -836,7 +836,7 @@ Use la lista desplegable para ver y cambiar a otros proyectos a los que puede pe '{0}' encountered an error and has been disabled. - '{0}' detectó un error y se ha deshabilitado. + "{0}" detectó un error y se ha deshabilitado. @@ -851,7 +851,7 @@ Use la lista desplegable para ver y cambiar a otros proyectos a los que puede pe No Changes - No hay cambios + Sin cambios @@ -901,7 +901,7 @@ Use la lista desplegable para ver y cambiar a otros proyectos a los que puede pe N/A - N/A + N/D @@ -1141,12 +1141,12 @@ Use la lista desplegable para ver y cambiar a otros proyectos a los que puede pe example - Ejemplo + ejemplo IdentifierWord_Example and IdentifierWord_Identifier are combined (with prefixes, suffixes, and word separators) into an example identifier name in the NamingStyle UI. identifier - Identificador + identificador IdentifierWord_Example and IdentifierWord_Identifier are combined (with prefixes, suffixes, and word separators) into an example identifier name in the NamingStyle UI. @@ -1285,7 +1285,7 @@ Información adicional: {1} --- End of inner exception stack trace --- - --- Fin del seguimiento de la pila de excepción interna --- + --- Fin del seguimiento de la pila de la excepción interna --- @@ -1505,7 +1505,7 @@ Información adicional: {1} or - O + o diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf index 630836f21d311..ea93e933cc933 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + Ajouter au fichier a_ctif Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + Des changements supplémentaires sont nécessaires pour effectuer la refactorisation. Passez en revue les changements ci-dessous. @@ -19,7 +19,7 @@ Allow: - Allow: + Autoriser : @@ -29,7 +29,7 @@ Apply '{0}' keymapping scheme - Appliquer le schéma de configuration du clavier '{0}' + Appliquer le modèle de configuration du clavier '{0}' @@ -44,27 +44,27 @@ Avoid unused value assignments - Éviter les attributions de valeur inutilisée + Éviter les affectations de valeurs inutilisées Back - Back + Précédent Calculating dependents... - Calculating dependents... + Calcul des dépendants... Classifications - Classifications + Classifications Colorize regular expressions - Colorer les expressions régulières + Coloriser les expressions régulières @@ -74,17 +74,17 @@ Finish - Finish + Terminer Generate .editorconfig file from settings - Générer un fichier .editorconfig à partir des paramètres + Générer le fichier .editorconfig à partir des paramètres Highlight related components under cursor - Mettre en évidence les composants connexes sous le curseur + Surligner les composants liés sous le curseur @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + L'interface ne peut pas avoir de champ. @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + Rendre '{0}' abstrait Make abstract - Make abstract + Rendre abstrait Members - Members + Membres @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + Espace de noms : '{0}' @@ -144,17 +144,17 @@ Parameter preferences: - Préférences de paramètre : + Préférences relatives aux paramètres : Parentheses preferences: - Préférences de parenthèses : + Préférences relatives aux parenthèses : Prefer compound assignments - Préférer les attributions composées + Préférer les affectations composées @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + Élever les membres @@ -204,7 +204,7 @@ Review Changes - Review Changes + Passer en revue les changements @@ -214,37 +214,37 @@ Select destination - Select destination + Sélectionner la destination _Select Dependents - _Select Dependents + _Sélectionner Dépendants _Select Public - _Select Public + _Sélectionner Public Select destination and members to pull up. - Select destination and members to pull up. + Sélectionnez la destination et les membres à élever. Select destination: - Select destination: + Sélectionner la destination : Select member - Select member + Sélectionner le membre Select members: - Select members: + Sélectionner les membres : @@ -254,42 +254,42 @@ Unused value is explicitly assigned to an unused local - Une valeur inutilisée est explicitement attribuée à un local inutilisé + La valeur inutilisée est explicitement affectée à une variable locale inutilisée Unused value is explicitly assigned to discard - La valeur non utilisée est explicitement marquée pour être ignorée + La valeur inutilisée est explicitement affectée à une variable discard Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + Utiliser les couleurs améliorées en C# et Basic Use expression body for lambdas - Utiliser le corps d'expression pour les expressions lambda + Utiliser un corps d'expression pour les expressions lambda Use expression body for local functions - Use expression body for local functions + Utiliser un corps d'expression pour les fonctions locales Value assigned here is never used - La valeur attribuée ici n'est jamais utilisée + La valeur affectée ici n'est jamais utilisée Value returned by invocation is implicitly ignored - La valeur retournée par l'appel est implicitement ignorée + La valeur retournée par invocation est implicitement ignorée We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor. - Nous avons remarqué que vous avez interrompu '{0}'. Réinitialisez la configuration du clavier pour continuer la navigation et la refactorisation. + Nous avons remarqué que vous avez interrompu '{0}'. Réinitialisez la configuration du clavier pour continuer à naviguer et à refactoriser. @@ -409,7 +409,7 @@ End position must be >= start position - La position de fin doit être >= position de départ + La position de fin doit être >= à la position de départ @@ -419,22 +419,22 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + '{0}' va être changé en valeur abstraite. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + '{0}' va être changé en valeur non statique. '{0}' will be changed to public. - '{0}' will be changed to public. + '{0}' va être changé en valeur publique. given workspace doesn't support undo - L'espace de travail donné ne prend pas en charge la fonction Annuler + l'espace de travail donné ne prend pas en charge la fonction Annuler @@ -499,7 +499,7 @@ Assembly - assembly + Assembly @@ -519,12 +519,12 @@ Project - Projet + Projet Remarks: - Remarques : + Notes : @@ -731,7 +731,7 @@ Utilisez le menu déroulant pour afficher et basculer vers d'autres projets auqu Parameter - paramètre + Paramètre @@ -891,7 +891,7 @@ Utilisez le menu déroulant pour afficher et basculer vers d'autres projets auqu Active - ACTIVÉ + Actif @@ -1141,7 +1141,7 @@ Utilisez le menu déroulant pour afficher et basculer vers d'autres projets auqu example - Exemple + exemple IdentifierWord_Example and IdentifierWord_Identifier are combined (with prefixes, suffixes, and word separators) into an example identifier name in the NamingStyle UI. @@ -1505,12 +1505,12 @@ Informations supplémentaires : {1} or - Ou + ou built-in types - Types intégrés + types intégrés @@ -1800,7 +1800,7 @@ Je suis d'accord avec tout ce qui précède : Prefer conditional expression over 'if' with assignments - Préférer une expression conditionnelle à 'if' avec des attributions + Préférer une expression conditionnelle à 'if' avec des affectations diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf index 4dea7582df9e2..aff76c98af466 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + Aggiungi al file _corrente Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + Per completare il refactoring, sono necessarie modifiche aggiuntive. Esaminare le modifiche di seguito. @@ -19,7 +19,7 @@ Allow: - Allow: + Consenti: @@ -29,37 +29,37 @@ Apply '{0}' keymapping scheme - Applica lo schema di mapping tasti '{0}' + Applica lo schema di mapping dei tasti '{0}' Avoid expression statements that implicitly ignore value - Evita istruzioni di espressione che ignorano in modo implicito il valore + Evita le istruzioni di espressione che ignorano il valore in modo implicito Avoid unused parameters - Evita parametri inutilizzati + Evita i parametri inutilizzati Avoid unused value assignments - Evita assegnazioni valore inutilizzate + Evita le assegnazioni di valori inutilizzati Back - Back + Indietro Calculating dependents... - Calculating dependents... + Calcolo dei dipendenti... Classifications - Classifications + Classificazioni @@ -74,7 +74,7 @@ Finish - Finish + Fine @@ -84,7 +84,7 @@ Highlight related components under cursor - Evidenzia componenti correlati sotto il cursore + Evidenzia i componenti correlati sotto il cursore @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + L'interfaccia non può contenere il campo. @@ -104,22 +104,22 @@ Kind - Tipologia + Tipo Make '{0}' abstract - Make '{0}' abstract + Rendi astratto '{0}' Make abstract - Make abstract + Rendi astratto Members - Members + Membri @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + Spazio dei nomi: '{0}' @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + Recupera membri @@ -199,12 +199,12 @@ Reset Visual Studio default keymapping - Reimposta il mapping tasti predefinito di Visual Studio + Reimposta il mapping dei tasti predefinito di Visual Studio Review Changes - Review Changes + Esamina modifiche @@ -214,37 +214,37 @@ Select destination - Select destination + Seleziona destinazione _Select Dependents - _Select Dependents + _Seleziona dipendenti _Select Public - _Select Public + _Seleziona pubblici Select destination and members to pull up. - Select destination and members to pull up. + Selezionare la destinazione e i membri da recuperare. Select destination: - Select destination: + Selezionare la destinazione: Select member - Select member + Seleziona membro Select members: - Select members: + Selezionare i membri: @@ -254,17 +254,17 @@ Unused value is explicitly assigned to an unused local - Il valore inutilizzato viene assegnato a in modo esplicito a una variabile locale inutilizzata + Il valore inutilizzato viene assegnato in modo esplicito a una variabile locale inutilizzata Unused value is explicitly assigned to discard - Il valore inutilizzato è assegnato a discard in modo esplicito + Il valore inutilizzato viene assegnato in modo esplicito a discard Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + Usa colori migliorati per C# e Basic @@ -274,7 +274,7 @@ Use expression body for local functions - Use expression body for local functions + Usa il corpo dell'espressione per le funzioni locali @@ -289,7 +289,7 @@ We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor. - '{0}' è stato sospeso. Per continuare a esplorare e a effettuare il refactoring, reimpostare il mapping tasti. + È stato notato che '{0}' è stato sospeso. Reimpostare i mapping dei tasti per continuare a esplorare e a eseguire il refactoring. @@ -349,7 +349,7 @@ Getting DataTip text... - Recupero del testo del suggerimento dati... + Recupero del testo del suggerimento dati in corso... @@ -419,22 +419,22 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + '{0}' verrà modificato in astratto. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + '{0}' verrà modificato in non statico. '{0}' will be changed to public. - '{0}' will be changed to public. + '{0}' verrà modificato in pubblico. given workspace doesn't support undo - L'area di lavoro specificata non supporta l'annullamento di operazioni + l'area di lavoro specificata non supporta l'annullamento di operazioni @@ -499,7 +499,7 @@ Assembly - assembly + Assembly @@ -519,7 +519,7 @@ Project - PROGETTO + Progetto @@ -731,7 +731,7 @@ Usare l'elenco a discesa per visualizzare e passare ad altri progetti a cui ques Parameter - parametro + Parametro @@ -1510,7 +1510,7 @@ Informazioni aggiuntive: {1} built-in types - Tipi predefiniti + tipi predefiniti diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf index 3fc781a533ebc..a055c5db59524 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + 現在のファイルに追加(_C) Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + リファクタリングを完了するには、追加的な変更が必要です。下記の変更内容を確認してください。 @@ -19,7 +19,7 @@ Allow: - Allow: + 許可: @@ -34,37 +34,37 @@ Avoid expression statements that implicitly ignore value - 値を暗黙のうちに無視する式ステートメントを避ける + 値を暗黙的に無視する式ステートメントを指定しないでください Avoid unused parameters - 使用されていないパラメーターを避ける + 使用されないパラメーターを指定しないでください Avoid unused value assignments - 未使用の値の割り当てを避ける + 使用されない値割り当てを指定しないでください Back - Back + 戻る Calculating dependents... - Calculating dependents... + 依存を計算しています... Classifications - Classifications + 分類 Colorize regular expressions - 正規表現を色付け + 正規表現をカラー化 @@ -74,7 +74,7 @@ Finish - Finish + 終了 @@ -84,7 +84,7 @@ Highlight related components under cursor - カーソルの下の関連コンポーネントを強調表示する + カーソルの下にある関連コンポーネントをハイライトする @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + インターフェイスにフィールドを含めることはできません。 @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + '{0}' を抽象化する Make abstract - Make abstract + 抽象化する Members - Members + メンバー @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + 名前空間: '{0}' @@ -139,12 +139,12 @@ Non-public methods - 非パブリック メソッド + パブリックでないメソッド Parameter preferences: - パラメーターの設定: + パラメーターの優先順位: @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + メンバーをプルアップ @@ -194,7 +194,7 @@ Report invalid regular expressions - 不正な正規表現を報告 + 無効な正規表現を報告 @@ -204,47 +204,47 @@ Review Changes - Review Changes + 変更のプレビュー Save .editorconfig file - .editorconfig ファイルを保存 + .editorconfig ファイルの保存 Select destination - Select destination + 宛先の選択 _Select Dependents - _Select Dependents + 依存の選択(_S) _Select Public - _Select Public + パブリックの選択(_S) Select destination and members to pull up. - Select destination and members to pull up. + プルアップする宛先とメンバーを選択します。 Select destination: - Select destination: + 宛先の選択: Select member - Select member + メンバーの選択 Select members: - Select members: + メンバーの選択: @@ -254,37 +254,37 @@ Unused value is explicitly assigned to an unused local - 未使用の値は未使用のローカルに明示的に割り当てられます + 未使用のローカルに未使用の値が明示的に割り当てられます Unused value is explicitly assigned to discard - 未使用の値は破棄するよう明示的に割り当てます + 未使用の値が discard に明示的に割り当てられます Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + C# および Basic で拡張された色を使用します Use expression body for lambdas - ラムダ式に式本体を使用する + ラムダに式本体を使用します Use expression body for local functions - Use expression body for local functions + ローカル関数に式本体を使用します Value assigned here is never used - ここで割り当てられた値が使用されていません + ここで割り当てた値は一度も使用されません Value returned by invocation is implicitly ignored - 呼び出しによって返された値は暗黙的に無視されます + 呼び出しによって返された値が暗黙的に無視されます @@ -409,7 +409,7 @@ End position must be >= start position - 終了位置は開始位置以降でなければなりません + 終了位置は、開始位置以上の値にする必要があります @@ -419,17 +419,17 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + '{0}' は抽象に変更されます。 '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + '{0}' は非静的に変更されます。 '{0}' will be changed to public. - '{0}' will be changed to public. + '{0}' はパブリックに変更されます。 @@ -499,7 +499,7 @@ Assembly - アセンブリ + アセンブリ @@ -519,12 +519,12 @@ Project - プロジェクト + プロジェクト Remarks: - 注釈: + コメント: @@ -756,7 +756,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Type - 種類 + @@ -851,7 +851,7 @@ Use the dropdown to view and switch to other projects this file may belong to. No Changes - 変更はありません + 変更なし @@ -901,7 +901,7 @@ Use the dropdown to view and switch to other projects this file may belong to. N/A - なし + 該当なし @@ -1285,7 +1285,7 @@ Additional information: {1} --- End of inner exception stack trace --- - --- 内部例外スタック トレースの終わり --- + --- 内部例外のスタック トレースの終わり --- @@ -1410,7 +1410,7 @@ Additional information: {1} Severity - 重大度 + 重要度 @@ -1505,12 +1505,12 @@ Additional information: {1} or - OR + または built-in types - ビルトイン型 + 組み込み型 diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf index 8ebaee99de6c4..8385e2a26f253 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + 현재 파일에 추가(_C) Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + 리팩터링을 완료하려면 추가 변경이 필요합니다. 아래 변경 내용을 검토하세요. @@ -19,7 +19,7 @@ Allow: - Allow: + 허용: @@ -34,32 +34,32 @@ Avoid expression statements that implicitly ignore value - 값을 암시적으로 무시하는 식 문을 사용하지 마세요. + 암시적으로 값을 무시하는 식 문을 사용하지 마세요. Avoid unused parameters - 사용하지 않는 매개 변수 방지 + 사용되지 않는 매개 변수를 사용하지 마세요. Avoid unused value assignments - 사용하지 않는 값 할당 방지 + 사용되지 않는 값 할당을 사용하지 마세요. Back - Back + 뒤로 Calculating dependents... - Calculating dependents... + 종속 항목을 계산하는 중... Classifications - Classifications + 분류 @@ -74,7 +74,7 @@ Finish - Finish + 마침 @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + 인터페이스에는 필드가 포함될 수 없습니다. @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + '{0}'을(를) 추상으로 지정 Make abstract - Make abstract + 추상으로 지정 Members - Members + 멤버 @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + 네임스페이스: '{0}' @@ -154,7 +154,7 @@ Prefer compound assignments - 복합 할당 선호 + 복합 대입 선호 @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + 멤버 풀하기 @@ -204,47 +204,47 @@ Review Changes - Review Changes + 변경 내용 검토 Save .editorconfig file - .editorconfig 파일 저장 + editorconfig 파일 저장 Select destination - Select destination + 대상 선택 _Select Dependents - _Select Dependents + 종속 항목 선택(_S) _Select Public - _Select Public + 공용 선택(_S) Select destination and members to pull up. - Select destination and members to pull up. + 풀할 대상 및 멤버를 선택합니다. Select destination: - Select destination: + 대상 선택: Select member - Select member + 멤버 선택 Select members: - Select members: + 멤버 선택: @@ -254,17 +254,17 @@ Unused value is explicitly assigned to an unused local - 사용하지 않은 값은 사용하지 않은 로컬에 명시적으로 할당합니다. + 사용되지 않는 값이 사용되지 않는 로컬에 명시적으로 할당됩니다. Unused value is explicitly assigned to discard - 사용하지 않은 값은 버리기에 명시적으로 할당됩니다. + 사용되지 않는 값이 무시 항목에 명시적으로 할당됩니다. Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + C# 및 Basic에 향상된 색 사용 @@ -274,17 +274,17 @@ Use expression body for local functions - Use expression body for local functions + 로컬 함수에 식 본문 사용 Value assigned here is never used - 여기에 할당된 값이 사용되지 않습니다. + 여기에 할당된 값은 사용되지 않습니다. Value returned by invocation is implicitly ignored - 호출에서 반환된 값은 암시적으로 무시됩니다. + 호출로 반환된 값은 암시적으로 무시됩니다. @@ -419,17 +419,17 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + '{0}'이(가) 추상으로 변경됩니다. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + '{0}'이(가) 비정적으로 변경됩니다. '{0}' will be changed to public. - '{0}' will be changed to public. + '{0}'이(가) 공용으로 변경됩니다. @@ -499,7 +499,7 @@ Assembly - 어셈블리 + 어셈블리 @@ -519,7 +519,7 @@ Project - 프로젝트 + 프로젝트 @@ -726,7 +726,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Name: - 이름: + 이름: @@ -756,7 +756,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Type - Type + 형식 @@ -901,7 +901,7 @@ Use the dropdown to view and switch to other projects this file may belong to. N/A - N/A + 해당 없음 @@ -1061,7 +1061,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Name: - 이름: + 이름: @@ -1141,7 +1141,7 @@ Use the dropdown to view and switch to other projects this file may belong to. example - 예제 + IdentifierWord_Example and IdentifierWord_Identifier are combined (with prefixes, suffixes, and word separators) into an example identifier name in the NamingStyle UI. @@ -1270,7 +1270,7 @@ Additional information: {1} Copy to Clipboard - 클립보드에 복사 + 클립보드로 복사 @@ -1285,7 +1285,7 @@ Additional information: {1} --- End of inner exception stack trace --- - --- 내부 예외 스택 추적의 끝 --- + --- 내부 예외 스택 추적 끝 --- @@ -1510,7 +1510,7 @@ Additional information: {1} built-in types - 기본 제공 유형 + 기본 제공 형식인 경우 diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf index bb6c64507b22d..fd9d0a465ab22 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + Dodaj do _bieżącego pliku Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + W celu ukończenia refaktoryzacji wymagane są dodatkowe zmiany. Przejrzyj zmiany poniżej. @@ -19,7 +19,7 @@ Allow: - Allow: + Zezwalaj: @@ -49,17 +49,17 @@ Back - Back + Wstecz Calculating dependents... - Calculating dependents... + Obliczanie elementów zależnych... Classifications - Classifications + Klasyfikacje @@ -74,12 +74,12 @@ Finish - Finish + Zakończ Generate .editorconfig file from settings - Generuj plik editorconfig na podstawie ustawień + Wygeneruj plik .editorconfig na podstawie ustawień @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + Interfejs nie może mieć pola. @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + Ustaw element „{0}” jako abstrakcyjny Make abstract - Make abstract + Ustaw jako abstrakcyjny Members - Members + Elementy członkowskie @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + Przestrzeń nazw: „{0}” @@ -144,7 +144,7 @@ Parameter preferences: - Preferencje parametrów: + Preferencje dotyczące parametrów: @@ -159,7 +159,7 @@ Prefer index operator - Preferuj operator indeksu + Preferuj operator indeksowania @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + Podciągnij składowe w górę @@ -194,7 +194,7 @@ Report invalid regular expressions - Zgłoś nieprawidłowe wyrażenia regularne + Raportuj nieprawidłowe wyrażenia regularne @@ -204,47 +204,47 @@ Review Changes - Review Changes + Przejrzyj zmiany Save .editorconfig file - Zapisz plik editorconfig + Zapisz plik .editorconfig Select destination - Select destination + Wybierz miejsce docelowe _Select Dependents - _Select Dependents + _Wybierz elementy zależne _Select Public - _Select Public + _Wybierz elementy publiczne Select destination and members to pull up. - Select destination and members to pull up. + Wybierz miejsce docelowe i składowe do podciągnięcia w górę. Select destination: - Select destination: + Wybierz miejsce docelowe: Select member - Select member + Wybierz składową Select members: - Select members: + Wybierz składowe: @@ -254,17 +254,17 @@ Unused value is explicitly assigned to an unused local - Nieużywana wartość jest jawnie przypisana do nieużywanego elementu lokalnego + Nieużywana wartość jest jawnie przypisywana do nieużywanej zmiennej lokalnej Unused value is explicitly assigned to discard - Nieużywana wartość jest jawnie przypisana w celu odrzucenia + Nieużywana wartość jest jawnie przypisywana do odrzutu Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + Użyj ulepszonych kolorów dla języków C# i Basic @@ -274,12 +274,12 @@ Use expression body for local functions - Use expression body for local functions + Użyj treści wyrażenia dla funkcji lokalnych Value assigned here is never used - Wartość przypisana tutaj nie jest nigdy używana + Przypisana tu wartość nigdy nie jest używana @@ -409,7 +409,7 @@ End position must be >= start position - Pozycja końcowa musi być większa niż pozycja początkowa lub jej równa + Pozycja końcowa musi być większa lub równa pozycji początkowej @@ -419,22 +419,22 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + Element „{0}” zostanie zmieniony na abstrakcyjny. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + Element „{0}” zostanie zmieniony na niestatyczny. '{0}' will be changed to public. - '{0}' will be changed to public. + Element „{0}” zostanie zmieniony na publiczny. given workspace doesn't support undo - Dany obszar roboczy nie obsługuje operacji cofania + dany obszar roboczy nie obsługuje operacji cofania @@ -499,7 +499,7 @@ Assembly - zestaw + Zestaw @@ -519,7 +519,7 @@ Project - Projekt + Projekt @@ -731,7 +731,7 @@ Użyj listy rozwijanej, aby wyświetlać inne projekty, do których może należ Parameter - parametr + Parametr @@ -801,7 +801,7 @@ Użyj listy rozwijanej, aby wyświetlać inne projekty, do których może należ <Unknown> - <Nieznane> + <Nieznany> @@ -901,7 +901,7 @@ Użyj listy rozwijanej, aby wyświetlać inne projekty, do których może należ N/A - ND + Nie dotyczy @@ -981,7 +981,7 @@ Użyj listy rozwijanej, aby wyświetlać inne projekty, do których może należ <Unknown> - <Nieznane> + <Nieznany> @@ -1285,7 +1285,7 @@ Dodatkowe informacje: {1} --- End of inner exception stack trace --- - --- Koniec śledzenia stosu wyjątku wewnętrznego --- + --- Koniec śladu stosu wyjątków wewnętrznych --- @@ -1535,17 +1535,17 @@ Dodatkowe informacje: {1} Move down - Przesuń w dół + Przenieś w dół Move up - Przesuń w górę + Przenieś w górę Remove - Skasuj + Usuń diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf index 930b03e4d2a74..2fdc8d8b70609 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + Adicionar ao _arquivo atual Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + Alterações adicionais são necessárias para concluir a refatoração. Revise as alterações abaixo. @@ -19,7 +19,7 @@ Allow: - Allow: + Permitir: @@ -34,7 +34,7 @@ Avoid expression statements that implicitly ignore value - Evitar declarações de expressão que implicitamente ignoram o valor + Evitar instruções de expressão que implicitamente ignoram valor @@ -49,17 +49,17 @@ Back - Back + Voltar Calculating dependents... - Calculating dependents... + Calculando dependentes... Classifications - Classifications + Classificações @@ -74,17 +74,17 @@ Finish - Finish + Concluir Generate .editorconfig file from settings - Gerar arquivo .editorconfig de configurações + Gerar o arquivo .editorconfig das configurações Highlight related components under cursor - Destacar os componentes relacionados sob o cursor + Realçar componentes relacionados usando o cursor @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + A interface não pode ter campo. @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + Fazer '{0}' abstrato Make abstract - Make abstract + Fazer abstrato Members - Members + Membros @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + Namespace: '{0}' @@ -139,7 +139,7 @@ Non-public methods - Métodos não-públicos + Métodos não públicos @@ -154,7 +154,7 @@ Prefer compound assignments - Preferir atribuições compostas + Preferir atribuições de compostos @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + Levantar os membros @@ -204,47 +204,47 @@ Review Changes - Review Changes + Revisar alterações Save .editorconfig file - Salve o arquivo .editorconfig + Salvar arquivo .editorconfig Select destination - Select destination + Selecionar destino _Select Dependents - _Select Dependents + _Selecionar dependentes _Select Public - _Select Public + _Selecionar público Select destination and members to pull up. - Select destination and members to pull up. + Selecionar o destino e os membros a serem exibidos. Select destination: - Select destination: + Selecionar destino: Select member - Select member + Selecionar membro Select members: - Select members: + Selecionar membros: @@ -259,22 +259,22 @@ Unused value is explicitly assigned to discard - O valor não utilizado é explicitamente atribuído para descartar + O valor não utilizado é explicitamente atribuído ao descarte Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + Usar cores aprimoradas para C# e Basic Use expression body for lambdas - Usar o corpo de expressão para lambdas + Usar o corpo da expressão para lambdas Use expression body for local functions - Use expression body for local functions + Usar o corpo da expressão para funções locais @@ -284,7 +284,7 @@ Value returned by invocation is implicitly ignored - O valor retornado por invocação é implicitamente ignorado + O valor retornado por chamada é implicitamente ignorado @@ -409,7 +409,7 @@ End position must be >= start position - A posição final deve ser > = a posição inicial + A posição final deve ser >= posição inicial @@ -419,22 +419,22 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + '{0}' será alterado para abstrato. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + '{0}' será alterado para não estático. '{0}' will be changed to public. - '{0}' will be changed to public. + '{0}' será alterado para público. given workspace doesn't support undo - dado o espaço de trabalho não oferece suporte a desfazer + o workspace fornecido não dá suporte a desfazer @@ -499,7 +499,7 @@ Assembly - assembly + Assembly @@ -519,7 +519,7 @@ Project - Projeto + Projeto @@ -731,7 +731,7 @@ Use a lista suspensa para exibir e mudar entre outros projetos aos quais este ar Parameter - parâmetro + Parâmetro @@ -901,7 +901,7 @@ Use a lista suspensa para exibir e mudar entre outros projetos aos quais este ar N/A - N/A + N/D @@ -1141,7 +1141,7 @@ Use a lista suspensa para exibir e mudar entre outros projetos aos quais este ar example - Exemplo + exemplo IdentifierWord_Example and IdentifierWord_Identifier are combined (with prefixes, suffixes, and word separators) into an example identifier name in the NamingStyle UI. @@ -1270,7 +1270,7 @@ Informações adicionais: {1} Copy to Clipboard - Copiar para a Área de Transferência + Copiar para Área de Transferência @@ -1285,7 +1285,7 @@ Informações adicionais: {1} --- End of inner exception stack trace --- - --- Fim do rastreamento de pilha de exceção interna --- + --- Fim do rastreamento da pilha de exceções internas --- @@ -1505,12 +1505,12 @@ Informações adicionais: {1} or - Ou + ou built-in types - Tipos Internos + tipos internos @@ -1595,7 +1595,7 @@ Informações adicionais: {1} VisualStudioWorkspace.TryApplyChanges cannot be called from a background thread. - VisualStudioWorkspace.TryApplyChanges não pode ser chamado de um thread de segundo plano. + VisualStudioWorkspace.TryApplyChanges não pode ser chamado de um thread de tela de fundo. diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf index bfbef16be72e4..5cad793515e2b 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + Добавить в _текущий файл Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + Для завершения рефакторинга требуется внести дополнительные изменения. Просмотрите их ниже. @@ -19,7 +19,7 @@ Allow: - Allow: + Разрешить: @@ -34,32 +34,32 @@ Avoid expression statements that implicitly ignore value - Избегать операторов выражений, которые неявно игнорируют значение + Избегайте операторов-выражений, неявно игнорирующих значение. Avoid unused parameters - Избегать неиспользуемых параметров + Избегайте неиспользуемых параметров. Avoid unused value assignments - Избегать неиспользуемых присваиваний значений + Избегайте присваивания неиспользуемых значений. Back - Back + Назад Calculating dependents... - Calculating dependents... + Вычисление зависимостей… Classifications - Classifications + Классификации @@ -74,12 +74,12 @@ Finish - Finish + Готово Generate .editorconfig file from settings - Создать файл .editorconfig на основе параметров + Создать файл EDITORCONFIG на основе параметров @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + Интерфейс не может содержать поле. @@ -104,22 +104,22 @@ Kind - Тип + Вид Make '{0}' abstract - Make '{0}' abstract + Сделать "{0}" абстрактным Make abstract - Make abstract + Сделать абстрактным Members - Members + Члены @@ -129,17 +129,17 @@ Namespace: '{0}' - Namespace: '{0}' + Пространство имен: "{0}" Never if unnecessary - Never if unnecessary + Никогда, если не требуется Non-public methods - Необщедоступные методы + Методы, не являющиеся открытыми @@ -154,17 +154,17 @@ Prefer compound assignments - Предпочитают соединение назначений + Предпочитать составные присваивания Prefer index operator - Предпочитать оператор индекса + Предпочитать оператор index Prefer range operator - Предпочитать оператор диапазона + Предпочитать оператор range @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + Повышение элементов @@ -204,47 +204,47 @@ Review Changes - Review Changes + Проверить изменения Save .editorconfig file - Сохранить файл .editorconfig + Сохранить файл EDITORCONFIG Select destination - Select destination + Выбрать место назначения _Select Dependents - _Select Dependents + _Выбрать зависимости _Select Public - _Select Public + _Выбрать открытые Select destination and members to pull up. - Select destination and members to pull up. + Выбрать место назначения и повышаемые в иерархии элементы. Select destination: - Select destination: + Выбрать место назначения: Select member - Select member + Выбрать элемент Select members: - Select members: + Выбрать элементы: @@ -254,17 +254,17 @@ Unused value is explicitly assigned to an unused local - Неиспользованное значение явным образом назначено неиспользованной локальной переменной + Неиспользуемое значение явным образом задано неиспользуемой локальной переменной. Unused value is explicitly assigned to discard - Неиспользуемое значение явно присваивается для отмены + Неиспользуемое значение явным образом задано пустой переменной. Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + Использовать расширенные цвета для C# и Basic @@ -274,17 +274,17 @@ Use expression body for local functions - Use expression body for local functions + Использовать тело выражения для локальных функций Value assigned here is never used - Присвоенное здесь значение никогда не используется + Заданное здесь значение не используется. Value returned by invocation is implicitly ignored - Значение, возвращаемое вызовом, неявно игнорируется + Значение, возвращаемое вызовом, неявным образом игнорируется. @@ -409,7 +409,7 @@ End position must be >= start position - Конечное положение должно быть больше или равно начальному + Конечное положение не должно быть меньше начального. @@ -419,22 +419,22 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + Элемент "{0}" будет изменен на абстрактный. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + Элемент "{0}" будет изменен на нестатический. '{0}' will be changed to public. - '{0}' will be changed to public. + Элемент "{0}" будет изменен на открытый. given workspace doesn't support undo - Заданная рабочая область не поддерживает отмену + заданная рабочая область не поддерживает отмену. @@ -499,7 +499,7 @@ Assembly - сборка + Сборка @@ -519,12 +519,12 @@ Project - Проект + Проект Remarks: - Примечания: + Примечания. @@ -726,12 +726,12 @@ Use the dropdown to view and switch to other projects this file may belong to. Name: - Имя: + Название: Parameter - параметр + Параметр @@ -801,7 +801,7 @@ Use the dropdown to view and switch to other projects this file may belong to. <Unknown> - <Неизвестно> + <нет данных> @@ -851,7 +851,7 @@ Use the dropdown to view and switch to other projects this file may belong to. No Changes - Без изменений + Изменений нет @@ -891,7 +891,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Active - Активен + Активный @@ -981,7 +981,7 @@ Use the dropdown to view and switch to other projects this file may belong to. <Unknown> - <Неизвестно> + <нет данных> @@ -1061,7 +1061,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Name: - Имя: + Название: @@ -1141,7 +1141,7 @@ Use the dropdown to view and switch to other projects this file may belong to. example - Пример + пример IdentifierWord_Example and IdentifierWord_Identifier are combined (with prefixes, suffixes, and word separators) into an example identifier name in the NamingStyle UI. @@ -1207,7 +1207,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Additional information: - Дополнительные сведения: + Дополнительная информация: @@ -1270,7 +1270,7 @@ Additional information: {1} Copy to Clipboard - Копировать в буфер + Копировать в буфер обмена @@ -1285,7 +1285,7 @@ Additional information: {1} --- End of inner exception stack trace --- - --- Конец трассировки стека внутренних исключений --- + --- Конец трассировки внутреннего стека исключений --- @@ -1505,12 +1505,12 @@ Additional information: {1} or - Или + или built-in types - Встроенные типы + встроенные типы diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf index 33d5b197945d5..21b55aafe8df2 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf @@ -4,22 +4,22 @@ Add to _current file - Add to _current file + Geçerli _dosyaya ekle Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + Yeniden düzenlemeyi tamamlamak için ek değişiklikler gerekli. Aşağıdaki değişiklikleri gözden geçirin. All methods - Tüm yöntemleri + Tüm yöntemler Allow: - Allow: + İzin ver: @@ -34,37 +34,37 @@ Avoid expression statements that implicitly ignore value - Örtülü olarak değeri göz ardı ifade ifadeler önlemek + Değeri örtük olarak yok sayan ifade deyimlerini engelle Avoid unused parameters - Kullanılmayan parametreler önlemek + Kullanılmayan parametreleri engelle Avoid unused value assignments - Kullanılmayan değer atamaları önlemek + Kullanılmayan değer atamalarını engelle Back - Back + Geri Calculating dependents... - Calculating dependents... + Bağımlılar hesaplanıyor... Classifications - Classifications + Sınıflandırmalar Colorize regular expressions - Normal ifadeler renklendirme + Normal ifadeleri renklendir @@ -74,17 +74,17 @@ Finish - Finish + Son Generate .editorconfig file from settings - .Editorconfig dosyası ayarları oluşturmak + Ayarlardan .editorconfig dosyası oluştur Highlight related components under cursor - İmleç altında ilişkili bileşenleri vurgulamak + İmlecin altında ilgili bileşenleri vurgula @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + Arabirimde alan olamaz. @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + '{0}' değerini soyut yap Make abstract - Make abstract + Soyut yap Members - Members + Üyeler @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + Ad alanı: '{0}' @@ -139,12 +139,12 @@ Non-public methods - Ortak olmayan yöntemleri + Ortak olmayan yöntemler Parameter preferences: - Parametre tercihler: + Parametre tercihleri: @@ -154,17 +154,17 @@ Prefer compound assignments - Bileşik atamaları tercih + Bileşik atamaları tercih et Prefer index operator - Dizin işleç tercih + Dizin işlecini tercih et Prefer range operator - Aralık işleci tercih + Aralık işlecini tercih et @@ -184,17 +184,17 @@ Pull Members Up - Pull Members Up + Üyeleri Yukarı Çek Regular Expressions - Normal ifadeler + Normal İfadeler Report invalid regular expressions - Rapor geçersiz düzenli ifadeler + Geçersiz normal ifadeleri bildir @@ -204,47 +204,47 @@ Review Changes - Review Changes + Değişiklikleri Gözden Geçir Save .editorconfig file - .Editorconfig dosyayı kaydedin + .editorconfig dosyasını kaydet Select destination - Select destination + Hedef seçin _Select Dependents - _Select Dependents + _Bağımlıları seçin _Select Public - _Select Public + _Ortak seçin Select destination and members to pull up. - Select destination and members to pull up. + Hedef ve yukarı çekilecek üyeleri seçin. Select destination: - Select destination: + Hedef seçin: Select member - Select member + Üye seçin Select members: - Select members: + Üye seçin: @@ -254,37 +254,37 @@ Unused value is explicitly assigned to an unused local - Kullanılmayan değeri açıkça için kullanılmayan bir yerel atanır + Kullanılmayan değer açıkça kullanılmayan bir yerele atandı Unused value is explicitly assigned to discard - Kullanılmayan değeri açıkça atmak için atanır + Kullanılmayan değer açıkça atılmak üzere atandı Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + C# ve Basic için gelişmiş renkleri kullan Use expression body for lambdas - İfade vücut lambda için kullanın + Lambdalar için ifade gövdesi kullan Use expression body for local functions - Use expression body for local functions + Yerel işlevler için ifade gövdesi kullan Value assigned here is never used - Burada atanmış değere asla kullanılmaz + Burada atanan değer hiçbir zaman kullanılmadı Value returned by invocation is implicitly ignored - Çağrı tarafından döndürülen değeri örtülü olarak göz ardı edilir + Çağrı ile döndürülen değer örtük olarak yok sayıldı @@ -409,7 +409,7 @@ End position must be >= start position - Bitiş pozisyonu-meli var olmak > = başlangıç konumu + Bitiş konumu, başlangıç konumuna eşit veya bundan sonra olmalıdır @@ -419,22 +419,22 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + '{0}' soyut olacak şekilde değiştirildi. '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + '{0}' statik olmayacak şekilde değiştirildi. '{0}' will be changed to public. - '{0}' will be changed to public. + '{0}' ortak olacak şekilde değiştirildi. given workspace doesn't support undo - Verilen Çalışma Alanı, Geri Alma'yı desteklemez + sağlanan çalışma alanı, geri almayı desteklemiyor @@ -454,7 +454,7 @@ Can't rename 'other' elements - 'other' öğeleri yeniden adlandırılamıyor + other' öğeleri yeniden adlandırılamıyor @@ -499,7 +499,7 @@ Assembly - derleme + Bütünleştirilmiş Kod @@ -519,7 +519,7 @@ Project - PROJE + Proje @@ -731,7 +731,7 @@ Bu dosyanın ait olabileceği diğer projeleri görüntülemek ve bunlara geçi Parameter - parametre + Parametre @@ -801,7 +801,7 @@ Bu dosyanın ait olabileceği diğer projeleri görüntülemek ve bunlara geçi <Unknown> - < bilinmeyen > + <Bilinmiyor> @@ -981,7 +981,7 @@ Bu dosyanın ait olabileceği diğer projeleri görüntülemek ve bunlara geçi <Unknown> - < bilinmeyen > + <Bilinmiyor> @@ -1280,12 +1280,12 @@ Ek bilgiler: {1} <Unknown Parameters> - < bilinmeyen parametreler > + <Bilinmeyen Parametreler> --- End of inner exception stack trace --- - --- İç özel durum yığın izlemesinin sonu --- + --- İç özel durum yığın izlemesi sonu --- @@ -1795,7 +1795,7 @@ Aşağıdakilerin tümünü onaylıyorum: Live code analysis - Canlı Kod Analizi + Canlı kod analizi diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf index d10ea3e79b028..073c224d1446d 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf @@ -4,12 +4,12 @@ Add to _current file - Add to _current file + 添加到当前文件(_C) Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + 需要进行其他更改才可完成重构。请在下方查看所作更改。 @@ -19,7 +19,7 @@ Allow: - Allow: + Allow: @@ -34,7 +34,7 @@ Avoid expression statements that implicitly ignore value - 避免隐式忽略值的表达式语句 + 避免会隐式忽略值的表达式语句 @@ -44,27 +44,27 @@ Avoid unused value assignments - 避免分配未使用的值 + 避免未使用的值赋值 Back - Back + 后退 Calculating dependents... - Calculating dependents... + 正在计算依赖项... Classifications - Classifications + 分类 Colorize regular expressions - 对正则表达式着色 + 为正规表达式着色 @@ -74,7 +74,7 @@ Finish - Finish + 完成 @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + 接口不可具有字段。 @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + 将“{0}”设为抽象 Make abstract - Make abstract + 设为抽象 Members - Members + 成员 @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + 命名空间:“{0}” @@ -139,7 +139,7 @@ Non-public methods - 非公共方法 + 非公共成员 @@ -164,7 +164,7 @@ Prefer range operator - 首选范围操作符 + 首选范围运算符 @@ -184,17 +184,17 @@ Pull Members Up - Pull Members Up + 拉取成员 Regular Expressions - 正则表达式 + 正规表达式 Report invalid regular expressions - 报告无效的正则表达式 + 报告无效的正规表达式 @@ -204,7 +204,7 @@ Review Changes - Review Changes + 预览更改 @@ -214,37 +214,37 @@ Select destination - Select destination + 选择目标 _Select Dependents - _Select Dependents + 选择依赖项(_S) _Select Public - _Select Public + 选择公共(_S) Select destination and members to pull up. - Select destination and members to pull up. + 选择要拉取的目标和成员。 Select destination: - Select destination: + 选择目标: Select member - Select member + 选择成员 Select members: - Select members: + 选择成员: @@ -254,27 +254,27 @@ Unused value is explicitly assigned to an unused local - 将未使用的值显式分配给未使用的局部变量 + 未使用的值会显式分配给未使用的本地函数 Unused value is explicitly assigned to discard - 未使用的值被显式指定为丢弃 + 未使用的值会显式分配以弃用 Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + 对 C# 和 Basic 使用增强色 Use expression body for lambdas - 对 lambdas 使用表达式正文 + 使用 lambdas 的表达式主体 Use expression body for local functions - Use expression body for local functions + 使用本地函数的表达式主体 @@ -284,7 +284,7 @@ Value returned by invocation is implicitly ignored - 调用返回的值被隐式忽略 + 已隐式忽略调用所返回的值 @@ -409,7 +409,7 @@ End position must be >= start position - 结束位置不得在开始位置的前面 + 结束位置必须 >= 开始位置 @@ -419,22 +419,22 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + “{0}”将更改为“抽象”。 '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + “{0}”将更改为“非静态”。 '{0}' will be changed to public. - '{0}' will be changed to public. + “{0}”将更改为“公共”。 given workspace doesn't support undo - 给定的工作区不支持撤销 + 给定的工作区不支持撤消 @@ -519,12 +519,12 @@ Project - PROJECT + 项目 Remarks: - 言论: + 备注: @@ -851,7 +851,7 @@ Use the dropdown to view and switch to other projects this file may belong to. No Changes - 无更改 + 未更改 @@ -891,7 +891,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Active - 活动 + 活动的 @@ -901,7 +901,7 @@ Use the dropdown to view and switch to other projects this file may belong to. N/A - 不可用 + N/A @@ -1285,7 +1285,7 @@ Additional information: {1} --- End of inner exception stack trace --- - ---内部异常堆栈跟踪结束--- + --- 内部异常堆栈跟踪的末尾 --- @@ -1800,7 +1800,7 @@ I agree to all of the foregoing: Prefer conditional expression over 'if' with assignments - 首选条件表达式而非带有返回结果的“if” + 首选条件表达式而非赋值的“if” diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf index f94d281bbe64c..cbe9fd049e784 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf @@ -4,22 +4,22 @@ Add to _current file - Add to _current file + 新增至 _current 檔案 Additional changes are needed to complete the refactoring. Review changes below. - Additional changes are needed to complete the refactoring. Review changes below. + 必須進行其他變更,才能完成重構。請檢閱以下變更。 All methods - 所有方法 + 全部方法 Allow: - Allow: + 允許: @@ -34,7 +34,7 @@ Avoid expression statements that implicitly ignore value - 避免隱含略過值的運算式陳述式 + 避免會隱含地忽略值的運算陳述式 @@ -49,22 +49,22 @@ Back - Back + 返回 Calculating dependents... - Calculating dependents... + 正在計算相依項... Classifications - Classifications + 分類 Colorize regular expressions - 為規則運算式標上顏色 + 為規則運算式添加色彩 @@ -74,7 +74,7 @@ Finish - Finish + 完成 @@ -84,7 +84,7 @@ Highlight related components under cursor - 醒目提示游標下的相關元件 + 反白資料指標下的相關元件 @@ -94,7 +94,7 @@ Interface cannot have field. - Interface cannot have field. + 介面不得具有欄位。 @@ -109,17 +109,17 @@ Make '{0}' abstract - Make '{0}' abstract + 將 '{0}' 抽象化 Make abstract - Make abstract + 抽象化 Members - Members + 成員 @@ -129,7 +129,7 @@ Namespace: '{0}' - Namespace: '{0}' + 命名空間: '{0}' @@ -154,17 +154,17 @@ Prefer compound assignments - 建議使用複合指派 + 優先使用複合指派 Prefer index operator - 建議使用索引運算子 + 優先使用索引運算子 Prefer range operator - 建議使用範圍運算子 + 優先使用範圍運算子 @@ -184,7 +184,7 @@ Pull Members Up - Pull Members Up + 提升成員 @@ -194,7 +194,7 @@ Report invalid regular expressions - 報告無效的規則運算式 + 回報無效的規則運算式 @@ -204,7 +204,7 @@ Review Changes - Review Changes + 檢閱變更 @@ -214,37 +214,37 @@ Select destination - Select destination + 選取目的地 _Select Dependents - _Select Dependents + 選取相依項(_S) _Select Public - _Select Public + 選取公用(_S) Select destination and members to pull up. - Select destination and members to pull up. + 選取要提升的目的地及成員。 Select destination: - Select destination: + 選取目的地: Select member - Select member + 選取成員 Select members: - Select members: + 選取成員: @@ -254,37 +254,37 @@ Unused value is explicitly assigned to an unused local - 未使用的值會明確指派給未使用的區域項 + 未使用的值已明確指派至未使用的區域 Unused value is explicitly assigned to discard - 未使用的值會明確指派給 discard + 未使用的值已明確指派至捨棄 Use enhanced colors for C# and Basic - Use enhanced colors for C# and Basic + 使用 C# 和 Basic 的增強色彩 Use expression body for lambdas - 使用 Lambda 的運算式主體 + 使用 lambda 的運算式主體 Use expression body for local functions - Use expression body for local functions + 使用區域函式的運算式主體 Value assigned here is never used - 永遠不會使用此處指派的值 + 這裡指派的值從未使用過 Value returned by invocation is implicitly ignored - 已隱含忽略引動過程傳回的值 + 明確地忽略引動過程傳回的值 @@ -409,7 +409,7 @@ End position must be >= start position - 結束位置必須大於或等於起始位置 + 結束位置必須為 > = 開始位置 @@ -419,17 +419,17 @@ '{0}' will be changed to abstract. - '{0}' will be changed to abstract. + '{0}' 會變更為抽象。 '{0}' will be changed to non-static. - '{0}' will be changed to non-static. + '{0}' 會變更為非靜態。 '{0}' will be changed to public. - '{0}' will be changed to public. + '{0}' 會變更為公用。 @@ -499,7 +499,7 @@ Assembly - 組件 + 組件 @@ -519,7 +519,7 @@ Project - 專案 + 專案 @@ -756,7 +756,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Type - 型別 + 類型 @@ -801,7 +801,7 @@ Use the dropdown to view and switch to other projects this file may belong to. <Unknown> - <Unknown> + <未知> @@ -891,7 +891,7 @@ Use the dropdown to view and switch to other projects this file may belong to. Active - 作用中 + 使用中 @@ -1285,7 +1285,7 @@ Additional information: {1} --- End of inner exception stack trace --- - --- 已到達內部例外狀況堆疊追蹤的結尾 --- + --- 內部例外狀況堆疊追蹤的結尾 --- @@ -1510,7 +1510,7 @@ Additional information: {1} built-in types - 內建型別 + 內建類型 diff --git a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.es.xlf b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.es.xlf index d6da6190f4808..e92107db18922 100644 --- a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.es.xlf +++ b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.es.xlf @@ -99,7 +99,7 @@ Path - PATH + Ruta de acceso diff --git a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.fr.xlf b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.fr.xlf index d59f4ad6833df..4d78351094fcd 100644 --- a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.fr.xlf +++ b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.fr.xlf @@ -99,7 +99,7 @@ Path - PATH + Chemin diff --git a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.ja.xlf b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.ja.xlf index a504fc9030bc7..617679a289973 100644 --- a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.ja.xlf +++ b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.ja.xlf @@ -99,7 +99,7 @@ Path - PATH + パス diff --git a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.ko.xlf b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.ko.xlf index 1e560077b3d97..7dd13048ccc2b 100644 --- a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.ko.xlf +++ b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.ko.xlf @@ -99,7 +99,7 @@ Path - PATH + 경로 diff --git a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.pt-BR.xlf b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.pt-BR.xlf index e10e2a5bf395c..60a47309008c3 100644 --- a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.pt-BR.xlf +++ b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.pt-BR.xlf @@ -99,7 +99,7 @@ Path - PATH + Caminho @@ -144,7 +144,7 @@ Tags - Marcas + Tags diff --git a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.tr.xlf b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.tr.xlf index d9e8a8f68f5c9..f1a3e9e7a7dd8 100644 --- a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.tr.xlf +++ b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.tr.xlf @@ -99,7 +99,7 @@ Path - PATH + Yol diff --git a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.zh-Hans.xlf b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.zh-Hans.xlf index 463632cc106ce..4364de4d50cba 100644 --- a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.zh-Hans.xlf +++ b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.zh-Hans.xlf @@ -99,7 +99,7 @@ Path - PATH + 路径 diff --git a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.zh-Hant.xlf b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.zh-Hant.xlf index 127b04c669fe8..8a346b20c9156 100644 --- a/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.zh-Hant.xlf +++ b/src/VisualStudio/Core/SolutionExplorerShim/xlf/SolutionExplorerShim.zh-Hant.xlf @@ -99,7 +99,7 @@ Path - PATH + 路徑 diff --git a/src/VisualStudio/Core/Test.Next/Roslyn.VisualStudio.Next.UnitTests.csproj b/src/VisualStudio/Core/Test.Next/Roslyn.VisualStudio.Next.UnitTests.csproj index 1fbef828f4ad8..541eccc759a6a 100644 --- a/src/VisualStudio/Core/Test.Next/Roslyn.VisualStudio.Next.UnitTests.csproj +++ b/src/VisualStudio/Core/Test.Next/Roslyn.VisualStudio.Next.UnitTests.csproj @@ -55,8 +55,8 @@ - - + + diff --git a/src/VisualStudio/Core/Test/Completion/CSharpCompletionSnippetNoteTests.vb b/src/VisualStudio/Core/Test/Completion/CSharpCompletionSnippetNoteTests.vb index 3276f962faffa..9af8ce02bf28e 100644 --- a/src/VisualStudio/Core/Test/Completion/CSharpCompletionSnippetNoteTests.vb +++ b/src/VisualStudio/Core/Test/Completion/CSharpCompletionSnippetNoteTests.vb @@ -142,7 +142,7 @@ class C End Using End Function - Private Function CreateCSharpSnippetExpansionNoteTestState(completionImplementation As CompletionImplementation, xElement As XElement, ParamArray snippetShortcuts As String()) As ITestState + Private Function CreateCSharpSnippetExpansionNoteTestState(completionImplementation As CompletionImplementation, xElement As XElement, ParamArray snippetShortcuts As String()) As TestStateBase Dim state = TestStateFactory.CreateCSharpTestState( completionImplementation, xElement, diff --git a/src/VisualStudio/Core/Test/Completion/VisualBasicCompletionSnippetNoteTests.vb b/src/VisualStudio/Core/Test/Completion/VisualBasicCompletionSnippetNoteTests.vb index c9deb553750e9..d2f6a59f67e49 100644 --- a/src/VisualStudio/Core/Test/Completion/VisualBasicCompletionSnippetNoteTests.vb +++ b/src/VisualStudio/Core/Test/Completion/VisualBasicCompletionSnippetNoteTests.vb @@ -89,7 +89,7 @@ End Class]]> End Using End Function - Private Function CreateVisualBasicSnippetExpansionNoteTestState(completionImplementation As CompletionImplementation, xElement As XElement, ParamArray snippetShortcuts As String()) As ITestState + Private Function CreateVisualBasicSnippetExpansionNoteTestState(completionImplementation As CompletionImplementation, xElement As XElement, ParamArray snippetShortcuts As String()) As TestStateBase Dim state = TestStateFactory.CreateVisualBasicTestState( completionImplementation, xElement, diff --git a/src/VisualStudio/Core/Test/DebuggerIntelliSense/TestState.vb b/src/VisualStudio/Core/Test/DebuggerIntelliSense/TestState.vb index 5b962662a3c68..f0e942272360c 100644 --- a/src/VisualStudio/Core/Test/DebuggerIntelliSense/TestState.vb +++ b/src/VisualStudio/Core/Test/DebuggerIntelliSense/TestState.vb @@ -37,9 +37,8 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.DebuggerIntelliSense Inherits AbstractCommandHandlerTestState Friend ReadOnly AsyncCompletionService As IAsyncCompletionService - Friend ReadOnly SignatureHelpCommandHandler As SignatureHelpCommandHandler + Friend ReadOnly SignatureHelpCommandHandler As SignatureHelpBeforeCompletionCommandHandler Friend ReadOnly CompletionCommandHandler As CompletionCommandHandler - Friend ReadOnly IntelliSenseCommandHandler As IntelliSenseCommandHandler Private _context As AbstractDebuggerIntelliSenseContext Private ReadOnly SessionTestState As IIntelliSenseTestState @@ -80,9 +79,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.DebuggerIntelliSense Me.CompletionCommandHandler = Workspace.GetService(Of CompletionCommandHandler) - Me.SignatureHelpCommandHandler = Workspace.GetService(Of SignatureHelpCommandHandler) - - Me.IntelliSenseCommandHandler = Workspace.GetService(Of IntelliSenseCommandHandler) + Me.SignatureHelpCommandHandler = Workspace.GetService(Of SignatureHelpBeforeCompletionCommandHandler) Dim spanDocument = Workspace.Documents.First(Function(x) x.SelectedSpans.Any()) Dim statementSpan = spanDocument.SelectedSpans.First() @@ -166,22 +163,6 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.DebuggerIntelliSense isImmediateWindow) End Function -#Region "IntelliSense Operations" - - Public Overloads Sub SendEscape() - MyBase.SendEscape(Sub(a, n, c) IntelliSenseCommandHandler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendDownKey() - MyBase.SendDownKey(Sub(a, n, c) IntelliSenseCommandHandler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - - Public Overloads Sub SendUpKey() - MyBase.SendUpKey(Sub(a, n, c) IntelliSenseCommandHandler.ExecuteCommand(a, n, c), Sub() Return) - End Sub - -#End Region - #Region "Completion Operations" Public Overloads Sub SendTab() Dim handler = DirectCast(CompletionCommandHandler, IChainedCommandHandler(Of TabKeyCommandArgs)) diff --git a/src/VisualStudio/Core/Test/ProjectSystemShim/VisualStudioRuleSetTests.vb b/src/VisualStudio/Core/Test/ProjectSystemShim/VisualStudioRuleSetTests.vb index c9df93171cd57..c5b633ac6382d 100644 --- a/src/VisualStudio/Core/Test/ProjectSystemShim/VisualStudioRuleSetTests.vb +++ b/src/VisualStudio/Core/Test/ProjectSystemShim/VisualStudioRuleSetTests.vb @@ -7,6 +7,7 @@ Imports Microsoft.CodeAnalysis.Shared.TestHooks Imports Microsoft.CodeAnalysis.Test.Utilities Imports Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem Imports Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim.Framework +Imports IVsAsyncFileChangeEx = Microsoft.VisualStudio.Shell.IVsAsyncFileChangeEx Imports Microsoft.VisualStudio.Shell.Interop Imports Roslyn.Test.Utilities @@ -43,7 +44,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim File.WriteAllText(ruleSetPath, ruleSetSource) Dim fileChangeService = New MockVsFileChangeEx - Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsFileChangeEx)(fileChangeService)) + Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsAsyncFileChangeEx)(fileChangeService)) Dim ruleSetManager = New VisualStudioRuleSetManager(fileChangeWatcher, New TestForegroundNotificationService(), AsynchronousOperationListenerProvider.NullListener) Using visualStudioRuleSet = ruleSetManager.GetOrCreateRuleSet(ruleSetPath) @@ -85,7 +86,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim File.WriteAllText(includePath, includeSource) Dim fileChangeService = New MockVsFileChangeEx - Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsFileChangeEx)(fileChangeService)) + Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsAsyncFileChangeEx)(fileChangeService)) Dim ruleSetManager = New VisualStudioRuleSetManager(fileChangeWatcher, New TestForegroundNotificationService(), AsynchronousOperationListenerProvider.NullListener) Using visualStudioRuleSet = ruleSetManager.GetOrCreateRuleSet(ruleSetPath) @@ -127,7 +128,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim File.WriteAllText(includePath, includeSource) Dim fileChangeService = New MockVsFileChangeEx - Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsFileChangeEx)(fileChangeService)) + Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsAsyncFileChangeEx)(fileChangeService)) Dim ruleSetManager = New VisualStudioRuleSetManager(fileChangeWatcher, New TestForegroundNotificationService(), AsynchronousOperationListenerProvider.NullListener) Using ruleSet1 = ruleSetManager.GetOrCreateRuleSet(ruleSetPath) Dim handlerCalled As Boolean = False @@ -159,7 +160,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim File.WriteAllText(ruleSetPath, ruleSetSource) Dim fileChangeService = New MockVsFileChangeEx - Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsFileChangeEx)(fileChangeService)) + Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsAsyncFileChangeEx)(fileChangeService)) Dim ruleSetManager = New VisualStudioRuleSetManager(fileChangeWatcher, New TestForegroundNotificationService(), AsynchronousOperationListenerProvider.NullListener) Using ruleSet1 = ruleSetManager.GetOrCreateRuleSet(ruleSetPath) @@ -200,7 +201,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim File.WriteAllText(ruleSetPath, ruleSetSource) Dim fileChangeService = New MockVsFileChangeEx - Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsFileChangeEx)(fileChangeService)) + Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsAsyncFileChangeEx)(fileChangeService)) Dim ruleSetManager = New VisualStudioRuleSetManager(fileChangeWatcher, New TestForegroundNotificationService(), AsynchronousOperationListenerProvider.NullListener) Using ruleSet1 = ruleSetManager.GetOrCreateRuleSet(ruleSetPath) @@ -236,7 +237,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim File.WriteAllText(ruleSetPath, ruleSetSource) Dim fileChangeService = New MockVsFileChangeEx - Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsFileChangeEx)(fileChangeService)) + Dim fileChangeWatcher = New FileChangeWatcher(Task.FromResult(Of IVsAsyncFileChangeEx)(fileChangeService)) Dim ruleSetManager = New VisualStudioRuleSetManager(fileChangeWatcher, New TestForegroundNotificationService(), AsynchronousOperationListenerProvider.NullListener) Using ruleSet = ruleSetManager.GetOrCreateRuleSet(ruleSetPath) diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractEditorTest.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractEditorTest.cs index adff01152c634..d20664aaec2ed 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractEditorTest.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractEditorTest.cs @@ -53,7 +53,7 @@ public override async Task InitializeAsync() _projectTemplate != WellKnownProjectTemplates.WpfApplication && _projectTemplate != WellKnownProjectTemplates.CSharpNetCoreClassLibrary) { - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); ClearEditor(); } } diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractIntegrationTest.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractIntegrationTest.cs index 06805bc41da25..f89238647c044 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractIntegrationTest.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractIntegrationTest.cs @@ -66,6 +66,13 @@ public virtual async Task InitializeAsync() /// public virtual Task DisposeAsync() { + if (VisualStudio?.Editor.IsCompletionActive() ?? false) + { + // Make sure completion isn't visible. + // 🐛 Only needed as a workaround for https://devdiv.visualstudio.com/DevDiv/_workitems/edit/801435 + VisualStudio.SendKeys.Send(VirtualKey.Escape); + } + _visualStudioContext.Dispose(); return Task.CompletedTask; } diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpIntelliSense.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpIntelliSense.cs index ec58b1cfcdcd4..95c30c5cacc62 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpIntelliSense.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpIntelliSense.cs @@ -1,5 +1,7 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; +using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Test.Utilities; using Microsoft.VisualStudio.IntegrationTest.Utilities; @@ -88,7 +90,7 @@ public static void Navigate(int i){ } [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] public void CtrlAltSpace() { - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.Editor.SendKeys("nam Goo", VirtualKey.Enter); VisualStudio.Editor.SendKeys('{', VirtualKey.Enter, '}', VirtualKey.Up, VirtualKey.Enter); @@ -100,7 +102,7 @@ public void CtrlAltSpace() VisualStudio.Editor.Verify.CurrentLineText("System.Console.WriteLine();$$", assertCaretPosition: true); VisualStudio.Editor.SendKeys(VirtualKey.Home, Shift(VirtualKey.End), VirtualKey.Delete); - VisualStudio.ExecuteCommand(WellKnownCommandNames.Edit_ToggleCompletionMode); + VisualStudio.Editor.SendKeys(new KeyPress(VirtualKey.Space, ShiftState.Ctrl | ShiftState.Alt)); VisualStudio.Editor.SendKeys("System.Console.writeline();"); VisualStudio.Editor.Verify.CurrentLineText("System.Console.writeline();$$", assertCaretPosition: true); @@ -109,13 +111,13 @@ public void CtrlAltSpace() [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] public void CtrlAltSpaceOption() { - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.Editor.SendKeys("nam Goo"); VisualStudio.Editor.Verify.CurrentLineText("namespace Goo$$", assertCaretPosition: true); ClearEditor(); - VisualStudio.Workspace.SetUseSuggestionMode(true); + VisualStudio.Editor.SetUseSuggestionMode(true); VisualStudio.Editor.SendKeys("nam Goo"); VisualStudio.Editor.Verify.CurrentLineText("nam Goo$$", assertCaretPosition: true); @@ -158,6 +160,20 @@ void Main(string[] args) VisualStudio.Editor.SendKeys("().ToArray(); + VisualStudio.Editor.SendKeys(keys); + } + } + VisualStudio.Editor.SendKeys(VirtualKey.Enter); VisualStudio.Editor.Verify.CurrentLineText("///", assertCaretPosition: true); } @@ -194,7 +210,7 @@ void Main(string[] args) } }"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.Editor.SendKeys("Mai("); @@ -202,7 +218,9 @@ void Main(string[] args) VisualStudio.Editor.Verify.CurrentParameter("args", ""); } - [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] + // 🐛 The async completion controller in 16.0 Preview 4 fails to account for brace completion sessions. + [ConditionalWpfFact(typeof(LegacyCompletionCondition)), Trait(Traits.Feature, Traits.Features.Completion)] + [WorkItem(33825, "https://github.com/dotnet/roslyn/issues/33825")] public void CompletionUsesTrackingPointsInTheFaceOfAutomaticBraceCompletion() { SetUpEditor(@" @@ -212,7 +230,7 @@ void Main(string[] args) $$ }"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.Editor.SendKeys( '{', @@ -234,6 +252,7 @@ void Main(string[] args) } [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] + [WorkItem(33823, "https://github.com/dotnet/roslyn/issues/33823")] public void CommitOnShiftEnter() { SetUpEditor(@" @@ -245,7 +264,7 @@ void Main(string[] args) } }"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.Editor.SendKeys( 'M', @@ -262,6 +281,36 @@ void Main(string[] args) assertCaretPosition: true); } + [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] + public void LineBreakOnShiftEnter() + { + SetUpEditor(@" +class Class1 +{ + void Main(string[] args) + { + $$ + } +}"); + + VisualStudio.Editor.SetUseSuggestionMode(true); + + VisualStudio.Editor.SendKeys( + 'M', + Shift(VirtualKey.Enter)); + + VisualStudio.Editor.Verify.TextContains(@" +class Class1 +{ + void Main(string[] args) + { + M +$$ + } +}", +assertCaretPosition: true); + } + [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] public void CommitOnLeftCurly() { @@ -271,7 +320,7 @@ class Class1 $$ }"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.Editor.SendKeys("int P { g{"); @@ -284,25 +333,30 @@ int P { get { $$} } } [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] + [WorkItem(33822, "https://github.com/dotnet/roslyn/issues/33822")] public void EnsureTheCaretIsVisibleAfterALongEdit() { - SetUpEditor(@" + var visibleColumns = VisualStudio.Editor.GetVisibleColumnCount(); + var variableName = new string('a', (int)(0.75 * visibleColumns)); + SetUpEditor($@" public class Program -{ +{{ static void Main(string[] args) - { - var aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = 0; - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = $$ - } -}"); + {{ + var {variableName} = 0; + {variableName} = $$ + }} +}}"); + Assert.True(variableName.Length > 0); VisualStudio.Editor.SendKeys( VirtualKey.Delete, "aaa", VirtualKey.Tab); var actualText = VisualStudio.Editor.GetText(); - Assert.Contains("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", actualText); + Assert.Contains($"{variableName} = {variableName}", actualText); Assert.True(VisualStudio.Editor.IsCaretOnScreen()); + Assert.True(VisualStudio.Editor.GetCaretColumn() > visibleColumns, "This test is inconclusive if the view didn't need to move to keep the caret on screen."); } [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractive.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractive.cs index d06e85796fd40..3ebb0c8b68c4d 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractive.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractive.cs @@ -98,7 +98,6 @@ public async Task WpfInteractionAsync() [WpfFact] public void TypingHelpDirectiveWorks() { - VisualStudio.Workspace.SetUseSuggestionMode(true); VisualStudio.InteractiveWindow.ShowWindow(waitForPrompt: true); // Directly type #help, rather than sending it through VisualStudio.InteractiveWindow.SubmitText. We want to actually test diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractiveDirectives.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractiveDirectives.cs index 342af9e901b0d..2f60148ecdf14 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractiveDirectives.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractiveDirectives.cs @@ -19,7 +19,6 @@ public CSharpInteractiveDirectives(VisualStudioInstanceFactory instanceFactory, [WpfFact] public void VerifyHostCommandsCompletionList() { - VisualStudio.Workspace.SetUseSuggestionMode(true); VisualStudio.InteractiveWindow.InsertCode("#"); VisualStudio.InteractiveWindow.InvokeCompletionList(); diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIdeFeatures.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIdeFeatures.cs index ad80c904d5c1c..7797c39bab538 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIdeFeatures.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIdeFeatures.cs @@ -17,15 +17,9 @@ public CSharpReplIdeFeatures(VisualStudioInstanceFactory instanceFactory, ITestO { } - public override async Task InitializeAsync() - { - await base.InitializeAsync().ConfigureAwait(true); - VisualStudio.Workspace.SetUseSuggestionMode(true); - } - public override Task DisposeAsync() { - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.InteractiveWindow.ClearReplText(); VisualStudio.InteractiveWindow.Reset(); return base.DisposeAsync(); diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIntellisense.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIntellisense.cs index e2b53e4a43573..588d89b2cf932 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIntellisense.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIntellisense.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Threading.Tasks; +using Microsoft.CodeAnalysis.Shared.TestHooks; using Microsoft.VisualStudio.IntegrationTest.Utilities; using Microsoft.VisualStudio.IntegrationTest.Utilities.Input; using Roslyn.Test.Utilities; @@ -17,12 +18,6 @@ public CSharpReplIntellisense(VisualStudioInstanceFactory instanceFactory, ITest { } - public override async Task InitializeAsync() - { - await base.InitializeAsync().ConfigureAwait(true); - VisualStudio.Workspace.SetUseSuggestionMode(true); - } - [WpfFact] public void VerifyCompletionListOnEmptyTextAtTopLevel() { @@ -70,14 +65,14 @@ public void VerifySharpLoadCompletionList() [WpfFact] public void VerifyNoCrashOnEnter() { - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.SendKeys.Send("#help", VirtualKey.Enter, VirtualKey.Enter); } [WpfFact] public void VerifyCorrectIntellisenseSelectionOnEnter() { - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.SendKeys.Send("TimeSpan.FromMin"); VisualStudio.SendKeys.Send(VirtualKey.Enter, "(0d)", VirtualKey.Enter); VisualStudio.InteractiveWindow.WaitForReplOutput("[00:00:00]"); diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicEditAndContinue.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicEditAndContinue.cs index e290fe3dce462..5d7ec6685c5d0 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicEditAndContinue.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicEditAndContinue.cs @@ -200,6 +200,7 @@ public void MultiProjectDebuggingWhereNotAllModulesAreLoaded() } [WpfFact] + [WorkItem(33829, "https://github.com/dotnet/roslyn/issues/33829")] public void DocumentStateTrackingReadonlyInRunMode() { SetupMultiProjectSolution(); diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicIntelliSense.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicIntelliSense.cs index 81b1982f7a32b..5d50bf84890d3 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicIntelliSense.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicIntelliSense.cs @@ -30,7 +30,7 @@ Sub Main() End Sub End Module"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.SendKeys.Send("dim q as lis("); VisualStudio.Editor.Verify.CompletionItemsExist("Of"); @@ -98,6 +98,20 @@ End Sub End Module", assertCaretPosition: true); + if (LegacyCompletionCondition.Instance.ShouldSkip) + { + // Async completion has an extra undo step + VisualStudio.SendKeys.Send(Ctrl(VirtualKey.Z)); + + VisualStudio.Editor.Verify.TextContains(@" +Module Module1 + Sub Main() + Dim q As List($$) + End Sub +End Module", +assertCaretPosition: true); + } + VisualStudio.SendKeys.Send(Ctrl(VirtualKey.Z)); VisualStudio.Editor.Verify.TextContains(@" @@ -129,7 +143,7 @@ Sub Main() End Sub End Module"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.SendKeys.Send("dim"); VisualStudio.Editor.Verify.CompletionItemsExist("Dim", "ReDim"); @@ -184,7 +198,7 @@ Sub Main() End Sub End Module"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.SendKeys.Send("dim q as "); VisualStudio.Editor.Verify.CompletionItemsExist("_AppDomain"); @@ -205,7 +219,7 @@ public void TypeLeftAngleAfterImports() SetUpEditor(@" Imports$$"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.SendKeys.Send(' '); VisualStudio.Editor.Verify.CompletionItemsExist("Microsoft", "System"); @@ -224,7 +238,7 @@ Function M(val As Integer) As Integer End Function End Module"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.SendKeys.Send('M'); VisualStudio.Editor.Verify.CompletionItemsExist("M"); @@ -242,10 +256,26 @@ End Function assertCaretPosition: true); } + [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] + public void CtrlAltSpace() + { + VisualStudio.Editor.SetUseSuggestionMode(false); + + VisualStudio.SendKeys.Send("Nam Foo"); + VisualStudio.Editor.Verify.CurrentLineText("Namespace Foo$$", assertCaretPosition: true); + + ClearEditor(); + + VisualStudio.Editor.SendKeys(new KeyPress(VirtualKey.Space, ShiftState.Ctrl | ShiftState.Alt)); + + VisualStudio.SendKeys.Send("Nam Foo"); + VisualStudio.Editor.Verify.CurrentLineText("Nam Foo$$", assertCaretPosition: true); + } + [WpfFact, Trait(Traits.Feature, Traits.Features.Completion)] public void CtrlAltSpaceOption() { - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.SendKeys.Send("Nam Foo"); VisualStudio.Editor.Verify.CurrentLineText("Namespace Foo$$", assertCaretPosition: true); @@ -271,7 +301,7 @@ Public Class Bar End Class"); - VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.Editor.SetUseSuggestionMode(false); VisualStudio.SendKeys.Send(" UF"); VisualStudio.Editor.Verify.CompletionItemsExist("UFoo"); diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicRename.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicRename.cs index eebcca29cbc1f..d9506acdb2299 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicRename.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/VisualBasic/BasicRename.cs @@ -214,8 +214,8 @@ Inherits Attribute VisualStudio.Editor.Verify.TextContains(@" Import System; -Public Class CustomAttribute - Inherits Attribute +Public Class CustomAttribute + Inherits Attribute End Class"); } @@ -334,7 +334,7 @@ Inherits Attribute Import System; Public Class CustomAttribute - Inherits Attribute + Inherits Attribute End Class"); } @@ -360,7 +360,7 @@ Inherits Attribute Import System; Public Class CustomAttribute - Inherits Attribute + Inherits Attribute End Class"); } } diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/App.config b/src/VisualStudio/IntegrationTest/TestUtilities/App.config index d8b5190ff3f28..832ec6cd649b7 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/App.config +++ b/src/VisualStudio/IntegrationTest/TestUtilities/App.config @@ -10,7 +10,7 @@ - 15 + 16 RoslynDev diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/AsyncCompletionCondition.cs b/src/VisualStudio/IntegrationTest/TestUtilities/AsyncCompletionCondition.cs new file mode 100644 index 0000000000000..eff082f64f3eb --- /dev/null +++ b/src/VisualStudio/IntegrationTest/TestUtilities/AsyncCompletionCondition.cs @@ -0,0 +1,17 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Roslyn.Test.Utilities; + +namespace Microsoft.VisualStudio.IntegrationTest.Utilities +{ + /// + /// Marks a test that should only run when async completion is enabled. + /// + public sealed class AsyncCompletionCondition : ExecutionCondition + { + public static AsyncCompletionCondition Instance { get; } = new AsyncCompletionCondition(); + + public override bool ShouldSkip => !LegacyCompletionCondition.Instance.ShouldSkip; + public override string SkipReason => "The test only runs when async completion is enabled."; + } +} diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/Editor_InProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/Editor_InProc.cs index ab24f9aff985d..42842c7c3d902 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/Editor_InProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/Editor_InProc.cs @@ -12,11 +12,18 @@ using System.Windows.Controls; using System.Windows.Forms; using System.Windows.Media; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Editor; using Microsoft.CodeAnalysis.Editor.Implementation.Highlighting; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.Completion; +using Microsoft.CodeAnalysis.Editor.Options; using Microsoft.CodeAnalysis.Editor.Shared.Extensions; +using Microsoft.CodeAnalysis.Options; using Microsoft.VisualStudio.IntegrationTest.Utilities.Common; using Microsoft.VisualStudio.IntegrationTest.Utilities.Input; using Microsoft.VisualStudio.Language.Intellisense; +using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; +using Microsoft.VisualStudio.LanguageServices; using Microsoft.VisualStudio.Shell.Interop; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Classification; @@ -72,6 +79,58 @@ private static IWpfTextViewHost GetActiveTextViewHost() return (IWpfTextViewHost)wpfTextViewHost; } + public bool IsUseSuggestionModeOn() + { + var asyncCompletionService = (AsyncCompletionService)GetComponentModelService(); + return ExecuteOnActiveView(textView => + { + var subjectBuffer = GetBufferContainingCaret(textView); + if (asyncCompletionService.GetTestAccessor().UseLegacyCompletion(textView, subjectBuffer)) + { + return GetComponentModelService().Options.GetOption(EditorCompletionOptions.UseSuggestionMode); + } + else + { + var options = textView.Options.GlobalOptions; + EditorOptionKey optionKey; + Option roslynOption; + if (IsDebuggerTextView(textView)) + { + optionKey = new EditorOptionKey(PredefinedCompletionNames.SuggestionModeInDebuggerCompletionOptionName); + roslynOption = EditorCompletionOptions.UseSuggestionMode_Debugger; + } + else + { + optionKey = new EditorOptionKey(PredefinedCompletionNames.SuggestionModeInCompletionOptionName); + roslynOption = EditorCompletionOptions.UseSuggestionMode; + } + + if (!options.IsOptionDefined(optionKey, localScopeOnly: false)) + { + return roslynOption.DefaultValue; + } + + return options.GetOptionValue(optionKey); + } + }); + + bool IsDebuggerTextView(IWpfTextView textView) + => textView.Roles.Contains("DEBUGVIEW"); + } + + public void SetUseSuggestionMode(bool value) + { + if (IsUseSuggestionModeOn() != value) + { + ExecuteCommand(WellKnownCommandNames.Edit_ToggleCompletionMode); + + if (IsUseSuggestionModeOn() != value) + { + throw new InvalidOperationException($"{WellKnownCommandNames.Edit_ToggleCompletionMode} did not leave the editor in the expected state."); + } + } + } + public string GetActiveBufferName() { return GetDTE().ActiveDocument.Name; diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/TextViewWindow_InProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/TextViewWindow_InProc.cs index e02cafa0ce137..eb4f472d9a864 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/TextViewWindow_InProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/TextViewWindow_InProc.cs @@ -132,6 +132,14 @@ public string[] GetCurrentClassifications() } }); + public int GetVisibleColumnCount() + { + return ExecuteOnActiveView(view => + { + return (int)Math.Ceiling(view.ViewportWidth / Math.Max(view.FormattedLineSource.ColumnWidth, 1)); + }); + } + public void PlaceCaret( string marker, int charsOffset, @@ -211,6 +219,16 @@ public int GetCaretPosition() return bufferPosition.Position; }); + public int GetCaretColumn() + { + return ExecuteOnActiveView(view => + { + var startOfLine = view.Caret.ContainingTextViewLine.Start.Position; + var caretVirtualPosition = view.Caret.Position.VirtualBufferPosition; + return caretVirtualPosition.Position - startOfLine + caretVirtualPosition.VirtualSpaces; + }); + } + protected T ExecuteOnActiveView(Func action) => InvokeOnUIThread(() => { diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/VisualStudioWorkspace_InProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/VisualStudioWorkspace_InProc.cs index 0cfdaa0262d21..bbca914b8da44 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/VisualStudioWorkspace_InProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/VisualStudioWorkspace_InProc.cs @@ -5,7 +5,6 @@ using System.Linq; using System.Runtime.InteropServices; using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.Editor.Options; using Microsoft.CodeAnalysis.Editor.Shared.Options; using Microsoft.CodeAnalysis.Host; using Microsoft.CodeAnalysis.Options; @@ -45,17 +44,6 @@ private EnvDTE.Project GetProject(string nameOrFileName) string.Compare(p.FileName, nameOrFileName, StringComparison.OrdinalIgnoreCase) == 0 || string.Compare(p.Name, nameOrFileName, StringComparison.OrdinalIgnoreCase) == 0); - public bool IsUseSuggestionModeOn() - => _visualStudioWorkspace.Options.GetOption(EditorCompletionOptions.UseSuggestionMode); - - public void SetUseSuggestionMode(bool value) - { - if (IsUseSuggestionModeOn() != value) - { - ExecuteCommand(WellKnownCommandNames.Edit_ToggleCompletionMode); - } - } - public bool IsPrettyListingOn(string languageName) => _visualStudioWorkspace.Options.GetOption(FeatureOnOffOptions.PrettyListing, languageName); diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/LegacyCompletionCondition.cs b/src/VisualStudio/IntegrationTest/TestUtilities/LegacyCompletionCondition.cs new file mode 100644 index 0000000000000..fc002166256e3 --- /dev/null +++ b/src/VisualStudio/IntegrationTest/TestUtilities/LegacyCompletionCondition.cs @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Roslyn.Test.Utilities; + +namespace Microsoft.VisualStudio.IntegrationTest.Utilities +{ + /// + /// Marks a test that should only run when legacy completion is enabled. + /// + public sealed class LegacyCompletionCondition : ExecutionCondition + { + public static LegacyCompletionCondition Instance { get; } = new LegacyCompletionCondition(); + + public override bool ShouldSkip => string.Equals(Environment.GetEnvironmentVariable("ROSLYN_TEST_LEGACY_COMPLETION"), "true", StringComparison.OrdinalIgnoreCase); + public override string SkipReason => "The test only runs when legacy completion is enabled."; + } +} diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/Editor_OutOfProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/Editor_OutOfProc.cs index ba6c55849bca4..7062e998ff81c 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/Editor_OutOfProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/Editor_OutOfProc.cs @@ -224,6 +224,12 @@ public void NavigateToSendKeys(params object[] keys) public ClassifiedToken[] GetLightbulbPreviewClassification(string menuText) => _editorInProc.GetLightbulbPreviewClassifications(menuText); + public bool IsUseSuggestionModeOn() + => _editorInProc.IsUseSuggestionModeOn(); + + public void SetUseSuggestionMode(bool value) + => _editorInProc.SetUseSuggestionMode(value); + public void WaitForActiveView(string viewName) => _editorInProc.WaitForActiveView(viewName); diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/TextViewWindow_OutOfProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/TextViewWindow_OutOfProc.cs index c21b4248fd003..bd07efa45d662 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/TextViewWindow_OutOfProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/TextViewWindow_OutOfProc.cs @@ -26,12 +26,18 @@ internal TextViewWindow_OutOfProc(VisualStudioInstance visualStudioInstance) public int GetCaretPosition() => _textViewWindowInProc.GetCaretPosition(); + public int GetCaretColumn() + => _textViewWindowInProc.GetCaretColumn(); + public string[] GetCompletionItems() { WaitForCompletionSet(); return _textViewWindowInProc.GetCompletionItems(); } + public int GetVisibleColumnCount() + => _textViewWindowInProc.GetVisibleColumnCount(); + public void PlaceCaret( string marker, int charsOffset = 0, diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/VisualStudioWorkspace_OutOfProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/VisualStudioWorkspace_OutOfProc.cs index 01d0284c6129e..10a33e3c778a9 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/VisualStudioWorkspace_OutOfProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/VisualStudioWorkspace_OutOfProc.cs @@ -19,13 +19,6 @@ internal VisualStudioWorkspace_OutOfProc(VisualStudioInstance visualStudioInstan _instance = visualStudioInstance; _inProc = CreateInProcComponent(visualStudioInstance); } - - public bool IsUseSuggestionModeOn() - => _inProc.IsUseSuggestionModeOn(); - - public void SetUseSuggestionMode(bool value) - => _inProc.SetUseSuggestionMode(value); - public void SetOptionInfer(string projectName, bool value) { _inProc.SetOptionInfer(projectName, value); diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/Settings.Designer.cs b/src/VisualStudio/IntegrationTest/TestUtilities/Settings.Designer.cs index 2f68ffd9db314..e80ef46216896 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/Settings.Designer.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace Microsoft.VisualStudio.IntegrationTest.Utilities { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.3.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -25,7 +25,7 @@ public static Settings Default { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("15")] + [global::System.Configuration.DefaultSettingValueAttribute("16")] public string VsProductVersion { get { return ((string)(this["VsProductVersion"])); diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/Settings.settings b/src/VisualStudio/IntegrationTest/TestUtilities/Settings.settings index ae0b5fbb4e90b..f8d860ad69e4d 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/Settings.settings +++ b/src/VisualStudio/IntegrationTest/TestUtilities/Settings.settings @@ -3,7 +3,7 @@ - 15 + 16 RoslynDev diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/VisualStudioInstanceFactory.cs b/src/VisualStudio/IntegrationTest/TestUtilities/VisualStudioInstanceFactory.cs index 5716422385011..8a7bac4f7552e 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/VisualStudioInstanceFactory.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/VisualStudioInstanceFactory.cs @@ -41,9 +41,9 @@ public VisualStudioInstanceFactory() AppDomain.CurrentDomain.FirstChanceException += FirstChanceExceptionHandler; var majorVsProductVersion = VsProductVersion.Split('.')[0]; - if (int.Parse(majorVsProductVersion) < 15) + if (int.Parse(majorVsProductVersion) < 16) { - throw new PlatformNotSupportedException("The Visual Studio Integration Test Framework is only supported on Visual Studio 15.0 and later."); + throw new PlatformNotSupportedException("The Visual Studio Integration Test Framework is only supported on Visual Studio 16.0 and later."); } } @@ -324,6 +324,11 @@ private static Process StartNewVisualStudioProcess(string installationPath, int // Disable roaming settings to avoid interference from the online user profile Process.Start(vsRegEditExeFile, $"set \"{installationPath}\" {Settings.Default.VsRootSuffix} HKCU \"ApplicationPrivateSettings\\Microsoft\\VisualStudio\" RoamingEnabled string \"1*System.Boolean*False\"").WaitForExit(); + // Enable or disable async completion as necessary for integration testing + var usingAsyncCompletion = LegacyCompletionCondition.Instance.ShouldSkip; + var useAsyncCompletionSetting = usingAsyncCompletion ? 1 : -1; + Process.Start(vsRegEditExeFile, $"set \"{installationPath}\" {Settings.Default.VsRootSuffix} HKCU \"ApplicationPrivateSettings\\WindowManagement\\Options\" UseAsyncCompletion string \"1*System.Int32*{useAsyncCompletionSetting}\"").WaitForExit(); + // Disable text editor error reporting because it pops up a dialog. We want to either fail fast in our // custom handler or fail silently and continue testing. Process.Start(vsRegEditExeFile, $"set \"{installationPath}\" {Settings.Default.VsRootSuffix} HKCU \"Text Editor\" \"Report Exceptions\" dword 0").WaitForExit(); diff --git a/src/VisualStudio/RemoteHostClientMock/Roslyn.VisualStudio.RemoteHostClientMock.csproj b/src/VisualStudio/RemoteHostClientMock/Roslyn.VisualStudio.RemoteHostClientMock.csproj index 9a6437a28f24f..c1b1a6493419b 100644 --- a/src/VisualStudio/RemoteHostClientMock/Roslyn.VisualStudio.RemoteHostClientMock.csproj +++ b/src/VisualStudio/RemoteHostClientMock/Roslyn.VisualStudio.RemoteHostClientMock.csproj @@ -42,6 +42,7 @@ + diff --git a/src/VisualStudio/Setup.Dependencies/Roslyn.VisualStudio.Setup.Dependencies.csproj b/src/VisualStudio/Setup.Dependencies/Roslyn.VisualStudio.Setup.Dependencies.csproj index be8ae1dfdd4f2..33fde24bfd129 100644 --- a/src/VisualStudio/Setup.Dependencies/Roslyn.VisualStudio.Setup.Dependencies.csproj +++ b/src/VisualStudio/Setup.Dependencies/Roslyn.VisualStudio.Setup.Dependencies.csproj @@ -41,6 +41,8 @@ + + diff --git a/src/VisualStudio/TestUtilities2/Microsoft.VisualStudio.LanguageServices.Test.Utilities2.vbproj b/src/VisualStudio/TestUtilities2/Microsoft.VisualStudio.LanguageServices.Test.Utilities2.vbproj index f9abdc00244e3..062fcfc0fa6e8 100644 --- a/src/VisualStudio/TestUtilities2/Microsoft.VisualStudio.LanguageServices.Test.Utilities2.vbproj +++ b/src/VisualStudio/TestUtilities2/Microsoft.VisualStudio.LanguageServices.Test.Utilities2.vbproj @@ -67,6 +67,7 @@ + @@ -75,11 +76,11 @@ - + diff --git a/src/VisualStudio/TestUtilities2/MockComponentModel.vb b/src/VisualStudio/TestUtilities2/MockComponentModel.vb index 5269092556371..a551697634610 100644 --- a/src/VisualStudio/TestUtilities2/MockComponentModel.vb +++ b/src/VisualStudio/TestUtilities2/MockComponentModel.vb @@ -16,11 +16,13 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests _exportProvider = exportProvider End Sub +#Disable Warning BC40000 ' Type or member is obsolete Public ReadOnly Property DefaultCatalog As ComposablePartCatalog Implements IComponentModel.DefaultCatalog Get Throw New NotImplementedException End Get End Property +#Enable Warning BC40000 ' Type or member is obsolete Public ReadOnly Property DefaultCompositionService As ICompositionService Implements IComponentModel.DefaultCompositionService Get diff --git a/src/VisualStudio/TestUtilities2/ProjectSystemShim/Framework/MockVsFileChangeEx.vb b/src/VisualStudio/TestUtilities2/ProjectSystemShim/Framework/MockVsFileChangeEx.vb index ed58bfd61bc9d..3a54024ef43cb 100644 --- a/src/VisualStudio/TestUtilities2/ProjectSystemShim/Framework/MockVsFileChangeEx.vb +++ b/src/VisualStudio/TestUtilities2/ProjectSystemShim/Framework/MockVsFileChangeEx.vb @@ -1,13 +1,18 @@ ' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +Imports System.Runtime.InteropServices +Imports System.Threading +Imports Microsoft.VisualStudio.Shell Imports Microsoft.VisualStudio.Shell.Interop +Imports Task = System.Threading.Tasks.Task Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim.Framework Friend Class MockVsFileChangeEx Implements IVsFileChangeEx + Implements IVsAsyncFileChangeEx Private ReadOnly _lock As New Object - Private ReadOnly _watchedFiles As List(Of Tuple(Of UInteger, String, IVsFileChangeEvents)) = New List(Of Tuple(Of UInteger, String, IVsFileChangeEvents)) + Private ReadOnly _watchedFiles As List(Of Tuple(Of UInteger, String, IVsFreeThreadedFileChangeEvents2)) = New List(Of Tuple(Of UInteger, String, IVsFreeThreadedFileChangeEvents2)) Private _nextCookie As UInteger = 0UI Public Function AdviseDirChange(pszDir As String, fWatchSubDir As Integer, pFCE As IVsFileChangeEvents, ByRef pvsCookie As UInteger) As Integer Implements IVsFileChangeEx.AdviseDirChange @@ -21,7 +26,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim.Fr SyncLock _lock pvsCookie = _nextCookie - _watchedFiles.Add(Tuple.Create(pvsCookie, pszMkDocument, pFCE)) + _watchedFiles.Add(Tuple.Create(pvsCookie, pszMkDocument, DirectCast(pFCE, IVsFreeThreadedFileChangeEvents2))) _nextCookie += 1UI Return VSConstants.S_OK @@ -50,19 +55,56 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ProjectSystemShim.Fr End Function Public Sub FireUpdate(filename As String) - Dim subscription As Tuple(Of UInteger, String, IVsFileChangeEvents) = Nothing + Dim subscription As Tuple(Of UInteger, String, IVsFreeThreadedFileChangeEvents2) = Nothing SyncLock _lock subscription = _watchedFiles.First(Function(t) String.Equals(t.Item2, filename, StringComparison.OrdinalIgnoreCase)) End SyncLock If subscription IsNot Nothing Then + subscription.Item3.FilesChanged(1, {subscription.Item2}, {CType(_VSFILECHANGEFLAGS.VSFILECHG_Time, UInteger)}) Else Throw New InvalidOperationException("There is no subscription for file " + filename) End If End Sub + Public Function AdviseFileChangeAsync(filename As String, filter As _VSFILECHANGEFLAGS, sink As IVsFreeThreadedFileChangeEvents2, Optional cancellationToken As CancellationToken = Nothing) As Task(Of UInteger) Implements IVsAsyncFileChangeEx.AdviseFileChangeAsync + Dim cookie As UInteger + Marshal.ThrowExceptionForHR(AdviseFileChange(filename, CType(filter, UInteger), sink, cookie)) + Return Task.FromResult(cookie) + End Function + + Public Function UnadviseFileChangeAsync(cookie As UInteger, Optional cancellationToken As CancellationToken = Nothing) As Task(Of String) Implements IVsAsyncFileChangeEx.UnadviseFileChangeAsync + SyncLock _lock + Dim path = _watchedFiles.FirstOrDefault(Function(t) t.Item1 = cookie).Item2 + + Marshal.ThrowExceptionForHR(UnadviseFileChange(cookie)) + + Return Task.FromResult(path) + End SyncLock + End Function + + Public Function AdviseDirChangeAsync(directory As String, watchSubdirectories As Boolean, sink As IVsFreeThreadedFileChangeEvents2, Optional cancellationToken As CancellationToken = Nothing) As Task(Of UInteger) Implements IVsAsyncFileChangeEx.AdviseDirChangeAsync + Throw New NotImplementedException() + End Function + + Public Function UnadviseDirChangeAsync(cookie As UInteger, Optional cancellationToken As CancellationToken = Nothing) As Task(Of String) Implements IVsAsyncFileChangeEx.UnadviseDirChangeAsync + Throw New NotImplementedException() + End Function + + Public Function SyncFileAsync(filename As String, Optional cancellationToken As CancellationToken = Nothing) As Tasks.Task Implements IVsAsyncFileChangeEx.SyncFileAsync + Throw New NotImplementedException() + End Function + + Public Function IgnoreFileAsync(cookie As UInteger, filename As String, ignore As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Tasks.Task Implements IVsAsyncFileChangeEx.IgnoreFileAsync + Throw New NotImplementedException() + End Function + + Public Function IgnoreDirAsync(directory As String, ignore As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Tasks.Task Implements IVsAsyncFileChangeEx.IgnoreDirAsync + Throw New NotImplementedException() + End Function + Public ReadOnly Property WatchedFileCount As Integer Get SyncLock _lock diff --git a/src/VisualStudio/TestUtilities2/ProjectSystemShim/Framework/TestEnvironment.vb b/src/VisualStudio/TestUtilities2/ProjectSystemShim/Framework/TestEnvironment.vb index f6bf275972278..897abbc403454 100644 --- a/src/VisualStudio/TestUtilities2/ProjectSystemShim/Framework/TestEnvironment.vb +++ b/src/VisualStudio/TestUtilities2/ProjectSystemShim/Framework/TestEnvironment.vb @@ -5,12 +5,10 @@ Imports System.ComponentModel.Composition.Hosting Imports System.IO Imports System.Runtime.InteropServices Imports System.Threading -Imports EnvDTE Imports Microsoft.CodeAnalysis Imports Microsoft.CodeAnalysis.Editor.Shared.Utilities Imports Microsoft.CodeAnalysis.Editor.UnitTests Imports Microsoft.CodeAnalysis.FindSymbols -Imports Microsoft.CodeAnalysis.Host Imports Microsoft.CodeAnalysis.Shared.TestHooks Imports Microsoft.CodeAnalysis.Test.Utilities Imports Microsoft.VisualStudio.ComponentModelHost diff --git a/src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCommandHandler.vb b/src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCommandHandler.vb index b94a5ea62b854..df688a8d69346 100644 --- a/src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCommandHandler.vb +++ b/src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCommandHandler.vb @@ -11,6 +11,7 @@ Imports Microsoft.CodeAnalysis.Text Imports Microsoft.CodeAnalysis.VisualBasic.Extensions Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Imports Microsoft.VisualStudio.Editor +Imports Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion Imports Microsoft.VisualStudio.LanguageServices.Implementation.Snippets Imports Microsoft.VisualStudio.Shell Imports Microsoft.VisualStudio.Text @@ -23,7 +24,8 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Snippets - + + Friend NotInheritable Class SnippetCommandHandler Inherits AbstractSnippetCommandHandler diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.cs.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.cs.xlf index 11800d9bd9ceb..35dbc1052313e 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.cs.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.cs.xlf @@ -34,7 +34,7 @@ Never - Never + Nikdy @@ -264,7 +264,7 @@ Unused local - Unused local + Nepoužitá místní diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.de.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.de.xlf index eddd30d61fdfb..f4d791653e042 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.de.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.de.xlf @@ -34,7 +34,7 @@ Never - Never + Nie @@ -264,7 +264,7 @@ Unused local - Unused local + Nicht verwendete lokale Variable diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.es.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.es.xlf index 9f84c122282a1..a03622beb53f8 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.es.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.es.xlf @@ -34,7 +34,7 @@ Never - Never + Nunca @@ -264,7 +264,7 @@ Unused local - Unused local + Local sin uso diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.fr.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.fr.xlf index 5f280694b81da..342effda41837 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.fr.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.fr.xlf @@ -34,7 +34,7 @@ Never - Never + Jamais @@ -264,7 +264,7 @@ Unused local - Unused local + Local inutilisé diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.it.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.it.xlf index ee07d289deab5..d3266c9923b19 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.it.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.it.xlf @@ -34,7 +34,7 @@ Never - Never + Mai @@ -264,7 +264,7 @@ Unused local - Unused local + Variabile locale inutilizzata diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ja.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ja.xlf index 283586230a301..2155eb3d4c666 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ja.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ja.xlf @@ -34,7 +34,7 @@ Never - Never + 行わない @@ -264,7 +264,7 @@ Unused local - Unused local + 未使用のローカル diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ko.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ko.xlf index 3c0e27851d2b3..d9f4b4c4876bb 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ko.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ko.xlf @@ -34,7 +34,7 @@ Never - Never + 안 함 @@ -264,7 +264,7 @@ Unused local - Unused local + 사용하지 않는 로컬 diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pl.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pl.xlf index 20bebc44a7d92..d78decd4ffc6d 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pl.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pl.xlf @@ -34,7 +34,7 @@ Never - Never + Nigdy @@ -264,7 +264,7 @@ Unused local - Unused local + Nieużywane zmienne lokalne diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pt-BR.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pt-BR.xlf index 0651a9cf15452..c8060fb518d7b 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pt-BR.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pt-BR.xlf @@ -34,7 +34,7 @@ Never - Never + Nunca @@ -264,7 +264,7 @@ Unused local - Unused local + Local não usado diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ru.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ru.xlf index 53da887896b60..f6cf029de39fa 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ru.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ru.xlf @@ -34,7 +34,7 @@ Never - Never + Никогда @@ -264,7 +264,7 @@ Unused local - Unused local + Не использовать локальный аргумент diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.tr.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.tr.xlf index 1382371186032..8c49b7674431b 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.tr.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.tr.xlf @@ -34,7 +34,7 @@ Never - Never + Hiçbir zaman @@ -264,7 +264,7 @@ Unused local - Unused local + Kullanılmayan yerel diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hans.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hans.xlf index 5d99e7fd5e660..ccbfbda5e520d 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hans.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hans.xlf @@ -34,7 +34,7 @@ Never - Never + 从不 @@ -264,7 +264,7 @@ Unused local - Unused local + 未使用的本地 diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hant.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hant.xlf index 863f27ac196d6..e2d46312db4b6 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hant.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hant.xlf @@ -34,7 +34,7 @@ Never - Never + 永不 @@ -264,7 +264,7 @@ Unused local - Unused local + 未使用的區域函式 diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.de.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.de.xlf index 6761da1ac65ca..6b5cee350e025 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.de.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.de.xlf @@ -74,7 +74,7 @@ Nicht zulässige reguläre Ausdrücke melden; Qualify with Me;Prefer intrinsic types;Style;Code Style - Mit mir qualifizieren;systeminterne Typen bevorzugen;Format;Codeformat + Mit Me qualifizieren; Intrinsische Typen bevorzugen; Format; Codeformat Code Style options page keywords diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.es.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.es.xlf index e90fe64b41915..70ac9bfb7f37e 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.es.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.es.xlf @@ -64,7 +64,7 @@ Qualify with Me;Prefer intrinsic types;Style;Code Style - Calificar con tipos intrínsecos Me;Prefer;Style;Code Style + Qualify with Me;Prefer intrinsic types;Style;Code Style Code Style options page keywords diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.fr.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.fr.xlf index ab28a403f1aa3..c641477db14cc 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.fr.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.fr.xlf @@ -64,7 +64,7 @@ Qualify with Me;Prefer intrinsic types;Style;Code Style - Qualifier avec Me ; Préférer les types intrinsèques;Style;Style de code + Qualifier avec Me;Préférer les types intrinsèques;Style;Style de code Code Style options page keywords diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pl.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pl.xlf index e5f0126604253..5e708fc793d3c 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pl.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pl.xlf @@ -64,7 +64,7 @@ Qualify with Me;Prefer intrinsic types;Style;Code Style - Kwalifikuj przy użyciu elementu Me;Preferuj typy wewnętrzne;Styl;Styl kodu + Kwalifikuj w powiązaniu ze mną;Preferuj typy wewnętrzne;Styl;Styl kodu Code Style options page keywords diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pt-BR.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pt-BR.xlf index 0dd2a71139a85..531925d3b8a2a 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pt-BR.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pt-BR.xlf @@ -64,7 +64,7 @@ Qualify with Me;Prefer intrinsic types;Style;Code Style - Qualificar comigo;Preferir tipos intrínsecos;Estilo;Estilo do Código + Qualify with Me;Prefer intrinsic types;Style;Code Style Code Style options page keywords diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ru.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ru.xlf index 86d16bd1ff181..e1b43268c437e 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ru.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ru.xlf @@ -64,7 +64,7 @@ Qualify with Me;Prefer intrinsic types;Style;Code Style - Соответствовать моим требованиям;Предпочитать внутренние типы;Стиль;Стиль кода + Квалифицировать с помощью Me;Предпочитать внутренние типы;Стиль;Стиль кода Code Style options page keywords diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.tr.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.tr.xlf index b23b624f7c48c..564785450938d 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.tr.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.tr.xlf @@ -64,7 +64,7 @@ Qualify with Me;Prefer intrinsic types;Style;Code Style - Me ile nitele;İç türleri tercih et;Stil;Kod Stili + Qualify with Me;Prefer intrinsic types;Style;Code Style Code Style options page keywords diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hans.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hans.xlf index 2664226e7268c..d90ff6ad85c43 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hans.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hans.xlf @@ -64,7 +64,7 @@ Qualify with Me;Prefer intrinsic types;Style;Code Style - 用 Me 进行资格限定;首选内部类型;样式;代码样式 + Qualify with Me;Prefer intrinsic types;Style;Code Style Code Style options page keywords diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hant.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hant.xlf index 7329a3ee78cc5..895bef27d11d3 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hant.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hant.xlf @@ -64,7 +64,7 @@ Qualify with Me;Prefer intrinsic types;Style;Code Style - 符合我的需求;偏好內建類型;樣式;程式碼樣式 + 符合我的資格;優先使用內建類型;樣式;程式碼樣式 Code Style options page keywords diff --git a/src/VisualStudio/Xaml/Impl/Microsoft.VisualStudio.LanguageServices.Xaml.csproj b/src/VisualStudio/Xaml/Impl/Microsoft.VisualStudio.LanguageServices.Xaml.csproj index c7801b8872327..9521e2b0d8f24 100644 --- a/src/VisualStudio/Xaml/Impl/Microsoft.VisualStudio.LanguageServices.Xaml.csproj +++ b/src/VisualStudio/Xaml/Impl/Microsoft.VisualStudio.LanguageServices.Xaml.csproj @@ -7,7 +7,6 @@ false net472 None - true diff --git a/src/Workspaces/Core/MSBuild/xlf/WorkspaceMSBuildResources.ru.xlf b/src/Workspaces/Core/MSBuild/xlf/WorkspaceMSBuildResources.ru.xlf index 363081ed2e8c2..c6c966f75c3bf 100644 --- a/src/Workspaces/Core/MSBuild/xlf/WorkspaceMSBuildResources.ru.xlf +++ b/src/Workspaces/Core/MSBuild/xlf/WorkspaceMSBuildResources.ru.xlf @@ -19,7 +19,7 @@ Project does not contain '{0}' target. - Project does not contain '{0}' target. + Проект не содержит целевого объекта "{0}". diff --git a/src/Workspaces/Core/Portable/Experiments/IExperimentationService.cs b/src/Workspaces/Core/Portable/Experiments/IExperimentationService.cs index 78a9390ff0c41..fa75a3ddb188a 100644 --- a/src/Workspaces/Core/Portable/Experiments/IExperimentationService.cs +++ b/src/Workspaces/Core/Portable/Experiments/IExperimentationService.cs @@ -20,5 +20,6 @@ internal class DefaultExperimentationService : IExperimentationService internal static class WellKnownExperimentNames { public const string RoslynOOP64bit = nameof(RoslynOOP64bit); + public const string CompletionAPI = nameof(CompletionAPI); } } diff --git a/src/Workspaces/Core/Portable/PublicAPI.Unshipped.txt b/src/Workspaces/Core/Portable/PublicAPI.Unshipped.txt index afab16678dc70..090a3ba3dba57 100644 --- a/src/Workspaces/Core/Portable/PublicAPI.Unshipped.txt +++ b/src/Workspaces/Core/Portable/PublicAPI.Unshipped.txt @@ -1,8 +1,5 @@ -Microsoft.CodeAnalysis.Editing.DeclarationModifiers.WithIsRef(bool isRef) -> Microsoft.CodeAnalysis.Editing.DeclarationModifiers -Microsoft.CodeAnalysis.Solution.WithProjectDocumentsOrder(Microsoft.CodeAnalysis.ProjectId projectId, System.Collections.Immutable.ImmutableList documentIds) -> Microsoft.CodeAnalysis.Solution -Microsoft.CodeAnalysis.Workspace.ClearOpenDocument(Microsoft.CodeAnalysis.DocumentId documentId) -> void -Microsoft.CodeAnalysis.Workspace.ClearOpenDocument(Microsoft.CodeAnalysis.DocumentId documentId, bool isSolutionClosing) -> void *REMOVED*Microsoft.CodeAnalysis.Workspace.ClearOpenDocument(Microsoft.CodeAnalysis.DocumentId documentId, bool isSolutionClosing = false) -> void +Microsoft.CodeAnalysis.Editing.DeclarationModifiers.WithIsRef(bool isRef) -> Microsoft.CodeAnalysis.Editing.DeclarationModifiers abstract Microsoft.CodeAnalysis.Editing.SyntaxGenerator.AliasImportDeclaration(string aliasIdentifierName, Microsoft.CodeAnalysis.SyntaxNode name) -> Microsoft.CodeAnalysis.SyntaxNode abstract Microsoft.CodeAnalysis.Editing.SyntaxGenerator.NameExpression(Microsoft.CodeAnalysis.INamespaceOrTypeSymbol namespaceOrTypeSymbol) -> Microsoft.CodeAnalysis.SyntaxNode const Microsoft.CodeAnalysis.Classification.ClassificationTypeNames.ControlKeyword = "keyword - control" -> string @@ -30,6 +27,9 @@ Microsoft.CodeAnalysis.FileTextLoader.FileTextLoader(string path, System.Text.En Microsoft.CodeAnalysis.FileTextLoader.Path.get -> string Microsoft.CodeAnalysis.ProjectChanges.GetChangedDocuments(bool onlyGetDocumentsWithTextChanges) -> System.Collections.Generic.IEnumerable Microsoft.CodeAnalysis.Solution.AddDocuments(System.Collections.Immutable.ImmutableArray documentInfos) -> Microsoft.CodeAnalysis.Solution +Microsoft.CodeAnalysis.Solution.WithProjectDocumentsOrder(Microsoft.CodeAnalysis.ProjectId projectId, System.Collections.Immutable.ImmutableList documentIds) -> Microsoft.CodeAnalysis.Solution +Microsoft.CodeAnalysis.Workspace.ClearOpenDocument(Microsoft.CodeAnalysis.DocumentId documentId) -> void +Microsoft.CodeAnalysis.Workspace.ClearOpenDocument(Microsoft.CodeAnalysis.DocumentId documentId, bool isSolutionClosing) -> void Microsoft.CodeAnalysis.Workspace.OnDocumentsAdded(System.Collections.Immutable.ImmutableArray documentInfos) -> void Microsoft.CodeAnalysis.Workspace.OnOutputRefFilePathChanged(Microsoft.CodeAnalysis.ProjectId projectId, string outputFilePath) -> void override Microsoft.CodeAnalysis.FileTextLoader.LoadTextAndVersionAsync(Microsoft.CodeAnalysis.Workspace workspace, Microsoft.CodeAnalysis.DocumentId documentId, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.cs.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.cs.xlf index 6b9e226bba481..a332c51918514 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.cs.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.cs.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + DateTimeKind musí být Utc @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + Předpona {0} neodpovídá očekávané předponě {1}. Prefix '{0}' is not expected - Prefix '{0}' is not expected + Předpona {0} se neočekávala. @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Soubory jazyka Visual Basic - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Soubory jazyka Visual Basic + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Problém s regulárním výrazem: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + Číst + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + Odkaz + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + Zapsat + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + Předvolby parametrů diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.de.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.de.xlf index 8e335cb6c6f28..6d4f255e77f19 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.de.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.de.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + "DateTimeKind" muss UTC sein. @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + Das Präfix "{0}" entspricht nicht dem erwarteten Präfix "{1}". Prefix '{0}' is not expected - Prefix '{0}' is not expected + Das Präfix "{0}" wurde nicht erwartet. @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Visual Basic-Dateien - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Visual Basic-Dateien + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of RegEx-Fehler: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + Lesen + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + Verweis + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + Schreiben + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + Einstellungen für Parameter diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.es.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.es.xlf index 3456111340a48..bedb472344072 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.es.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.es.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + DateTimeKind debe ser Utc @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + El prefijo "{0}" no coincide con el prefijo esperado "{1}". Prefix '{0}' is not expected - Prefix '{0}' is not expected + No se espera el prefijo "{0}" @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Archivos de Visual Basic - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Archivos de Visual Basic + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Problema de Regex: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + Leer + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + Referencia + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + Escribir + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + Preferencias de parámetro diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.fr.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.fr.xlf index 7c0fd64c9e2da..2f40ddfec8ab1 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.fr.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.fr.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + DateTimeKind doit être UTC @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + Le préfixe « {0} » ne correspond pas au préfixe attendu « {1} » Prefix '{0}' is not expected - Prefix '{0}' is not expected + Le préfixe « {0} » n'est pas attendu @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Fichiers Visual Basic - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Fichiers Visual Basic + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Problème de regex : {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + Lire + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + Référencer + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + Écrire + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + Préférences de paramètre diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.it.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.it.xlf index 077a0d9f6437f..7af10227d5104 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.it.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.it.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + Il valore di DateTimeKind deve essere Utc @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + Il prefisso '{0}' non corrisponde al prefisso previsto '{1}' Prefix '{0}' is not expected - Prefix '{0}' is not expected + Il prefisso '{0}' non è previsto @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - File Visual Basic - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + File Visual Basic + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Problema di regex: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + Lettura + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + Riferimento + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + Scrittura + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + Preferenze per parametri diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ja.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ja.xlf index 524bd6018f681..8f32061ddbac8 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ja.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ja.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + DateTimeKind は Utc にする必要があります @@ -69,17 +69,17 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + プレフィックス '{0}' が予想されるプレフィックス '{1}' と一致しません Prefix '{0}' is not expected - Prefix '{0}' is not expected + プレフィックス '{0}' は予期されていません Refactoring Only - Refactoring Only + リファクタリングのみ @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Visual Basic ファイル - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Visual Basic ファイル + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of 正規表現の問題: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + 読み取り + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + 参照 + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + 書き込み + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + パラメーターの設定 diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ko.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ko.xlf index 4d2dbe833a134..8b524bc5dba93 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ko.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ko.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + DateTimeKind는 UTC여야 합니다. @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + 접두사 '{0}'이(가) 필요한 접두사 '{1}'과(와) 일치하지 않습니다. Prefix '{0}' is not expected - Prefix '{0}' is not expected + 접두사 '{0}'은(는) 사용할 수 없습니다. @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Visual Basic 파일 - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Visual Basic 파일 + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Regex 문제: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + 읽기 + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + 참조 + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + 쓰기 + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + 매개 변수 기본 설정 diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.pl.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.pl.xlf index 4c73a7bfa01ac..1768ede8ec81f 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.pl.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.pl.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + Element DateTimeKind musi mieć wartość Utc @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + Prefiks „{0}” jest inny niż oczekiwany prefiks „{1}” Prefix '{0}' is not expected - Prefix '{0}' is not expected + Nieoczekiwany prefiks „{0}” @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Pliki języka Visual Basic - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Pliki języka Visual Basic + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Problem z wyrażeniem regularnym: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + Odczytaj + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + Odwołanie + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + Zapisz + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + Preferencje dotyczące parametrów diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.pt-BR.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.pt-BR.xlf index 1ff0c9d786d7c..20d83967b6fa0 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.pt-BR.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.pt-BR.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + DateTimeKind deve ser Utc @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + O prefixo '{0}' não coincide com prefixo esperado '{1}' Prefix '{0}' is not expected - Prefix '{0}' is not expected + O prefixo '{0}' não é esperado @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Arquivos do Visual Basic - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Arquivos do Visual Basic + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Problema do Regex: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + Ler + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + Referência + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + Escrever + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + Preferências de parâmetro diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ru.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ru.xlf index 9993afcf3c0f7..c4c2c82c62686 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ru.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.ru.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + Параметр DateTimeKind должен содержать время и дату в формате UTC @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + Префикс '{0}' не соответствует ожидаемому префиксу '{1}' Prefix '{0}' is not expected - Prefix '{0}' is not expected + Префикс "{0}" является недопустимым @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Файлы Visual Basic - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Файлы Visual Basic + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Проблема с регулярным выражением: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + Чтение + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + Ссылка + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + Запись + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + Настройки параметров diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.tr.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.tr.xlf index c5621510b0bfb..24b3b3a0f92a9 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.tr.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.tr.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + DateTimeKind Utc olmalıdır @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + '{0}' öneki 'beklenen {1}' öneki eşleşmiyor Prefix '{0}' is not expected - Prefix '{0}' is not expected + '{0}' öneki beklenmez @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Visual Basic dosyaları - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Visual Basic dosyaları + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Regex sorunu: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + Oku + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + Başvuru + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + Yaz + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + Parametre tercihleri diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.zh-Hans.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.zh-Hans.xlf index 7a48a62ad60d2..31a8fe1deb0ff 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.zh-Hans.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.zh-Hans.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + 日期时间类型必须是 utc @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + 前缀 "{0}" 与预期前缀 "{1}" 不匹配 Prefix '{0}' is not expected - Prefix '{0}' is not expected + 前缀“{0}”不是预期的 @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - visual basic 文件 - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + visual basic 文件 + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of 正则表达式问题: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + 读取 + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + 引用 + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + 写入 + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + 参数首选项 diff --git a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.zh-Hant.xlf b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.zh-Hant.xlf index 027deec80b836..948ec14ff8b53 100644 --- a/src/Workspaces/Core/Portable/xlf/WorkspacesResources.zh-Hant.xlf +++ b/src/Workspaces/Core/Portable/xlf/WorkspacesResources.zh-Hant.xlf @@ -24,7 +24,7 @@ DateTimeKind must be Utc - DateTimeKind must be Utc + DateTimeKind 必須是 Utc @@ -69,12 +69,12 @@ Prefix '{0}' does not match expected prefix '{1}' - Prefix '{0}' does not match expected prefix '{1}' + 前置詞 '{0}' 不符合預期的前置詞 '{1}' Prefix '{0}' is not expected - Prefix '{0}' is not expected + 不應為前置詞 '{0}' @@ -1292,50 +1292,35 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Declare See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - Qualify - Qualify - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Type Constraint - Type Constraint - See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context - - - Visual Basic files - Visual Basic 檔案 - - Import Import See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Qualify + Qualify + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Type Argument Type Argument See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + + Type Constraint + Type Constraint + See xml doc comments on 'TypeOrNamespaceUsageInfo' enum for context + Name Name See xml doc comments on 'ValueUsageInfo' enum for context - - Read - Read - See xml doc comments on 'ValueUsageInfo' enum for context - - - Reference - Reference - See xml doc comments on 'ValueUsageInfo' enum for context - - - Write - Write - See xml doc comments on 'ValueUsageInfo' enum for context + + Visual Basic files + Visual Basic 檔案 + Workspace is not empty. @@ -2227,9 +2212,24 @@ Zero-width positive lookbehind assertions are typically used at the beginning of Regex 問題: {0} This is an error message shown to the user when they write an invalid Regular Expression. {0} will be the actual text of one of the above Regular Expression errors. + + Read + 讀取 + See xml doc comments on 'ValueUsageInfo' enum for context + + + Reference + 參考 + See xml doc comments on 'ValueUsageInfo' enum for context + + + Write + 寫入 + See xml doc comments on 'ValueUsageInfo' enum for context + Parameter preferences - Parameter preferences + 參數喜好設定