Skip to content

Commit 299ad7f

Browse files
authored
Merge pull request #1737 from jkotas/merge-main
Merge from dotnet/runtime
2 parents 96b0d17 + 3f3f522 commit 299ad7f

File tree

3,969 files changed

+30798
-13933
lines changed

Some content is hidden

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

3,969 files changed

+30798
-13933
lines changed

.devcontainer/devcontainer.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@
1212

1313
"settings": {
1414
// Loading projects on demand is better for larger codebases
15-
"omnisharp.enableMsBuildLoadProjectsOnDemand": true
15+
"omnisharp.enableMsBuildLoadProjectsOnDemand": true,
16+
"omnisharp.enableRoslynAnalyzers": true,
17+
"omnisharp.enableEditorConfigSupport": true,
18+
"omnisharp.enableAsyncCompletion": true,
19+
"omnisharp.testRunSettings": "${containerWorkspaceFolder}/artifacts/obj/vscode/.runsettings"
1620
},
1721

1822
// Add the IDs of extensions you want installed when the container is created.

.devcontainer/scripts/onCreateCommand.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ set -e
44

55
# prebuild the repo, so it is ready for development
66
./build.sh libs+clr -rc Release
7+
# restore libs tests so that the project is ready to be loaded by OmniSharp
8+
./build.sh libs.tests -restore
79

810
# save the commit hash of the currently built assemblies, so developers know which version was built
911
git rev-parse HEAD > ./artifacts/prebuild.sha

.github/workflows/backport.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ on:
33
issue_comment:
44
types: [created]
55

6+
permissions:
7+
contents: write
8+
issues: write
9+
pull-requests: write
10+
611
jobs:
712
backport:
813
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/backport to')

.github/workflows/create-codespaces-prebuild.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ on:
66
workflow_dispatch:
77
jobs:
88
createPrebuild:
9+
permissions:
10+
contents: write
911
runs-on: ubuntu-latest
1012
steps:
1113
- uses: actions/checkout@v2

.github/workflows/markdownlint.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: Markdownlint
22

3+
permissions:
4+
contents: read
5+
36
on:
47
pull_request:
58
paths:

Directory.Build.props

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -296,9 +296,6 @@
296296
<AppDesignerFolder>Properties</AppDesignerFolder>
297297
<!-- By default the SDK produces ref assembly for 5.0 or later -->
298298
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
299-
<!-- We have very special projects that don't always contain default references. We also build MSBuild Tasks
300-
and there are some implicit namespaces that clash, i.e System.Threading.Tasks. -->
301-
<DisableImplicitNamespaceImports_DotNet>true</DisableImplicitNamespaceImports_DotNet>
302299
</PropertyGroup>
303300

304301
<PropertyGroup>

