Skip to content

Commit 970823a

Browse files
Merge pull request #10415 from MicrosoftDocs/main638628230369395994sync_temp
For protected branch, push strategy should use PR and merge to target branch method to work around git push error
2 parents eac940a + f78b564 commit 970823a

File tree

7 files changed

+57
-24
lines changed

7 files changed

+57
-24
lines changed

.github/workflows/clean-repo.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939

4040
# Create the PR for the work done by the "clean repo" tool
4141
- name: create-pull-request
42-
uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79
42+
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f
4343
with:
4444
branch: create-cleanrepo-pull-request/patch
4545
title: "Monthly chores: Automated repo cleanup"

.github/workflows/whats-new.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
savefile: './docs/ide/whats-new-visual-studio-docs.md'
4242

4343
- name: create-pull-request
44-
uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79
44+
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f
4545
with:
4646
branch: create-whatsnew-pull-request/patch
4747
title: "What's new article"

docker/tutorials/tutorial-multi-container-app-mysql.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ In this example, you create the network and attach the MySQL container at startu
9595

9696
This command also defines the `MYSQL_ROOT_PASSWORD` and `MYSQL_DATABASE` environment variables. For more information, see [MySQL Docker Hub listing](https://hub.docker.com/_/mysql/).
9797

98+
> [!WARNING]
99+
> This tutorial illustrates password credentials to authenticate with a MySQL database, which is not the most secure method. Refer to the [MySQL documentation](https://dev.mysql.com/doc/) to learn about more secure methods of authentication.
100+
98101
1. Get your container ID for use in the next step.
99102

100103
```bash

docs/data-tools/create-a-simple-data-application-by-using-adonet.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ You can find the connection string by right-clicking on the **Sales** data conne
137137

138138
:::image type="content" source="media/vs-2022/simple-data-app-settings.png" alt-text="Screenshot of Connection String in Settings.settings" lightbox="media/vs-2022/simple-data-app-settings.png":::
139139

140-
> [!NOTE]
141-
> In a real application, you should store the connection string securely, as described in [Connection strings and configuration files](/dotnet/framework/data/adonet/connection-strings-and-configuration-files).
140+
> [!CAUTION]
141+
> In a real application, you should store the connection string securely, as described in [Connection strings and configuration files](/dotnet/framework/data/adonet/connection-strings-and-configuration-files). For best security, use an authentication method that doesn't rely on storing a password in the connection string, such as Windows Authentication for an on-premises SQL Server database. See [Save and edit connection strings](how-to-save-and-edit-connection-strings.md).
142142
143143
## Write the code for the forms
144144

docs/data-tools/create-a-sql-database-by-using-a-designer.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ To complete this walkthrough, you need the **.NET desktop development** and **Da
6868

6969
1. On the **Choose your Database Objects** page, you see a message that says the database doesn't contain any objects. Choose **Finish**.
7070

71+
> [!CAUTION]
72+
> In a real application, you should store the connection string securely, as described in [Connection strings and configuration files](/dotnet/framework/data/adonet/connection-strings-and-configuration-files). For best security, use an authentication method that doesn't rely on storing a password in the connection string, such as Windows Authentication for an on-premises SQL Server database. See [Save and edit connection strings](how-to-save-and-edit-connection-strings.md).
73+
7174
### View properties of the data connection
7275

7376
You can view some of the properties of the *SampleDatabase.mdf* file by opening the **Properties** window of the data connection:

docs/deployment/includes/create-publish-settings-iis.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
publishUrl="https://myhostname:8172/msdeploy.axd"
2121
msdeploySite="Default Web Site"
2222
destinationAppUrl="http://myhostname:80/"
23-
mySQLDBConnectionString=""
24-
SQLServerDBConnectionString=""
2523
profileName="Default Settings"
2624
publishMethod="MSDeploy"
2725
userName="myhostname\myusername" />

docs/extensibility/visualstudio.extensibility/get-started/in-proc-extensions.md

Lines changed: 47 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ While the VisualStudio.Extensibility model was created primarily to host extensi
4141

4242
### Debug your extension
4343

44-
* Set the *Container* project as *Startup Project*, press `F5` to start debugging.
45-
46-
* Pressing `F5` builds your extension and deploys it to the experimental instance of Visual Studio version you're using. The debugger should attach once your extension is loaded.
44+
* Press `F5` to start debugging, this builds your extension and deploys it to the experimental instance of Visual Studio version you're using. The debugger should attach once your extension is loaded.
4745

4846
* You can find the command in `Extensions` menu as shown in the following image:
4947

@@ -87,22 +85,19 @@ The following example shows how the `DTE2` and `IBufferTagAggregatorFactoryServi
8785

8886
## Anatomy of a VSSDK-compatible VisualStudio.Extensibility extension
8987

90-
While using the *VisualStudio.Extensibility Extension with VS SDK Compatibility* template takes care of setting up the entire solution, it's useful to know what are the basic components of a VS-SDK-compatible VisualStudio.Extensibility extension and how it differs from the common variant described in the ["create your first extension" guide](create-your-first-extension.md).
91-
92-
### Container project
93-
94-
A VS-SDK-compatible VisualStudio.Extensibility solution is composed of two projects:
88+
While using the *VisualStudio.Extensibility Extension with VS SDK Compatibility* template takes care of setting up the entire project, it's useful to know what are the basic components of a VS-SDK-compatible VisualStudio.Extensibility extension and how it differs from the common variant described in the ["create your first extension" guide](create-your-first-extension.md).
9589

96-
1. a class library that references both the VisualStudio.Extensibility and Visual Studio SDK packages and contains all the code of the extension,
97-
1. a container VSIX project that you use to deploy and debug the extension.
90+
### TargetFramework and VssdkCompatibleExtension
9891

99-
This separation is a temporary solution while the VisualStudio.Extensibility is in preview and the final packaging and deployment design is being finalized.
92+
The extension project must target the .NET version used by the target Visual Studio version. For Visual Studio 2022, they must target .NET Framework 4.7.2.
10093

101-
The extender shouldn't add code, content or resources to the container project. The only goal of the container project is to include the assets provided by the other project.
94+
The extension project must also contain the `VssdkCompatibleExtension` property set to `true`.
10295

103-
### TargetFramework
104-
105-
Both the extension project and the container project must target the .NET version used by the target Visual Studio version. For Visual Studio 2022, they must target .NET Framework 4.7.2.
96+
```xml
97+
<PropertyGroup>
98+
<VssdkCompatibleExtension>true</VssdkCompatibleExtension>
99+
</PropertyGroup>
100+
```
106101

107102
### RequiresInProcessHosting property
108103

@@ -120,6 +115,35 @@ internal class MyExtension : Extension
120115
...
121116
```
122117

118+
### Package manifest
119+
120+
The extension project must include a [package manifest](/visualstudio/extensibility/vsix-extension-schema-2-0-reference) named `source.extension.vsixmanifest`. The `Installation` tag must have `ExtensionType` set to `VSSDK+VisualStudio.Extensibility`.
121+
122+
```xml
123+
<?xml version="1.0" encoding="utf-8"?>
124+
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
125+
<Metadata>
126+
<Identity Id="MyExtensionId.f14b8c45-154f-4584-abd7-9ec22af003e2" Version="1.0" Language="en-US" Publisher="Microsoft" />
127+
<DisplayName>My extension</DisplayName>
128+
<Description xml:space="preserve">My extension's description.</Description>
129+
</Metadata>
130+
<Installation ExtensionType="VSSDK+VisualStudio.Extensibility">
131+
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.9,18.0)">
132+
<ProductArchitecture>amd64</ProductArchitecture>
133+
</InstallationTarget>
134+
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.9,18.0)">
135+
<ProductArchitecture>arm64</ProductArchitecture>
136+
</InstallationTarget>
137+
</Installation>
138+
<Prerequisites>
139+
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[17.0,)" DisplayName="Visual Studio core editor" />
140+
</Prerequisites>
141+
<Assets>
142+
<Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%;PkgdefProjectOutputGroup|" />
143+
</Assets>
144+
</PackageManifest>
145+
```
146+
123147
## Use VisualStudio.Extensibility from existing VSSDK extensions
124148

125149
For existing VSSDK extensions, another option is to query for the [VisualStudioExtensibility](/dotnet/api/microsoft.visualstudio.extensibility.visualstudioextensibility) instance via service provider and utilize its methods. This method allows you to use new the API surface area of VisualStudio.Extensibility SDK in your existing components. This option can be useful in situations where you like to use the new API to query project information, document management without creating a new VisualStudio.Extensibility-based extension.
@@ -130,7 +154,7 @@ Here's an example code snippet that shows how one can utilize `VisualStudioExten
130154

