Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/ai/conceptual/rag.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Integrate Your Data into AI Apps with Retrieval-Augmented Generation"
description: "Learn how retreival-augmented generation lets you use your data with LLMs to generate better completions in .NET."
description: "Learn how retrieval-augmented generation lets you use your data with LLMs to generate better completions in .NET."
author: catbutler
ms.topic: concept-article #Don't change.
ms.date: 04/15/2024
Expand Down
2 changes: 1 addition & 1 deletion docs/ai/quickstarts/quickstart-local-ai.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Quickstart - Connect to and chat with a local AI using .NET and Semantic Kernel
description: Set up a local AI model and chat with it using a .NET consle app and the Semantic Kernel SDK
description: Set up a local AI model and chat with it using a .NET console app and the Semantic Kernel SDK
ms.date: 06/04/2024
ms.topic: quickstart
ms.custom: devx-track-dotnet, devx-track-dotnet-ai
Expand Down
2 changes: 1 addition & 1 deletion docs/ai/tutorials/tutorial-ai-vector-search.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ms.author: alexwolf

This tutorial explores integration of the RAG pattern using Open AI models and vector search capabilities in a .NET app. The sample application performs vector searches on custom data stored in Azure Cosmos DB for MongoDB and further refines the responses using generative AI models, such as GPT-35 and GPT-4. In the sections that follow, you'll set up a sample application and explore key code examples that demonstrate these concepts.

## Prerequsites
## Prerequisites

