Skip to content

Commit 8da820f

Browse files
authored
Merge branch 'main' into patch-17
2 parents 7c61c0b + 98ea496 commit 8da820f

File tree

14,898 files changed

+2177641
-1453932
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

14,898 files changed

+2177641
-1453932
lines changed

.devcontainer/Dockerfile

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.192.0/containers/dotnet/.devcontainer/base.Dockerfile
22

3-
# [Choice] .NET version: 6.0, 5.0, 3.1, 2.1
4-
ARG VARIANT="6.0"
5-
FROM mcr.microsoft.com/vscode/devcontainers/dotnet:0-${VARIANT}
3+
FROM mcr.microsoft.com/dotnet/sdk:8.0
4+
5+
ARG DOTNET_SDK_INSTALL_URL=https://dot.net/v1/dotnet-install.sh
6+
# Install the correct Roslyn SDK into the same directory that the base image installs the SDK in.
7+
ENV DOTNET_INSTALL_DIR=/usr/share/dotnet
8+
9+
# Copy the global.json file so its available in the image before the repo is cloned
10+
COPY global.json /tmp/
11+
12+
RUN cd /tmp \
13+
&& curl --location --output dotnet-install.sh "${DOTNET_SDK_INSTALL_URL}" \
14+
&& chmod +x dotnet-install.sh \
15+
&& mkdir -p "${DOTNET_INSTALL_DIR}" \
16+
&& ./dotnet-install.sh --jsonfile "./global.json" --install-dir "${DOTNET_INSTALL_DIR}" \
17+
&& rm dotnet-install.sh
618

719
# Set up machine requirements to build the repo
820
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \

.devcontainer/devcontainer.json

