Skip to content

Commit d7de33b

Browse files
authored
Merge pull request #6860 from MicrosoftDocs/master637619007285838537
For protected CLA branch, push strategy should use PR and merge to target branch method to work around git push error
2 parents deb19f7 + d707597 commit d7de33b

7 files changed

+61
-68
lines changed

.openpublishing.publish.config.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
"locale": "en-us",
2323
"monikers": [],
2424
"moniker_ranges": [
25-
"vs-2015",
2625
">= vs-2017"
2726
],
2827
"xref_query_tags": [

docs/cross-platform/cross-platform-mobile-development-in-visual-studio.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@ With Visual Studio Tools for Xamarin, you can target Android, iOS, and Windows i
155155
|**Learn more**|
156156
|--------------------|
157157
|[Learn more about building Unity games with Visual Studio](https://visualstudio.microsoft.com/vs/features/game-development/#tab-4b0d0be8de5f65564ad)|
158-
|[Read more about Visual Studio Tools for Unity](/gamedev/unity/get-started/visual-studio-tools-for-unity.md) |
159-
|[Start using Visual Studio Tools for Unity](/gamedev/unity/get-started/getting-started-with-visual-studio-tools-for-unity.md) |
158+
|[Read more about Visual Studio Tools for Unity](/visualstudio/gamedev/unity/get-started/visual-studio-tools-for-unity) |
159+
|[Start using Visual Studio Tools for Unity](/visualstudio/gamedev/unity/get-started/getting-started-with-visual-studio-tools-for-unity) |
160160
|[Read about the latest enhancements to the Visual Studio Tools for Unity 2.0 Preview](https://devblogs.microsoft.com/visualstudio/visual-studio-tools-for-unity-2-0-preview/) (Visual Studio blog)|
161161
|[Watch a video introduction to the Visual Studio Tools for Unity 2.0 Preview](https://www.bing.com/videos/search?q=visual+studio+tools+for+unity&qs=n&form=QBVLPG&pq=visual+studio+tools+for+unity&sc=6-29&sp=-1&sk=#view=detail&mid=0A13177F0BC7463A24080A13177F0BC7463A2408&preserve-view=true) (Video)|
162162
|[Learn about Unity](https://unity.com/) (Unity website)|

docs/debugger/create-custom-visualizers-of-data.md

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,36 @@ To create the visualizer user interface on the debugger side, you create a class
6767

6868
1. Override the <xref:Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer.Show%2A?displayProperty=fullName> method to display your interface. Use <xref:Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService> methods to display Windows forms, dialogs, and controls in your interface.
6969

70-
4. Apply <xref:System.Diagnostics.DebuggerVisualizerAttribute>, giving it the visualizer to display (<xref:Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer>).
70+
1. Apply <xref:System.Diagnostics.DebuggerVisualizerAttribute>, giving it the visualizer to display (<xref:Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer>).
71+
72+
#### Special debugger side considerations for .NET 5.0+
73+
74+
Custom Visualizers transfer data between the *debuggee* and *debugger* sides through binary serialization using
75+
the <xref:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter> class by default. However, that kind of
76+
serialization is being curtailed in .NET 5 and above due to security concerns regarding its *unfixible* vulnerabilities.
77+
Moreover, it has been marked completely obsolete in ASP.NET Core 5 and its usage will throw as described in the
78+
[ASP.NET Core Documentation](/dotnet/core/compatibility/core-libraries/5.0/binaryformatter-serialization-obsolete).
79+
Hence, this section describes the necessary steps that should be taken so that your visualizer is still supported in
80+
this scenario.
81+
82+
- For compatibility reasons, the <xref:Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer.Show%2A> method
83+
that was overridden in the preceding section still takes in an <xref:Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider>. Nonetheless, it is actually of type <xref:Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2>.
84+
Therefore, cast the `objectProvider` object to the updated interface.
85+
86+
- When sending objects, like commands or data, to the *debuggee-side* use the `IVisualizerObjectProvider2.Serialize` method
87+
to pass it to a stream, it will determine the best serialization format to use based on the runtime of the *debuggee* process.
88+
Then, pass the stream to the `IVisualizerObjectProvider2.TransferData` method.
89+
90+
- If the *debuggee-side* visualizer component needs to return anything to the *debugger-side*, it will be located in the
91+
<xref:System.IO.Stream> object returned by the <xref:Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider.TransferData%2A>
92+
method. Use the `IVisualizerObjectProvider2.GetDeserializableObjectFrom` method to get an
93+
<xref:Microsoft.VisualStudio.DebuggerVisualizers.IDeserializableObject> instance from it and process it as required.
94+
95+
Please refer to the [Special debuggee side considerations for .NET 5.0+](#special-debuggee-side-considerations-for-net-50)
96+
section to learn what other changes are required on the *debuggee-side* when using Binary Serialization is not supported.
97+
98+
> [!NOTE]
99+
> If you would like more information on the issue, see the [BinaryFormatter security guide](/dotnet/standard/serialization/binaryformatter-security-guide).
71100
72101
### To create the visualizer object source for the debuggee side
73102

@@ -89,11 +118,25 @@ In the debuggee-side code:
89118

90119
These are the only supported TFMs.
91120

121+
#### Special debuggee side considerations for .NET 5.0+
122+
123+
> [!IMPORTANT]
124+
> Additional steps might be needed for a visualizer to work in .NET 5.0 and above due to security concerns regarding the underlying binary
125+
serialization method used by default. Please read this [section](#special-debugger-side-considerations-for-net-50) before continuing.
126+
127+
- If the visualizer implements the <xref:Microsoft.VisualStudio.DebuggerVisualizers.VisualizerObjectSource.TransferData%2A> method,
128+
use the newly added <xref:Microsoft.VisualStudio.DebuggerVisualizers.VisualizerObjectSource.GetDeserializableObject%2A> method that
129+
is available in the latest version of `VisualizerObjectSource`. The <xref:Microsoft.VisualStudio.DebuggerVisualizers.IDeserializableObject>
130+
it returns helps to determine the object's serialization format (binary or JSON) and to deserialize the underlying object so that it may be used.
131+
132+
- If the *debuggee-side* returns data to the *debugger-side* as part of the `TransferData` call, serialize the response to the
133+
*debugger-side's* stream via the <xref:Microsoft.VisualStudio.DebuggerVisualizers.VisualizerObjectSource.Serialize%2A> method.
134+
92135
## See also
93136

94137
- [Walkthrough: Write a visualizer in C#](../debugger/walkthrough-writing-a-visualizer-in-csharp.md)
95138
- [Walkthrough: Write a visualizer in Visual Basic](../debugger/walkthrough-writing-a-visualizer-in-visual-basic.md)
96139
- [How to: Install a visualizer](../debugger/how-to-install-a-visualizer.md)
97140
- [How to: Test and debug a visualizer](../debugger/how-to-test-and-debug-a-visualizer.md)
98141
- [Visualizer API reference](../debugger/visualizer-api-reference.md)
99-
- [View data in the debugger](../debugger/viewing-data-in-the-debugger.md)
142+
- [View data in the debugger](../debugger/viewing-data-in-the-debugger.md)

docs/docfx.json

Lines changed: 6 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,8 @@
1111
"vsdocsdocs/**",
1212
"**/includes/**"
1313
],
14-
"src": "./vs-2015",
15-
"group": "vs-2015"
16-
},
17-
{
18-
"files": [
19-
"**/*.md",
20-
"**/*.yml"
21-
],
22-
"exclude": [
23-
"**/obj/**",
24-
"vsdocsdocs/**",
25-
"**/includes/**",
26-
"vs-2015/**"
27-
],
2814
"src": "./",
29-
"group": "vs-2017-2019"
15+
"group": "vs"
3016
}
3117
],
3218
"resource": [
@@ -42,24 +28,8 @@
4228
"vsdocsdocs/**",
4329
"**/includes/**"
4430
],
45-
"src": "./vs-2015",
46-
"group": "vs-2015"
47-
},
48-
{
49-
"files": [
50-
"**/*.png",
51-
"**/*.jpg",
52-
"**/*.gif",
53-
"**/*.svg"
54-
],
55-
"exclude": [
56-
"**/obj/**",
57-
"vsdocsdocs/**",
58-
"**/includes/**",
59-
"vs-2015/**"
60-
],
6131
"src": "./",
62-
"group": "vs-2017-2019"
32+
"group": "vs"
6333
}
6434
],
6535
"overwrite": [],
@@ -88,12 +58,8 @@
8858
"recommendations": true
8959
},
9060
"fileMetadata": {
91-
"open_to_public_contributors": {
92-
"vs-2015/**/**.md": false
93-
},
9461
"ms.prod": {
95-
"rtvs/**/**.md": "visual-studio-dev15",
96-
"vs-2015/**/**.md": "visual-studio-dev14"
62+
"rtvs/**/**.md": "visual-studio-dev15"
9763
},
9864
"monikerRange": {
9965
"rtvs/**/**.md": "vs-2017"
@@ -124,27 +90,14 @@
12490
"xml-tools/**/**.md": "vs-xml-tools"
12591
},
12692
"titleSuffix": {
127-
"ai/**/**.md": "AI tools for Visual Studio",
128-
"vs-2015/**/**.md": "Visual Studio 2015"
129-
},
130-
"breadcrumb_path": {
131-
"vs-2015/**/*.md": "/visualstudio/_breadcrumb/vs-2015/toc.json"
93+
"ai/**/**.md": "AI tools for Visual Studio"
13294
},
13395
"feedback_system": {
134-
"vs-2015/**/*": "None",
13596
"extensibility/**/*": "None"
13697
},
13798
"searchScope": {
13899
"extensibility/**/*.md": [
139100
"VS Extensibility"
140-
],
141-
"vs-2015/extensibility/**/*.md": [
142-
"VS Extensibility"
143-
]
144-
},
145-
"exclude_monikers": {
146-
"vs-2015/**/*.md": [
147-
"vs-2015"
148101
]
149102
}
150103
},
@@ -153,12 +106,8 @@
153106
"markdownEngineName": "markdig",
154107
"xref": [],
155108
"groups": {
156-
"vs-2015": {
157-
"dest": "vs-2015-dest",
158-
"moniker_range": "vs-2015"
159-
},
160-
"vs-2017-2019": {
161-
"dest": "vs-2017-2019-dest",
109+
"vs": {
110+
"dest": "vs-dest",
162111
"moniker_range": ">= vs-2017"
163112
}
164113
}

docs/ide/creating-solutions-and-projects.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: "Create & use Visual Studio projects & solutions"
3-
description: Learn about the difference between solutions and projects and how to use them in Visual Studio.
2+
title: "Create projects & solutions"
3+
description: Learn how to create and use Visual Studio solutions and projects to store artifacts.
44
ms.custom: "SEO-VS-2020, contperf-fy21q2"
55
ms.date: 06/14/2021
66
ms.topic: how-to
@@ -20,7 +20,7 @@ ms.workload:
2020

2121
In this article, you'll learn how to create and use Visual Studio projects from scratch to store the artifacts you need to build your apps. If you aren't familiar with projects in Visual Studio, see this overview of [Projects and Solutions](solutions-and-projects-in-visual-studio.md). To learn how to quickly create a project from a template, see [Create a project from a template](create-new-project.md).
2222

23-
*Projects* hold the items needed to build your app in Visual Studio, such as source code files, bitmaps, icons, and component and service references. When you create a new project, Visual Studio creates a *solution* to contain the project. You can then add other new or existing projects to the solution if you want. Solutions can also contain files that aren't connected to any specific project.
23+
*Projects* hold the items needed to build your app in Visual Studio, such as source code files, bitmaps, icons, and component and service references. When you create a new project, Visual Studio creates a *solution* to contain the project. You can then add other new or existing projects to the solution if you want. You can also create [blank or empty solutions](#create-empty-solutions). Solutions can also contain files that aren't connected to any specific project.
2424

2525
![Diagram showing the solution and project hierarchy.](./media/vside-proj-soln.png)
2626

docs/ide/not-in-toc/default.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,7 @@ We're sorry! It looks like we couldn't find what you were looking for.
4747

4848
## Help us serve you better
4949

50-
Tell us where you were in the product and what help you needed.
51-
<br/>Use the `This Page` feedback button at the bottom of this page.
50+
We'd love to get your feedback on how to provide the help you need.
51+
52+
> [!div class="nextstepaction"]
53+
> [Share your feedback (5 minute survey)](https://www.surveymonkey.com/r/F1_Help_Visual_Studio)

docs/install/visual-studio-build-numbers-and-release-dates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: A list of released versions and build numbers for Visual Studio, so
55
author: TerryGLee
66
ms.author: tglee
77
manager: jmartens
8-
ms.date: 07/13/2021
8+
ms.date: 07/14/2021
99
ms.topic: reference
1010
ms.workload:
1111
- multiple

0 commit comments

Comments
 (0)