Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tom-englert/VSIX-SdkProjectAdapter

Extends Microsoft.VSSDK.BuildTools so you can use SDK style projects for your Visual Studio Extension.
https://github.com/tom-englert/VSIX-SdkProjectAdapter

Last synced: about 2 months ago
JSON representation

Extends Microsoft.VSSDK.BuildTools so you can use SDK style projects for your Visual Studio Extension.

Awesome Lists containing this project

README

        

# VSIX-SdkProjectAdapter
[![Build Status](https://dev.azure.com/tom-englert/Open%20Source/_apis/build/status/VSIX-SdkProjectAdapter?repoName=tom-englert%2FVSIX-SdkProjectAdapter&branchName=master)](https://dev.azure.com/tom-englert/Open%20Source/_build/latest?definitionId=40&repoName=tom-englert%2FVSIX-SdkProjectAdapter&branchName=master)
[![NuGet Status](http://img.shields.io/nuget/v/VSIX-SdkProjectAdapter.svg?style=flat)](https://www.nuget.org/packages/VSIX-SdkProjectAdapter/)

Extends [Microsoft.VSSDK.BuildTools](https://www.nuget.org/packages/Microsoft.VSSDK.BuildTools/) so you can use SDK style projects for your Visual Studio Extension.

---
### Preparation
- Ensure your VSIX project uses the latest tools: [Writing Visual Studio Extensions with Mads - Upgrading an old extension](https://www.youtube.com/watch?v=apPIuJCZhUk)
- Migrate your VSIX project to the SDK style project format. (e.g. using [Project Migration Helper](https://marketplace.visualstudio.com/items?itemName=TomEnglert.ProjectMigrationHelper)).
In this state your project will build the binaries, but does not generate the `.vsix` container.

### Usage
- Add a PackageReference to [VSIX-SdkProjectAdapter](https://github.com/tom-englert/VSIX-SdkProjectAdapter.git)
- **Remove** the import to `Microsoft.VsSDK.targets` from your project:
```xml

```
---

### Features
- These properties are set by default, so you don't have to include them in your project:
```xml

true
Menus.ctmenu

```
- The `VSPackage` resources and corresponding `.vsct` files are automatically included, so you don't have to include them in your project:
```xml


Designer



true
VSPackage



true
%(FileName).resources
VSPackage.resx

<_VSCTLocalizedFiles Include="*.*.vsct" />
<_VSCTNeutralFile Include="*.vsct" Exclude="@(_VSCTLocalizedFiles)"/>



$(VSCTResourceName)
Designer



$(VSCTResourceName)
Designer
@(_VSCTNeutralFile)

```
- Provides a build target to set the version in your `source.extension.manifest` file; just use ` Version="|%CurrentProject%;GetVsixVersion|"` in your manifest file.

Turn of the target by setting the property `` to `true`:
```xml


$(Version)


```
- Disable all features at once by setting the property `` to `true`