From b6c00fab49efa54a25f41497e6218824ce806d2d Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 13 Jan 2023 17:36:24 -0800 Subject: Add TargetFrameworks to ProjectReference to ease handling multi-framework projects Closes 7149 --- .../CsprojClassLibraryMultiFramework.csproj | 8 +++++++ .../MultiFrameworkClass.cs | 13 +++++++++++ .../CsprojConsoleMultiFramework.csproj | 13 +++++++++++ .../CsprojConsoleMultiFramework.sln | 25 +++++++++++++++++++++ .../CsprojConsoleMultiFramework/Program.cs | 15 +++++++++++++ .../WixprojLibraryMultiFramework/Library.wxs | 26 ++++++++++++++++++++++ .../WixprojLibraryMultiFramework.wixproj | 12 ++++++++++ src/test/wix/WixE2E/WixE2EFixture.cs | 12 +++++++++- 8 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 src/test/wix/TestData/CsprojClassLibraryMultiFramework/CsprojClassLibraryMultiFramework.csproj create mode 100644 src/test/wix/TestData/CsprojClassLibraryMultiFramework/MultiFrameworkClass.cs create mode 100644 src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.csproj create mode 100644 src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.sln create mode 100644 src/test/wix/TestData/CsprojConsoleMultiFramework/Program.cs create mode 100644 src/test/wix/TestData/WixprojLibraryMultiFramework/Library.wxs create mode 100644 src/test/wix/TestData/WixprojLibraryMultiFramework/WixprojLibraryMultiFramework.wixproj (limited to 'src/test') diff --git a/src/test/wix/TestData/CsprojClassLibraryMultiFramework/CsprojClassLibraryMultiFramework.csproj b/src/test/wix/TestData/CsprojClassLibraryMultiFramework/CsprojClassLibraryMultiFramework.csproj new file mode 100644 index 00000000..ffc34573 --- /dev/null +++ b/src/test/wix/TestData/CsprojClassLibraryMultiFramework/CsprojClassLibraryMultiFramework.csproj @@ -0,0 +1,8 @@ + + + + net6.0;net48 + embedded + + + diff --git a/src/test/wix/TestData/CsprojClassLibraryMultiFramework/MultiFrameworkClass.cs b/src/test/wix/TestData/CsprojClassLibraryMultiFramework/MultiFrameworkClass.cs new file mode 100644 index 00000000..1fde9580 --- /dev/null +++ b/src/test/wix/TestData/CsprojClassLibraryMultiFramework/MultiFrameworkClass.cs @@ -0,0 +1,13 @@ +using System; + +namespace CsprojClassLibraryMultiFramework +{ + public class MultiFrameworkClass + { +#if NET + public string Name { get; } = ".NET v6.0 MultiFrameworkClass"; +#else + public string Name { get; } = ".NETFX v4.8 MultiFrameworkClass"; +#endif + } +} diff --git a/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.csproj b/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.csproj new file mode 100644 index 00000000..8b4fac23 --- /dev/null +++ b/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.csproj @@ -0,0 +1,13 @@ + + + + Exe + net6.0;net48 + win-x86 + + + + + + + diff --git a/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.sln b/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.sln new file mode 100644 index 00000000..ec9c83db --- /dev/null +++ b/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31911.196 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsprojConsoleMultiFramework", "CsprojConsoleMultiFramework.csproj", "{A87A6E98-EE6A-4688-8716-E2378AC7BB75}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9D5D5A46-18B1-4B8B-BC4B-DBD4EFC8215D} + EndGlobalSection +EndGlobal diff --git a/src/test/wix/TestData/CsprojConsoleMultiFramework/Program.cs b/src/test/wix/TestData/CsprojConsoleMultiFramework/Program.cs new file mode 100644 index 00000000..c5468e2f --- /dev/null +++ b/src/test/wix/TestData/CsprojConsoleMultiFramework/Program.cs @@ -0,0 +1,15 @@ +using System; +using CsprojClassLibraryMultiFramework; + +namespace CsprojConsoleNetCore +{ + class Program + { + static void Main(string[] args) + { + var mfc = new MultiFrameworkClass(); + + Console.WriteLine("Hello, {0}!", mfc.Name); + } + } +} diff --git a/src/test/wix/TestData/WixprojLibraryMultiFramework/Library.wxs b/src/test/wix/TestData/WixprojLibraryMultiFramework/Library.wxs new file mode 100644 index 00000000..00a2e558 --- /dev/null +++ b/src/test/wix/TestData/WixprojLibraryMultiFramework/Library.wxs @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/wix/TestData/WixprojLibraryMultiFramework/WixprojLibraryMultiFramework.wixproj b/src/test/wix/TestData/WixprojLibraryMultiFramework/WixprojLibraryMultiFramework.wixproj new file mode 100644 index 00000000..6b4dd129 --- /dev/null +++ b/src/test/wix/TestData/WixprojLibraryMultiFramework/WixprojLibraryMultiFramework.wixproj @@ -0,0 +1,12 @@ + + + + Library + true + + + + + + diff --git a/src/test/wix/WixE2E/WixE2EFixture.cs b/src/test/wix/WixE2E/WixE2EFixture.cs index 4a0b78d8..488d2fe9 100644 --- a/src/test/wix/WixE2E/WixE2EFixture.cs +++ b/src/test/wix/WixE2E/WixE2EFixture.cs @@ -7,12 +7,22 @@ namespace WixE2E using System.Linq; using System.Security.Cryptography; using System.Text; - using System.Threading; using WixInternal.TestSupport; using Xunit; public class WixE2EFixture { + [Fact] + public void CanBuildWixlibMultiFramework() + { + var projectPath = TestData.Get("TestData", "WixprojLibraryMultiFramework", "WixprojLibraryMultiFramework.wixproj"); + + CleanEverything(); + + var result = RestoreAndBuild(projectPath); + result.AssertSuccess(); + } + [Fact] public void CanBuildWixlibWithNativeDll() { -- cgit v1.2.3-55-g6feb