- [.NET 8.0 installed](https://dotnet.microsoft.com/)
- An [Azure Account](https://azure.microsoft.com/free)
Expand Down
2 changes: 1 addition & 1 deletion docs/azure/migration/appcat/interpret-results.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Categories section displays a graph with issues grouped by different categories

* **Projects**: the number of projects scanned.
* **Issues**: the number of unique encounters of a rule that may need to be addressed.
* **Incidents**: the total number of occurences of all issues found.
* **Incidents**: the total number of occurrences of all issues found.
* **Story points**: the estimated effort to fix all of the issues found. This is a relative measure of effort and is not meant to be an exact estimate.

## Projects view
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ This change ensures that trimmed applications use appropriate defaults. It also

## Recommended action

To ensure that serialization suceeds, we recommend that you migrate your trimmed applications to use the source generator.
To ensure that serialization succeeds, we recommend that you migrate your trimmed applications to use the source generator.

However, if you must use reflection, you can revert to the original behavior by explicitly enabling the `JsonSerializerIsReflectionEnabledByDefault` property in your project file:

Expand Down
2 changes: 1 addition & 1 deletion docs/core/deploying/trimming/trim-warnings/il2075.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ void MyMethod(MyType argument)
Applying `DynamicallyAccessedMembersAttribute` to a class, interface, or struct, indicates to the linker the members specified may be accessed dynamically on <xref:System.Type> instances returned from calling <xref:System.Object.GetType> on instances of that class, interface, or struct.

> [!NOTE]
> Applying `DynamicallyAccessedMembersAttribute` to a type definition will "root" all the indicated `DynamicallyAccessedMemberTypes` on the type and all it's derived types (or implementing types when placed on an interface). This means the members will be kept, as well as any metadata referenced by the members. Be careful to use the minimum `DynamicalylAccessedMemberTypes` required, and apply it on the most specific type possible.
> Applying `DynamicallyAccessedMembersAttribute` to a type definition will "root" all the indicated `DynamicallyAccessedMemberTypes` on the type and all it's derived types (or implementing types when placed on an interface). This means the members will be kept, as well as any metadata referenced by the members. Be careful to use the minimum `DynamicallyAccessedMemberTypes` required, and apply it on the most specific type possible.

## More information

Expand Down
2 changes: 1 addition & 1 deletion docs/core/deploying/trimming/trim-warnings/il2111.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ void TestMethod()
}
```

This warning can also be caused by passing a type to a field, paramter, argument, or return value that is annotated with <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute>. <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute> implies reflection access over all of the listed <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes>. This means that when a type is passed to a parameter, field, generic parameter, or return value annotated with <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods> .NET tooling assumes that all public methods are accessed via reflection. If a type that contains a method with an annotated parameter or return value is passed to a location annotated with <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods>, then IL2111 will be raised.
This warning can also be caused by passing a type to a field, paramater, argument, or return value that is annotated with <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute>. <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute> implies reflection access over all of the listed <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes>. This means that when a type is passed to a parameter, field, generic parameter, or return value annotated with <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods> .NET tooling assumes that all public methods are accessed via reflection. If a type that contains a method with an annotated parameter or return value is passed to a location annotated with <xref:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods>, then IL2111 will be raised.

```csharp
class TypeWithAnnotatedMethod
Expand Down
6 changes: 3 additions & 3 deletions docs/core/diagnostics/available-counters.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ The following counters are published by the HTTP stack and are maintained in [_H

## System.Net.NameResolution counters

The following counters track metrics related to DNS lookups and are mantained in [_NameResolutionTelemetry.cs_](https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionTelemetry.cs).
The following counters track metrics related to DNS lookups and are maintained in [_NameResolutionTelemetry.cs_](https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionTelemetry.cs).

| Counter | Description | First available in |
|--|--|--|
Expand All @@ -113,7 +113,7 @@ The following counters track metrics related to DNS lookups and are mantained in

## System.Net.Security counters

The following counters track metrics related to the Transport Layer Security protocol and are mantained in [_NetSecurityTelemetry.cs_](https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.Security/src/System/Net/Security/NetSecurityTelemetry.cs).
The following counters track metrics related to the Transport Layer Security protocol and are maintained in [_NetSecurityTelemetry.cs_](https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.Security/src/System/Net/Security/NetSecurityTelemetry.cs).

| Counter | Description | First available in |
|--|--|--|
Expand All @@ -134,7 +134,7 @@ The following counters track metrics related to the Transport Layer Security pro

## System.Net.Sockets counters

The following counters track metrics related to <xref:System.Net.Sockets.Socket> and are mantained in [_SocketsTelemetry_](https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketsTelemetry.cs).
The following counters track metrics related to <xref:System.Net.Sockets.Socket> and are maintained in [_SocketsTelemetry_](https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketsTelemetry.cs).

| Counter | Description | First available in |
|--|--|--|
Expand Down
2 changes: 1 addition & 1 deletion docs/core/diagnostics/diagnostic-resource-monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The preceding code:
- Gets an instance of the <xref:Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitor> interface from the `ServiceProvider` instance.

> [!IMPORTANT]
> The <xref:Microsoft.Extensions.Diagnostics.ResourceMonitoring?displayProperty=fullName> package assumes that the consumer will register logging providers with the `Microsoft.Extensions.Logging` package. If you don't register logging, the call to `AddResourceMonitoring` will throw an exception. Furthemore, you can enable internal library logging by configuring the [`Debug`](xref:Microsoft.Extensions.Logging.LogLevel.Debug) log level for the `Microsoft.Extensions.Diagnostics.ResourceMonitoring` category as per the [guide](../extensions/logging.md#log-category).
> The <xref:Microsoft.Extensions.Diagnostics.ResourceMonitoring?displayProperty=fullName> package assumes that the consumer will register logging providers with the `Microsoft.Extensions.Logging` package. If you don't register logging, the call to `AddResourceMonitoring` will throw an exception. Furthermore, you can enable internal library logging by configuring the [`Debug`](xref:Microsoft.Extensions.Logging.LogLevel.Debug) log level for the `Microsoft.Extensions.Diagnostics.ResourceMonitoring` category as per the [guide](../extensions/logging.md#log-category).

At this point, with the `IResourceMonitor` implementation you'll ask for resource utilization with the <xref:Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitor.GetUtilization%2A?displayProperty=nameWithType> method. The `GetUtilization` method returns a <xref:Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization> instance that contains the following information:

Expand Down
2 changes: 1 addition & 1 deletion docs/core/diagnostics/logging-tracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ The <xref:System.Console?displayProperty=nameWithType> class has the <xref:Syste

Logging can either be structured or unstructured:

- Unstructured: Log entries are encoded as free-form text that humans can read but it is difficult to programatically parse and query.
- Unstructured: Log entries are encoded as free-form text that humans can read but it is difficult to programmatically parse and query.
- Structured: Log entries have a well defined schema and can be encoded in different binary and textual formats. These logs are designed to be machine translatable and queryable so that both humans and automated systems can work with them easily.

Good structured logging APIs can offer more functionality and performance with only a small increase in usage complexity.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Add the following OTel initialization code before `builder.Build();`:

[`UseAzureMonitor()`](https://github.com/Azure/azure-sdk-for-net/blob/d51f02c6ef46f2c5d9b38a9d8974ed461cde9a81/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/src/OpenTelemetryBuilderExtensions.cs#L80) is the magic that will add the common instrumentation libraries and exporters for Application Insights. You just need to add your custom `Meter` and `ActivitySource` names to the registration.

The same OTel initialization works for OTLP as for Application Insights, the difference is which exporters you selecect. You can use both in the same application, and select between them by defining the appropriate environment variables.
The same OTel initialization works for OTLP as for Application Insights, the difference is which exporters you select. You can use both in the same application, and select between them by defining the appropriate environment variables.

## 3. Specify the connection string

Expand Down
2 changes: 1 addition & 1 deletion docs/core/diagnostics/observability-otlp-example.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ The view for the metrics will depend on the type of metric that is being used:

### 8.3 Viewing the tracing

The tracing view will show a list of traces - each trace is a set of activites that share the same traceId. Work is tracked with spans which represent a unit of work. Processing an ASP.NET request will create a span. Making an HttpClient request will be a span. By tracking the span's parent a heiarchy of spans can be visualized. By collecting spans from a each resource (process) we track the work that happens across a series of services. Http requests have a header which is used to pass the traceId and parent spanId to the next service. Each resource needs to collect telemetry and send it to the same collector. It will then aggregate and present a hierarchy of the spans.
The tracing view will show a list of traces - each trace is a set of activities that share the same traceId. Work is tracked with spans which represent a unit of work. Processing an ASP.NET request will create a span. Making an HttpClient request will be a span. By tracking the span's parent, a hierarchy of spans can be visualized. By collecting spans from a each resource (process) we track the work that happens across a series of services. Http requests have a header which is used to pass the traceId and parent spanId to the next service. Each resource needs to collect telemetry and send it to the same collector. It will then aggregate and present a hierarchy of the spans.

[![Traces in standalone dashboard](./media/aspire-dashboard-traces-thumb.png)](./media/aspire-dashboard-traces.png#lightbox)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ If debugging or observability is not sufficient, .NET supports additional diagno

[Event Source](./eventsource.md) provides the ability to collect detailed diagnostic information about what's happening inside .NET processes. It includes telemetry information for the runtime, GC, libraries, and application code.

Event Source data can be collected in-process using the <xref:System.Diagnostics.Tracing.EventListener?displayProperty=nameWithType> API or with external diagostics tools such as [Visual Studio](/visualstudio/profiling), [dotnet-monitor](./dotnet-monitor.md), [dotnet-trace](./dotnet-trace.md), [PerfView](https://github.com/microsoft/perfview), and the [Perfcollect](./trace-perfcollect-lttng.md) scripts. Using the external tools to collect event source data in traces is commonly used for performance analysis.
Event Source data can be collected in-process using the <xref:System.Diagnostics.Tracing.EventListener?displayProperty=nameWithType> API or with external diagnostics tools such as [Visual Studio](/visualstudio/profiling), [dotnet-monitor](./dotnet-monitor.md), [dotnet-trace](./dotnet-trace.md), [PerfView](https://github.com/microsoft/perfview), and the [Perfcollect](./trace-perfcollect-lttng.md) scripts. Using the external tools to collect event source data in traces is commonly used for performance analysis.

### Collect diagnostics in containers

Expand Down
2 changes: 1 addition & 1 deletion docs/core/extensions/globalization-icu.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Console.WriteLine(foo.EndsWith('\0'));
> False
> ```

To avoid this behavior, use the `char` parameter overload or `StringComparison.Oridinal`.
To avoid this behavior, use the `char` parameter overload or `StringComparison.Ordinal`.

#### String.StartsWith

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ms.date: 08/21/2024

In this article, you'll learn some of the most common problems you can run into when using `IHttpClientFactory` to create `HttpClient` instances.

`IHttpClientFactory` is a convenient way to set up multiple `HttpClient` configurations in the DI container, configure logging, set up resilience strategies, and more. `IHttpClientFactory` also incapsulates the lifetime management of `HttpClient` and `HttpMessageHandler` instances, to prevent problems like socket exhaustion and losing DNS changes. For an overview on how to use `IHttpClientFactory` in your .NET application, see [IHttpClientFactory with .NET](httpclient-factory.md).
`IHttpClientFactory` is a convenient way to set up multiple `HttpClient` configurations in the DI container, configure logging, set up resilience strategies, and more. `IHttpClientFactory` also encapsulates the lifetime management of `HttpClient` and `HttpMessageHandler` instances, to prevent problems like socket exhaustion and losing DNS changes. For an overview on how to use `IHttpClientFactory` in your .NET application, see [IHttpClientFactory with .NET](httpclient-factory.md).

Due to a complex nature of `IHttpClientFactory` integration with DI, you can hit some issues that might be hard to catch and troubleshoot. The scenarios listed in this article also contain recommendations, which you can apply proactively to avoid potential problems.

Expand Down
2 changes: 1 addition & 1 deletion docs/core/install/linux-package-mixup.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ Configure your package manager to ignore the .NET packages from the distribution
touch /etc/apt/preferences
```

01. Open `/etc/apt/preferences` in an editor and add an apt preferences fragement to prevent packages that start with `dotnet`, `aspnetcore`, or `netstandard` from being sourced from the distribution's repository.
01. Open `/etc/apt/preferences` in an editor and add an apt preferences fragment to prevent packages that start with `dotnet`, `aspnetcore`, or `netstandard` from being sourced from the distribution's repository.

```
Package: dotnet* aspnet* netstandard*
Expand Down
2 changes: 1 addition & 1 deletion docs/core/testing/mstest-analyzers/mstest0019.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ This rule raises a diagnostic when there is a parameterless explicit constructor

## Rule description

Use this rule to enforce using `[TestInitialize]` for both synchronous and asynchronous test initialization. Asynchronous (async/await) test intialization requires the use of `[TestInitialize]` methods, because the resulting `Task` needs to be awaited.
Use this rule to enforce using `[TestInitialize]` for both synchronous and asynchronous test initialization. Asynchronous (async/await) test initialization requires the use of `[TestInitialize]` methods, because the resulting `Task` needs to be awaited.

## How to fix violations

Expand Down
2 changes: 1 addition & 1 deletion docs/core/testing/mstest-analyzers/mstest0030.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "MSTEST0030: Type containing `[TestMethod]` should be marked with `[TestClass]`"
description: "Learn about code analysis rule MSTEST0030: Type contaning `[TestMethod]` should be marked with `[TestClass]`, otherwise the test method will be silently ignored."
description: "Learn about code analysis rule MSTEST0030: Type containing `[TestMethod]` should be marked with `[TestClass]`, otherwise the test method will be silently ignored."
ms.date: 07/02/2024
f1_keywords:
- MSTEST0030
Expand Down
2 changes: 1 addition & 1 deletion docs/core/tools/dotnet-nuget-config-paths.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ms.date: 05/14/2024

## Name

`dotnet nuget config paths` - Lists nuget configuration files currently being appplied to a directory.
`dotnet nuget config paths` - Lists nuget configuration files currently being applied to a directory.

## Synopsis

Expand Down
2 changes: 1 addition & 1 deletion docs/core/tools/dotnet-nuget-config-unset.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ The `dotnet nuget config unset` unsets the values for NuGet configuration settin
* Removes's the `repositoryPath` config value from the specified configuration file:

```dotnetcli
dotnet nuget config unset repositoryPath --configfile "C:/nugte.config"
dotnet nuget config unset repositoryPath --configfile "C:/nuget.config"
```

## See also
Expand Down
4 changes: 2 additions & 2 deletions docs/core/tools/dotnet-workload-sets.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.service: dotnet
ms.topic: how-to
ms.date: 08/02/2024

#customer intent: As a developer using optional workloads, I want to keep my workload versions in sync so that I can avoid conflicts betwween versions. I also want to avoid unexpected workload updates, so that I can avoid disruptions in development.
#customer intent: As a developer using optional workloads, I want to keep my workload versions in sync so that I can avoid conflicts between versions. I also want to avoid unexpected workload updates, so that I can avoid disruptions in development.
---
# .NET SDK workload sets

Expand Down Expand Up @@ -121,7 +121,7 @@ With the current directory in the same repository and the CLI in `workload-set`
If you have a workload-set version in the global.json file, the workload commands are in `workload-set` mode even if you haven't run the `config` command or used `--version`. The global.json file overrides those.
To use the `--version` option in that case, run the command outside of the path containing the global.json file.

If you don't specify the workload-set version in global.json, you can use the `--version` option with the `restore` comand. In that case, the `restore` command selects `workload-set` update mode before it restores workloads to the specified workload-set version.
If you don't specify the workload-set version in global.json, you can use the `--version` option with the `restore` command. In that case, the `restore` command selects `workload-set` update mode before it restores workloads to the specified workload-set version.

In manifests update mode, `restore` installs or updates workloads to the latest version of each individual workload.

Expand Down
Loading
Loading