Lines changed: 52 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,61 @@
11
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
22
// https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/dotnetcore
33
{
4-
"name": "C# (.NET 6)",
4+
"name": "C# (.NET 9)",
55
"build": {
66
"dockerfile": "Dockerfile",
7-
"args": {
8-
"VARIANT": "6.0",
9-
}
7+
// Set the context to the workspace folder to allow us to copy files from it.
8+
"context": ".."
109
},
11-
"settings": {
12-
"files.associations": {
13-
"*.csproj": "msbuild",
14-
"*.fsproj": "msbuild",
15-
"*.globalconfig": "ini",
16-
"*.manifest": "xml",
17-
"*.nuspec": "xml",
18-
"*.pkgdef": "ini",
19-
"*.projitems": "msbuild",
20-
"*.props": "msbuild",
21-
"*.resx": "xml",
22-
"*.rsp": "Powershell",
23-
"*.ruleset": "xml",
24-
"*.settings": "xml",
25-
"*.shproj": "msbuild",
26-
"*.slnf": "json",
27-
"*.targets": "msbuild",
28-
"*.vbproj": "msbuild",
29-
"*.vsixmanifest": "xml",
30-
"*.vstemplate": "xml",
31-
"*.xlf": "xml",
32-
"*.yml": "azure-pipelines"
33-
},
34-
// ms-dotnettools.csharp settings
35-
"omnisharp.defaultLaunchSolution": "Roslyn.sln",
36-
"omnisharp.disableMSBuildDiagnosticWarning": true,
37-
"omnisharp.enableEditorConfigSupport": true,
38-
"omnisharp.enableImportCompletion": true,
39-
"omnisharp.useModernNet": true,
40-
"omnisharp.enableAsyncCompletion": true,
41-
// ms-vscode.powershell settings
42-
"powershell.promptToUpdatePowerShell": false,
43-
"powershell.integratedConsole.showOnStartup": false,
44-
"powershell.startAutomatically": false,
45-
// ms-azure-devops.azure-pipelines settings
46-
"azure-pipelines.customSchemaFile": ".vscode/dnceng-schema.json"
10+
"customizations": {
11+
"vscode": {
12+
"settings": {
13+
"files.associations": {
14+
"*.csproj": "msbuild",
15+
"*.fsproj": "msbuild",
16+
"*.globalconfig": "ini",
17+
"*.manifest": "xml",
18+
"*.nuspec": "xml",
19+
"*.pkgdef": "ini",
20+
"*.projitems": "msbuild",
21+
"*.props": "msbuild",
22+
"*.resx": "xml",
23+
"*.rsp": "Powershell",
24+
"*.ruleset": "xml",
25+
"*.settings": "xml",
26+
"*.shproj": "msbuild",
27+
"*.slnf": "json",
28+
"*.targets": "msbuild",
29+
"*.vbproj": "msbuild",
30+
"*.vsixmanifest": "xml",
31+
"*.vstemplate": "xml",
32+
"*.xlf": "xml",
33+
"*.yml": "azure-pipelines"
34+
},
35+
// ms-dotnettools.csharp settings
36+
"omnisharp.disableMSBuildDiagnosticWarning": true,
37+
"omnisharp.enableEditorConfigSupport": true,
38+
"omnisharp.enableImportCompletion": true,
39+
"omnisharp.useModernNet": true,
40+
"omnisharp.enableAsyncCompletion": true,
41+
// ms-dotnettools.csdevkit settings
42+
"dotnet.defaultSolution": "Roslyn.sln",
43+
// ms-vscode.powershell settings
44+
"powershell.promptToUpdatePowerShell": false,
45+
"powershell.integratedConsole.showOnStartup": false,
46+
"powershell.startAutomatically": false,
47+
// ms-azure-devops.azure-pipelines settings
48+
"azure-pipelines.customSchemaFile": ".vscode/dnceng-schema.json"
49+
},
50+
"extensions": [
51+
"ms-dotnettools.csharp",
52+
"ms-dotnettools.csdevkit",
53+
"EditorConfig.EditorConfig",
54+
"ms-vscode.powershell",
55+
"tintoy.msbuild-project-tools",
56+
"ms-azure-devops.azure-pipelines"
57+
]
58+
}
4759
},
48-
"extensions": [
49-
"ms-dotnettools.csharp",
50-
"EditorConfig.EditorConfig",
51-
"ms-vscode.powershell",
52-
"tintoy.msbuild-project-tools",
53-
"ms-azure-devops.azure-pipelines"
54-
],
5560
"postCreateCommand": "${containerWorkspaceFolder}/restore.sh"
5661
}

.editorconfig

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ root = true
77
[*]
88
indent_style = space
99
# (Please don't specify an indent_size here; that has too many unintended consequences.)
10+
spelling_exclusion_path = SpellingExclusions.dic
1011

1112
# Code files
1213
[*.{cs,csx,vb,vbx}]
@@ -146,6 +147,26 @@ file_header_template = Licensed to the .NET Foundation under one or more agreeme
146147
# RS0016: Only enable if API files are present
147148
dotnet_public_api_analyzer.require_api_files = true
148149

150+
# IDE0055: Fix formatting
151+
# Workaround for https://github.com/dotnet/roslyn/issues/70570
152+
dotnet_diagnostic.IDE0055.severity = warning
153+
154+
# https://github.com/dotnet/roslyn-analyzers/issues/7436 - False positives from valid GetDeclaredSymbol calls
155+
dotnet_diagnostic.RS1039.severity = none
156+
157+
# These xUnit analyzers were disabled temporarily to let us move to the
158+
# new xUnit and get past several component governance issues. The
159+
# following issue tracks enabling them
160+
#
161+
# https://github.com/dotnet/roslyn/issues/75093
162+
dotnet_diagnostic.xUnit1012.severity = none
163+
dotnet_diagnostic.xUnit1030.severity = none
164+
dotnet_diagnostic.xUnit1031.severity = none
165+
dotnet_diagnostic.xUnit2005.severity = none
166+
dotnet_diagnostic.xUnit2020.severity = none
167+
dotnet_diagnostic.xUnit2023.severity = none
168+
dotnet_diagnostic.xUnit2029.severity = none
169+
149170
# CSharp code style settings:
150171
[*.cs]
151172
# Newline settings
@@ -279,3 +300,20 @@ dotnet_diagnostic.IDE2006.severity = warning
279300
# CA1822: Make member static
280301
# There is a risk of accidentally breaking an internal API that partners rely on though IVT.
281302
dotnet_code_quality.CA1822.api_surface = private
303+
304+
[**/{ExternalAccess}/**/*.{cs,vb}]
305+
306+
# RS0016: Only enable if API files are present
307+
dotnet_public_api_analyzer.require_api_files = true
308+
309+
dotnet_diagnostic.RS0051.severity = error
310+
dotnet_diagnostic.RS0052.severity = error
311+
dotnet_diagnostic.RS0053.severity = error
312+
dotnet_diagnostic.RS0054.severity = error
313+
dotnet_diagnostic.RS0055.severity = error
314+
dotnet_diagnostic.RS0056.severity = error
315+
dotnet_diagnostic.RS0057.severity = error
316+
dotnet_diagnostic.RS0058.severity = error
317+
dotnet_diagnostic.RS0059.severity = error
318+
dotnet_diagnostic.RS0060.severity = error
319+
dotnet_diagnostic.RS0061.severity = error

.git-blame-ignore-revs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
11
# dotnet-format -w Roslyn.sln on June 18, 2021
22
abce41d282ac631be5217140f1bd46d0e250ad02
33
fbdb56063e761643707f6bc1e1ba469f6fb9a31a
4-
57278e7dcbf7bffb310e8b14105f657f0fdbab78
4+
57278e7dcbf7bffb310e8b14105f657f0fdbab78
5+
# Converting to file scoped namespaces on 2/27/2024. https://github.com/dotnet/roslyn/pull/72294
6+
ec6c8b40e23a595b1e75aec920e3fb29e55f61cf
7+
de42965cf9b64d71bccc549dd9940210cda5abf1
8+
4262648cadff59cc703b6be8c00b9814a6b13c5a
9+
17e64d5773140ae5813664932bbfa4722a983805
10+
3f632c70e8e28a5ede881784600d0f3d06d3138d
11+
27b50978f636ac0588ea7c19664fac4502e964a7
12+
f125c2664d3bffb59536f4d3dfee7fa5323c7721
13+
# Converting to file scoped namespaces on 5/22/2024. https://github.com/dotnet/roslyn/pull/73634
14+
42e80231c1351d8b90d425446e8b9e8a50c1e1b6
15+
32e21b64138876a065081ab4bbe15b1fbea12316
16+
8ab847ca4cbe30baeb0e5d1cbd68ba40385b01ae
17+
077012c5bc43649fc705698859143226e48686cf
18+

.github/CODEOWNERS

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ docs/compilers @dotnet/roslyn-compiler
88
docs/ide @dotnet/roslyn-ide
99

1010
eng/ @dotnet/roslyn-infrastructure
11+
/eng/DotNetBuild.props @dotnet/product-construction
12+
/eng/SourceBuild* @dotnet/source-build
1113
scripts/ @dotnet/roslyn-infrastructure
1214

1315
src/Analyzers/ @dotnet/roslyn-ide
@@ -18,15 +20,9 @@ src/Compilers/ @dotnet/roslyn-compiler
1820
# to happen.
1921
src/Compilers/Test/Core/Traits/Traits.cs
2022
src/EditorFeatures/ @dotnet/roslyn-ide
21-
22-
# If we touch the WPF layer or Cocoa layers, the VS for Mac team also should take a look. We do this even if it's
23-
# only touching WPF since the change might also need to be made (and validated) on the Cocoa side of things.
24-
src/EditorFeatures/Core.Cocoa/ @dotnet/roslyn-ide @dotnet/roslyn-vs-for-mac
25-
src/EditorFeatures/Core.Wpf/ @dotnet/roslyn-ide @dotnet/roslyn-vs-for-mac
26-
src/EditorFeatures/CSharp.Wpf/ @dotnet/roslyn-ide @dotnet/roslyn-vs-for-mac
27-
2823
src/Features/ @dotnet/roslyn-ide
2924
src/Interactive/ @dotnet/roslyn-interactive
25+
src/LanguageServer/ @dotnet/roslyn-ide
3026
src/NuGet/ @dotnet/roslyn-infrastructure
3127
src/Scripting/ @dotnet/roslyn-interactive
3228
src/Setup/ @dotnet/roslyn-infrastructure
@@ -50,5 +46,6 @@ src/Workspaces/**/PublicAPI.Unshipped.txt @dotnet/roslyn-api-owners
5046
src/Features/**/PublicAPI.Unshipped.txt @dotnet/roslyn-api-owners
5147
src/EditorFeatures/**/PublicAPI.Unshipped.txt @dotnet/roslyn-api-owners
5248

53-
src/Tools/ExternalAccess/OmniSharp*/ @333fred @joerobich
54-
src/Tools/ExternalAccess/RazorCompiler @dotnet/roslyn-compiler
49+
src/Tools/ExternalAccess/OmniSharp*/ @333fred @dibarbet
50+
src/Tools/ExternalAccess/RazorCompiler*/ @dotnet/roslyn-compiler
51+
src/Tools/ExternalAccess/CompilerDeveloperSDK/ @333fred

.github/ISSUE_TEMPLATE/bug-report.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ about: Report a bug in Roslyn
1111
2.
1212
3.
1313

14-
A minimal repro, with source-code provided, is ideal. Using [sharplab](https://sharplab.io/) is preferred for compiler/language issues whenever possible.
14+
A minimal repro, with source-code provided, is ideal. Most compiler/language issues can be distilled into a snippet that can be pasted into [sharplab](https://sharplab.io/).
1515

1616
**Diagnostic Id**:
1717

18-
If this is a report about a bug in an analyzer, please include the diagnostic if possible (e.g. `"IDE0030"`).
18+
If this is a report about a bug in an analyzer, please include the diagnostic ID and message if possible (e.g. `"IDE0030: Use coalesce expression"`).
1919

2020
**Expected Behavior**:
2121

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Learn feedback control.
2+
description: |
3+
⛔ This template is hooked into the feedback control on Roslyn API documentation on docs.microsoft.com. It automatically fills in several fields for you. Don't use for other purposes. ⛔
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: "## Issue information"
8+
- type: markdown
9+
attributes:
10+
value: Select the issue type, and describe the issue in the text box below. Add as much detail as needed to help us resolve the issue.
11+
- type: dropdown
12+
id: issue-type
13+
attributes:
14+
label: Type of issue
15+
options:
16+
- Typo
17+
- Code doesn't work
18+
- Missing information
19+
- Outdated article
20+
- Other (describe below)
21+
validations:
22+
required: true
23+
- type: textarea
24+
id: feedback
25+
validations:
26+
required: true
27+
attributes:
28+
label: Description
29+
- type: markdown
30+
attributes:
31+
value: "## 🚧 Article information 🚧"
32+
- type: markdown
33+
attributes:
34+
value: "*Don't modify the following fields*. They are automatically filled in for you. Doing so will disconnect your issue from the affected article. *Don't edit them*."
35+
- type: input
36+
id: pageUrl
37+
validations:
38+
required: true
39+
attributes:
40+
label: Page URL
41+
- type: input
42+
id: contentSourceUrl
43+
validations:
44+
required: true
45+
attributes:
46+
label: Content source URL

0 commit comments

Comments
 (0)