Skip to content

Commit 895c760

Browse files
authored
Merge pull request #5480 from dotnet/master
Update live with current master
2 parents 5b17d73 + 81ff5f6 commit 895c760

File tree

11 files changed

+41
-29
lines changed

11 files changed

+41
-29
lines changed

docs/core/windows-prerequisites.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Prerequisites for .NET Core on Windows
33
description: Learn what dependencies you need on your Windows machine to develop and run .NET Core applications.
44
author: JRAlexander
55
ms.author: johalex
6-
ms.date: 05/14/2018
6+
ms.date: 05/18/2018
77
---
88
# Prerequisites for .NET Core on Windows
99

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

28-
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.
28+
The following articles have a complete list of .NET Core supported operating systems per version:
2929

30-
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.
30+
* [.NET Core 2.1 - Supported OS Versions](https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1-supported-os.md)
31+
* [.NET Core 2.0 - Supported OS Versions](https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md)
32+
* [.NET Core 1.x - Supported OS Versions](https://github.com/dotnet/core/blob/master/release-notes/1.0/1.0-supported-os.md)
3133

3234
## .NET Core dependencies
3335

docs/csharp/async.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public async Task<int> GetDotNetCountAsync()
127127
{
128128
// Suspends GetDotNetCountAsync() to allow the caller (the web server)
129129
// to accept another request, rather than blocking on this one.
130-
var html = await _httpClient.DownloadStringAsync("http://dotnetfoundation.org");
130+
var html = await _httpClient.GetStringAsync("http://dotnetfoundation.org");
131131

132132
return Regex.Matches(html, @"\.NET").Count;
133133
}

docs/csharp/programming-guide/classes-and-structs/classes.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,9 @@ When the object is created, the memory is allocated on the managed heap, and the
7878

7979
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).
8080

81-
## Description
82-
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.
83-
8481
## Example
82+
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.
83+
8584
[!code-csharp[Class Example](~/samples/snippets/csharp/programming-guide/classes-and-structs/class-example.cs)]
8685

8786
## C# Language Specification

docs/csharp/programming-guide/xmldoc/processing-the-xml-file.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ The compiler generates an ID string for each construct in your code that is tagg
3737

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

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

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

docs/framework/interop/default-marshaling-for-objects.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ mo.SetVariant(new CurrencyWrapper(new Decimal(5.25)));
276276
|**VT_BSTR**|<xref:System.String?displayProperty=nameWithType>|
277277
|**VT_INT**|<xref:System.Int32?displayProperty=nameWithType>|
278278
|**VT_UINT**|<xref:System.UInt32?displayProperty=nameWithType>|
279-
|**VT_ARRAY** &#124; **VT_\***|<xref:System.Array?displayProperty=nameWithType>|
279+
|**VT_ARRAY** &#124; **VT_**\*|<xref:System.Array?displayProperty=nameWithType>|
280280
|**VT_CY**|<xref:System.Decimal?displayProperty=nameWithType>|
281281
|**VT_RECORD**|Corresponding boxed value type.|
282282
|**VT_VARIANT**|Not supported.|

docs/framework/net-native/library-element-net-native.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Defines the assembly that contains types and type members whose metadata is avai
5252

5353
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.
5454

55-
`<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.
55+
`<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.
5656

5757
```xml
5858
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">

docs/framework/tools/winres-exe-windows-forms-resource-editor.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Winres.exe (Windows Forms Resource Editor)"
3-
ms.date: "03/30/2017"
3+
ms.date: "05/21/2018"
44
helpviewer_keywords:
55
- "Winres.exe"
66
- "Windows Forms Resource Editor"
@@ -17,7 +17,10 @@ ms.author: "mairaw"
1717
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).
1818

1919
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).
20-
20+
21+
> [!IMPORTANT]
22+
> 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.
23+
2124
At the command prompt, type the following:
2225

2326
## Syntax

docs/fsharp/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ F# is about productivity at its heart. The tooling support for F# is ubiquitous
4545

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

48+
[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.
49+
4850
## References
4951

5052
[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.

docs/fsharp/style-guide/conventions.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,15 +147,19 @@ There are many times when initializing a value can have side effects, such as in
147147
module MyApi =
148148
let dep1 = File.ReadAllText "/Users/{your name}/connectionstring.txt"
149149
let dep2 = Environment.GetEnvironmentVariable "DEP_2"
150-
let dep3 = Random().Next() // Random is not thread-safe
150+
151+
let private r = Random()
152+
let dep3() = r.Next() // Problematic if multiple threads use this
151153
152154
let function1 arg = doStuffWith dep1 dep2 dep3 arg
153155
let function2 arg = doSutffWith dep1 dep2 dep3 arg
154156
```
155157

156158
This is frequently a bad idea for a few reasons:
157159

158-
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.
160+
First, application configuration is pushed into the codebase with `dep1` and `dep2`. This is difficult to maintain in larger codebases.
161+
162+
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`.
159163

160164
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.
161165

docs/visual-basic/misc/object-doesn-t-support-this-action.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: "Object doesn&#39;t support this action (Visual Basic)"
2+
title: "Object doesn't support this action (Visual Basic)"
33
ms.date: 07/20/2015
44
f1_keywords:
55
- "vbrID445"
66
ms.assetid: 25eb4310-c3aa-4d8d-8989-304cb57e12c1
77
---
8-
# Object doesn&#39;t support this action (Visual Basic)
8+
# Object doesn't support this action (Visual Basic)
99
You referenced a method or property that is not supported by this object.
1010

1111
## To correct this error

0 commit comments

Comments
 (0)