forked from dotnet/aspnetcore
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Port native project ref changes to 2.1 (dotnet#6071)
- Loading branch information
Showing
5 changed files
with
89 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
<!-- | ||
The targets in this file resolve References to ANCM into ProjectReferences, | ||
with the right MSBuild incantations to get output copied to the right place. | ||
--> | ||
<Project> | ||
<Choose> | ||
<!-- IIS native projects only build on Windows with MSBuild.exe --> | ||
<When Condition="'$(OS)' == 'Windows_NT' AND '$(MSBuildRuntimeType)' != 'Core' "> | ||
<ItemGroup Condition=" '@(Reference->AnyHaveMetadataValue('Identity', 'AspNetCoreModuleV1'))' == 'true' "> | ||
<Reference Remove="AspNetCoreModuleV1" /> | ||
<NativeProjectReference Include="$(MSBuildThisFileDirectory)src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="@(NativeProjectReference->Count()) != 0"> | ||
<!-- TODO: investigate building just one arch at a time. --> | ||
<ProjectReference Include="@(NativeProjectReference)"> | ||
<!-- Set the arch--> | ||
<SetPlatform>Platform=x64</SetPlatform> | ||
<!-- The base path for the output. --> | ||
<LinkBase>x64\%(HandlerPath)\</LinkBase> | ||
<!-- This reference assembly doesn't need --> | ||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly> | ||
<!-- NativeContent is a custom type of item group which is assigned a target path after project references are resolved. --> | ||
<OutputItemType>NativeContent</OutputItemType> | ||
<!-- Set the copy policy. --> | ||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
<!-- This instructs the ProjectRef protocol to collect symbols as well as built output --> | ||
<Targets>Build;BuiltProjectOutputGroup;DebugSymbolsProjectOutputGroup</Targets> | ||
<!-- Optimization. Native projects don't have a .NET TargetFramework --> | ||
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties> | ||
<UndefineProperties>TargetFramework</UndefineProperties> | ||
<!-- Don't put this reference into generated .nuspec --> | ||
<PrivateAssets>All</PrivateAssets> | ||
<!-- Publish assets from this reference --> | ||
<Publish>true</Publish> | ||
</ProjectReference> | ||
|
||
<ProjectReference Include="@(NativeProjectReference)"> | ||
<!-- Set the arch--> | ||
<SetPlatform>Platform=x86</SetPlatform> | ||
<!-- The base path for the output. --> | ||
<LinkBase>x86\%(HandlerPath)\</LinkBase> | ||
<!-- This reference assembly doesn't need --> | ||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly> | ||
<!-- NativeContent is a custom type of item group which is assigned a target path after project references are resolved. --> | ||
<OutputItemType>NativeContent</OutputItemType> | ||
<!-- Set the copy policy. --> | ||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
<!-- This instructs the ProjectRef protocol to collect symbols as well as built output --> | ||
<Targets>Build;BuiltProjectOutputGroup;DebugSymbolsProjectOutputGroup</Targets> | ||
<!-- Optimization. Native projects don't have a .NET TargetFramework --> | ||
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties> | ||
<UndefineProperties>TargetFramework</UndefineProperties> | ||
<!-- Don't put this reference into generated .nuspec --> | ||
<PrivateAssets>All</PrivateAssets> | ||
<!-- Publish assets from this reference --> | ||
<Publish>true</Publish> | ||
</ProjectReference> | ||
|
||
<NativeProjectReference Remove="@(NativeProjectReference)" /> | ||
</ItemGroup> | ||
</When> | ||
</Choose> | ||
|
||
<Target Name="_GetNativeContentCopyToOutputDirectoryItems" | ||
BeforeTargets="GetCopyToOutputDirectoryItems" | ||
DependsOnTargets="ResolveProjectReferences"> | ||
|
||
<ItemGroup> | ||
<!-- Prepend LinkBase to output path. --> | ||
<NativeContent> | ||
<Link>%(LinkBase)%(FileName)%(Extension)</Link> | ||
<!-- Don't put this content in a nuget package. --> | ||
<Pack>false</Pack> | ||
</NativeContent> | ||
</ItemGroup> | ||
|
||
<!-- Add the item to the ContentWithTargetPath group, which is then used by GetCopyToOutputDirectoryItems to copy to the correct output location. --> | ||
<AssignTargetPath Files="@(NativeContent)" RootFolder="$(MSBuildProjectDirectory)"> | ||
<Output TaskParameter="AssignedFiles" ItemName="ContentWithTargetPath" /> | ||
</AssignTargetPath> | ||
</Target> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 3 additions & 1 deletion
4
src/Servers/testassets/TestSites/ServerComparison.TestSites.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters