From 6f68b9b28e301fe16870c8e9e488d11dfa090507 Mon Sep 17 00:00:00 2001 From: "Jon Thysell (JAUNTY)" Date: Tue, 31 Mar 2020 09:51:49 -0700 Subject: [PATCH 1/6] Update MSBuild Tasks to use MSBuild x64 --- .ado/publish.yml | 1 - .ado/templates/react-native-init.yml | 2 +- .ado/windows-vs-pr.yml | 1 - packages/E2ETest/windows/ReactUWPTestApp/ReactUWPTestApp.csproj | 1 + .../windows/SampleAppCS/SampleAppCS.csproj | 1 + .../local-cli/generator-windows/templates/cs/proj/MyApp.csproj | 1 + 6 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.ado/publish.yml b/.ado/publish.yml index 4952ad60660..772bb76280e 100644 --- a/.ado/publish.yml +++ b/.ado/publish.yml @@ -149,7 +149,6 @@ jobs: - template: templates/build-rnw.yml parameters: project: vnext/ReactWindows-Universal.sln - msBuildArchitecture: x86 # Necessary to build C# unit tests vsComponents: $(VsComponents),Microsoft.VisualStudio.Component.VC.v141.ARM,Microsoft.VisualStudio.Component.VC.v141.ARM64 - template: templates/publish-build-artifacts-for-nuget.yml diff --git a/.ado/templates/react-native-init.yml b/.ado/templates/react-native-init.yml index b2be5073def..8982592aff5 100644 --- a/.ado/templates/react-native-init.yml +++ b/.ado/templates/react-native-init.yml @@ -92,7 +92,7 @@ steps: inputs: solution: $(Agent.BuildDirectory)\testcli\windows\testcli.sln msbuildVersion: $(MSBuildVersion) # Optional. Options: latest, 16.0, 15.0, 14.0, 12.0, 4.0 - msbuildArchitecture: x86 # $(MSBuildArchitecture) # Optional. Options: x86, x64 + msbuildArchitecture: $(MSBuildArchitecture) # Optional. Options: x86, x64 platform: ${{ parameters.platform }} # Optional configuration: ${{ parameters.configuration }} # Optional createLogFile: true diff --git a/.ado/windows-vs-pr.yml b/.ado/windows-vs-pr.yml index 53ae691cd33..fa33a5788b0 100644 --- a/.ado/windows-vs-pr.yml +++ b/.ado/windows-vs-pr.yml @@ -70,7 +70,6 @@ jobs: parameters: yarnBuildCmd: build project: vnext/ReactWindows-Universal.sln - msBuildArchitecture: x86 # Necessary to build C# unit tests vsComponents: $(VsComponents),Microsoft.VisualStudio.Component.VC.v141.ARM,Microsoft.VisualStudio.Component.VC.v141.ARM64 - task: VSTest@2 diff --git a/packages/E2ETest/windows/ReactUWPTestApp/ReactUWPTestApp.csproj b/packages/E2ETest/windows/ReactUWPTestApp/ReactUWPTestApp.csproj index 9df5773249b..954d78e4f10 100644 --- a/packages/E2ETest/windows/ReactUWPTestApp/ReactUWPTestApp.csproj +++ b/packages/E2ETest/windows/ReactUWPTestApp/ReactUWPTestApp.csproj @@ -20,6 +20,7 @@ FCDD40CD2A4E90DD1F10E5C04D5A958E6B5311CA ReactUWPTestApp_TemporaryKey.pfx True + false true diff --git a/packages/microsoft-reactnative-sampleapps/windows/SampleAppCS/SampleAppCS.csproj b/packages/microsoft-reactnative-sampleapps/windows/SampleAppCS/SampleAppCS.csproj index aeff6caca45..538ad70e4ad 100644 --- a/packages/microsoft-reactnative-sampleapps/windows/SampleAppCS/SampleAppCS.csproj +++ b/packages/microsoft-reactnative-sampleapps/windows/SampleAppCS/SampleAppCS.csproj @@ -18,6 +18,7 @@ {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} true false + false 7.0 diff --git a/vnext/local-cli/generator-windows/templates/cs/proj/MyApp.csproj b/vnext/local-cli/generator-windows/templates/cs/proj/MyApp.csproj index dd365310096..c885eafca20 100644 --- a/vnext/local-cli/generator-windows/templates/cs/proj/MyApp.csproj +++ b/vnext/local-cli/generator-windows/templates/cs/proj/MyApp.csproj @@ -23,6 +23,7 @@ <%=name%>_TemporaryKey.pfx <%=certificateThumbprint%> password + false true From 891d9e36b7255fdda33f2de548d0d0df3e6026c6 Mon Sep 17 00:00:00 2001 From: "Jon Thysell (JAUNTY)" Date: Tue, 31 Mar 2020 10:16:02 -0700 Subject: [PATCH 2/6] Change files --- ...act-native-windows-2020-03-31-10-16-02-msbuildx64.json | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 change/react-native-windows-2020-03-31-10-16-02-msbuildx64.json diff --git a/change/react-native-windows-2020-03-31-10-16-02-msbuildx64.json b/change/react-native-windows-2020-03-31-10-16-02-msbuildx64.json new file mode 100644 index 00000000000..01adc422051 --- /dev/null +++ b/change/react-native-windows-2020-03-31-10-16-02-msbuildx64.json @@ -0,0 +1,8 @@ +{ + "type": "prerelease", + "comment": "Update MSBuild Tasks to use MSBuild x64", + "packageName": "react-native-windows", + "email": "jthysell@microsoft.com", + "dependentChangeType": "patch", + "date": "2020-03-31T17:16:02.126Z" +} \ No newline at end of file From 80e62c9b1e5b3406515b079f45a17782d300bd77 Mon Sep 17 00:00:00 2001 From: "Jon Thysell (JAUNTY)" Date: Tue, 31 Mar 2020 10:25:37 -0700 Subject: [PATCH 3/6] Add for unit tests --- .../Microsoft.ReactNative.Managed.UnitTests.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/vnext/Microsoft.ReactNative.Managed.UnitTests/Microsoft.ReactNative.Managed.UnitTests.csproj b/vnext/Microsoft.ReactNative.Managed.UnitTests/Microsoft.ReactNative.Managed.UnitTests.csproj index 69264e95db2..7f073a304d0 100644 --- a/vnext/Microsoft.ReactNative.Managed.UnitTests/Microsoft.ReactNative.Managed.UnitTests.csproj +++ b/vnext/Microsoft.ReactNative.Managed.UnitTests/Microsoft.ReactNative.Managed.UnitTests.csproj @@ -18,6 +18,7 @@ {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} $(VisualStudioVersion) false + false true From 7ebcfe6762fd4d6212b18afd48605b4c83d2c7ae Mon Sep 17 00:00:00 2001 From: "Jon Thysell (JAUNTY)" Date: Tue, 31 Mar 2020 12:28:42 -0700 Subject: [PATCH 4/6] Switch to VSBuild --- .ado/templates/build-rnw.yml | 11 ++++++---- .ado/templates/react-native-init.yml | 11 ++++++---- .ado/windows-vs-pr.yml | 22 ++++++++++++------- .../templates/cs/proj/MyApp.csproj | 3 --- 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/.ado/templates/build-rnw.yml b/.ado/templates/build-rnw.yml index bc2b612d10a..2a0260822fd 100644 --- a/.ado/templates/build-rnw.yml +++ b/.ado/templates/build-rnw.yml @@ -34,17 +34,20 @@ steps: restoreDirectory: packages/ verbosityRestore: Detailed # Options: quiet, normal, detailed - - task: MSBuild@1 - displayName: MSBuild ${{parameters.project}} + - task: VSBuild@1 + displayName: VSBuild ${{parameters.project}} inputs: solution: ${{parameters.project }} - msbuildVersion: ${{parameters.msbuildVersion}} + vsVersion: ${{parameters.msbuildVersion}} msbuildArchitecture: ${{parameters.msBuildArchitecture}} platform: $(BuildPlatform) configuration: $(BuildConfiguration) + clean: false # Optional + maximumCpuCount: false # Optional + restoreNugetPackages: false # Optional createLogFile: true logFileVerbosity: detailed - msbuildArguments: + msbuildArgs: /p:PreferredToolArchitecture=${{parameters.preferredToolArchitecture}} /p:PlatformToolset=${{parameters.platformToolset}} /p:BaseIntDir=$(BaseIntDir) diff --git a/.ado/templates/react-native-init.yml b/.ado/templates/react-native-init.yml index 8982592aff5..2424c1ff0f9 100644 --- a/.ado/templates/react-native-init.yml +++ b/.ado/templates/react-native-init.yml @@ -87,17 +87,20 @@ steps: -Components ${{ parameters.vsComponents }} condition: and(ne('${{parameters.vsComponents}}', ''), eq(variables['VmImage'], 'windows-2019')) - - task: MSBuild@1 - displayName: MSBuild - testcli + - task: VSBuild@1 + displayName: VSBuild - testcli inputs: solution: $(Agent.BuildDirectory)\testcli\windows\testcli.sln - msbuildVersion: $(MSBuildVersion) # Optional. Options: latest, 16.0, 15.0, 14.0, 12.0, 4.0 + vsVersion: $(MSBuildVersion) # Optional. Options: latest, 16.0, 15.0, 14.0, 12.0, 4.0 msbuildArchitecture: $(MSBuildArchitecture) # Optional. Options: x86, x64 platform: ${{ parameters.platform }} # Optional configuration: ${{ parameters.configuration }} # Optional + clean: false # Optional + maximumCpuCount: false # Optional + restoreNugetPackages: false # Optional createLogFile: true logFileVerbosity: detailed - msbuildArguments: + msbuildArgs: /p:PreferredToolArchitecture=$(MSBuildPreferredToolArchitecture) /p:PlatformToolset=$(MSBuildPlatformToolset) /p:BaseIntDir=$(BaseIntDir) diff --git a/.ado/windows-vs-pr.yml b/.ado/windows-vs-pr.yml index fa33a5788b0..2a4c102c903 100644 --- a/.ado/windows-vs-pr.yml +++ b/.ado/windows-vs-pr.yml @@ -133,15 +133,18 @@ jobs: restoreSolution: packages/playground/windows/Playground.sln verbosityRestore: Detailed # Options: quiet, normal, detailed - - task: MSBuild@1 - displayName: MSBuild - Playground + - task: VSBuild@1 + displayName: VSBuild - Playground inputs: solution: packages/playground/windows/Playground.sln - msbuildVersion: $(MSBuildVersion) # Optional. Options: latest, 16.0, 15.0, 14.0, 12.0, 4.0 + vsVersion: $(MSBuildVersion) # Optional. Options: latest, 16.0, 15.0, 14.0, 12.0, 4.0 msbuildArchitecture: $(MSBuildArchitecture) # Optional. Options: x86, x64 platform: $(BuildPlatform) # Optional configuration: $(BuildConfiguration) # Optional - msbuildArguments: + clean: false # Optional + maximumCpuCount: false # Optional + restoreNugetPackages: false # Optional + msbuildArgs: /p:PreferredToolArchitecture=$(MSBuildPreferredToolArchitecture) /p:PlatformToolset=$(MSBuildPlatformToolset) /p:BaseIntDir=$(BaseIntDir) @@ -154,15 +157,18 @@ jobs: restoreSolution: packages/playground/windows/Playground-Win32.sln verbosityRestore: Detailed # Options: quiet, normal, detailed - - task: MSBuild@1 - displayName: MSBuild - Playground Win32 + - task: VSBuild@1 + displayName: VSBuild - Playground Win32 inputs: solution: packages/playground/windows/Playground-Win32.sln - msbuildVersion: $(MSBuildVersion) # Optional. Options: latest, 16.0, 15.0, 14.0, 12.0, 4.0 + vsVersion: $(MSBuildVersion) # Optional. Options: latest, 16.0, 15.0, 14.0, 12.0, 4.0 msbuildArchitecture: $(MSBuildArchitecture) # Optional. Options: x86, x64 platform: $(BuildPlatform) # Optional configuration: $(BuildConfiguration) # Optional - msbuildArguments: + clean: false # Optional + maximumCpuCount: false # Optional + restoreNugetPackages: false # Optional + msbuildArgs: /p:PreferredToolArchitecture=$(MSBuildPreferredToolArchitecture) /p:PlatformToolset=$(MSBuildPlatformToolset) /p:BaseIntDir=$(BaseIntDir) diff --git a/vnext/local-cli/generator-windows/templates/cs/proj/MyApp.csproj b/vnext/local-cli/generator-windows/templates/cs/proj/MyApp.csproj index c885eafca20..4f5bb1ec5f1 100644 --- a/vnext/local-cli/generator-windows/templates/cs/proj/MyApp.csproj +++ b/vnext/local-cli/generator-windows/templates/cs/proj/MyApp.csproj @@ -1,9 +1,6 @@  - - SomeValue - Debug x86 From f265b5d82b4504758c8df501bea9999ad901e628 Mon Sep 17 00:00:00 2001 From: "Jon Thysell (JAUNTY)" Date: Tue, 31 Mar 2020 12:31:43 -0700 Subject: [PATCH 5/6] Fix clean for playground --- .ado/windows-vs-pr.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.ado/windows-vs-pr.yml b/.ado/windows-vs-pr.yml index 2a4c102c903..56a40e33e2d 100644 --- a/.ado/windows-vs-pr.yml +++ b/.ado/windows-vs-pr.yml @@ -141,14 +141,13 @@ jobs: msbuildArchitecture: $(MSBuildArchitecture) # Optional. Options: x86, x64 platform: $(BuildPlatform) # Optional configuration: $(BuildConfiguration) # Optional - clean: false # Optional + clean: true # Optional maximumCpuCount: false # Optional restoreNugetPackages: false # Optional msbuildArgs: /p:PreferredToolArchitecture=$(MSBuildPreferredToolArchitecture) /p:PlatformToolset=$(MSBuildPlatformToolset) /p:BaseIntDir=$(BaseIntDir) - clean: true # Optional - task: NuGetCommand@2 displayName: NuGet restore - Playground Win32 @@ -165,14 +164,13 @@ jobs: msbuildArchitecture: $(MSBuildArchitecture) # Optional. Options: x86, x64 platform: $(BuildPlatform) # Optional configuration: $(BuildConfiguration) # Optional - clean: false # Optional + clean: true # Optional maximumCpuCount: false # Optional restoreNugetPackages: false # Optional msbuildArgs: /p:PreferredToolArchitecture=$(MSBuildPreferredToolArchitecture) /p:PlatformToolset=$(MSBuildPlatformToolset) /p:BaseIntDir=$(BaseIntDir) - clean: true # Optional - task: CmdLine@2 displayName: Create Playground bundle From 9d06bdf6b3fd41b81fb5ab073c501421d343b7f1 Mon Sep 17 00:00:00 2001 From: "Jon Thysell (JAUNTY)" Date: Tue, 31 Mar 2020 13:53:46 -0700 Subject: [PATCH 6/6] Adding AppxGeneratePrisForPortableLibrariesEnabled property to msbuildargs --- .ado/templates/react-native-init.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ado/templates/react-native-init.yml b/.ado/templates/react-native-init.yml index 2424c1ff0f9..8fe07834326 100644 --- a/.ado/templates/react-native-init.yml +++ b/.ado/templates/react-native-init.yml @@ -104,6 +104,7 @@ steps: /p:PreferredToolArchitecture=$(MSBuildPreferredToolArchitecture) /p:PlatformToolset=$(MSBuildPlatformToolset) /p:BaseIntDir=$(BaseIntDir) + /p:AppxGeneratePrisForPortableLibrariesEnabled=false - task: PublishBuildArtifacts@1 condition: succeededOrFailed()