Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
8 changes: 5 additions & 3 deletions docs/core/windows-prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Prerequisites for .NET Core on Windows
description: Learn what dependencies you need on your Windows machine to develop and run .NET Core applications.
author: JRAlexander
ms.author: johalex
ms.date: 05/14/2018
ms.date: 05/18/2018
---
# Prerequisites for .NET Core on Windows

Expand All @@ -25,9 +25,11 @@ This article shows the dependencies needed to develop .NET Core applications on
* Windows Server 2012 R2 (Full Server or Server Core)
* Windows Server 2016 or later versions (Full Server, Server Core, or Nano Server)

See [.NET Core 2.x - Supported OS Versions](https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md) for the complete list of .NET Core 2.x supported operating systems.
The following articles have a complete list of .NET Core supported operating systems per version:

See [.NET Core 1.x - Supported OS Versions](https://github.com/dotnet/core/blob/master/release-notes/1.0/1.0-supported-os.md) for the complete list of .NET Core 1.x supported operating systems.
* [.NET Core 2.1 - Supported OS Versions](https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1-supported-os.md)
* [.NET Core 2.0 - Supported OS Versions](https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md)
* [.NET Core 1.x - Supported OS Versions](https://github.com/dotnet/core/blob/master/release-notes/1.0/1.0-supported-os.md)

## .NET Core dependencies

Expand Down
2 changes: 1 addition & 1 deletion docs/csharp/async.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ public async Task<int> GetDotNetCountAsync()
{
// Suspends GetDotNetCountAsync() to allow the caller (the web server)
// to accept another request, rather than blocking on this one.
var html = await _httpClient.DownloadStringAsync("http://dotnetfoundation.org");
var html = await _httpClient.GetStringAsync("http://dotnetfoundation.org");

return Regex.Matches(html, @"\.NET").Count;
}
Expand Down
5 changes: 2 additions & 3 deletions docs/csharp/programming-guide/classes-and-structs/classes.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,9 @@ When the object is created, the memory is allocated on the managed heap, and the

Class definitions can be split between different source files. For more information, see [Partial Classes and Methods](../../../csharp/programming-guide/classes-and-structs/partial-classes-and-methods.md).

## Description
In the following example, a public class that contains a single field, a method, and a special method called a constructor is defined. For more information, see [Constructors](../../../csharp/programming-guide/classes-and-structs/constructors.md). The class is then instantiated with the `new` keyword.

## Example
The following example defines a public class that contains an [auto-implemented property](auto-implemented-properties.md), a method, and a special method called a constructor. For more information, see [Properties](properties.md), [Methods](methods.md), and [Constructors](constructors.md) topics. The instances of the class are then instantiated with the `new` keyword.

[!code-csharp[Class Example](~/samples/snippets/csharp/programming-guide/classes-and-structs/class-example.cs)]

## C# Language Specification
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The compiler generates an ID string for each construct in your code that is tagg

- ELEMENT_TYPE_PTR is represented as a '*' following the modified type.

- ELEMENT_TYPE_BYREF is represented as a '@' following the modified type.
- ELEMENT_TYPE_BYREF is represented as a '\@' following the modified type.

- ELEMENT_TYPE_PINNED is represented as a '^' following the modified type. The C# compiler never generates this.

Expand Down
2 changes: 1 addition & 1 deletion docs/framework/interop/default-marshaling-for-objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ mo.SetVariant(new CurrencyWrapper(new Decimal(5.25)));
|**VT_BSTR**|<xref:System.String?displayProperty=nameWithType>|
|**VT_INT**|<xref:System.Int32?displayProperty=nameWithType>|
|**VT_UINT**|<xref:System.UInt32?displayProperty=nameWithType>|
|**VT_ARRAY** &#124; **VT_\***|<xref:System.Array?displayProperty=nameWithType>|
|**VT_ARRAY** &#124; **VT_**\*|<xref:System.Array?displayProperty=nameWithType>|
|**VT_CY**|<xref:System.Decimal?displayProperty=nameWithType>|
|**VT_RECORD**|Corresponding boxed value type.|
|**VT_VARIANT**|Not supported.|
Expand Down
2 changes: 1 addition & 1 deletion docs/framework/net-native/library-element-net-native.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Defines the assembly that contains types and type members whose metadata is avai

The `<Library>` element serves as a container to define the program elements whose metadata is needed at run time; this element doesn't express policy. At compile time, compiler tools search only the library designated by the `<Library>` element for program elements identified by its child elements. In contrast, compiler tools search all libraries, including.NET Framework core libraries, for program elements identified by child elements of the [\<Application>](../../../docs/framework/net-native/application-element-net-native.md) element.

`<Library>` directives may be conditionally utilized. If the name of the `<Library>` element starts and ends with an asterisk (*), the `<Library>` directive has an effect only if the assembly specified between the asterisks is referenced by the app. For example, the following runtime directive applies only if the Utillities.dll assembly is referenced by the app.
`<Library>` directives may be conditionally utilized. If the name of the `<Library>` element starts and ends with an asterisk (\*), the `<Library>` directive has an effect only if the assembly specified between the asterisks is referenced by the app. For example, the following runtime directive applies only if the Utillities.dll assembly is referenced by the app.

```xml
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Winres.exe (Windows Forms Resource Editor)"
ms.date: "03/30/2017"
ms.date: "05/21/2018"
helpviewer_keywords:
- "Winres.exe"
- "Windows Forms Resource Editor"
Expand All @@ -17,7 +17,10 @@ ms.author: "mairaw"
The Windows Forms Resource Editor, Winres.exe, is a visual layout tool that helps localization experts localize Windows Forms user interface (UI) resources used by forms. The .resx or .resources files that are used as input to Winres.exe can be created using a visual design environment such as Microsoft Visual Studio. For information on deploying resources in .NET Framework applications, see [Resources in Desktop Apps](../../../docs/framework/resources/index.md).

This tool is automatically installed with Visual Studio. To run the tool, use the Developer Command Prompt (or the Visual Studio Command Prompt in Windows 7). For more information, see [Command Prompts](../../../docs/framework/tools/developer-command-prompt-for-vs.md).


> [!IMPORTANT]
> You should only load and use .resx files from trusted sources. ResX files can contain executable code and should be treated as an executable file (.exe) from the viewpoint of security.

At the command prompt, type the following:

## Syntax
Expand Down
2 changes: 2 additions & 0 deletions docs/fsharp/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ F# is about productivity at its heart. The tooling support for F# is ubiquitous

[Get started with F# and Xamarin](https://docs.microsoft.com/xamarin/cross-platform/platform/fsharp/) for mobile programming with F#.

[F# for Azure Notebooks](https://notebooks.azure.com/Microsoft/libraries/samples/html/FSharp%20for%20Azure%20Notebooks.ipynb) is a tutorial for learning F# in a free, hosted Jupyter Notebook.

## References

[F# Language Reference](language-reference/index.md) is the official, comprehensive reference for all F# language features. Each article explains the syntax and shows code samples. You can use the filter bar in the table of contents to find specific articles.
Expand Down
8 changes: 6 additions & 2 deletions docs/fsharp/style-guide/conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,15 +147,19 @@ There are many times when initializing a value can have side effects, such as in
module MyApi =
let dep1 = File.ReadAllText "/Users/{your name}/connectionstring.txt"
let dep2 = Environment.GetEnvironmentVariable "DEP_2"
let dep3 = Random().Next() // Random is not thread-safe

let private r = Random()
let dep3() = r.Next() // Problematic if multiple threads use this

let function1 arg = doStuffWith dep1 dep2 dep3 arg
let function2 arg = doSutffWith dep1 dep2 dep3 arg
```

This is frequently a bad idea for a few reasons:

First, it makes the API itself reliant on shared state. For example, multiple calling threads may be attempting to access the `dep3` value (and it is not thread-safe). Secondly, it pushes application configuration into the codebase itself. This is difficult to maintain for larger codebases.
First, application configuration is pushed into the codebase with `dep1` and `dep2`. This is difficult to maintain in larger codebases.

Second, statically initialized data should not include values that are not thread safe if your component will itself use multiple threads. This is clearly violated by `dep3`.

Finally, module initialization compiles into a static constructor for the entire compilation unit. If any error occurs in let-bound value initialization in that module, it manifests as a `TypeInitializationException` that is then cached for the entire lifetime of the application. This can be difficult to diagnose. There is usually an inner exception that you can attempt to reason about, but if there is not, then there is no telling what the root cause is.

Expand Down
4 changes: 2 additions & 2 deletions docs/visual-basic/misc/object-doesn-t-support-this-action.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: "Object doesn&#39;t support this action (Visual Basic)"
title: "Object doesn't support this action (Visual Basic)"
ms.date: 07/20/2015
f1_keywords:
- "vbrID445"
ms.assetid: 25eb4310-c3aa-4d8d-8989-304cb57e12c1
---
# Object doesn&#39;t support this action (Visual Basic)
# Object doesn't support this action (Visual Basic)
You referenced a method or property that is not supported by this object.

## To correct this error
Expand Down
28 changes: 15 additions & 13 deletions includes/net-standard-table.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
| .NET Standard | [1.0] | [1.1] | [1.2] | [1.3] | [1.4] | [1.5] | [1.6] | [2.0] |
|-------------------------------------------|-------|--------|-------|-------|-------|------------|------------|------------|
| .NET Core | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 2.0 |
| .NET Framework (with .NET Core 1.x SDK) | 4.5 | 4.5 | 4.5.1 | 4.6 | 4.6.1 | 4.6.2 | | |
| .NET Framework (with .NET Core 2.0 SDK) | 4.5 | 4.5 | 4.5.1 | 4.6 | 4.6.1 | 4.6.1 | 4.6.1 | 4.6.1 |
| Mono | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 5.4 |
| Xamarin.iOS | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.14 |
| Xamarin.Mac | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 | 3.8 |
| Xamarin.Android | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 8.0 |
| Universal Windows Platform | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0.16299 | 10.0.16299 | 10.0.16299 |
| Windows | 8.0 | 8.0 | 8.1 | | | | | |
| Windows Phone | 8.1 | 8.1 | 8.1 | | | | | |
| Windows Phone Silverlight | 8.0 | | | | | | | |
| .NET Standard | [1.0] | [1.1] | [1.2] | [1.3] | [1.4] | [1.5] | [1.6] | [2.0] |
|----------------------------|-------|--------|-------|-------|-------|------------|------------|------------|
| .NET Core | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 2.0 |
| .NET Framework <sup>1</sup>| 4.5 | 4.5 | 4.5.1 | 4.6 | 4.6.1 | 4.6.1 | 4.6.1 | 4.6.1 |
| Mono | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 5.4 |
| Xamarin.iOS | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.14 |
| Xamarin.Mac | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 | 3.8 |
| Xamarin.Android | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 8.0 |
| Universal Windows Platform | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0.16299 | 10.0.16299 | 10.0.16299 |
| Windows | 8.0 | 8.0 | 8.1 | | | | | |
| Windows Phone | 8.1 | 8.1 | 8.1 | | | | | |
| Windows Phone Silverlight | 8.0 | | | | | | | |

<sup>1 The versions listed for .NET Framework apply to .NET Core SDK 2.0 and later versions of the tooling. Older versions used a different mapping for .NET Standard 1.5 and higher. </sup>

- The columns represent .NET Standard versions. Each header cell is a link to a document that shows which APIs got added in that version of .NET Standard.
- The rows represent the different .NET implementations.
- The version number in each cell indicates the *minimum* version of the implementation you'll need in order to target that .NET Standard version.
- For an interactive table, see [.NET Standard versions](http://immo.landwerth.net/netstandard-versions/#).

[1.0]: https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.0.md
[1.1]: https://github.com/dotnet/standard/blob/master/docs/versions/netstandard1.1.md
Expand Down