Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working ANCM arm64 installers #39523

Merged
merged 54 commits into from
Mar 5, 2022
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
2587461
Update tests for ARM64
HaoK Jan 14, 2022
20c5271
Publish ANCM/Hostingbundle msi artifacts
HaoK Feb 23, 2022
a1444a1
Try adding arm64 project ref
HaoK Feb 24, 2022
f6059c7
Add some arm64 logic
HaoK Feb 24, 2022
9d20f11
Build arm64 installers
HaoK Feb 24, 2022
82eb7c2
Fix typo
HaoK Feb 24, 2022
f020945
Add more artifacts
HaoK Feb 24, 2022
7f4b81e
Bump installer version to 500 as required for ARM64
HaoK Feb 24, 2022
79b346a
Update ancm_iis_expressv2.wxs
HaoK Feb 24, 2022
2b476e5
Update include.wxi
HaoK Feb 24, 2022
429017b
Upgrade installer version
HaoK Feb 24, 2022
c8a6665
Update ancm_iis_expressv2.wxs
HaoK Feb 24, 2022
976adf7
Update aspnetcoremodulev2.wxs
HaoK Feb 25, 2022
9f94eb0
Better logic for installer version
HaoK Feb 25, 2022
2c1cd63
Use $(var.InstallerVersion)
HaoK Feb 25, 2022
464a822
Use $(var.InstallerVersion)
HaoK Feb 25, 2022
6d3b721
Temp try to get past warning
HaoK Feb 25, 2022
7d03c74
Attempt to fix warning
HaoK Feb 25, 2022
e63ee2b
InstallerVersion already defined
HaoK Feb 25, 2022
90a4431
Switch to a different var that doesn't conflict
HaoK Feb 25, 2022
a7bdf70
Update aspnetcoremodulev2.wxs
HaoK Feb 25, 2022
e6e926c
Update ancm_iis_expressv2.wxs
HaoK Feb 25, 2022
43231e9
Update Product.wxs
HaoK Feb 26, 2022
3d0208b
Undo
HaoK Feb 26, 2022
3c86ef1
Update include.wxi
HaoK Feb 26, 2022
aa19911
Move some defns up to share
HaoK Feb 26, 2022
267311c
Update Directory.Build.props
HaoK Feb 26, 2022
558cce9
revert
HaoK Feb 26, 2022
273c401
Update aspnetcoremodulev2.wxs
HaoK Feb 26, 2022
50d7945
Update ancm_iis_expressv2.wxs
HaoK Feb 26, 2022
1e8ab38
Update Directory.Build.props
HaoK Feb 27, 2022
4e5938d
Update ci.yml
HaoK Feb 28, 2022
f5cb1cd
Stop building installers in parallel
HaoK Feb 28, 2022
49bad50
Try to remove OOBBuild constant that seems unused
HaoK Feb 28, 2022
e1ae8d8
Revert
HaoK Feb 28, 2022
29cfe26
Try just no parallel
HaoK Feb 28, 2022
4220ab4
Update include.wxi
HaoK Feb 28, 2022
aa54fd5
Update ancm_iis_expressv2.wxs
HaoK Mar 1, 2022
7d2e895
Remove installer artifacts
HaoK Mar 1, 2022
f80b37d
Update Build.props
HaoK Mar 2, 2022
85892c7
Update eng/Build.props
dougbu Mar 2, 2022
339a26c
Try to fix arm64 build
HaoK Mar 2, 2022
0eedb98
Add more vs slnf
HaoK Mar 2, 2022
a37bad2
Clean up installer build
HaoK Mar 3, 2022
579f6d0
Remove duplicate arm64
HaoK Mar 3, 2022
94d0fc9
Undo build props change
HaoK Mar 3, 2022
d697b49
Update ci.yml
HaoK Mar 4, 2022
dd739e6
Update Build.props
HaoK Mar 4, 2022
d11c001
Undo x86 change
HaoK Mar 4, 2022
1ab85dd
Fix sln entry for arm64 build
HaoK Mar 4, 2022
fae1c12
Update ci.yml
HaoK Mar 4, 2022
3d1cee8
Revert "Clean up installer build"
HaoK Mar 5, 2022
0089538
Merge branch 'haok/arm64' of https://github.com/dotnet/aspnetcore int…
HaoK Mar 5, 2022
54c3d8a
Update iisca.vcxproj
HaoK Mar 5, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .azure/pipelines/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -234,14 +234,15 @@ stages:
$(WindowsSignLogArgs)
displayName: Code sign packages

