Skip to content

Important updates in regard to Microservice architecture patterns chapter and s… #3407

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 52 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
e9e4174
Important updates in regards Microservice architecture patterns and s…
CESARDELATORRE Oct 14, 2017
93509bc
added redirect
mairaw Oct 14, 2017
22a2e29
Merge remote-tracking branch 'upstream/master'
CESARDELATORRE Oct 17, 2017
eb90d9e
Important updates in regards Microservice architecture patterns and s…
CESARDELATORRE Oct 14, 2017
1a79dc6
added redirect
mairaw Oct 14, 2017
89d11fc
Revert so PR is not mixing multiple eBooks
CESARDELATORRE Oct 17, 2017
8784557
Merge branch 'master' of https://github.com/dotnet-architecture/docs
CESARDELATORRE Oct 17, 2017
b734286
Update orchestrate-high-scalability-availability.md
CESARDELATORRE Oct 17, 2017
2308b17
add 4.7.1 to API Browser quick filter (#3445)
mairaw Oct 17, 2017
8074fb4
minor fixes (#3434)
mairaw Oct 17, 2017
181d0a4
Add new ASP.NET 4.7.1 APIs (#3439)
mairaw Oct 17, 2017
69f51ed
replace assetids with xref links (#3443)
mairaw Oct 17, 2017
3f6e849
Updates on .NET Core 2.0 and news in Docker in chapters related to Do…
CESARDELATORRE Oct 17, 2017
d384fc0
Merge branch 'master' of https://github.com/dotnet-architecture/docs
CESARDELATORRE Oct 17, 2017
f9e2e4f
Fixing FWLinks in Core and FSharp Docs folders (#3441)
xaviex Oct 17, 2017
b657e0f
Updates in State and Data in Docker apps
CESARDELATORRE Oct 17, 2017
448020d
Minor changes in Architecture chapter/section
CESARDELATORRE Oct 17, 2017
a8c0af5
Updates for the Docker development process chapter
CESARDELATORRE Oct 18, 2017
5bcecb9
:mag_right: fix missing enum field (#3371)
yishengjin1413 Oct 18, 2017
f722d0a
Removed quotation marks from titles, corrected typo (#3450)
Oct 18, 2017
1d99ee5
Update Form1.cs (#3444)
bruceburge Oct 18, 2017
a557885
Updates based on Maira's feedback.
CESARDELATORRE Oct 18, 2017
ffaa179
Update Random2.cs (#3458)
Oct 18, 2017
253ec16
broken link + xref format (#3457)
mairaw Oct 18, 2017
3366cc1
removed FSharp.Core info from APIs (#3449)
mairaw Oct 18, 2017
7660a9c
add new 4.7.1 API content (#3453)
mairaw Oct 18, 2017
7e71a47
fixed formatting (#3460)
mairaw Oct 19, 2017
fcffc06
Added Windows Server, version 1709 (#3461)
Oct 19, 2017
1a032af
Apply casing to artifacts.xml example (#2938)
guardrex Oct 19, 2017
d0afff4
Update in Design and Implementation of Microservices
CESARDELATORRE Oct 19, 2017
cfb9d0a
Updates based on Bill's feedback
CESARDELATORRE Oct 19, 2017
1df0a2a
Update language reference for non-trailing named arguments (#3307)
garg000dhruv Oct 19, 2017
3155b60
CC6494: Update interpolated-strings.md #41 [AUTOMATED] (#3456)
carolinacmoravia Oct 19, 2017
afbd835
M5294: Possible incorrect link name (#3470)
carolinacmoravia Oct 19, 2017
a2ca115
Update preprocessor-if.md (#3468)
SimonCropp Oct 19, 2017
245be85
Add Live Unit Testing link (#3465)
kendrahavens Oct 19, 2017
9f5a5ea
Substitute positive enforcement (#3469)
pr-yemibedu Oct 19, 2017
2a759fa
Update net-container-os-targets.md (#3459)
alexandair Oct 19, 2017
47fb50b
fixed some broken xref links (#3466)
mairaw Oct 19, 2017
ff488d1
fixing second incorrect link name (#3471)
mairaw Oct 19, 2017
5596e85
Fix invalid regular expression (#3467)
Oct 19, 2017
def7adf
Important updates in regards Microservice architecture patterns and s…
CESARDELATORRE Oct 14, 2017
f6ab8f3
added redirect
mairaw Oct 14, 2017
729ad74
Revert so PR is not mixing multiple eBooks
CESARDELATORRE Oct 17, 2017
b30fa47
commit due to rebase
CESARDELATORRE Oct 20, 2017
6ed4b0f
Updates in State and Data in Docker apps
CESARDELATORRE Oct 17, 2017
460f991
Minor changes in Architecture chapter/section
CESARDELATORRE Oct 17, 2017
565dd1b
Updates for the Docker development process chapter
CESARDELATORRE Oct 18, 2017
5c99f77
Updates based on Maira's feedback.
CESARDELATORRE Oct 18, 2017
48eec97
Update in Design and Implementation of Microservices
CESARDELATORRE Oct 19, 2017
3aa5726
Updates based on Bill's feedback
CESARDELATORRE Oct 19, 2017
b009eb7
Merge branch 'master' of https://github.com/dotnet-architecture/docs
CESARDELATORRE Oct 20, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .openpublishing.redirection.json
Original file line number Diff line number Diff line change
Expand Up @@ -904,6 +904,11 @@
"redirect_url": "/dotnet/standard/net-standard",
"redirect_document_id": true
},
{
"source_path": "docs/standard/microservices-architecture/architect-microservice-container-applications/communication-between-microservices.md",
"redirect_url": "/dotnet/standard/microservices-architecture/architect-microservice-container-applications/communication-in-microservice-architecture",
"redirect_document_id": true
},
{
"source_path": "docs/standard/serialization/marshal-by-value.md",
"redirect_url": "/dotnet/standard/serialization-concepts"
Expand Down
2 changes: 1 addition & 1 deletion api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
layout: ApiBrowserPage
hide_bc: true
title: .NET API Browser
quickFilterColumn1: netframework-4.7,netcore-2.0,netstandard-2.0
quickFilterColumn1: netframework-4.7.1,netcore-2.0,netstandard-2.0
quickFilterColumn2: xamarinios-10.8,xamarinandroid-7.1,xamarinmac-3.0
quickFilterColumn3: azuremgmtresourcemanager-1.5.0-preview,appinsights-2.3.0-beta3,aspnetcore-2.0
---
Expand Down
6 changes: 3 additions & 3 deletions docs/core/deploying/runtime-store.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ The following *artifact.xml* file is produced after running the previous example

```xml
<StoreArtifacts>
<Package Id="newtonsoft.json" Version="10.0.3" />
<Package Id="castle.core" Version="4.1.0" />
<Package Id="moq" Version="4.7.63" />
<Package Id="Newtonsoft.Json" Version="10.0.3" />
<Package Id="Castle.Core" Version="4.1.0" />
<Package Id="Moq" Version="4.7.63" />
</StoreArtifacts>
```

Expand Down
2 changes: 1 addition & 1 deletion docs/core/windows-prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ See [.NET Core 1.x Supported OS Versions](https://github.com/dotnet/core/blob/ma

.NET Core 1.1 and earlier requires the Visual C++ Redistributable when running on Windows versions earlier than Windows 10 and Windows Server 2016. This dependency is automatically installed by the .NET Core installer.

[Microsoft Visual C++ 2015 Redistributable Update 3](https://www.microsoft.com/en-us/download/details.aspx?id=52685) must be manually installed when:
[Microsoft Visual C++ 2015 Redistributable Update 3](https://www.microsoft.com/download/details.aspx?id=52685) must be manually installed when:

* Installing .NET Core with the [installer script](./tools/dotnet-install-script.md).
* Deploying a self-contained .NET Core application.
Expand Down
10 changes: 5 additions & 5 deletions docs/csharp/language-reference/keywords/interpolated-strings.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Interpolated Strings (C#)"
ms.date: "09/27/2017"
ms.date: "10/18/2017"
ms.prod: .net
ms.technology:
- "devlang-csharp"
Expand All @@ -17,12 +17,12 @@ Used to construct strings. An interpolated string looks like a template string
The arguments of an interpolated string are easier to understand than a [composite format string](../../../standard/base-types/composite-formatting.md#composite-format-string). For example, the interpolated string

```csharp
Console.WriteLine($"Name = {name}, hours = {date:hh}");
Console.WriteLine($"Name = {name}, hours = {hours:hh}");
```
contains two interpolated expressions, '{name}' and '{date:hh}'. The equivalent composite format string is:
contains two interpolated expressions, '{name}' and '{hour:hh}'. The equivalent composite format string is:

```csharp
Console.WriteLine("Name = {0}, hours = {1:hh}", name, date);
Console.WriteLine("Name = {0}, hours = {1:hh}", name, hours);
```

The structure of an interpolated string is:
Expand All @@ -48,7 +48,7 @@ If the interpolated string contains other characters with special meaning in an

[!code-cs[interpolated-strings4](../../../../samples/snippets/csharp/language-reference/keywords/interpolated-strings4.cs#1)]

Verbatim interpolated strings use the `$` character followed by the `@` character. For more information about verbatim strings, see the [string](strings.md) topic. The following code is a modified version of the previous snippet using a verbatim interpolated string:
Verbatim interpolated strings use the `$` character followed by the `@` character. For more information about verbatim strings, see the [string](string.md) topic. The following code is a modified version of the previous snippet using a verbatim interpolated string:

[!code-cs[interpolated-strings4](../../../../samples/snippets/csharp/language-reference/keywords/interpolated-strings5.cs#1)]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ When the C# compiler encounters an `#if` directive, followed eventually by an [#

```csharp
// preprocessor_if.cs
#define DEBUG#define MYTEST
#define DEBUG
#define MYTEST
using System;
public class MyClass
{
Expand Down
2 changes: 1 addition & 1 deletion docs/csharp/misc/cs0636.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ ms.author: "wiwagn"
# Compiler Error CS0636
The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit)

You must use the **StructLayout(LayoutKind.Explicit)** attribute on the struct declaration, if it contains any members marked with the **FieldOffset** attribute. For more information, see [FieldOffset](xref:System.Runtime.InteropServices.FieldOffsetAttribute).
You must use the **StructLayout(LayoutKind.Explicit)** attribute on the struct declaration, if it contains any members marked with the **FieldOffset** attribute. For more information, see [FieldOffset](xref:System.Runtime.InteropServices.FieldOffsetAttribute).

The following sample generates CS0636:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,32 @@ class NamedExample
static void Main(string[] args)
{
// The method can be called in the normal way, by using positional arguments.
Console.WriteLine(CalculateBMI(123, 64));
PrintOrderDetails("Gift Shop", 31, "Red Mug");

// Named arguments can be supplied for the parameters in either order.
Console.WriteLine(CalculateBMI(weight: 123, height: 64));
Console.WriteLine(CalculateBMI(height: 64, weight: 123));
// Named arguments can be supplied for the parameters in any order.
PrintOrderDetails(orderNum: 31, productName: "Red Mug", sellerName: "Gift Shop");
PrintOrderDetails(productName: "Red Mug", sellerName: "Gift Shop", orderNum: 31);

// Positional arguments cannot follow named arguments.
// The following statement causes a compiler error.
//Console.WriteLine(CalculateBMI(weight: 123, 64));
// Named arguments mixed with positional arguments are valid
// as long as they are used in their correct position.
PrintOrderDetails("Gift Shop", 31, productName: "Red Mug");
PrintOrderDetails(sellerName: "Gift Shop", 31, productName: "Red Mug"); // C# 7.2 onwards
PrintOrderDetails("Gift Shop", orderNum: 31, "Red Mug"); // C# 7.2 onwards

// Named arguments can follow positional arguments.
Console.WriteLine(CalculateBMI(123, height: 64));
// However, mixed arguments are invalid if used out-of-order.
// The following statements will cause a compiler error.
// PrintOrderDetails(productName: "Red Mug", 31, "Gift Shop");
// PrintOrderDetails(31, sellerName: "Gift Shop", "Red Mug");
// PrintOrderDetails(31, "Red Mug", sellerName: "Gift Shop");
}

static int CalculateBMI(int weight, int height)
static void PrintOrderDetails(string sellerName, int orderNum, string productName)
{
return (weight * 703) / (height * height);
if (string.IsNullOrWhiteSpace(sellerName))
{
throw new ArgumentException(message: "Seller name cannot be null or empty.", paramName: nameof(sellerName));
}

Console.WriteLine($"Seller: {sellerName}, Order #: {orderNum}, Product: {productName}");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,28 +29,37 @@ ms.author: "wiwagn"
Named and optional parameters, when used together, enable you to supply arguments for only a few parameters from a list of optional parameters. This capability greatly facilitates calls to COM interfaces such as the Microsoft Office Automation APIs.

## Named Arguments
Named arguments free you from the need to remember or to look up the order of parameters in the parameter lists of called methods. The parameter for each argument can be specified by parameter name. For example, a function that calculates body mass index (BMI) can be called in the standard way by sending arguments for weight and height by position, in the order defined by the function.
Named arguments free you from the need to remember or to look up the order of parameters in the parameter lists of called methods. The parameter for each argument can be specified by parameter name. For example, a function that prints order details (such as, seller name, order number & product name) can be called in the standard way by sending arguments by position, in the order defined by the function.

`CalculateBMI(123, 64);`
`PrintOrderDetails("Gift Shop", 31, "Red Mug");`

If you do not remember the order of the parameters but you do know their names, you can send the arguments in either order, weight first or height first.
If you do not remember the order of the parameters but know their names, you can send the arguments in any order.

`CalculateBMI(weight: 123, height: 64);`
`PrintOrderDetails(orderNum: 31, productName: "Red Mug", sellerName: "Gift Shop");`

`CalculateBMI(height: 64, weight: 123);`
`PrintOrderDetails(productName: "Red Mug", sellerName: "Gift Shop", orderNum: 31);`

Named arguments also improve the readability of your code by identifying what each argument represents.
Named arguments also improve the readability of your code by identifying what each argument represents. In the example method below, the `sellerName` cannot be null or whitespace. As both `sellerName` and `productName` are string types, instead of sending arguments by position, it makes sense to use named arguments to disambiguate the two and reduce confusion for anyone reading the code.

A named argument can follow positional arguments, as shown here.
Named arguments, when used with positional arguments, are valid as long as

- they're not followed by any positional arguments, or

`PrintOrderDetails("Gift Shop", 31, productName: "Red Mug");`

- _starting with C# 7.2_, they're used in the correct position. In the example below, the parameter `orderNum` is in the correct position but isn't explicitly named.

`PrintOrderDetails(sellerName: "Gift Shop", 31, productName: "Red Mug");`

`CalculateBMI(123, height: 64);`

However, a positional argument cannot follow a named argument. The following statement causes a compiler error.

`//CalculateBMI(weight: 123, 64);`
However, out-of-order named arguments are invalid if they're followed by positional arguments.

```csharp
// This generates CS1738: Named argument specifications must appear after all fixed arguments have been specified.
PrintOrderDetails(productName: "Red Mug", 31, "Gift Shop");
```

## Example
The following code implements the examples from this section.
The following code implements the examples from this section along with some additional ones.

[!code-cs[csProgGuideNamedAndOptional#1](../../../csharp/programming-guide/classes-and-structs/codesnippet/CSharp/named-and-optional-arguments_1.cs)]

Expand Down
18 changes: 9 additions & 9 deletions docs/csharp/tutorials/console-teleprompter.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ using System.IO;
```

The `IEnumerable<T>` interface is defined in the
`System.Collections.Generic` namespace. The @System.IO.File class is defined in the
`System.Collections.Generic` namespace. The <xref:System.IO.File> class is defined in the
`System.IO` namespace.

This method is a special type of C# method called an *Enumerator method*.
Expand All @@ -123,7 +123,7 @@ indicates that there are no more items.
There are two other C# syntax elements that may be new to you. The `using`
statement in this method manages resource cleanup. The variable that is
initialized in the `using` statement (`reader`, in this example) must
implement the `IDisposable` interface. The @System.IDisposable interface
implement the `IDisposable` interface. The <xref:System.IDisposable> interface
defines a single method, `Dispose`, that should be called when the
resource should be released. The compiler generates that call when
execution reaches the closing brace of the `using` statement. The
Expand All @@ -134,8 +134,8 @@ statement.
The `reader` variable is defined using the `var` keyword. `var` defines an
*implicitly typed local variable*. That means the type of the variable is
determined by the compile time type of the object assigned to the
variable. Here, that is the return value from @System.IO.File.OpenText, which is
a @System.IO.StreamReader object.
variable. Here, that is the return value from the <xref:System.IO.File.OpenText(System.String)> method, which is
a <xref:System.IO.StreamReader> object.

Now, let’s fill in the code to read the file in the `Main` method:

Expand Down Expand Up @@ -228,7 +228,7 @@ In this final step, you’ll add the code to write the output asynchronously
in one task, while also running another task to read input from the user
if they want to speed up or slow down the text display. This has a few
steps in it and by the end, you’ll have all the updates that you need.
The first step is to create an asynchronous @System.Threading.Tasks.Task returning method that
The first step is to create an asynchronous <xref:System.Threading.Tasks.Task> returning method that
represents the code you’ve created so far to read and display the file.

Add this method to your `Program` class (it’s taken from the body of your
Expand All @@ -250,7 +250,7 @@ private static async Task ShowTeleprompter()
```

You’ll notice two changes. First, in the body of the method, instead of
calling @System.Threading.Tasks.Task.Wait to synchronously wait for a task to finish, this version
calling <xref:System.Threading.Tasks.Task.Wait> to synchronously wait for a task to finish, this version
uses the `await` keyword. In order to do that, you need to add the `async`
modifier to the method signature. This method returns a `Task`. Notice that
there are no return statements that return a `Task` object. Instead, that
Expand Down Expand Up @@ -300,9 +300,9 @@ private static async Task GetInput()
}
```

This creates a lambda expression to represent an @System.Action delegate that reads a key
This creates a lambda expression to represent an <xref:System.Action> delegate that reads a key
from the Console and modifies a local variable representing the delay when
the user presses the ‘<’ or ‘>’ keys. This method uses @System.Console.ReadKey
the user presses the ‘<’ or ‘>’ keys. This method uses <xref:System.Console.ReadKey>
to block and wait for the user to press a key.

To finish this feature, you need to create a new `async Task` returning
Expand Down Expand Up @@ -368,7 +368,7 @@ private static async Task RunTeleprompter()
}
```

The one new method here is the @System.Threading.Tasks.Task.WhenAny(System.Threading.Tasks.Task[]) call. That creates a `Task`
The one new method here is the <xref:System.Threading.Tasks.Task.WhenAny(System.Threading.Tasks.Task[])> call. That creates a `Task`
that finishes as soon as any of the tasks in its argument list completes.

Next, you need to update both the `ShowTeleprompter` and `GetInput` methods to
Expand Down
1 change: 1 addition & 0 deletions docs/framework/get-started/system-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ The .NET Framework requires administrator privileges for installation. If you do

| Operating system | Supported editions | Preinstalled with the OS | Installable separately |
| ---------------- | ------------------ | ------------------------ | ---------------------- |
| Windows Server, version 1709 | 64-bit | .NET Framework 4.7.1 | -- |
| Windows Server 2016 | 64-bit | [!INCLUDE[net_v462](../../../includes/net-v462-md.md)] | .NET Framework 4.7<br/><br/> .NET Framework 4.7.1 |
| Windows Server 2012 R2 | 64-bit | [!INCLUDE[net_v451](../../../includes/net-v451-md.md)] | [!INCLUDE[net_v452](../../../includes/net-v452-md.md)]<br /><br /> [!INCLUDE[net_v46](../../../includes/net-v46-md.md)]<br /><br /> [!INCLUDE[net_v461](../../../includes/net-v461-md.md)]<br /><br /> [!INCLUDE[net_v462](../../../includes/net-v462-md.md)]<br /><br />.NET Framework 4.7<br/><br/> .NET Framework 4.7.1 |
| Windows Server 2012 (64-bit edition) | 64-bit| [!INCLUDE[net_v45](../../../includes/net-v45-md.md)] | [!INCLUDE[net_v451](../../../includes/net-v451-md.md)]<br /><br /> [!INCLUDE[net_v452](../../../includes/net-v452-md.md)]<br /><br /> [!INCLUDE[net_v46](../../../includes/net-v46-md.md)]<br /><br /> [!INCLUDE[net_v461](../../../includes/net-v461-md.md)]<br /><br /> [!INCLUDE[net_v462](../../../includes/net-v462-md.md)]<br /><br />.NET Framework 4.7<br/><br/>.NET Framework 4.7.1 |
Expand Down
2 changes: 1 addition & 1 deletion docs/framework/install/guide-for-developers.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Use the following table for quick links, or read further for details. To view th

|.NET Framework version|Developer installation|Redistributable installation|Platform support|
|----------------------------|----------------------------|----------------------------------|----------------------|
|**4.7.1**|[NET Framework 4.7.1 Dev Pack](http://go.microsoft.com/fwlink/?LinkId=852105)|[Download page for 4.7.1 web installer](http://go.microsoft.com/fwlink/?LinkId=852095)<br /><br /> [Download page for 4.7.1 offline installer](http://go.microsoft.com/fwlink/?LinkId=852107)|Included in: <br/>Windows 10 Fall Creators Update<br /><br /> You can install on:<br/> Windows 10 Creators Update <br /> Windows 10 Anniversary Update<br /> Windows 8.1 and earlier<br /> Windows Server 2012 R2 and earlier<br /> (for a full list, see [system requirements](~/docs/framework/get-started/system-requirements.md))||
|**4.7.1**|[NET Framework 4.7.1 Dev Pack](http://go.microsoft.com/fwlink/?LinkId=852105)|[Download page for 4.7.1 web installer](http://go.microsoft.com/fwlink/?LinkId=852095)<br /><br /> [Download page for 4.7.1 offline installer](http://go.microsoft.com/fwlink/?LinkId=852107)|Included in: <br/>Windows 10 Fall Creators Update<br/>Windows Server, version 1709<br /><br /> You can install on:<br/> Windows 10 Creators Update <br /> Windows 10 Anniversary Update<br /> Windows 8.1 and earlier<br /> Windows Server 2012 R2 and earlier<br /> (for a full list, see [system requirements](~/docs/framework/get-started/system-requirements.md))||
|**4.7**|[NET Framework 4.7 Dev Pack](http://go.microsoft.com/fwlink/?LinkId=825319)|[Download page for 4.7 web installer](http://go.microsoft.com/fwlink/?LinkId=825299)<br /><br /> [Download page for 4.7 offline installer](http://go.microsoft.com/fwlink/?LinkId=825303)|Included in: <br/>Windows 10 Creators Update<br /><br /> You can install on:<br /> Windows 10 Anniversary Update<br /> Windows 8.1 and earlier<br /> Windows Server 2012 R2 and earlier<br /> (for a full list, see [system requirements](~/docs/framework/get-started/system-requirements.md))||
|**4.6.2**|[NET Framework 4.6.2 Dev Pack](http://go.microsoft.com/fwlink/?LinkId=780617)|[Download page for 4.6.2 web installer](http://go.microsoft.com/fwlink/?LinkId=780597)<br /><br /> [Download page for 4.6.2 offline installer](http://go.microsoft.com/fwlink/?LinkId=780601)|Included in: <br /> Windows 10 Anniversary Edition<br /><br /> You can install on:<br /> Windows 10 <br /> Windows 8.1 and earlier<br /> Windows Server 2012 R2 and earlier<br /> (for a full list, see [system requirements](~/docs/framework/get-started/system-requirements.md))|
|**4.6.1**|[NET Framework 4.6.1 Dev Pack](http://go.microsoft.com/fwlink/?LinkId=690706)|[Download page for 4.6.1 web installer](http://go.microsoft.com/fwlink/?LinkId=671729)<br /><br /> [Download page for 4.6.1 offline installer](http://go.microsoft.com/fwlink/?LinkId=671744)|You can install on:<br /> Windows 10 <br /> Windows 8.1 and earlier<br /> Windows Server 2012 R2 and earlier<br /> (for a full list, see [system requirements](~/docs/framework/get-started/system-requirements.md))|
Expand Down
2 changes: 1 addition & 1 deletion docs/framework/migration-guide/retargeting/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ms.author: "ronpet"
manager: "wpickett"
---

# "Retargeting Changes in the .NET Framework"
# Retargeting Changes in the .NET Framework

[!include[introduction](../../../../includes/migration-guide/retargeting/introduction.md)]
## Usage
Expand Down
2 changes: 1 addition & 1 deletion docs/framework/migration-guide/runtime/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ms.author: "ronpet"
manager: "wpickett"
---

# "Runtime Changes in the .NET Framework"
# Runtime Changes in the .NET Framework

[!include[introduction](../../../../includes/migration-guide/runtime/introduction.md)]
## Usage
Expand Down
Loading