131155
```XML
132156
<ItemGroup>
133-
<PackageReference Include="Microsoft.VisualStudio.Extensibility" Version="17.9.23-preview-1" />
157+
<PackageReference Include="Microsoft.VisualStudio.Extensibility" Version="17.9.2092" />
134158
</ItemGroup>
135159
```
136160

@@ -161,8 +185,8 @@ If you also want to contribute components like tool windows, editor listeners us
161185
* Remove package reference for `Microsoft.VSSDK.BuildTools` and instead add package references for VisualStudio.Extensibility.
162186

163187
```XML
164-
<PackageReference Include="Microsoft.VisualStudio.Extensibility.Sdk" Version="17.9.23-preview-1" />
165-
<PackageReference Include="Microsoft.VisualStudio.Extensibility.Build" Version="17.9.23-preview-1" />
188+
<PackageReference Include="Microsoft.VisualStudio.Extensibility.Sdk" Version="17.9.2092" />
189+
<PackageReference Include="Microsoft.VisualStudio.Extensibility.Build" Version="17.9.2092" />
166190
```
167191

168192
* Add `VssdkCompatibleExtension` property to your project file, setting it to `true`. This property will enable some VSSDK features for compatibility.
@@ -174,5 +198,10 @@ If you also want to contribute components like tool windows, editor listeners us
174198
```
175199

176200
* Create a new extension class inheriting from [`Extension`](/dotnet/api/microsoft.visualstudio.extensibility.extension) base class and set [RequiresInProcessHosting](#requiresinprocesshosting-property) property as shown previously.
201+
* Modify the `source.extension.vsixmanifest` file adding `ExtensionType="VSSDK+VisualStudio.Extensibility"` to the `Installation` tag.
202+
203+
```xml
204+
<Installation ExtensionType="VSSDK+VisualStudio.Extensibility">
205+
```
177206

178207
You can now use all capabilities of VisualStudio.Extensibility together with your existing VSSDK extension.

0 commit comments

Comments
 (0)