# Windows installers bundle both x86 and x64 assets
# Windows installers bundle x86/x64/arm64 assets
- script: ./eng/build.cmd
-ci
-noBuildRepoTasks
-sign
-buildInstallers
-noBuildNative
/p:DotNetSignType=$(_SignType)
/p:BuildInParallel=false
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you look at recent builds of 'main' w/o this change and let us know whether this significantly slows down the job❔ This is often the longest job in official builds and we need to be careful about build perf regressions.

More generally, the problems you hit earlier indicate a wider problem w/ up-to-date (not fast up-to-date) checks in our native projects. The native project references shouldn't cause any rebuilds of the work done in earlier steps. Please file a fairly urgent issue to get to the root of this.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure filed #40486

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build installers step only takes 5 minutes in total, in a main build today it looks like it took 4:41, so not talking about a lot of time since there's only a handful of cpp files in the installers, https://dev.azure.com/dnceng/public/_build/results?buildId=1638321&view=logs&j=1b89928a-2219-5ef9-602f-f95beb3da4dc was the reference build

Looks like there might still be a race in here, since a second build looks like it failed after I just removed the artifacts from the yml

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dougbu any ideas why the installers build ends up calling clean on the arm64 pdbs, looks like this is what causes the sporadic problem where the iiscommon.pdb is missing: There doesn't appear to even be any special arm64 settings in the vcxproj: https://github.com/dotnet/aspnetcore/blob/haok/arm64/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/lib/IISSetup.CommonLib.vcxproj

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding @(Clean) items isn't the same thing as executing the Clean target. Do you see matches for $target Clean in your binary log❔

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay I think the issue is the arm64 references are not behaving like the existing x64/x86, I'm not sure why, I added them just like the other ones: in Directory.Build.props

<ProjectReference Include="$(_ServerIISBasePath)AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj">

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah something really wonky is going on, there's multiple arm64/ARM64 outputs now, platform is case sensitive?

Looks like my change from Win32/x86 also resulted in an 5th platform too so it seems to be producing x64, x86, Win32, arm64, ARM64

  IISSetup.CommonLib.vcxproj -> D:\a\_work\1\s\artifacts\bin\IISSetup.CommonLib\x64\Release\iiscommon.lib
  IISSetup.CommonLib.vcxproj -> D:\a\_work\1\s\artifacts\bin\IISSetup.CommonLib\x86\Release\iiscommon.lib
  acache.cxx
  ahutil.cpp
  base64.cxx
  datetime.cxx
  multisz.cxx
  multisza.cxx
  normalize.cxx
  stringa.cpp
  stringu.cpp
  ulparse.cxx
  util.cxx
  IISSetup.CommonLib.vcxproj -> D:\a\_work\1\s\artifacts\bin\IISSetup.CommonLib\ARM64\Release\iiscommon.lib
  IISSetup.CommonLib.vcxproj -> D:\a\_work\1\s\artifacts\bin\IISSetup.CommonLib\arm64\Release\iiscommon.lib
  cgi_restrictions.cpp
  ConfigShared.cpp
  config_custom.cpp
  consoleprops.cpp
  defaults.cpp
  elevatedsc.cpp
  IISSetup.CommonLib.vcxproj -> D:\a\_work\1\s\artifacts\bin\IISSetup.CommonLib\Win32\Release\iiscommon.lib

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guessing this is the result of letting everything != arm go through, I'm reverting that change I guess

