You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/ide/mcp-servers.md
+11-32Lines changed: 11 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ monikerRange: '>= vs-2022'
16
16
Model Context Protocol (MCP) is an open standard that enables AI models to interact with external tools and services through a unified interface. In Visual Studio, MCP support enhances GitHub Copilot's agent mode by allowing you to connect any MCP-compatible server to your agentic coding workflow. This article guides you through setting up MCP servers and using tools with agent mode in Visual Studio.
17
17
18
18
## Prerequisites
19
-
+[Visual Studio 2022 version 17.14](/visualstudio/releases/2022/release-history) or later.
19
+
+[Visual Studio 2022 version 17.14](/visualstudio/releases/2022/release-history) or later. The latest servicing release of 17.14 is highly recommended as MCP features are actively being added with each release.
20
20
21
21
## How do MCP and Visual Studio extend GitHub Copilot's agent?
22
22
@@ -30,54 +30,33 @@ By standardizing this interaction, MCP eliminates the need for custom integratio
30
30
31
31
## Configuration example with GitHub MCP server
32
32
33
-
1. Create a new file: `<SOLUTIONDIR>\.mcp.json`. Using Visual Studio to edit this file is recommended so its JSON schema is automatically applied.
33
+
The following walkthrough requires 17.14.9 or later.
34
+
35
+
1. Create a new file: `<SOLUTIONDIR>\.mcp.json` or `%USERPROFILE%\.mcp.json`. Using Visual Studio to edit this file is recommended so its JSON schema is automatically applied.
34
36
2. Paste the following contents into the `.mcp.json` file
5. In Visual Studio, click the `Ask`dropdown in the GitHub Copilot Chat window, and then select `Agent`.
70
51
71
-
5. When prompted, paste your personal access token into the dialog.
72
-
73
-
:::image type="content" source="media/vs-2022/mcp-servers/model-context-protocol-personal-access-token.png" alt-text="Screenshot that shows entering the personal access token." lightbox="media/vs-2022/mcp-servers/model-context-protocol-personal-access-token.png":::
Copy file name to clipboardExpand all lines: docs/msbuild/comparing-properties-and-items.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,7 +74,7 @@ Properties are passed to tasks as attributes. Within the task, an MSBuild proper
74
74
75
75
Items are passed to tasks as <xref:Microsoft.Build.Framework.ITaskItem> objects. Within the task, <xref:Microsoft.Build.Framework.ITaskItem.ItemSpec%2A> represents the value of the item and <xref:Microsoft.Build.Framework.ITaskItem.GetMetadata%2A> retrieves its metadata.
76
76
77
-
The item list of an item type can be passed as an array of `ITaskItem` objects. Beginning with the .NET Framework 3.5, items can be removed from an item list in a target by using the `Remove` attribute. Because items can be removed from an item list, it is possible for an item type to have zero items. If an item list is passed to a task, the code in the task should check for this possibility.
77
+
The item list of an item type can be passed as an array of `ITaskItem` objects. Items can be removed from an item list in a target by using the `Remove` attribute. Because items can be removed from an item list, it is possible for an item type to have zero items. If an item list is passed to a task, the code in the task should check for this possibility.
Copy file name to clipboardExpand all lines: docs/msbuild/configure-tasks.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,13 +12,13 @@ ms.subservice: msbuild
12
12
13
13
You can configure MSBuild targets and tasks to run out-of-process with MSBuild so that you can run tasks in contexts that differ from the one running the overall build. This can be useful when running tasks that are not compatible with 64-bit MSBuild and when targeting a different version of .NET Framework.
14
14
15
-
For example, you can target a 32-bit .NET Framework 2.0 application while the development computer is running on a 64-bit .NET Framework 4.5 operating system. You can also target computers that run with the .NET Framework 4 or earlier. The combination of 32- or 64-bitness and the specific .NET Framework version is known as the *target context*.
15
+
For example, you can target a 32-bit .NET Framework 3.5 SP1 application while the development computer is running on a 64-bit .NET Framework 4.7.2 operating system. The combination of 32- or 64-bitness and the specific .NET Framework version is known as the *target context*.
16
16
17
17
## Tasks
18
18
19
-
MSBuild runs certain build tasks out of process to target a larger set of contexts. For example, a 32-bit MSBuild might run a build task in a 64-bit process. This is controlled by `UsingTask` arguments and `Task` parameters. The targets installed by the .NET Framework 4.5 set these arguments and parameters, and no changes are required to build applications for the various target contexts.
19
+
MSBuild runs certain build tasks out of process to target a larger set of contexts. For example, a 32-bit MSBuild might run a build task in a 64-bit process. This is controlled by `UsingTask` arguments and `Task` parameters. The targets installed with MSBuild set these arguments and parameters, and no changes are required to build applications for the various target contexts.
20
20
21
-
If you want to create your own target context, you must set these arguments and parameters appropriately. Look in the .NET Framework 4.5 *Microsoft.Common.targets* file and the *Microsoft.Common.Tasks* file for examples. For information about how to create a custom task that can work with multiple target contexts, or how to modify existing tasks, see [How to: Configure targets and tasks](../msbuild/how-to-configure-targets-and-tasks.md).
21
+
If you want to create your own target context, you must set these arguments and parameters appropriately. Look in the *Microsoft.Common.targets* file and the *Microsoft.Common.Tasks* file for examples. For information about how to create a custom task that can work with multiple target contexts, or how to modify existing tasks, see [How to: Configure targets and tasks](../msbuild/how-to-configure-targets-and-tasks.md).
Copy file name to clipboardExpand all lines: docs/msbuild/customize-by-directory.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,7 +126,7 @@ A summary of MSBuild's general approach is as follows:
126
126
- For any given project, MSBuild finds the first *Directory.Build.props* upward in the solution structure, merges it with defaults, and stops scanning for more.
127
127
- If you want multiple levels to be found and merged, then [`<Import...>`](../msbuild/property-functions.md#msbuild-getpathoffileabove) (shown previously) the "outer" file from the "inner" file.
128
128
- If the "outer" file doesn't itself also import something above it, then scanning stops there.
129
-
- Only do this if the uupper level file actual exists
129
+
- Only do this if the outer file actually exists
130
130
131
131
Or more simply: the first *Directory.Build.props* that doesn't import anything is where MSBuild stops.
Copy file name to clipboardExpand all lines: docs/msbuild/generatebootstrapper-task.md
+14-19Lines changed: 14 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -148,27 +148,22 @@ In addition to the parameters listed above, this task inherits parameters from t
148
148
149
149
## Example
150
150
151
-
The following example uses the `GenerateBootstrapper` task to install an application that must have the .NET Framework 2.0 installed as a prerequisite.
151
+
The following example uses the `GenerateBootstrapper` task to install an application that must have the .NET Framework 4.8 installed as a prerequisite.
Copy file name to clipboardExpand all lines: docs/msbuild/import-element-msbuild.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ Imports the contents of one project file into another project file.
71
71
72
72
## Wildcards
73
73
74
-
In the .NET Framework 4, MSBuild allows wildcards in the Project attribute. When there are wildcards, all matches found are sorted (for reproducibility), and then they are imported in that order as if the order had been explicitly set.
74
+
MSBuild allows wildcards in the Project attribute. When there are wildcards, all matches found are sorted (for reproducibility), and then they are imported in that order as if the order had been explicitly set.
75
75
76
76
This is useful if you want to offer an extensibility point so that someone else can import a file without requiring you to explicitly add the file name to the importing file. For this purpose, *Microsoft.Common.Targets* contains the following line at the top of the file.
Copy file name to clipboardExpand all lines: docs/msbuild/itemgroup-element-msbuild.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,7 @@ In addition to the generic `Item` element, ItemGroup allows child elements that
58
58
| Element | Description |
59
59
| - | - |
60
60
|[Project](../msbuild/project-element-msbuild.md)| Required root element of an MSBuild project file. |
61
-
|[Target](../msbuild/target-element-msbuild.md)|Starting with .NET Framework 3.5, the`ItemGroup` element can appear inside a `Target` element. For more information, see [Targets](../msbuild/msbuild-targets.md). |
61
+
|[Target](../msbuild/target-element-msbuild.md)|The`ItemGroup` element can appear inside a `Target` element. For more information, see [Targets](../msbuild/msbuild-targets.md). |
Copy file name to clipboardExpand all lines: docs/msbuild/msbuild-multitargeting-overview.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,16 +10,14 @@ ms.subservice: msbuild
10
10
---
11
11
# Target multiple framework versions and platforms
12
12
13
-
By using MSBuild, you can compile an application to run on any one of several versions of the .NET Framework, and on any one of several system platforms. For example, you can compile an application to run on the .NET Framework 2.0 on a 32-bit platform, and compile the same application to run on the .NET Framework 4.5 on a 64-bit platform.
13
+
By using MSBuild, you can compile an application to run on any one of several versions of the .NET Framework, and on any one of several system platforms. For example, you can compile an application to run on the .NET Framework 3.5 SP1 on a 32-bit platform, and compile the same application to run on the .NET Framework 4.7.2 on a 64-bit platform.
14
14
15
15
> [!NOTE]
16
16
> This article describes an older type of multitargeting that applies to .NET Framework builds in which a project can target only one framework and only one platform at a time. In .NET Core and .NET 5 and later, you can use a newer type of multitargeting by using the `TargetFrameworks` (plural) property in a project file. When you build with `dotnet build` or similar .NET CLI commands, or with Visual Studio after reloading the project, your build uses the newer type of multitargeting, in which multiple builds occur, once for each target framework listed. See [Target frameworks](/dotnet/standard/frameworks).
17
17
18
18
These are some of the features of MSBuild targeting:
19
19
20
-
- You can develop an application that targets an earlier version of the .NET Framework, for example, versions 2.0, 3.5, or 4.
21
-
22
-
- You can target a framework other than the .NET Framework, for example, the Silverlight Framework.
20
+
- You can develop an application that targets an earlier version of the .NET Framework, for example, version 3.5 SP1.
23
21
24
22
- You can target a *framework profile*, which is a predefined subset of a target framework.
25
23
@@ -29,19 +27,19 @@ By using MSBuild, you can compile an application to run on any one of several ve
29
27
30
28
## Target framework and platform
31
29
32
-
A *target framework* is the version of the .NET Framework that a project is built to run on, and a *target platform* is the system platform that the project is built to run on. For example, you might want to target a .NET Framework 2.0 application to run on a 32-bit platform that is compatible with the 80x86 processor family (x86). The combination of target framework and target platform is known as the *target context*. For more information, see [Target framework and target platform](../msbuild/msbuild-target-framework-and-target-platform.md).
30
+
A *target framework* is the version of the .NET Framework that a project is built to run on, and a *target platform* is the system platform that the project is built to run on. For example, you might want to target a .NET Framework 3.5 SP1 application to run on a 32-bit platform that is compatible with the 80x86 processor family (x86). The combination of target framework and target platform is known as the *target context*. For more information, see [Target framework and target platform](../msbuild/msbuild-target-framework-and-target-platform.md).
33
31
34
32
## Toolset (ToolsVersion)
35
33
36
-
A Toolset collects together the tools, tasks, and targets that are used to create the application. A Toolset includes compilers such as *csc.exe* and *vbc.exe*, the common targets file (*microsoft.common.targets*), and the common tasks file (*microsoft.common.tasks*). The 4.5 Toolset can be used to target .NET Framework versions 2.0, 3.0, 3.5, 4, and 4.5. However, the 2.0 Toolset can only be used to target the .NET Framework version 2.0. For more information, see [Toolset (ToolsVersion)](../msbuild/msbuild-toolset-toolsversion.md).
34
+
A Toolset collects together the tools, tasks, and targets that are used to create the application. A Toolset includes compilers such as *csc.exe* and *vbc.exe*, the common targets file (*microsoft.common.targets*), and the common tasks file (*microsoft.common.tasks*). For more information, see [Toolset (ToolsVersion)](../msbuild/msbuild-toolset-toolsversion.md).
37
35
38
36
## Reference assemblies
39
37
40
38
The reference assemblies that are specified in the Toolset help you design and build an application. These reference assemblies not only enable a particular target build, but also restrict components and features in the Visual Studio IDE to those that are compatible with the target. For more information, see [Resolve assemblies at design time](../msbuild/resolving-assemblies-at-design-time.md).
41
39
42
40
## Configure targets and tasks
43
41
44
-
You can configure MSBuild targets and tasks to run out-of-process with MSBuild so that you can target contexts that are considerably different than the one you are running on. For example, you can target a 32-bit, .NET Framework 2.0 application while the development computer is running on a 64-bit platform with .NET Framework 4.5. For more information, see [Configure targets and tasks](../msbuild/configure-tasks.md).
42
+
You can configure MSBuild targets and tasks to run out-of-process with MSBuild so that you can target contexts that are considerably different than the one you are running on. For example, you can target a 32-bit, .NET Framework 3.5 SP1 application while the development computer is running on a 64-bit platform with .NET Framework 4.7.2. For more information, see [Configure targets and tasks](../msbuild/configure-tasks.md).
Copy file name to clipboardExpand all lines: docs/msbuild/msbuild-target-framework-and-target-platform.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ A project can be built to run on a *target framework*, which is a particular ver
19
19
20
20
A target framework is the particular version of the .NET Framework that your project is built to run on. Specification of a target framework is required because it enables compiler features and assembly references that are exclusive to that version of the framework.
21
21
22
-
Currently, the following versions of the .NET Framework are available for use:
22
+
Currently, the following versions of the .NET Framework are available for use, although some are no longer supported by Microsoft, and some have planned future dates beyond which they will no longer be supported. For the latest support information, see [.NET Framework](/lifecycle/products/microsoft-net-framework):
23
23
24
24
- The .NET Framework 2.0 (included in Visual Studio 2005)
0 commit comments