aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2023-01-13 17:36:24 -0800
committerRob Mensching <rob@firegiant.com>2023-01-16 13:16:10 -0800
commitb6c00fab49efa54a25f41497e6218824ce806d2d (patch)
treed54fc9b6c8b82131d11714dc2e79fb19974d1773 /src/test
parent5f744a8c7da649721f7022dc174febd79e7e3e14 (diff)
downloadwix-b6c00fab49efa54a25f41497e6218824ce806d2d.tar.gz
wix-b6c00fab49efa54a25f41497e6218824ce806d2d.tar.bz2
wix-b6c00fab49efa54a25f41497e6218824ce806d2d.zip
Add TargetFrameworks to ProjectReference to ease handling multi-framework projects
Closes 7149
Diffstat (limited to 'src/test')
-rw-r--r--src/test/wix/TestData/CsprojClassLibraryMultiFramework/CsprojClassLibraryMultiFramework.csproj8
-rw-r--r--src/test/wix/TestData/CsprojClassLibraryMultiFramework/MultiFrameworkClass.cs13
-rw-r--r--src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.csproj13
-rw-r--r--src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.sln25
-rw-r--r--src/test/wix/TestData/CsprojConsoleMultiFramework/Program.cs15
-rw-r--r--src/test/wix/TestData/WixprojLibraryMultiFramework/Library.wxs26
-rw-r--r--src/test/wix/TestData/WixprojLibraryMultiFramework/WixprojLibraryMultiFramework.wixproj12
-rw-r--r--src/test/wix/WixE2E/WixE2EFixture.cs12
8 files changed, 123 insertions, 1 deletions
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 @@
1<Project Sdk="Microsoft.NET.Sdk">
2
3 <PropertyGroup>
4 <TargetFrameworks>net6.0;net48</TargetFrameworks>
5 <DebugType>embedded</DebugType>
6 </PropertyGroup>
7
8</Project>
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 @@
1using System;
2
3namespace CsprojClassLibraryMultiFramework
4{
5 public class MultiFrameworkClass
6 {
7#if NET
8 public string Name { get; } = ".NET v6.0 MultiFrameworkClass";
9#else
10 public string Name { get; } = ".NETFX v4.8 MultiFrameworkClass";
11#endif
12 }
13}
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 @@
1<Project Sdk="Microsoft.NET.Sdk">
2
3 <PropertyGroup>
4 <OutputType>Exe</OutputType>
5 <TargetFrameworks>net6.0;net48</TargetFrameworks>
6 <RuntimeIdentifiers>win-x86</RuntimeIdentifiers>
7 </PropertyGroup>
8
9 <ItemGroup>
10 <ProjectReference Include="..\CsprojClassLibraryMultiFramework\CsprojClassLibraryMultiFramework.csproj" />
11 </ItemGroup>
12
13</Project>
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 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.31911.196
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsprojConsoleMultiFramework", "CsprojConsoleMultiFramework.csproj", "{A87A6E98-EE6A-4688-8716-E2378AC7BB75}"
7EndProject
8Global
9 GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 Debug|Any CPU = Debug|Any CPU
11 Release|Any CPU = Release|Any CPU
12 EndGlobalSection
13 GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Release|Any CPU.Build.0 = Release|Any CPU
18 EndGlobalSection
19 GlobalSection(SolutionProperties) = preSolution
20 HideSolutionNode = FALSE
21 EndGlobalSection
22 GlobalSection(ExtensibilityGlobals) = postSolution
23 SolutionGuid = {9D5D5A46-18B1-4B8B-BC4B-DBD4EFC8215D}
24 EndGlobalSection
25EndGlobal
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 @@
1using System;
2using CsprojClassLibraryMultiFramework;
3
4namespace CsprojConsoleNetCore
5{
6 class Program
7 {
8 static void Main(string[] args)
9 {
10 var mfc = new MultiFrameworkClass();
11
12 Console.WriteLine("Hello, {0}!", mfc.Name);
13 }
14 }
15}
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 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui">
2 <Fragment>
3 <ComponentGroup Id='CsprojClassLibraryMultiFrameworkNet60' Directory='ApplicationFolder' Subdirectory="net6.0">
4 <Component>
5 <File Id="Net60" Source='!(bindpath.CsprojConsoleMultiFramework.net6.0)CsprojConsoleMultiFramework.exe' />
6 <File Source='!(bindpath.CsprojConsoleMultiFramework.net6.0)CsprojConsoleMultiFramework.deps.json' />
7 <File Source='!(bindpath.CsprojConsoleMultiFramework.net6.0)CsprojConsoleMultiFramework.runtimeconfig.json' />
8 </Component>
9 <Component>
10 <File Source='!(bindpath.CsprojConsoleMultiFramework.net6.0)CsprojClassLibraryMultiFramework.dll' />
11 </Component>
12 </ComponentGroup>
13 </Fragment>
14
15 <Fragment>
16 <ComponentGroup Id='CsprojClassLibraryMultiFrameworkNet48' Directory='ApplicationFolder' Subdirectory="net48">
17 <Component>
18 <File Id="Net48" Source='!(bindpath.CsprojConsoleMultiFramework.net48)CsprojConsoleMultiFramework.exe' />
19 <File Source='!(bindpath.CsprojConsoleMultiFramework.net48)CsprojConsoleMultiFramework.exe.config' />
20 </Component>
21 <Component>
22 <File Source='!(bindpath.CsprojConsoleMultiFramework.net48)CsprojClassLibraryMultiFramework.dll' />
23 </Component>
24 </ComponentGroup>
25 </Fragment>
26</Wix>
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 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2<Project Sdk='WixToolset.Sdk'>
3 <PropertyGroup>
4 <OutputType>Library</OutputType>
5 <BindFiles>true</BindFiles>
6 </PropertyGroup>
7
8 <ItemGroup>
9 <ProjectReference Include="..\CsprojConsoleMultiFramework\CsprojConsoleMultiFramework.csproj"
10 TargetFrameworks="net48;net6.0" Publish="true" />
11 </ItemGroup>
12</Project>
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,13 +7,23 @@ namespace WixE2E
7 using System.Linq; 7 using System.Linq;
8 using System.Security.Cryptography; 8 using System.Security.Cryptography;
9 using System.Text; 9 using System.Text;
10 using System.Threading;
11 using WixInternal.TestSupport; 10 using WixInternal.TestSupport;
12 using Xunit; 11 using Xunit;
13 12
14 public class WixE2EFixture 13 public class WixE2EFixture
15 { 14 {
16 [Fact] 15 [Fact]
16 public void CanBuildWixlibMultiFramework()
17 {
18 var projectPath = TestData.Get("TestData", "WixprojLibraryMultiFramework", "WixprojLibraryMultiFramework.wixproj");
19
20 CleanEverything();
21
22 var result = RestoreAndBuild(projectPath);
23 result.AssertSuccess();
24 }
25
26 [Fact]
17 public void CanBuildWixlibWithNativeDll() 27 public void CanBuildWixlibWithNativeDll()
18 { 28 {
19 var projectPath = TestData.Get("TestData", "WixprojLibraryVcxprojDll", "WixprojLibraryVcxprojDll.wixproj"); 29 var projectPath = TestData.Get("TestData", "WixprojLibraryVcxprojDll", "WixprojLibraryVcxprojDll.wixproj");