From 7d241875d87b0537c9a6c7e8085b4a31f5de2da6 Mon Sep 17 00:00:00 2001 From: Shane Date: Tue, 18 Aug 2020 15:27:59 +1000 Subject: [PATCH] Do not include CopyComplete files in packages --- source/OctoPack.Tests/Integration/BuildFixture.cs | 14 +++++++++++++- source/build/OctoPack.targets | 6 +++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/source/OctoPack.Tests/Integration/BuildFixture.cs b/source/OctoPack.Tests/Integration/BuildFixture.cs index f2f9729..087bfa8 100644 --- a/source/OctoPack.Tests/Integration/BuildFixture.cs +++ b/source/OctoPack.Tests/Integration/BuildFixture.cs @@ -57,8 +57,20 @@ private static string GetMsBuildPath() { string msBuild; var programFilesDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86); - foreach (var version in new []{"14.0","12.0"}) + foreach (var version in new [] { "Current", "15.0", "14.0","12.0" }) { + // As of Visual Studio 2017, Microsoft changed where the MSBuild tools reside. As of Visual Studio 2019, Microsoft stopped using + // a version number, such as 15.0, in the path and now uses 'Current'. + // This additional loop accounts for MSBuild located in the Visual Studio installation path for both VS2017 and VS2019 Professional + // and enterprise editions. This is still fragile, as there are other editions of Visual Studio, and also does not account for + // the Visual Studio Build Tools (for 2017 and 2019). + // The last empty string array entry is for Visual Studio 2015 and below. + foreach (var msBuildBasePath in new[] { "Microsoft Visual Studio\\2019\\Professional", "Microsoft Visual Studio\\2019\\Enterprise", "Microsoft Visual Studio\\2017\\Professional", "Microsoft Visual Studio\\2017\\Enterprise", "" }) + { + msBuild = Path.Combine(programFilesDirectory, msBuildBasePath, "MSBuild", version, "Bin", "msbuild.exe"); + if (File.Exists(msBuild)) + return msBuild; + } var buildDirectory = Path.Combine(programFilesDirectory, "MSBuild", version, "Bin"); msBuild = Path.Combine(buildDirectory, "msbuild.exe"); if (File.Exists(msBuild)) diff --git a/source/build/OctoPack.targets b/source/build/OctoPack.targets index 8e90f58..a00c26e 100644 --- a/source/build/OctoPack.targets +++ b/source/build/OctoPack.targets @@ -67,13 +67,13 @@ - + - + - +