docs/area-owners.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,10 @@ Note: Editing this file doesn't update the mapping used by the `@msftbot` issue
7272
| area-System.Composition | @jeffhandley | @buyaa-n @joperezr | Consultants: @steveharter |
7373
| area-System.Configuration | @jeffhandley | @buyaa-n @joperezr | Consultants: @steveharter |
7474
| area-System.Console | @jeffhandley | @adamsitnik @carlossanlop @jozkee | Consultants: @GrabYourPitchForks |
75-
| area-System.Data | @ajcvickers | @ajcvickers @cheenamalhotra @david-engel | <ul><li>Odbc, OleDb - @saurabh500</li></ul> |
75+
| area-System.Data | @ajcvickers | @ajcvickers @davoudeshtehari @david-engel | <ul><li>Odbc, OleDb - @saurabh500</li></ul> |
7676
| area-System.Data.Odbc | @ajcvickers | @ajcvickers | |
7777
| area-System.Data.OleDB | @ajcvickers | @ajcvickers | |
78-
| area-System.Data.SqlClient | @David-Engel | @cheenamalhotra @david-engel @karinazhou @JRahnama | Archived component - limited churn/contributions (see https://devblogs.microsoft.com/dotnet/introducing-the-new-microsoftdatasqlclient/) |
78+
| area-System.Data.SqlClient | @David-Engel | @davoudeshtehari @david-engel @jrahnama | Archived component - limited churn/contributions (see https://devblogs.microsoft.com/dotnet/introducing-the-new-microsoftdatasqlclient/) |
7979
| area-System.Diagnostics | @tommcdon | @tommcdon | |
8080
| area-System.Diagnostics-coreclr | @tommcdon | @tommcdon | |
8181
| area-System.Diagnostics-mono | @lewing | @thaystg @radical | |

docs/design/libraries/DllImportGenerator/Compatibility.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ These are all part of `NetCoreApp` and will be referenced by default unless [imp
3333

3434
Marshalling of `char` will not be supported when configured with any of the following:
3535
- [`CharSet.Ansi`, `CharSet.Auto`, or `CharSet.None`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.charset) will not be supported.
36-
- [`UnmangedType.U1` or `UnmangedType.I1`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.unmanagedtype)
36+
- [`UnmanagedType.U1` or `UnmanagedType.I1`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.unmanagedtype)
3737
- No explicit marshalling information - either [`DllImportAttribute.CharSet`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.charset) or [`MarshalAsAttribute`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshalasattribute)
3838

3939
For `CharSet.Ansi` and `CharSet.None`, the built-in system used the [system default Windows ANSI code page](https://docs.microsoft.com/windows/win32/api/stringapiset/nf-stringapiset-widechartomultibyte) when on Windows and took the first byte of the UTF-8 encoding on non-Windows platforms. The above reasoning also applies to marshalling of a `char` as `UnmanagedType.U1` and `UnmanagedType.I1`. All approaches are fundamentally flawed and therefore not supported. If a single-byte character is expected to be marshalled it is left to the caller to convert a .NET `char` into a single `byte` prior to calling the native function.
@@ -44,7 +44,7 @@ For `CharSet.Auto`, the built-in system relied upon detection at runtime of the
4444

4545
Marshalling of `string` will not be supported when configured with any of the following:
4646
- [`CharSet.None`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.charset)
47-
- [`UnmangedType.VBByRefStr`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.unmanagedtype)
47+
- [`UnmanagedType.VBByRefStr`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.unmanagedtype)
4848
- No explicit marshalling information - either [`DllImportAttribute.CharSet`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.charset) or [`MarshalAsAttribute`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshalasattribute)
4949

5050
When converting from native to managed, the built-in system would throw a [`MarshalDirectiveException`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshaldirectiveexception) if the string's length is over 0x7ffffff0. The generated marshalling code will no longer perform this check.
@@ -63,7 +63,7 @@ Using a custom marshaller (i.e. [`ICustomMarshaler`](https://docs.microsoft.com/
6363

6464
### Array marshalling
6565

66-
Marshalling of arrays will not be supported when using [`UnmangedType.SafeArray`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.unmanagedtype). This implies that the following `MarshalAsAttribute` fields are unsupported: [`SafeArraySubType`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshalasattribute.safearraysubtype) and [`SafeArrayUserDefinedSubType`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshalasattribute.safearrayuserdefinedsubtype)
66+
Marshalling of arrays will not be supported when using [`UnmanagedType.SafeArray`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.unmanagedtype). This implies that the following `MarshalAsAttribute` fields are unsupported: [`SafeArraySubType`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshalasattribute.safearraysubtype) and [`SafeArrayUserDefinedSubType`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshalasattribute.safearrayuserdefinedsubtype)
6767

6868
Specifying array-specific marshalling members on the `MarshalAsAttribute` such as [`SizeConst`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshalasattribute.sizeconst), [`ArraySubType`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshalasattribute.arraysubtype), and [`SizeParamIndex`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshalasattribute.sizeparamindex) with non-array `UnmanagedType` types is unsupported.
6969

@@ -96,6 +96,12 @@ Unlike the built-in system, the source generator does not support marshalling fo
9696
- [`HandleRef`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.handleref)
9797
- [`StringBuilder`](https://docs.microsoft.com/dotnet/api/system.text.stringbuilder)
9898

99+
The source generator also does not support marshalling objects using the following [`UnmanagedType`](https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.unmanagedtype) values:
100+
- `UnmanagedType.Interface`
101+
- `UnmanagedType.IDispatch`
102+
- `UnmanagedType.IInspectable`
103+
- `UnmanagedType.IUnknown`
104+
99105
## Version 0
100106

101107
This version is the built-in IL Stub generation system that is triggered whenever a method marked with `DllImportAttribute` is invoked.

docs/project/list-of-diagnostics.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ The PR that reveals the implementation of the `<IncludeInternalObsoleteAttribute
9191
| __`SYSLIB0034`__ | CmsSigner(CspParameters) is obsolete and is not supported. Use an alternative constructor instead. |
9292
| __`SYSLIB0035`__ | ComputeCounterSignature without specifying a CmsSigner is obsolete and is not supported. Use the overload that accepts a CmsSigner. |
9393
| __`SYSLIB0036`__ | Regex.CompileToAssembly is obsolete and not supported. Use RegexGeneratorAttribute with the regular expression source generator instead. |
94+
| __`SYSLIB0037`__ | AssemblyName members HashAlgorithm, ProcessorArchitecture, and VersionCompatibility are obsolete and not supported. |
9495

9596
## Analyzer Warnings
9697

docs/workflow/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The repo can be built for the following platforms, using the provided setup and
99
| x64 | &#x2714; | &#x2714; | &#x2714; | &#x2714; |
1010
| x86 | &#x2714; | | | |
1111
| ARM | &#x2714; | &#x2714; | | |
12-
| ARM64 | &#x2714; | &#x2714; | | |
12+
| ARM64 | &#x2714; | &#x2714; | &#x2714; | |
1313
| | [Requirements](requirements/windows-requirements.md) | [Requirements](requirements/linux-requirements.md) | [Requirements](requirements/macos-requirements.md) | [Requirements](requirements/freebsd-requirements.md)
1414

1515
Before proceeding further, please click on the link above that matches your machine and ensure you have installed all the prerequisites for the build to work.

0 commit comments

Comments
 (0)