Skip to content

Commit

Permalink
Switch to Arcade targets for building VSIXes (dotnet#29590)
Browse files Browse the repository at this point in the history
* Rename target GetBuildVersion to GetVsixVersion

* Targets refactoring to align with Arcade SDK

* Remove unused property

* Use Arcade VSIX build targets

* Upload Willow VSIXes directly from VSSetup directory

* Add setup packages to Roslyn.sln

* Remove swr validation from BuildBoss

* Avoid copying CoreXT packages

* Don't delete DevDivPackages\Roslyn dir

* Upload vsixes even when the build fails

* Clean up VSIX project files

* Install VSIXes in specified order

* Do not set TargetFrameworkVersion.

* Fix parameter

* DevDivInsertion better error message

* Remove 'win' from target string

* Fix dir name

* Install Setup.Dependencies

* Default values for insertion components

* Make BuildBoss happy

* Fix VSIX path

* NGEN binaries that should have been NGEN'd

* RoboCopy returns non-zero exit code on success

* Pass OfficialBuild property to vsmanproj
  • Loading branch information
tmat authored Sep 12, 2018
1 parent 761b82e commit 515ff80
Show file tree
Hide file tree
Showing 64 changed files with 969 additions and 851 deletions.
16 changes: 14 additions & 2 deletions .vsts-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ steps:
logProjectEvents: false

- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\Binaries\$(BuildConfiguration)\Logs'
ArtifactName: 'Build Diagnostic Files'
Expand All @@ -73,6 +74,7 @@ steps:
condition: succeededOrFailed()

- task: PublishTestResults@1
displayName: Publish Test Results
inputs:
testRunner: XUnit
testResultsFiles: '**/xUnitResults/*.xml'
Expand All @@ -83,7 +85,7 @@ steps:
- task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
displayName: Upload VSTS Drop
inputs:
DropFolder: 'Binaries\$(BuildConfiguration)\Insertion'
DropFolder: 'Binaries\VSSetup\$(BuildConfiguration)\Insertion'
condition: and(succeeded(), contains(variables['PB_PublishType'], 'vsts'))

- task: NuGetCommand@2
Expand All @@ -96,8 +98,10 @@ steps:
allowPackageConflicts: true
condition: and(succeeded(), contains(variables['PB_PublishType'], 'vsts'))

# Publish VSTS artifact that the RoslynInsertionTool is able to find by its name.
# The backing storage of the artifact is a file share.
- task: PublishBuildArtifacts@1
displayName: Publish Drop (parallel)
displayName: Publish Drop - Binaries
inputs:
PathtoPublish: 'Binaries\$(BuildConfiguration)'
ArtifactName: '$(Build.BuildNumber)'
Expand All @@ -107,6 +111,14 @@ steps:
ParallelCount: 64
condition: succeededOrFailed()

# Copy additional files to the drop directory
- task: PowerShell@2
displayName: Publish Drop - VSSetup
inputs:
arguments: '-Source Binaries\VSSetup\$(BuildConfiguration)\Insertion -Target $(DropRoot)\Roslyn-Signed\$(Build.SourceBranchName)\$(BuildConfiguration)\$(Build.BuildNumber)\Insertion -ParallelCount 8'
filePath: 'build\scripts\vsts-robocopy.ps1'
condition: succeededOrFailed()

- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
displayName: Perform Cleanup Tasks
condition: succeededOrFailed()
Expand Down
2 changes: 1 addition & 1 deletion Build.cmd
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
@echo off
powershell -noprofile -executionPolicy RemoteSigned -file "%~dp0\build\scripts\build.ps1" -build -skipBuildExtras %*
powershell -noprofile -executionPolicy RemoteSigned -file "%~dp0\build\scripts\build.ps1" -build %*
14 changes: 14 additions & 0 deletions Roslyn.sln
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VS.Tools.Roslyn.Package", "
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Package", "src\NuGet\Microsoft.CodeAnalysis.Package.csproj", "{B9843F65-262E-4F40-A0BC-2CBEF7563A44}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PortableFacades.Setup", "src\Setup\DevDivVsix\PortableFacades\PortableFacades.Setup.csproj", "{952808C5-799A-4CAA-964C-2AA78458CEC7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Compilers.Setup", "src\Setup\DevDivVsix\CompilersPackage\Microsoft.CodeAnalysis.Compilers.Setup.csproj", "{03607817-6800-40B6-BEAA-D6F437CD62B7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
src\Compilers\VisualBasic\BasicAnalyzerDriver\BasicAnalyzerDriver.projitems*{2523d0e6-df32-4a3e-8ae0-a19bffae2ef6}*SharedItemsImports = 4
Expand Down Expand Up @@ -1038,6 +1042,14 @@ Global
{B9843F65-262E-4F40-A0BC-2CBEF7563A44}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9843F65-262E-4F40-A0BC-2CBEF7563A44}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9843F65-262E-4F40-A0BC-2CBEF7563A44}.Release|Any CPU.Build.0 = Release|Any CPU
{952808C5-799A-4CAA-964C-2AA78458CEC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{952808C5-799A-4CAA-964C-2AA78458CEC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{952808C5-799A-4CAA-964C-2AA78458CEC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{952808C5-799A-4CAA-964C-2AA78458CEC7}.Release|Any CPU.Build.0 = Release|Any CPU
{03607817-6800-40B6-BEAA-D6F437CD62B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{03607817-6800-40B6-BEAA-D6F437CD62B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{03607817-6800-40B6-BEAA-D6F437CD62B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{03607817-6800-40B6-BEAA-D6F437CD62B7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -1223,6 +1235,8 @@ Global
{0EB22BD1-B8B1-417D-8276-F475C2E190FF} = {BE25E872-1667-4649-9D19-96B83E75A44E}
{3636D3E2-E3EF-4815-B020-819F382204CD} = {BE25E872-1667-4649-9D19-96B83E75A44E}
{B9843F65-262E-4F40-A0BC-2CBEF7563A44} = {C52D8057-43AF-40E6-A01B-6CDBB7301985}
{952808C5-799A-4CAA-964C-2AA78458CEC7} = {BE25E872-1667-4649-9D19-96B83E75A44E}
{03607817-6800-40B6-BEAA-D6F437CD62B7} = {BE25E872-1667-4649-9D19-96B83E75A44E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {604E6B91-7BC0-4126-AE07-D4D2FEFC3D29}
Expand Down
12 changes: 0 additions & 12 deletions build/Targets/DisableVsixManifestTargets.targets

This file was deleted.

2 changes: 1 addition & 1 deletion build/Targets/Imports.targets
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<GenerateRuntimeConfigurationFiles Condition="'$(TargetFramework)' != 'netcoreapp1.1' AND '$(TargetFramework)' != 'netcoreapp2.0'">false</GenerateRuntimeConfigurationFiles>

<!-- Place VS insertion (CoreXT) packages to a separate directory -->
<PackageOutputPath Condition="'$(IsVisualStudioInsertionPackage)' == 'true'">$(ArtifactsPackagesDir)VS\</PackageOutputPath>
<PackageOutputPath Condition="'$(IsVisualStudioInsertionPackage)' == 'true'">$(ArtifactsConfigurationDir)DevDivPackages\Roslyn\</PackageOutputPath>
</PropertyGroup>

<ItemGroup Condition="'$(Language)' == 'CSharp' and '$(TargetNetFX20)' == 'true'">
Expand Down
5 changes: 5 additions & 0 deletions build/Targets/Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@
<RoslynDiagnosticsAnalyzersVersion>$(RoslynDiagnosticsNugetPackageVersion)</RoslynDiagnosticsAnalyzersVersion>
<RoslynToolsMicrosoftLocateVSVersion>0.2.4-beta</RoslynToolsMicrosoftLocateVSVersion>
<RoslynToolsVSIXExpInstallerVersion>1.0.0-beta2-63222-01</RoslynToolsVSIXExpInstallerVersion>
<RoslynToolsModifyVsixManifestVersion>1.0.0-beta2-63222-01</RoslynToolsModifyVsixManifestVersion>
<RoslynToolsMSBuildVersion>0.5.0-alpha</RoslynToolsMSBuildVersion>
<RoslynToolsNuGetRepackVersion>1.0.0-beta2-63223-01</RoslynToolsNuGetRepackVersion>
<RoslynToolsReferenceAssembliesVersion>0.1.3</RoslynToolsReferenceAssembliesVersion>
Expand All @@ -184,6 +185,7 @@
<SystemDynamicRuntimeVersion>4.3.0</SystemDynamicRuntimeVersion>
<SystemDrawingCommonVersion>4.5.0</SystemDrawingCommonVersion>
<SystemGlobalizationVersion>4.3.0</SystemGlobalizationVersion>
<SystemGlobalizationCalendarsVersion>4.3.0</SystemGlobalizationCalendarsVersion>
<SystemIdentityModelTokensJwtVersion>5.0.0</SystemIdentityModelTokensJwtVersion>
<SystemIOVersion>4.3.0</SystemIOVersion>
<SystemIOCompressionVersion>4.3.0</SystemIOCompressionVersion>
Expand Down Expand Up @@ -218,6 +220,7 @@
<SystemRuntimeSerializationJsonVersion>4.3.0</SystemRuntimeSerializationJsonVersion>
<SystemRuntimeSerializationPrimitivesVersion>4.3.0</SystemRuntimeSerializationPrimitivesVersion>
<SystemSecurityAccessControlVersion>4.3.0</SystemSecurityAccessControlVersion>
<SystemSecurityClaimsVersion>4.3.0</SystemSecurityClaimsVersion>
<SystemSecurityCryptographyAlgorithmsVersion>4.3.0</SystemSecurityCryptographyAlgorithmsVersion>
<SystemSecurityCryptographyCspVersion>4.3.0</SystemSecurityCryptographyCspVersion>
<SystemSecurityCryptographyEncodingVersion>4.3.0</SystemSecurityCryptographyEncodingVersion>
Expand All @@ -239,6 +242,7 @@
<SystemXmlXDocumentVersion>4.3.0</SystemXmlXDocumentVersion>
<SystemXmlXmlDocumentVersion>4.3.0</SystemXmlXmlDocumentVersion>
<SystemXmlXmlSerializerVersion>4.3.0</SystemXmlXmlSerializerVersion>
<SystemXmlXPathVersion>4.3.0</SystemXmlXPathVersion>
<SystemXmlXPathXDocumentVersion>4.3.0</SystemXmlXPathXDocumentVersion>
<SQLitePCLRawbundle_greenVersion>1.1.2</SQLitePCLRawbundle_greenVersion>
<UIAComWrapperVersion>1.1.0.14</UIAComWrapperVersion>
Expand Down Expand Up @@ -327,6 +331,7 @@
<UsingToolPdbConverter>true</UsingToolPdbConverter>
<UsingToolSymbolUploader>true</UsingToolSymbolUploader>
<UsingToolNuGetRepack>true</UsingToolNuGetRepack>
<UsingToolVSSDK>true</UsingToolVSSDK>
</PropertyGroup>

<PropertyGroup>
Expand Down
26 changes: 26 additions & 0 deletions build/Targets/RepoToolset/AfterSigning.proj
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
<Project>
<Import Project="BuildStep.props" />

<Target Name="Rebuild" DependsOnTargets="Clean;Build" />
<Target Name="Clean" />
<Target Name="Build" />
<Target Name="Test" />
<Target Name="Pack" />
<Target Name="IntegrationTest" />
<Target Name="PerformanceTest" />

<!--
Since multiple projects may contribute to a single insertion component
we need to package them in a separate phase.
Insertion manifests (vsman files) contain hashes of the referenced VSIXes.
These need to be calculated using signed VSIXes.
Hence we need to run this task after signing.
-->
<Import Project="VisualStudio.InsertionManifests.targets" Condition="'$(UsingToolVSSDK)' == 'true'" />

<!-- Repository extension point -->
<Import Project="$(RepositoryEngineeringDir)AfterSigning.targets" Condition="Exists('$(RepositoryEngineeringDir)AfterSigning.targets')"/>

</Project>
1 change: 1 addition & 0 deletions build/Targets/RepoToolset/Imports.targets
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
<Import Project="Version.targets"/>

<Import Project="Localization.targets" />
<Import Project="VisualStudio.targets" Condition="'$(UsingToolVSSDK)' == 'true' and '$(DesignTimeBuild)' != 'true' and '$(BuildingForLiveUnitTesting)' != 'true' and '$(MSBuildRuntimeType)' != 'Core'"/>
<Import Project="OptimizationData.targets"/>
<Import Project="SymStore.targets"/>

Expand Down
4 changes: 3 additions & 1 deletion build/Targets/RepoToolset/RepoLayout.props
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
<ArtifactsPackagesDir>$(ArtifactsConfigurationDir)NuGet\</ArtifactsPackagesDir>
<ArtifactsShippingPackagesDir>$(ArtifactsPackagesDir)Shipping\</ArtifactsShippingPackagesDir>
<ArtifactsNonShippingPackagesDir>$(ArtifactsPackagesDir)NonShipping\</ArtifactsNonShippingPackagesDir>
<VisualStudioSetupOutputPath>$(ArtifactsConfigurationDir)Vsix\</VisualStudioSetupOutputPath>
<VisualStudioSetupOutputPath>$(ArtifactsDir)VSSetup\$(Configuration)\</VisualStudioSetupOutputPath>
<VisualStudioSetupInsertionPath>$(VisualStudioSetupOutputPath)Insertion\</VisualStudioSetupInsertionPath>
<VisualStudioSetupIntermediateOutputPath>$(ArtifactsDir)VSSetup.obj\$(Configuration)\</VisualStudioSetupIntermediateOutputPath>
</PropertyGroup>
</Project>
18 changes: 18 additions & 0 deletions build/Targets/RepoToolset/VisualStudio.DesignTimeBuild.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
<Project>

<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<!-- The VSSDK immplements these targets. Since their name ends with OutputGroup,
these targets get run during design time builds per convention. If the Project
is not a VSIX project and sets $CreateVSIXContainer=false these targets should be
a no-op. However they dont check for that and that's a bug. To workaround, we override them
with empty targets and conditionally import these if CreateVSIXContainer is false.
Tracked by https://devdiv.visualstudio.com/DevDiv/_workitems?id=365685&fullScreen=false&_a=edit -->
<Target Name="VSIXIdentifierProjectOutputGroup" />
<Target Name="VSIXNameProjectOutputGroup" />

</Project>
11 changes: 11 additions & 0 deletions build/Targets/RepoToolset/VisualStudio.ImportSdk.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
<Project>

<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<Import Project="$(VSToolsPath)\vssdk\Microsoft.VsSDK.targets"/>

</Project>
39 changes: 39 additions & 0 deletions build/Targets/RepoToolset/VisualStudio.InsertionManifests.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<ItemGroup>
<_StubFiles Include="$(VisualStudioSetupIntermediateOutputPath)**\*.stub"/>
<_StubDirs Include="@(_StubFiles->'%(RecursiveDir)')"/>
</ItemGroup>

<!---
This target is invoked in a separate phase after all input VSIX files are signed.
This is important since the manifest contain hashes of the VSIX files.
-->
<Target Name="GenerateVisualStudioInsertionManifests"
AfterTargets="Pack"
Outputs="%(_StubDirs.Identity)"
Condition="'@(_StubDirs)' != ''">
<PropertyGroup>
<_ComponentDir>%(_StubDirs.Identity)</_ComponentDir>
<_ComponentName>$(_ComponentDir.TrimEnd('\'))</_ComponentName>
</PropertyGroup>

<ItemGroup>
<_Args Include="OfficialBuild=$(OfficialBuild)" />
<_Args Include="ComponentName=$(_ComponentName)"/>
<_Args Include="SetupOutputPath=$(VisualStudioSetupInsertionPath)"/>
<_Args Include="ComponentIntermediateOutputPath=$(VisualStudioSetupIntermediateOutputPath)$(_ComponentName)\"/>
<_Args Include="SwixBuildPath=$(NuGetPackageRoot)microbuild.plugins.swixbuild\$(MicroBuildPluginsSwixBuildVersion)\"/>
<_Args Include="ManifestBuildVersion=$(VsixVersion)" />
</ItemGroup>

<Message Text="Generating manifest for VS component '$(_ComponentName)'" Importance="high"/>

<MSBuild Projects="VisualStudio.SetupPackage.vsmanproj" Properties="@(_Args)"/>
</Target>

</Project>
36 changes: 36 additions & 0 deletions build/Targets/RepoToolset/VisualStudio.SetupPackage.swixproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
<Project>
<!--
Required variables:
SwrProperties Properties and their values ("Prop1=Value1;Prop2=Value2;...") to be substituted in the swr files.
SwrFiles Files to be included.
SwrPackageName Name of the component (VSIX)
IntermediateOutputPath Intermediate output path.
SwixBuildPath SwixBuild package path.
-->

<PropertyGroup>
<OutputArchitecture>neutral</OutputArchitecture>
<OutputLocalized>false</OutputLocalized>
<OutputType>vsix</OutputType>
<IsPackage>true</IsPackage>
<OutputName>$(SwrPackageName)</OutputName>
</PropertyGroup>

<Import Project="$(SwixBuildPath)build\MicroBuild.Plugins.*.props" />

<ItemGroup>
<_SwrProperties Include="$([MSBuild]::Unescape($(SwrProperties)))" />
</ItemGroup>

<PropertyGroup>
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);@(_SwrProperties)</PackagePreprocessorDefinitions>
<OutputPath>$(IntermediateOutputPath)</OutputPath>
</PropertyGroup>

<ItemGroup>
<Package Include="$(SwrFiles)" />
</ItemGroup>

<Import Project="$(SwixBuildPath)build\MicroBuild.Plugins.*.targets" />
</Project>
37 changes: 37 additions & 0 deletions build/Targets/RepoToolset/VisualStudio.SetupPackage.vsmanproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
<Project>
<!--
Required variables:
OfficialBuild True for official builds.
ComponentName Name of the component (VSIX)
SetupOutputPath Directory to drop Willow manifests to.
ComponentIntermediateOutputPath Intermediate directory where the component is being built.
SwixBuildPath SwixBuild package path.
-->

<PropertyGroup>
<ResolveNuGetPackages>false</ResolveNuGetPackages>
<ImportDirectoryBuildProps>false</ImportDirectoryBuildProps>
<ImportDirectoryBuildTargets>false</ImportDirectoryBuildTargets>
</PropertyGroup>

<Import Project="$(SwixBuildPath)build\MicroBuild.Plugins.*.props" />

<PropertyGroup>
<FinalizeManifest>false</FinalizeManifest>
<FinalizeManifest Condition="'$(OfficialBuild)' == 'true'">true</FinalizeManifest>

<FinalizeSkipLayout>true</FinalizeSkipLayout>
<IsPackage>true</IsPackage>
<TargetName>$(ComponentName)</TargetName>
<OutputPath>$(SetupOutputPath)</OutputPath>
<IntermediateOutputPath>$(ComponentIntermediateOutputPath)</IntermediateOutputPath>
</PropertyGroup>

<ItemGroup>
<_PackageStubFiles Include="$(ComponentIntermediateOutputPath)*.stub"/>
<MergeManifest Include="@(_PackageStubFiles->'$(SetupOutputPath)%(Filename).json')"/>
</ItemGroup>

<Import Project="$(SwixBuildPath)build\MicroBuild.Plugins.*.targets" />
</Project>
19 changes: 19 additions & 0 deletions build/Targets/RepoToolset/VisualStudio.props
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,23 @@
<VsixVersion Condition="'$(VersionSuffixDateStamp)' != ''">$(VersionPrefix).$(VersionSuffixDateStamp)$(VersionSuffixBuildOfTheDayPadded)</VsixVersion>
<VsixVersion Condition="'$(VersionSuffixDateStamp)' == ''">42.42.42.4242424</VsixVersion>
</PropertyGroup>

<!-- VSIX settings -->
<PropertyGroup>
<VsixSourceManifestPath>$(MSBuildProjectDirectory)\source.extension.vsixmanifest</VsixSourceManifestPath>
<IsVsixProject>false</IsVsixProject>
<IsVsixProject Condition="Exists('$(VsixSourceManifestPath)')">true</IsVsixProject>
</PropertyGroup>

<ItemGroup Condition="'$(IsVsixProject)' == 'true'">
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="$(MicrosoftVSSDKBuildToolsVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />
</ItemGroup>

<PropertyGroup Condition="'$(IsVsixProject)' == 'true'">
<BuildForLiveUnitTesting>false</BuildForLiveUnitTesting>

<StartAction>Program</StartAction>
<StartProgram>$(DevEnvDir)devenv.exe</StartProgram>
<StartArguments>/rootsuffix $(VSSDKTargetPlatformRegRootSuffix) /log</StartArguments>
</PropertyGroup>
</Project>
Loading

0 comments on commit 515ff80

Please sign in to comment.