$(_BuildArgs)
$(_InternalRuntimeDownloadArgs)
$(WindowsInstallersLogArgs)
Expand Down
6 changes: 4 additions & 2 deletions AspNetCore.sln
Original file line number Diff line number Diff line change
Expand Up @@ -9774,7 +9774,8 @@ Global
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E}.Debug|x86.Build.0 = Debug|Win32
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E}.Debug|x86.Deploy.0 = Debug|Win32
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E}.Release|Any CPU.ActiveCfg = Release|Win32
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E}.Release|arm64.ActiveCfg = Release|Win32
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E}.Release|arm64.ActiveCfg = Release|ARM64
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E}.Release|arm64.Build.0 = Release|ARM64
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E}.Release|x64.ActiveCfg = Release|x64
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E}.Release|x64.Build.0 = Release|x64
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E}.Release|x86.ActiveCfg = Release|Win32
Expand All @@ -9788,7 +9789,8 @@ Global
{B54A8F61-60DE-4AD9-87CA-D102F230678E}.Debug|x86.Build.0 = Debug|Win32
{B54A8F61-60DE-4AD9-87CA-D102F230678E}.Debug|x86.Deploy.0 = Debug|Win32
{B54A8F61-60DE-4AD9-87CA-D102F230678E}.Release|Any CPU.ActiveCfg = Release|Win32
{B54A8F61-60DE-4AD9-87CA-D102F230678E}.Release|arm64.ActiveCfg = Release|Win32
{B54A8F61-60DE-4AD9-87CA-D102F230678E}.Release|arm64.ActiveCfg = Release|ARM64
{B54A8F61-60DE-4AD9-87CA-D102F230678E}.Release|arm64.Build.0 = Release|ARM64
{B54A8F61-60DE-4AD9-87CA-D102F230678E}.Release|x64.ActiveCfg = Release|x64
{B54A8F61-60DE-4AD9-87CA-D102F230678E}.Release|x64.Build.0 = Release|x64
{B54A8F61-60DE-4AD9-87CA-D102F230678E}.Release|x86.ActiveCfg = Release|Win32
Expand Down
8 changes: 6 additions & 2 deletions eng/Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,19 @@
</ItemGroup>
</When>
<Otherwise>
<ItemGroup Condition=" '$(BuildInstallers)' == 'true' AND '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64') ">
<ItemGroup Condition=" '$(BuildInstallers)' == 'true' AND '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64') ">
<!-- Build the ANCM custom action -->
HaoK marked this conversation as resolved.
Show resolved Hide resolved
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x64" />
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=Win32" />
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x86" />
HaoK marked this conversation as resolved.
Show resolved Hide resolved
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj" AdditionalProperties="Platform=arm64" />

<!-- Build the ANCM msis -->
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x64" />
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x86" />
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj" AdditionalProperties="Platform=arm64" />
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=x64" />
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=x86" />
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\AspNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj" AdditionalProperties="Platform=arm64" />

<!-- Build the targeting pack installers -->
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\TargetingPack\TargetingPack.wixproj" AdditionalProperties="Platform=x64" />
Expand All @@ -89,6 +92,7 @@

<!-- Windows hosting bundled -->
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\WindowsHostingBundle\WindowsHostingBundle.wixproj" AdditionalProperties="Platform=x86" />
<ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\WindowsHostingBundle\WindowsHostingBundle.wixproj" AdditionalProperties="Platform=arm64" />
</ItemGroup>

