Skip to content

Commit 62a1800

Browse files
authored
SEO OKR (#28395)
1 parent 63dad66 commit 62a1800

File tree

4 files changed

+44
-63
lines changed

4 files changed

+44
-63
lines changed

docs/core/introduction.md

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: .NET introduction and overview
3-
description: Learn about .NET, a free, open-source development platform for building many kinds of apps.
2+
title: .NET (and .NET Core) - introduction and overview
3+
description: Learn about .NET (and .NET Core). .NET is a free, open-source development platform for building many kinds of apps.
44
author: tdykstra
5-
ms.date: 11/30/2021
5+
ms.date: 02/24/2022
66
ms.custom: "updateeachrelease"
77
recommendations: false
88
---
9-
# Introduction to .NET
9+
# What is .NET? Introduction and overview
1010

1111
.NET is a free, open-source development platform for building many kinds of apps, such as:
1212

@@ -51,9 +51,9 @@ Supported processor architectures include:
5151

5252
For more information, see [Supported OS lifecycle policy](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md) and [.NET RID Catalog](rid-catalog.md).
5353

54-
## Open source
54+
## Free and open source
5555

56-
.NET is open source, using [MIT and Apache 2 licenses](https://github.com/dotnet/runtime/blob/main/LICENSE.TXT). .NET is a project of the [.NET Foundation](https://dotnetfoundation.org/).
56+
.NET is free and open source, using [MIT and Apache 2 licenses](https://github.com/dotnet/runtime/blob/main/LICENSE.TXT). .NET is a project of the [.NET Foundation](https://dotnetfoundation.org/).
5757

5858
For more information, see the [list of project repositories on GitHub.com](https://github.com/dotnet/core/blob/main/Documentation/core-repos.md).
5959

@@ -69,9 +69,9 @@ For more information, see the [list of project repositories on GitHub.com](https
6969

7070
For more information, see [Releases and support for .NET Core and .NET 5](releases-and-support.md).
7171

72-
## Implementations
72+
## .NET Core, .NET Framework, Mono, UWP
7373

74-
.NET comes in different flavors, more formally known as *implementations*. .NET 5+ (including .NET Core) is the latest implementation and runs on any platform. .NET Framework is the original implementation of .NET, and runs only on Windows. Mono is used when a small runtime is required. Universal Windows Platform (UWP) is used to build modern Windows apps.
74+
.NET comes in different flavors, more formally known as *implementations*. .NET 5+ (including .NET Core) is the latest implementation and runs on any platform. .NET Framework is the original implementation of .NET, and runs only on Windows. [Mono](../standard/glossary.md#mono) is used when a small runtime is required. [Universal Windows Platform (UWP)](../standard/glossary.md#uwp) is used to build modern Windows apps.
7575

7676
Each implementation includes a runtime and a class library. It may also include application frameworks and development tools.
7777

@@ -407,14 +407,7 @@ For more information, see [Unsafe code and pointers](../csharp/language-referenc
407407

408408
## Next steps
409409

410-
> [!div class="nextstepaction"]
411-
> [Choose a .NET tutorial](tutorials/index.md)
412-
413-
> [!div class="nextstepaction"]
414-
> [Try .NET in your browser](../csharp/tour-of-csharp/tutorials/numbers-in-csharp.yml)
415-
416-
> [!div class="nextstepaction"]
417-
> [Take a tour of C#](../csharp/tour-of-csharp/index.md)
418-
419-
> [!div class="nextstepaction"]
420-
> [Take a tour of F#](../fsharp/tour.md)
410+
* [Choose a .NET tutorial](tutorials/index.md)
411+
* [Try .NET in your browser](../csharp/tour-of-csharp/tutorials/numbers-in-csharp.yml)
412+
* [Take a tour of C#](../csharp/tour-of-csharp/index.md)
413+
* [Take a tour of F#](../fsharp/tour.md)

docs/core/sdk.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
---
22
title: .NET SDK overview
3-
description: Find out about the .NET SDK, which is a set of libraries and tools used to create .NET projects.
4-
ms.date: 07/31/2019
3+
description: Learn about the .NET SDK (formerly known as the .NET Core SDK), which is a set of libraries and tools used to create .NET projects.
4+
ms.date: 02/24/2022
55
ms.technology: dotnet-cli
66
---
7-
# .NET SDK overview
7+
# What is the .NET SDK?
88

99
The .NET SDK is a set of libraries and tools that allow developers to create .NET applications and libraries. It contains the following components that are used to build and run applications:
1010

11-
- The .NET CLI.
12-
- .NET libraries and runtime.
11+
- The [.NET CLI](tools/index.md).
12+
- The .NET [runtime](introduction.md#sdk-and-runtimes)and [libraries](introduction.md#runtime-libraries).
1313
- The `dotnet` [driver](tools/index.md#driver).
1414

15-
## Acquiring the .NET SDK
15+
## How to install the .NET SDK
1616

17-
As with any tooling, the first thing is to get the tools to your machine. Depending on your scenario, you can install the SDK using one of the following methods:
17+
As with any tooling, the first thing is to get the tools on your machine. Depending on your scenario, you can install the SDK using one of the following methods:
1818

1919
- Use the native installers.
2020
- Use the installation shell script.
2121

22-
The native installers are primarily meant for developer's machines. The SDK is distributed using each supported platform's
22+
The native installers are primarily meant for developers' machines. The SDK is distributed using each supported platform's
2323
native install mechanism, such as DEB packages on Ubuntu or MSI bundles on Windows. These installers install
2424
and set up the environment as needed for the user to use the SDK immediately after the install. However, they also
2525
require administrative privileges on the machine. You can find the SDK to install on the
@@ -32,10 +32,11 @@ caveat above). You can find more information in the [install script reference](t
3232
interested in how to set up the SDK on your CI build server, see the [Using .NET SDK and tools in Continuous Integration (CI)](tools/using-ci-with-cli.md) article.
3333

3434
By default, the SDK installs in a "side-by-side" (SxS) manner, which means multiple versions
35-
can coexist at any given time on a single machine. How the version gets picked when you're running CLI commands is explained in more detail in the [Select the .NET version to use](versions/selection.md) article.
35+
can coexist at any given time on a single machine. For information about how the version gets picked when you're running CLI commands, see [Select the .NET version to use](versions/selection.md).
3636

3737
## See also
3838

39+
- [.NET downloads](https://dotnet.microsoft.com/download)
3940
- [.NET CLI overview](tools/index.md)
4041
- [.NET versioning overview](versions/index.md)
4142
- [How to remove the .NET runtime and SDK](install/remove-runtime-sdk-versions.md)

docs/core/tools/telemetry.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
---
2-
title: .NET SDK telemetry
3-
description: Discover the .NET SDK telemetry features that collect usage information for analysis, which data is collected, and how to disable it.
2+
title: .NET SDK and .NET CLI telemetry
3+
description: The .NET SDK and the .NET CLI collect usage information and send it to Microsoft. Learn what data is collected and how to opt out.
44
author: KathleenDollard
5-
ms.date: 08/27/2019
5+
ms.date: 02/24/2022
66
---
7-
# .NET SDK telemetry
7+
# .NET SDK and .NET CLI telemetry
88

9-
The [.NET SDK](index.md) includes a telemetry feature that collects usage data and exception information when the .NET CLI crashes. The .NET CLI comes with the .NET SDK and is the set of verbs that enable you to build, test, and publish your .NET apps. It's important that the .NET team understands how the tools are used so they can be improved. Information on failures helps the team resolve problems and fix bugs.
9+
The [.NET SDK](index.md) includes a telemetry feature that collects usage data and sends it to Microsoft when you use [.NET CLI](index.md) commands. The usage data includes exception information when the .NET CLI crashes. The .NET CLI comes with the .NET SDK and is the set of verbs that enable you to build, test, and publish your .NET apps. Telemetry data helps the .NET team understand how the tools are used so they can be improved. Information on failures helps the team resolve problems and fix bugs.
1010

11-
The collected data is published in aggregate under the [Creative Commons Attribution License](https://creativecommons.org/licenses/by/4.0/).
11+
The collected data is published in aggregate under the [Creative Commons Attribution License](https://creativecommons.org/licenses/by/4.0/). Some of the collected data is published at [.NET CLI Telemetry Data](https://dotnet.microsoft.com/platform/telemetry).
1212

1313
## Scope
1414

15-
`dotnet` has two functions: to run apps, and to execute CLI commands. Telemetry *isn't collected* when using `dotnet` to start an application in the following format:
15+
`dotnet` has two functions: to run apps and to execute CLI commands. Telemetry *isn't collected* when using `dotnet` to start an application in the following format:
1616

1717
- `dotnet [path-to-app].dll`
1818

@@ -71,7 +71,7 @@ The telemetry feature collects the following data:
7171
| >=2.1.300 | Kernel version. |
7272
| >=2.1.300 | Libc release/version. |
7373
| >=3.0.100 | Whether the output was redirected (true or false). |
74-
| >=3.0.100 | On a CLI/SDK crash, the exception type and its stack trace (only CLI/SDK code is included in the stack trace sent). For more information, see [.NET CLI/SDK crash exception telemetry collected](#net-clisdk-crash-exception-telemetry-collected). |
74+
| >=3.0.100 | On a CLI/SDK crash, the exception type and its stack trace (only CLI/SDK code is included in the stack trace sent). For more information, see [Crash exception telemetry](#crash-exception-telemetry). |
7575
| >=5.0.100 | Hashed TargetFrameworkVersion used for build (MSBuild property) |
7676
| >=5.0.100 | Hashed RuntimeIdentifier used for build (MSBuild property) |
7777
| >=5.0.100 | Hashed SelfContained used for build (MSBuild property) |
@@ -122,13 +122,11 @@ The `dotnet new` template instantiation command collects additional data for Mic
122122
* `--framework`
123123
* `--auth`
124124

125-
## .NET CLI/SDK crash exception telemetry collected
125+
## Crash exception telemetry
126126

127127
If the .NET CLI/SDK crashes, it collects the name of the exception and stack trace of the CLI/SDK code. This information is collected to assess problems and improve the quality of the .NET SDK and CLI. This article provides information about the data we collect. It also provides tips on how users building their own version of the .NET SDK can avoid inadvertent disclosure of personal or sensitive information.
128128

129-
### Types of collected data
130-
131-
.NET CLI collects information for CLI/SDK exceptions only, not exceptions in your application. The collected data contains the name of the exception and the stack trace. This stack trace is of CLI/SDK code.
129+
The .NET CLI collects information for CLI/SDK exceptions only, not exceptions in your application. The collected data contains the name of the exception and the stack trace. This stack trace is of CLI/SDK code.
132130

133131
The following example shows the kind of data that is collected:
134132

@@ -147,13 +145,13 @@ at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryC
147145
at Microsoft.DotNet.Cli.Program.Main(String[] args)
148146
```
149147

150-
### Avoid inadvertent disclosure of information
148+
## Avoid inadvertent disclosure of information
151149

152150
.NET contributors and anyone else running a version of the .NET SDK that they built themselves should consider the path to their SDK source code. If a crash occurs while using a .NET SDK that is a custom debug build or configured with custom build symbol files, the SDK source file path from the build machine is collected as part of the stack trace and isn't hashed.
153151

154152
Because of this, custom builds of the .NET SDK shouldn't be located in directories whose path names expose personal or sensitive information.
155153

156154
## See also
157155

158-
- [.NET CLI Telemetry Data](https://dotnet.microsoft.com/platform/telemetry)
156+
- [.NET CLI telemetry data](https://dotnet.microsoft.com/platform/telemetry)
159157
- [Telemetry reference source (dotnet/sdk repository)](https://github.com/dotnet/sdk/tree/main/src/Cli/dotnet/Telemetry)

docs/standard/base-types/formatting-types.md

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: "Formatting types in .NET"
3-
description: Learn how to format types in .NET. Understand how to use or override the ToString method. Learn about culture-sensitive, composite, and custom formatting.
4-
ms.date: "03/30/2017"
2+
title: "Overview: How to format numbers, dates, enums, and other types in .NET"
3+
description: "Learn how to convert instances of .NET types to formatted strings. Override the ToString method, make formatting culture-sensitive, and use ICustomFormatter."
4+
ms.date: 02/25/2022
55
dev_langs:
66
- "csharp"
77
- "vb"
@@ -24,26 +24,13 @@ helpviewer_keywords:
2424
- "base types [.NET], formatting"
2525
- "custom formatting [.NET]"
2626
- "strings [.NET], formatting"
27-
ms.assetid: 0d1364da-5b30-4d42-8e6b-03378343343f
2827
---
29-
# Format types in .NET
28+
# Overview: How to format numbers, dates, enums, and other types in .NET
3029

31-
Formatting is the process of converting an instance of a class, structure, or enumeration value to its string representation, often so that the resulting string can be displayed to users or deserialized to restore the original data type. This conversion can pose a number of challenges:
32-
33-
- The way that values are stored internally does not necessarily reflect the way that users want to view them. For example, a telephone number might be stored in the form 8009999999, which is not user-friendly. It should instead be displayed as 800-999-9999. See the [Custom Format Strings](#custom-format-strings) section for an example that formats a number in this way.
34-
35-
- Sometimes the conversion of an object to its string representation is not intuitive. For example, it is not clear how the string representation of a Temperature object or a Person object should appear. For an example that formats a Temperature object in a variety of ways, see the [Standard Format Strings](#standard-format-strings) section.
36-
37-
- Values often require culture-sensitive formatting. For example, in an application that uses numbers to reflect monetary values, numeric strings should include the current culture's currency symbol, group separator (which, in most cultures, is the thousands separator), and decimal symbol. For an example, see the [Culture-sensitive formatting with format providers](#culture-sensitive-formatting-with-format-providers) section.
38-
39-
- An application may have to display the same value in different ways. For example, an application may represent an enumeration member by displaying a string representation of its name or by displaying its underlying value. For an example that formats a member of the <xref:System.DayOfWeek> enumeration in different ways, see the [Standard Format Strings](#standard-format-strings) section.
30+
Formatting is the process of converting an instance of a class or structure, or an enumeration value, to a string representation. The purpose is to display the resulting string to users or to deserialize it later to restore the original data type. This article introduces the formatting mechanisms that .NET provides.
4031

4132
> [!NOTE]
42-
> Formatting converts the value of a type into a string representation. Parsing is the inverse of formatting. A parsing operation creates an instance of a data type from its string representation. For information about converting strings to other data types, see [Parsing Strings](parsing-strings.md).
43-
44-
.NET provides rich formatting support that enables developers to address these requirements.
45-
46-
## Formatting in .NET
33+
> Parsing is the inverse of formatting. A parsing operation creates an instance of a data type from its string representation. For more information, see [Parsing Strings](parsing-strings.md). For information about serialization and deserialization, see [Serialization in .NET](../serialization/index.md).
4734
4835
The basic mechanism for formatting is the default implementation of the <xref:System.Object.ToString%2A?displayProperty=nameWithType> method, which is discussed in the [Default Formatting Using the ToString Method](#default-formatting-using-the-tostring-method) section later in this topic. However, .NET provides several ways to modify and extend its default formatting support. These include the following:
4936

@@ -56,7 +43,7 @@ The basic mechanism for formatting is the default implementation of the <xref:Sy
5643

5744
For more information about format specifiers, see the [ToString Method and Format Strings](#the-tostring-method-and-format-strings) section.
5845

59-
- Using format providers to take advantage of the formatting conventions of a specific culture. For example, the following statement displays a currency value by using the formatting conventions of the en-US culture.
46+
- Using format providers to implement the formatting conventions of a specific culture. For example, the following statement displays a currency value by using the formatting conventions of the en-US culture.
6047

6148
[!code-csharp[Conceptual.Formatting.Overview#10](../../../samples/snippets/csharp/VS_Snippets_CLR/conceptual.formatting.overview/cs/specifier1.cs#10)]
6249
[!code-vb[Conceptual.Formatting.Overview#10](../../../samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.formatting.overview/vb/specifier1.vb#10)]
@@ -67,6 +54,8 @@ The basic mechanism for formatting is the default implementation of the <xref:Sy
6754

6855
- Using composite formatting to embed the string representation of a value in a larger string. For more information, see the [Composite Formatting](#composite-formatting) section.
6956

57+
- Using string interpolation, a more readable syntax to embed the string representation of a value in a larger string. For more information, see [String interpolation](../../csharp/language-reference/tokens/interpolated.md).
58+
7059
- Implementing <xref:System.ICustomFormatter> and <xref:System.IFormatProvider> to provide a complete custom formatting solution. For more information, see the [Custom Formatting with ICustomFormatter](#custom-formatting-with-icustomformatter) section.
7160

7261
The following sections examine these methods for converting an object to its string representation.
@@ -341,7 +330,7 @@ The following example uses the `ByteByByteFormatter` class to format integer val
341330
[!code-csharp[Conceptual.Formatting.Overview#16](../../../samples/snippets/csharp/VS_Snippets_CLR/conceptual.formatting.overview/cs/icustomformatter1.cs#16)]
342331
[!code-vb[Conceptual.Formatting.Overview#16](../../../samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.formatting.overview/vb/icustomformatter1.vb#16)]
343332

344-
## Related topics
333+
## See also
345334

346335
|Title|Definition|
347336
|-----------|----------------|

0 commit comments

Comments
 (0)