Skip to content

Commit c79e380

Browse files
authored
Merge pull request #37074 from dotnet/main
Merge to Live
2 parents 40fefba + 1439c1a commit c79e380

8 files changed

Lines changed: 521 additions & 610 deletions

File tree

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### Libraries and Native AOT
1+
### Use libraries with Native AOT
22

3-
Many of the popular libraries used in ASP.NET Core projects currently have some compatibility issues when used in a project targeting Native AOT, such as:
3+
Many popular libraries used in ASP.NET Core projects currently have some compatibility issues when they're incorporated into projects that target Native AOT, such as:
44

5-
* Use of reflection to inspect and discover types.
6-
* Conditionally loading libraries at runtime.
7-
* Generating code on the fly to implement functionality.
5+
* Using reflection to inspect and discover types
6+
* Loading libraries conditionally at runtime
7+
* Generating code on the fly to implement functionality
88

9-
Libraries using these dynamic features need to be updated in order to work with Native AOT. They can be updated using tools like Roslyn source generators.
9+
Libraries that use these dynamic features require updates to work with Native AOT. Various tools are available for applying the necessary updates, such as [Roslyn source generators](/dotnet/csharp/roslyn-sdk/#source-generators).
1010

11-
Library authors hoping to support Native AOT are encouraged to:
11+
Library authors hoping to support Native AOT are encouraged to review the following articles:
1212

13-
* Read about [Native AOT compatibility requirements](/dotnet/core/deploying/native-aot/?tabs=net8plus).
14-
* [Prepare the library for trimming](/dotnet/core/deploying/trimming/prepare-libraries-for-trimming).
13+
* [Native AOT deployment](/dotnet/core/deploying/native-aot)
14+
* [Prepare .NET libraries for trimming](/dotnet/core/deploying/trimming/prepare-libraries-for-trimming)

aspnetcore/fundamentals/http-context.md

Lines changed: 84 additions & 160 deletions
Large diffs are not rendered by default.

aspnetcore/fundamentals/http-requests.md

Lines changed: 146 additions & 158 deletions
Large diffs are not rendered by default.

aspnetcore/fundamentals/native-aot.md

Lines changed: 141 additions & 136 deletions
Large diffs are not rendered by default.

aspnetcore/fundamentals/servers/kestrel/endpoints.md

Lines changed: 129 additions & 139 deletions
Large diffs are not rendered by default.
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
> [!WARNING]
2-
> In the preceding example, the certificate password is stored in plain-text in `appsettings.json`. The `$CREDENTIAL_PLACEHOLDER$` token is used as a placeholder for the certificate's password. To store certificate passwords securely in development environments, see [Protect secrets in development](xref:security/app-secrets). To store certificate passwords securely in production environments, see [Azure Key Vault configuration provider](xref:security/key-vault-configuration). Development secrets shouldn't be used for production or test.
2+
> In the example code, the certificate password is stored as plain text in the _appsettings.json_ file.
3+
> The `$CREDENTIAL_PLACEHOLDER$` token is used as a placeholder for the certificate password.
4+
> To store certificate passwords securely in development environments, see [Protect secrets in development](xref:security/app-secrets).
5+
> To store certificate passwords securely in production environments, see [Azure Key Vault configuration provider](xref:security/key-vault-configuration).
6+
> It's a best practice to not use development secrets for production or testing.

aspnetcore/includes/http-ports.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
Apps and containers are often given only a port to listen on, like port 80, without additional constraints like host or path. HTTP_PORTS and HTTPS_PORTS are config keys that specify the listening ports for the Kestrel and HTTP.sys servers. These keys may be specified as environment variables defined with the `DOTNET_` or `ASPNETCORE_` prefixes, or specified directly through any other config input, such as `appsettings.json`. Each is a semicolon-delimited list of port values, as shown in the following example:
1+
Most configurations for apps and containers define only a port for listening, like port 80, without specifying other constraints like the host or path. HTTP_PORTS and HTTPS_PORTS are config keys that specify the listening ports for the Kestrel and HTTP.sys servers. You can specify the keys as environment variables defined with the `DOTNET_` or `ASPNETCORE_` prefixes, or set them directly through any other config input, such as the _appsettings.json_ file. Each configuration is a semicolon-delimited list of port values, as shown in the following example:
22

3-
```
3+
```json
44
ASPNETCORE_HTTP_PORTS=80;8080
55
ASPNETCORE_HTTPS_PORTS=443;8081
66
```
77

8-
The preceding example is shorthand for the following configuration, which specifies the scheme (HTTP or HTTPS) and any host or IP.
8+
The configuration in the example is shorthand for the following specification, which defines the scheme (HTTP or HTTPS) and any host or IP:
99

10-
```
10+
```json
1111
ASPNETCORE_URLS=http://*:80/;http://*:8080/;https://*:443/;https://*:8081/
1212
```
1313

14-
The HTTP_PORTS and HTTPS_PORTS configuration keys are lower priority and are overridden by URLS or values provided directly in code. Certificates still need to be configured separately via server-specific mechanics for HTTPS.
14+
The HTTP_PORTS and HTTPS_PORTS configuration keys are lower priority. If other URLs or values are set directly in code, they can override the configuration keys. You still need to configure certificates separately by using server-specific mechanics for HTTPS.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
On Windows, self-signed certificates can be created using the [`New-SelfSignedCertificate` PowerShell cmdlet](/powershell/module/pki/new-selfsignedcertificate). For an unsupported example, see [`UpdateIISExpressSSLForChrome.ps1`](https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/includes/make-x509-cert/UpdateIISExpressSSLForChrome.ps1).
1+
On Windows, self-signed certificates can be created by using the [New-SelfSignedCertificate PowerShell cmdlet](/powershell/module/pki/new-selfsignedcertificate). For an unsupported example, see the [UpdateIISExpressSSLForChrome.ps1](https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/includes/make-x509-cert/UpdateIISExpressSSLForChrome.ps1) certificate file on GitHub.
22

3-
On macOS, Linux, and Windows, certificates can be created using [OpenSSL](https://www.openssl.org/).
3+
On macOS, Linux, and Windows, create certificates can be created by using [OpenSSL](https://www.openssl.org/).

0 commit comments

Comments
 (0)