<ItemGroup Condition=" '$(BuildInstallers)' == 'true' AND '$(TargetOsName)' == 'win' AND '$(TargetArchitecture)' == 'arm64' ">
Expand Down
10 changes: 10 additions & 0 deletions src/Installers/Windows/AspNetCoreModule-Setup/ANCM-Setup.slnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"solution": {
"path": "..\\..\\..\\..\\AspNetCore.sln",
"projects" : [
"src\\Installers\\Windows\\AspNetCoreModule-Setup\\CustomAction\\aspnetcoreCA.vcxproj",
"src\\Installers\\Windows\\AspNetCoreModule-Setup\\IIS-Setup\\iisca\\lib\\iisca.vcxproj",
"src\\Installers\\Windows\\AspNetCoreModule-Setup\\IIS-Setup\\IIS-Common\\lib\\IISSetup.CommonLib.vcxproj"
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,16 @@
<?define AspNetCoreTraceProviderValue = "65536" ?>
<?define AspNetCoreModuleName = "AspNetCoreModuleV2" ?>

<?if $(var.Platform) = "x64" ?>
<?if $(var.Platform) = "x86" ?>
<?define SchemaGuid = "e629b31a-3d56-4b5c-959c-586fc1c55599" ?>
<?define AspNetCoreV2ProgramFilesTargetPath = "$(var.AspNetCoreV2WoW64.TargetPath)" ?>
<?define AspNetCoreV2HandlerProgramFilesTargetPath = "$(var.AspNetCoreV2HandlerWoW64.TargetPath)" ?>
<?else ?>
<!-- REVIEW does arm64 need to be different than x64 for anything?-->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<?define SchemaGuid = "ab582af2-d6c0-43f7-8412-76a19c65d7f2" ?>
<?define SchemaGuid32 = "e629b31a-3d56-4b5c-959c-586fc1c55599" ?>
<?define AspNetCoreV2ProgramFilesTargetPath = "$(var.AspNetCoreV2.TargetPath)" ?>
<?define AspNetCoreV2HandlerProgramFilesTargetPath = "$(var.AspNetCoreV2Handler.TargetPath)" ?>
<?else ?>
<?define SchemaGuid = "e629b31a-3d56-4b5c-959c-586fc1c55599" ?>
<?define AspNetCoreV2ProgramFilesTargetPath = "$(var.AspNetCoreV2WoW64.TargetPath)" ?>
<?define AspNetCoreV2HandlerProgramFilesTargetPath = "$(var.AspNetCoreV2HandlerWoW64.TargetPath)" ?>
<?endif ?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:dep="http://schemas.microsoft.com/wix/DependencyExtension">
Expand All @@ -56,7 +57,7 @@
Manufacturer="!(loc.Manufacturer)"
Compressed="yes"
InstallPrivileges="elevated"
InstallerVersion="400"
HaoK marked this conversation as resolved.
Show resolved Hide resolved
InstallerVersion="$(var.ANCMInstallerVersion)"
Platform="$(var.PlatformValue)" />

<Media Id="1" Cabinet="aspnetcoremodule.cab" EmbedCab="yes" CompressionLevel="high"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,12 @@
<?if $(var.Platform) = "x64" ?>
<?define AspNetCoreV2ProgramFilesTargetPath = "$(var.AspNetCoreV2.TargetPath)" ?>
<?define AspNetCoreV2HandlerProgramFilesTargetPath = "$(var.AspNetCoreV2Handler.TargetPath)" ?>
<?else ?>
<?elseif $(var.Platform) = "x86" ?>
<?define AspNetCoreV2ProgramFilesTargetPath = "$(var.AspNetCoreV2WoW64.TargetPath)" ?>
<?define AspNetCoreV2HandlerProgramFilesTargetPath = "$(var.AspNetCoreV2HandlerWoW64.TargetPath)" ?>
<?elseif $(var.Platform) = "arm64" ?>
<?define AspNetCoreV2ProgramFilesTargetPath = "$(var.AspNetCoreV2ARM64.TargetPath)" ?>
<?define AspNetCoreV2HandlerProgramFilesTargetPath = "$(var.AspNetCoreV2HandlerARM64.TargetPath)" ?>
<?endif ?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:dep="http://schemas.microsoft.com/wix/DependencyExtension">
Expand All @@ -46,7 +49,7 @@
Manufacturer="!(loc.Manufacturer)"
Compressed="yes"
InstallPrivileges="elevated"
InstallerVersion="400"
InstallerVersion="$(var.ANCMInstallerVersion)"
Platform="$(var.PlatformValue)" />

<Media Id="1" Cabinet="aspnetcoremodule.cab" EmbedCab="yes" CompressionLevel="high"/>
Expand Down Expand Up @@ -85,12 +88,14 @@
<?endif ?>

<!-- also prevent install of 64-bit product on 32-bit machine -->
<?if $(var.Platform) = "x64"?>
<?if $(var.Platform) = "x64" OR $(var.Platform) = "arm64"?>
<Condition Message="!(loc.LaunchCondition_32BIT)">
<![CDATA[(Installed And NOT PATCH) Or VersionNT64]]>
</Condition>
<?endif ?>

<!-- REVIEW need arm64 checks too? -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


<Property Id="ALLUSERS">1</Property>

<!-- Detect IIS version and require 7.5 -->
Expand Down Expand Up @@ -215,6 +220,50 @@
</Directory>
</Directory>
<?endif ?>

<!-- ARM64 Support -->
<?if $(var.Platform) = "arm64" ?>
<Component Id="C_DiscoverabilityKeyARM64" Guid="2eeb90e8-28d0-4543-9c2f-843b03bd6d05" Win64="no">
<RegistryKey Root="HKLM" Key="$(var.DiscoverabilityKeyRoot)">
<RegistryKey Key="$(var.ProductShortName)">
<RegistryValue Type="integer" Name="Install" Value="1" />
<RegistryValue Type="string" Name="Version" Value="$(var.ANCMMsiVersion)" />
</RegistryKey>
</RegistryKey>
</Component>

<Directory Id="$(var.ProgramFilesFolder32)">
<Directory Id="IISModuleDirectory32" Name="IIS">
<Directory Id="INSTALLLOCATION32" ShortName="ANCM" Name="Asp.Net Core Module">
<Directory Id="VersionDir32" Name="$(var.ProductVersionString)" SourceName="Arm64Only" >
<Component Id="AspNetCoreModuleV2.arm64" Guid="1b8ecba0-c002-442a-92c0-0fa9c0f21df4" Win64="no">
<File Id="AspNetCoreModuleV2Dll.arm64"
Name="aspnetcorev2.dll"
Source="$(var.AspNetCoreV2ARM64.TargetPath)"
DiskId="1"
Vital="yes">
</File>
<RemoveFile Id="AspNetCoreModuleV2Dll.arm64_Remove" Name="aspnetcorev2.dll" On="install" />
<RegistryKey Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\EventLog\Application\$(var.ProductShortName)">
<RegistryValue Name="EventMessageFile" Type="expandable" Value="[#AspNetCoreModuleV2Dll.arm64]"/>
<RegistryValue Name="TypesSupported" Type="integer" Value="7"/>
</RegistryKey>
</Component>
<Directory Id="HandlerVersionDir32" Name="$(var.ANCMFolderVersion)" SourceName="Arm64Only">
<Component Id="AspNetCoreModuleHandler.arm64" Guid="d927e5d3-c8b2-400c-b85c-ae5c2772d6c3" Win64="no">
<File Id="AspNetCoreModuleHandlerDll.arm64"
Name="aspnetcorev2_outofprocess.dll"
Source="$(var.AspNetCoreV2HandlerARM64.TargetPath)"
DiskId="1"
Vital="yes">
</File>
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<?endif ?>
</Directory>

<!-- Feature Definition -->
Expand All @@ -228,6 +277,11 @@
<ComponentRef Id="AspNetCoreModuleV2.wow"/>
<ComponentRef Id="AspNetCoreModuleHandler.wow"/>
<?endif ?>
<?if $(var.Platform) = "arm64" ?>
<ComponentRef Id="C_DiscoverabilityKeyARM64"/>
<ComponentRef Id="AspNetCoreModuleV2.arm64"/>
<ComponentRef Id="AspNetCoreModuleHandler.arm64"/>
<?endif ?>
</Feature>

<!-- User Interface -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,55 +12,17 @@

<Import Condition="'$(IIS-Setup)' == '' AND Exists('$(_IIS-SetupExportsPath)')" Project="$(_IIS-SetupExportsPath)" />

<!-- Build error if submodule dependencies could not be found. -->
<Import Project="..\build\settings.props" />
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{7C27E72F-54D0-4820-8CFA-5E4BE640974B}</ProjectGuid>
<RootNamespace>aspnetcoreca</RootNamespace>
<ProjectName>aspnetcoreCA</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolsetVersion Condition="'$(VisualStudioVersion)' == '17.0' ">v143</PlatformToolsetVersion>
<PlatformToolsetVersion Condition="'$(PlatformToolsetVersion)' == ''">v142</PlatformToolsetVersion>
<PlatformToolset>$(PlatformToolsetVersion)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<VCToolsVersion />
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

<!-- Build error if submodule dependencies could not be found. -->
<Import Project="..\build\common.settings" />


<PropertyGroup>
<AdditionalIncludeDirectories>$(IIS-Common)version;$(IIS-Common)Include;$(IIS-Setup)iisca\lib;$(WIX)sdk\$(WixPlatformToolset)\inc;$(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,5 +70,20 @@
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<SetPlatform>Platform=Win32</SetPlatform>
</ProjectReference>

<ProjectReference Include="$(_ServerIISBasePath)AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: This file is much more verbose than it needs to be. Could we please switch to using attributes on the <ProjectReference/> elements soon❔

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you tell me what you want to do here, I'm happy to clean that up the next time I do an installers PR

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

e.g. for the last <ProjectReference /> element…

    <ProjectReference Include="$(_ServerIISBasePath)AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj"
        Name="AspNetCoreV2HandlerARM64"
        Private="True"
        DoNotHarvest="True"
        ReferenceOutputAssembly="false"
        SetPlatform="Platform=ARM64" />

<Name>AspNetCoreV2ARM64</Name>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<SetPlatform>Platform=ARM64</SetPlatform>
</ProjectReference>
<ProjectReference Include="$(_ServerIISBasePath)AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj">
<Name>AspNetCoreV2HandlerARM64</Name>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<SetPlatform>Platform=ARM64</SetPlatform>
</ProjectReference>
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -1,58 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\..\build\submodule.props" />
<Import Project="..\..\..\build\settings.props" />

<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B54A8F61-60DE-4AD9-87CA-D102F230678E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Lib</RootNamespace>
<ProjectName>CommonLib</ProjectName>
<PlatformToolsetVersion Condition=" '$(VisualStudioVersion)' == '17.0' ">v143</PlatformToolsetVersion>
<PlatformToolsetVersion Condition=" '$(PlatformToolsetVersion)' == '' ">v142</PlatformToolsetVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>$(PlatformToolsetVersion)</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<WholeProgramOptimization>false</WholeProgramOptimization>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

<Import Project="..\..\..\build\common.settings" />

<PropertyGroup>
<IncludePath>$(ProjectDir)..\include;$(IncludePath)</IncludePath>
<TargetName>iiscommon</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<VCToolsVersion />
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<SDLCheck>true</SDLCheck>
Expand Down
Loading