From d1eb54177059987647c6ffe47e896bb58410cb2f Mon Sep 17 00:00:00 2001
From: Stefan Kert <stefan.kert@sbg.at>
Date: Sat, 27 Apr 2019 11:12:02 +0200
Subject: [PATCH] added build configs

---
 BuildVision.sln                               | 40 ++++++++++++++++---
 azure-pipelines.yml                           |  6 +--
 .../BuildVision.Common.csproj                 |  1 +
 .../BuildVision.Contracts.csproj              |  1 +
 .../BuildVision.Exports.csproj                |  1 +
 src/BuildVision.UI/BuildVision.UI.csproj      | 20 ++++++++++
 src/BuildVision/BuildVision.csproj            | 20 ++++++++++
 .../BuildVision.IntegrationTests.csproj       |  1 +
 .../BuildVision.UnitTests.csproj              |  1 +
 9 files changed, 83 insertions(+), 8 deletions(-)

diff --git a/BuildVision.sln b/BuildVision.sln
index 2e4cbd62..11426b07 100644
--- a/BuildVision.sln
+++ b/BuildVision.sln
@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.136
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.28803.202
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{A8C25F90-8847-4EBE-A66B-02E5D1B42EC0}"
 	ProjectSection(SolutionItems) = preProject
@@ -19,9 +19,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{AE904AFF-1B2
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildVision", "src\BuildVision\BuildVision.csproj", "{9925A635-1827-4BB4-9C31-FE0FC87A6265}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildVision.Common", "src\BuildVision.Common\BuildVision.Common.csproj", "{848412D1-95BF-4E56-A9EF-2926AF5C6D67}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildVision.Common", "src\BuildVision.Common\BuildVision.Common.csproj", "{848412D1-95BF-4E56-A9EF-2926AF5C6D67}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildVision.Contracts", "src\BuildVision.Contracts\BuildVision.Contracts.csproj", "{13D64A57-5DB3-4CC7-AC2B-9034E767D754}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildVision.Contracts", "src\BuildVision.Contracts\BuildVision.Contracts.csproj", "{13D64A57-5DB3-4CC7-AC2B-9034E767D754}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildVision.UI", "src\BuildVision.UI\BuildVision.UI.csproj", "{84E8BA65-9A4B-4C50-A115-6EF3208E4058}"
 EndProject
@@ -31,42 +31,72 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildVision.IntegrationTest
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildVision.UnitTests", "test\BuildVision.UnitTests\BuildVision.UnitTests.csproj", "{2A7DE186-A1FA-4BA8-B393-3CA9ECBF444F}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildVision.Exports", "src\BuildVision.Exports\BuildVision.Exports.csproj", "{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildVision.Exports", "src\BuildVision.Exports\BuildVision.Exports.csproj", "{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
+		Marketplace|Any CPU = Marketplace|Any CPU
 		Release|Any CPU = Release|Any CPU
+		VsixGallery|Any CPU = VsixGallery|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{9925A635-1827-4BB4-9C31-FE0FC87A6265}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{9925A635-1827-4BB4-9C31-FE0FC87A6265}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9925A635-1827-4BB4-9C31-FE0FC87A6265}.Marketplace|Any CPU.ActiveCfg = Marketplace|Any CPU
+		{9925A635-1827-4BB4-9C31-FE0FC87A6265}.Marketplace|Any CPU.Build.0 = Marketplace|Any CPU
 		{9925A635-1827-4BB4-9C31-FE0FC87A6265}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{9925A635-1827-4BB4-9C31-FE0FC87A6265}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9925A635-1827-4BB4-9C31-FE0FC87A6265}.VsixGallery|Any CPU.ActiveCfg = VsixGallery|Any CPU
+		{9925A635-1827-4BB4-9C31-FE0FC87A6265}.VsixGallery|Any CPU.Build.0 = VsixGallery|Any CPU
 		{848412D1-95BF-4E56-A9EF-2926AF5C6D67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{848412D1-95BF-4E56-A9EF-2926AF5C6D67}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{848412D1-95BF-4E56-A9EF-2926AF5C6D67}.Marketplace|Any CPU.ActiveCfg = Marketplace|Any CPU
+		{848412D1-95BF-4E56-A9EF-2926AF5C6D67}.Marketplace|Any CPU.Build.0 = Marketplace|Any CPU
 		{848412D1-95BF-4E56-A9EF-2926AF5C6D67}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{848412D1-95BF-4E56-A9EF-2926AF5C6D67}.Release|Any CPU.Build.0 = Release|Any CPU
+		{848412D1-95BF-4E56-A9EF-2926AF5C6D67}.VsixGallery|Any CPU.ActiveCfg = VsixGallery|Any CPU
+		{848412D1-95BF-4E56-A9EF-2926AF5C6D67}.VsixGallery|Any CPU.Build.0 = VsixGallery|Any CPU
 		{13D64A57-5DB3-4CC7-AC2B-9034E767D754}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{13D64A57-5DB3-4CC7-AC2B-9034E767D754}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{13D64A57-5DB3-4CC7-AC2B-9034E767D754}.Marketplace|Any CPU.ActiveCfg = Marketplace|Any CPU
+		{13D64A57-5DB3-4CC7-AC2B-9034E767D754}.Marketplace|Any CPU.Build.0 = Marketplace|Any CPU
 		{13D64A57-5DB3-4CC7-AC2B-9034E767D754}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{13D64A57-5DB3-4CC7-AC2B-9034E767D754}.Release|Any CPU.Build.0 = Release|Any CPU
+		{13D64A57-5DB3-4CC7-AC2B-9034E767D754}.VsixGallery|Any CPU.ActiveCfg = VsixGallery|Any CPU
+		{13D64A57-5DB3-4CC7-AC2B-9034E767D754}.VsixGallery|Any CPU.Build.0 = VsixGallery|Any CPU
 		{84E8BA65-9A4B-4C50-A115-6EF3208E4058}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{84E8BA65-9A4B-4C50-A115-6EF3208E4058}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{84E8BA65-9A4B-4C50-A115-6EF3208E4058}.Marketplace|Any CPU.ActiveCfg = Marketplace|Any CPU
+		{84E8BA65-9A4B-4C50-A115-6EF3208E4058}.Marketplace|Any CPU.Build.0 = Marketplace|Any CPU
 		{84E8BA65-9A4B-4C50-A115-6EF3208E4058}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{84E8BA65-9A4B-4C50-A115-6EF3208E4058}.Release|Any CPU.Build.0 = Release|Any CPU
+		{84E8BA65-9A4B-4C50-A115-6EF3208E4058}.VsixGallery|Any CPU.ActiveCfg = VsixGallery|Any CPU
+		{84E8BA65-9A4B-4C50-A115-6EF3208E4058}.VsixGallery|Any CPU.Build.0 = VsixGallery|Any CPU
 		{FBB4F3ED-B1B8-4401-8667-5180194BAA54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{FBB4F3ED-B1B8-4401-8667-5180194BAA54}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FBB4F3ED-B1B8-4401-8667-5180194BAA54}.Marketplace|Any CPU.ActiveCfg = Marketplace|Any CPU
+		{FBB4F3ED-B1B8-4401-8667-5180194BAA54}.Marketplace|Any CPU.Build.0 = Marketplace|Any CPU
 		{FBB4F3ED-B1B8-4401-8667-5180194BAA54}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{FBB4F3ED-B1B8-4401-8667-5180194BAA54}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FBB4F3ED-B1B8-4401-8667-5180194BAA54}.VsixGallery|Any CPU.ActiveCfg = VsixGallery|Any CPU
+		{FBB4F3ED-B1B8-4401-8667-5180194BAA54}.VsixGallery|Any CPU.Build.0 = VsixGallery|Any CPU
 		{2A7DE186-A1FA-4BA8-B393-3CA9ECBF444F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{2A7DE186-A1FA-4BA8-B393-3CA9ECBF444F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{2A7DE186-A1FA-4BA8-B393-3CA9ECBF444F}.Marketplace|Any CPU.ActiveCfg = Marketplace|Any CPU
+		{2A7DE186-A1FA-4BA8-B393-3CA9ECBF444F}.Marketplace|Any CPU.Build.0 = Marketplace|Any CPU
 		{2A7DE186-A1FA-4BA8-B393-3CA9ECBF444F}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{2A7DE186-A1FA-4BA8-B393-3CA9ECBF444F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{2A7DE186-A1FA-4BA8-B393-3CA9ECBF444F}.VsixGallery|Any CPU.ActiveCfg = VsixGallery|Any CPU
+		{2A7DE186-A1FA-4BA8-B393-3CA9ECBF444F}.VsixGallery|Any CPU.Build.0 = VsixGallery|Any CPU
 		{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}.Marketplace|Any CPU.ActiveCfg = Marketplace|Any CPU
+		{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}.Marketplace|Any CPU.Build.0 = Marketplace|Any CPU
 		{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}.VsixGallery|Any CPU.ActiveCfg = VsixGallery|Any CPU
+		{F16E6593-DDF9-4E9E-A2F8-56A3C43A643E}.VsixGallery|Any CPU.Build.0 = VsixGallery|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index bab84847..61b79f0b 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -20,13 +20,13 @@ jobs:
       matrix:
         Config_Release:
           BuildConfiguration: Release
-          BuildOutputDirectory: VSIX
+          BuildOutputDirectory: Vsix
         Config_Marketplace:
           BuildConfiguration: Marketplace
           BuildOutputDirectory: Marketplace
         Config_VSIXGallery:
-          BuildConfiguration: VSIXGallery
-          BuildOutputDirectory: VSIXGallery
+          BuildConfiguration: VsixGallery
+          BuildOutputDirectory: VsixGallery
 
     steps:
     - task: DotNetCoreCLI@2  
diff --git a/src/BuildVision.Common/BuildVision.Common.csproj b/src/BuildVision.Common/BuildVision.Common.csproj
index e77e895b..de2843bf 100644
--- a/src/BuildVision.Common/BuildVision.Common.csproj
+++ b/src/BuildVision.Common/BuildVision.Common.csproj
@@ -1,6 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <TargetFramework>net472</TargetFramework>
+    <Configurations>Debug;Release;Marketplace;VsixGallery</Configurations>
   </PropertyGroup>
 
   <PropertyGroup>
diff --git a/src/BuildVision.Contracts/BuildVision.Contracts.csproj b/src/BuildVision.Contracts/BuildVision.Contracts.csproj
index 80d21da2..2d804ff4 100644
--- a/src/BuildVision.Contracts/BuildVision.Contracts.csproj
+++ b/src/BuildVision.Contracts/BuildVision.Contracts.csproj
@@ -1,6 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <TargetFramework>net472</TargetFramework>
+    <Configurations>Debug;Release;Marketplace;VsixGallery</Configurations>
   </PropertyGroup>
 
   <PropertyGroup>
diff --git a/src/BuildVision.Exports/BuildVision.Exports.csproj b/src/BuildVision.Exports/BuildVision.Exports.csproj
index 9b277d43..5662c57a 100644
--- a/src/BuildVision.Exports/BuildVision.Exports.csproj
+++ b/src/BuildVision.Exports/BuildVision.Exports.csproj
@@ -4,6 +4,7 @@
     <TargetFramework>net472</TargetFramework>
     <SignAssembly>true</SignAssembly>
     <AssemblyOriginatorKeyFile>Key.snk</AssemblyOriginatorKeyFile>
+    <Configurations>Debug;Release;Marketplace;VsixGallery</Configurations>
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/BuildVision.UI/BuildVision.UI.csproj b/src/BuildVision.UI/BuildVision.UI.csproj
index 310f45fa..98779a1d 100644
--- a/src/BuildVision.UI/BuildVision.UI.csproj
+++ b/src/BuildVision.UI/BuildVision.UI.csproj
@@ -40,6 +40,26 @@
   <PropertyGroup>
     <AssemblyOriginatorKeyFile>Key.snk</AssemblyOriginatorKeyFile>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Marketplace|AnyCPU'">
+    <OutputPath>bin\Marketplace\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'VsixGallery|AnyCPU'">
+    <OutputPath>bin\VsixGallery\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="PresentationFramework.Aero" />
     <Reference Include="System" />
diff --git a/src/BuildVision/BuildVision.csproj b/src/BuildVision/BuildVision.csproj
index 2a4ed336..4fe3e216 100644
--- a/src/BuildVision/BuildVision.csproj
+++ b/src/BuildVision/BuildVision.csproj
@@ -258,6 +258,26 @@
     <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">12.0</VisualStudioVersion>
     <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Marketplace|AnyCPU'">
+    <OutputPath>bin\Marketplace\</OutputPath>
+    <DefineConstants>CODE_ANALYSIS;TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'VsixGallery|AnyCPU'">
+    <OutputPath>bin\VsixGallery\</OutputPath>
+    <DefineConstants>CODE_ANALYSIS;TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets" Condition="false" />
diff --git a/test/BuildVision.IntegrationTests/BuildVision.IntegrationTests.csproj b/test/BuildVision.IntegrationTests/BuildVision.IntegrationTests.csproj
index 5cc24e17..d2bb95a9 100644
--- a/test/BuildVision.IntegrationTests/BuildVision.IntegrationTests.csproj
+++ b/test/BuildVision.IntegrationTests/BuildVision.IntegrationTests.csproj
@@ -2,6 +2,7 @@
   <PropertyGroup>
     <TargetFramework>net472</TargetFramework>
     <IsTestProject>true</IsTestProject>
+    <Configurations>Debug;Release;Marketplace;VsixGallery</Configurations>
   </PropertyGroup>
   
    <ItemGroup>
diff --git a/test/BuildVision.UnitTests/BuildVision.UnitTests.csproj b/test/BuildVision.UnitTests/BuildVision.UnitTests.csproj
index 75b91cf2..5afa2490 100644
--- a/test/BuildVision.UnitTests/BuildVision.UnitTests.csproj
+++ b/test/BuildVision.UnitTests/BuildVision.UnitTests.csproj
@@ -1,6 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <TargetFramework>net472</TargetFramework>
+    <Configurations>Debug;Release;Marketplace;VsixGallery</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="FluentAssertions" Version="5.6.0" />