Skip to content

Commit

Permalink
Add WindowsBase, PresentationCore, PresentationFramework (+more) sour…
Browse files Browse the repository at this point in the history
…ces (#720)

Add PresentationFramework, PresentationCore, WindowsBase, DirectWriteForwarder sources, along with sources for allied assemblies
  • Loading branch information
vatsan-madhavan authored May 22, 2019
1 parent 15b0559 commit ae17905
Show file tree
Hide file tree
Showing 3,987 changed files with 1,776,155 additions and 2,365 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 3 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
<Project>
<PropertyGroup>
<RepositoryName>wpf</RepositoryName>
</PropertyGroup>
<!-- Normalize $(TestWpfArcadeSdkPath) by appending a '\' to it if one is missing -->
<PropertyGroup Condition="'$(TestWpfArcadeSdkPath)'!=''">
<WpfArcadeSdkPath>$(TestWpfArcadeSdkPath)</WpfArcadeSdkPath>
Expand Down
313 changes: 313 additions & 0 deletions Microsoft.Dotnet.Wpf.sln

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<add key="myget-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="dotnet-wd" value="https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json" />
<add key="aspnet-core" value="https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore/index.json" />
<!--
Add additional paths here
For e.g., if you want to test a locally build nuget package, you can add it like this:
Expand Down
10 changes: 2 additions & 8 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,13 @@
# Parameters ARE available in template expressions, and parameters can have default values,
# so they can be used to control yaml flow.
#
# TODO:
# BuildMsBuildSdkPackages, _BuildMsBuildSdkPackages, _BuildMsBuildSdkPackagesArgs should be removed eventually, when
# Microsoft.DotNet.Arcade.Wpf.Sdk is moved from dnceng/dotnet-wpf-int to github/dotnet/wpf.
# When that move happens, there would be no need to suppress the Sdk build by default. Currently,
# allowing the Sdk to build every time will result in an infinite loop that triggers a dotnet/wpf built,

variables:

# clean the local repo on the build agents
Build.Repository.Clean: true
# When set to true in a manual built, it produces and publishes
# Microsoft.DotNet.Arcade.Wpf.Sdk
BuildMsBuildSdkPackages: false


_PublishUsingPipelines: true
_DotNetArtifactsCategory: WINDOWSDESKTOP

Expand Down
4 changes: 4 additions & 0 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,5 +79,9 @@
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int</Uri>
<Sha>9d4340c064627887a27dff7681367124823fffd8</Sha>
</Dependency>
<Dependency Name="System.IO.Packaging" Version="4.6.0-preview6.19270.2" CoherentParentDependency="Microsoft.NETCore.App">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>189766719a059512a515d488efc5c65c7abf0650</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
5 changes: 4 additions & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<VersionPrefix>4.8.0</VersionPrefix>
<PreReleaseVersionLabel>preview6</PreReleaseVersionLabel>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<SystemIOPackagingVersion>4.6.0-preview6.19264.8</SystemIOPackagingVersion>
<SystemIOPackagingVersion>4.6.0-preview6.19270.2</SystemIOPackagingVersion>
</PropertyGroup>
<!-- NuGet Package Versions -->
<PropertyGroup>
Expand Down Expand Up @@ -57,6 +57,7 @@
<RestoreSources>
$(RestoreSources);
https://dotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json;
https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json;
https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json
</RestoreSources>
</PropertyGroup>
Expand All @@ -67,6 +68,8 @@
<SystemDrawingCommonPackage>System.Drawing.Common</SystemDrawingCommonPackage>
<SystemDirectoryServicesPackage>System.DirectoryServices</SystemDirectoryServicesPackage>
<MicrosoftDotNetWpfDncEngPackage>Microsoft.DotNet.Wpf.DncEng</MicrosoftDotNetWpfDncEngPackage>
<SystemIOPackagingPackage>System.IO.Packaging</SystemIOPackagingPackage>
<SystemReflectionMetadataLoadContextPackage>System.Reflection.MetadataLoadContext</SystemReflectionMetadataLoadContextPackage>
</PropertyGroup>
<!--
This is a toolset dependency added for use *only* by tests
Expand Down
8 changes: 5 additions & 3 deletions eng/WpfArcadeSdk/Sdk/Sdk.props
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@

<PropertyGroup>
<GenXmlStringTable>$(WpfArcadeSdkToolsDir)GenXmlStringTable.pl</GenXmlStringTable>

<PublishWindowsPdb Condition="'$(IsShipping)'=='' And '$(IsPackagingProject)'!='true'">true</PublishWindowsPdb>

<LangVersion Condition="'$(LangVersion)'==''">8.0</LangVersion>
<CLSCompliant Condition="'$(CLSCompliant)'==''">true</CLSCompliant>
<IncludeDllSafeSearchPathAttribute Condition="'$(IncludeDllSafeSearchPathAttribute )'==''">true</IncludeDllSafeSearchPathAttribute>
Expand Down Expand Up @@ -57,6 +54,11 @@
https://github.com/dotnet/arcade/issues/2304
-->
<NoWarn>$(NoWarn);NU3027</NoWarn>

<!--
Suppress NU1605 (Package downgrade warnings) when building inside Visual Studio
-->
<NoWarn Condition="'$(BuildingInsideVisualStudio)'=='true'">$(NoWarn);NU1605</NoWarn>
</PropertyGroup>

<!-- When an Sdk-style project sets NoTargets=true, it will produce no assemblies -->
Expand Down
1 change: 1 addition & 0 deletions eng/WpfArcadeSdk/Sdk/Sdk.targets
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<Import Project="$(WpfArcadeSdkToolsDir)Signing.targets" />

<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="$(WpfArcadeSdkToolsDir)FolderPaths.targets"/>
<Import Project="$(WpfArcadeSdkToolsDir)RuntimeFrameworkReference.targets"/>
<Import Project="$(WpfArcadeSdkToolsDir)InlineTasks.targets" />
<Import Project="$(WpfArcadeSdkToolsDir)ShippingProjects.targets" />
Expand Down
4 changes: 3 additions & 1 deletion eng/WpfArcadeSdk/tools/FolderPaths.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<PropertyGroup>
<WpfCycleBreakersDir>$(RepoRoot)src\Microsoft.DotNet.Wpf\cycle-breakers\</WpfCycleBreakersDir>
<WpfSourceDir>$(RepoRoot)src\Microsoft.DotNet.Wpf\src\</WpfSourceDir>
<WpfSharedDir>$(WpfSourceDir)shared\</WpfSharedDir>
<WpfGraphicsPath>$(WpfSourceDir)WpfGfx\</WpfGraphicsPath>
<WpfGraphicsDir>$(WpfGraphicsPath)</WpfGraphicsDir>
<WpfPresentationNativeDir>$(WpfSourceDir)PresentationNative\</WpfPresentationNativeDir>
</PropertyGroup>
</Project>
20 changes: 20 additions & 0 deletions eng/WpfArcadeSdk/tools/FolderPaths.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<Project>
<PropertyGroup>
<!-- $(WpfSharedDir) is present in the current repository -->
<WpfSharedDir Condition="Exists('$(WpfSourceDir)shared\') And '$(RepositoryName)'!='dotnet-wpf-int'">$(WpfSourceDir)shared\</WpfSharedDir>
<!-- Consume from NuGet cache -->
<WpfSharedDir Condition="'$(WpfSharedDir)'=='' And Exists('$(WpfArcadeSdkRoot)src\shared\')">$(WpfArcadeSdkRoot)src\shared\</WpfSharedDir>
<!-- Consume from $(WpfTestArcadeWpfSdkPath) -->
<WpfSharedDir Condition="'$(WpfSharedDir)'=='' And Exists('$(WpfArcadeSdkRoot)..\..\src\Microsoft.DotNet.Wpf\src\Shared\')">$(WpfArcadeSdkRoot)..\..\src\Microsoft.DotNet.Wpf\src\Shared\</WpfSharedDir>

<!-- $(WpfCommonDir) is present in the current repository -->
<WpfCommonDir Condition="Exists('$(WpfSourceDir)Common\') And '$(RepositoryName)'!='dotnet-wpf-int'">$(WpfSourceDir)Common\</WpfCommonDir>
<!-- Consume from NuGet cache -->
<WpfCommonDir Condition="'$(WpfCommonDir)'=='' And Exists('$(WpfArcadeSdkRoot)src\Common\')">$(WpfArcadeSdkRoot)src\Common\</WpfCommonDir>
<!-- Consume from $(WpfTestArcadeWpfSdkPath) -->
<WpfCommonDir Condition="'$(WpfCommonDir)'=='' And Exists('$(WpfArcadeSdkRoot)..\..\src\Microsoft.DotNet.Wpf\src\Common\')">$(WpfArcadeSdkRoot)..\..\src\Microsoft.DotNet.Wpf\src\Common\</WpfCommonDir>


<WpfTracingDir>$(WpfSharedDir)Tracing\</WpfTracingDir>
</PropertyGroup>
</Project>
18 changes: 13 additions & 5 deletions eng/WpfArcadeSdk/tools/SdkReferences.targets
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@
-->
<ItemGroup>
<Reference Include="$(PkgMicrosoft_NETCore_App)\ref\$(TargetFramework)\%(NetCoreReference.Identity).dll"
Condition="Exists('$(PkgMicrosoft_NETCore_App)\ref\$(TargetFramework)\%(NetCoreReference.Identity).dll')" />
Condition="Exists('$(PkgMicrosoft_NETCore_App)\ref\$(TargetFramework)\%(NetCoreReference.Identity).dll')" >
<NuGetPackageId>Microsoft.NetCore.App</NuGetPackageId>
</Reference>
</ItemGroup>
</Target>

Expand Down Expand Up @@ -102,7 +104,7 @@

<Target Name="ResolveMicrosoftWindowsDesktopAppReferences"
Returns="@(Reference)"
Condition="'$(PkgMicrosoft_WindowsDesktop_App)'!='' And '@(WindowsDesktopAppeference)'!='' and $(TargetFramework.StartsWith('netcoreapp3')) and '$(DoNotLimitWindowsDesktopAppReferences)'!='true'">
Condition="'$(PkgMicrosoft_WindowsDesktop_App)'!='' And '@(WindowsDesktopAppReference)'!='' and $(TargetFramework.StartsWith('netcoreapp3')) and '$(DoNotLimitWindowsDesktopAppReferences)'!='true'">
<!--
In your project, Add a references to assemblies from Microsoft.NETCore.App like this
<ItemGroup>
Expand All @@ -112,7 +114,9 @@
-->
<ItemGroup>
<Reference Include="$(PkgMicrosoft_WindowsDesktop_App)\ref\$(TargetFramework)\%(NetCoreReference.Identity).dll"
Condition="Exists('$(PkgMicrosoft_WindowsDesktop_App)\ref\$(TargetFramework)\%(NetCoreReference.Identity).dll')" />
Condition="Exists('$(PkgMicrosoft_WindowsDesktop_App)\ref\$(TargetFramework)\%(NetCoreReference.Identity).dll')">
<NuGetPackageId>Microsoft.WindowsDesktop.App</NuGetPackageId>
</Reference>
</ItemGroup>
</Target>

Expand Down Expand Up @@ -170,7 +174,9 @@
-->
<ItemGroup>
<Reference Include="$(PkgMicrosoft_DotNet_Wpf_GitHub)\ref\$(TargetFramework)\%(MicrosoftDotNetWpfGitHubReference.Identity).dll"
Condition="Exists('$(PkgMicrosoft_DotNet_Wpf_GitHub)\ref\$(TargetFramework)\%(MicrosoftDotNetWpfGitHubReference.Identity).dll')"/>
Condition="Exists('$(PkgMicrosoft_DotNet_Wpf_GitHub)\ref\$(TargetFramework)\%(MicrosoftDotNetWpfGitHubReference.Identity).dll')">
<NuGetPackageId>Microsoft.DotNet.Wpf.GitHub</NuGetPackageId>
</Reference>
</ItemGroup>
</Target>

Expand All @@ -190,7 +196,9 @@
Condition="'@(MicrosoftPrivateWinFormsReference)'!='' And $(TargetFramework.StartsWith('netcoreapp3'))">
<ItemGroup>
<Reference Include="$(PkgMicrosoft_Private_Winforms)\ref\$(TargetFramework)\%(MicrosoftPrivateWinFormsReference.Identity).dll"
Condition="Exists('$(PkgMicrosoft_Private_Winforms)\ref\$(TargetFramework)\%(MicrosoftPrivateWinFormsReference.Identity).dll')"/>
Condition="Exists('$(PkgMicrosoft_Private_Winforms)\ref\$(TargetFramework)\%(MicrosoftPrivateWinFormsReference.Identity).dll')">
<NuGetPackageId>Microsoft.Private.Winforms</NuGetPackageId>
</Reference>
</ItemGroup>
</Target>
</Project>
22 changes: 11 additions & 11 deletions eng/WpfArcadeSdk/tools/ShippingProjects.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,36 @@
<PropertyGroup>
<ExternalShippingProjects>
System.Xaml;
PresentationBuildTasks
</ExternalShippingProjects>

<InternalShippingProjects>
PresentationBuildTasks;
PresentationCore;
DirectWriteForwarder;
PresentationCore-CommonResources;
PresentationFramework;
ReachFramework;
UIAutomationClient;
UIAutomationClientSideProviders;
UIAutomationProvider;
UIAutomationTypes;
WindowsBase;
System.Windows.Input.Manipulations;
</ExternalShippingProjects>

<InternalShippingProjects>
PresentationFramework-SystemCore;
PresentationFramework-SystemData;
PresentationFramework-SystemDrawing;
PresentationFramework-SystemXml;
PresentationFramework-SystemXmlLinq;
PresentationUI;
ReachFramework;
System.Printing;
System.Windows.Controls.Ribbon;
System.Windows.Input.Manipulations;
System.Windows.Presentation;
PresentationFramework.Aero;
PresentationFramework.Aero2;
PresentationFramework.AeroLite;
PresentationFramework.Classic;
PresentationFramework.Luna;
PresentationFramework.Royale;
UIAutomationClient;
UIAutomationClientSideProviders;
UIAutomationProvider;
UIAutomationTypes;
WindowsBase;
WindowsFormsIntegration;
PenImc;
PresentationNative;
Expand Down
2 changes: 2 additions & 0 deletions eng/WpfArcadeSdk/tools/ShippingProjects.targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,7 @@
<ExcludeRefAssemblies Condition="'$(PackageName)'=='$(WindowsDesktopSdkPackageName)'">true</ExcludeRefAssemblies>
<ExcludePdbs Condition="'$(PackageName)'=='$(WindowsDesktopSdkPackageName)'">true</ExcludePdbs>
<IncludeAssembliesInArchNeutralPackage Condition="'$(PackageName)'=='$(WindowsDesktopSdkPackageName)'">true</IncludeAssembliesInArchNeutralPackage>
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
<PublishWindowsPdb Condition="'$(IsShipping)'=='true' And '$(IsPackagingProject)'!='true'">true</PublishWindowsPdb>
</PropertyGroup>
</Project>
118 changes: 111 additions & 7 deletions eng/WpfArcadeSdk/tools/TestProjects.targets
Original file line number Diff line number Diff line change
@@ -1,27 +1,131 @@
<Project>
<PropertyGroup Condition="'$(WpfTest)'=='true'">
<PropertyGroup Condition="'$(WpfTest)'=='true' Or '$(IsTestProject)'=='true'">
<RuntimeIdentifier Condition="('$(Platform)'!='AnyCPU' and '$(Platform)'!='Win32') Or $(Platform.EndsWith('64'))">win-$(Platform)</RuntimeIdentifier>
<RuntimeIdentifier Condition="'$(Platform)'=='AnyCPU' or '$(Platform)'=='Win32' or '$(Platform)'=='x86'">win-x86</RuntimeIdentifier>
</PropertyGroup>
<!-- Arcade SDK defaults to AnyCpu ~= x64. In WPF, we will map AnyCpu => x86 instead -->
<PropertyGroup Condition="'$(IsTestProject)' == 'true' or '$(WpfTest)'=='true'">
<TestArchitectures Condition="'$(PlatformTarget)' == '' or '$(PlatformTarget)' == 'AnyCpu'">x86</TestArchitectures>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<IsSelfContained>true</IsSelfContained>
</PropertyGroup>

<ItemGroup Condition="'$(WpfTest)'=='true'">
<PackageReference Include="runtime.$(RuntimeIdentifier).$(MicrosoftDotNetWpfDncEngPackage)"

<ItemGroup Condition="'$(IsTestProject)' == 'true' or '$(WpfTest)'=='true'">
<!--
Only reference Microsoft.DotNet.Wpf.DncEng when building tests in dotnet/wpf
This references is not needed when building tests in dotnet-wpf-int
-->
<PackageReference Include="runtime.$(RuntimeIdentifier).$(MicrosoftDotNetWpfDncEngPackage)"
Condition="'$(RepositoryName)'=='wpf'"
Version="$(MicrosoftDotNetWpfDncEngVersion)">
<CopyLocal>true</CopyLocal>
<GeneratePathProperty>true</GeneratePathProperty>
</PackageReference>

<!--
PackageReference from individual WPF projects here
-->
<PackageReference Include="$(SystemIOPackagingPackage)" Version="$(SystemIOPackagingVersion)" CopyLocal="true" />
<PackageReference Include="Microsoft.Win32.Registry" Version="$(MicrosoftWin32RegistryPackageVersion)" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="$(SystemConfigurationConfigurationManagerPackageVersion)" CopyLocal="true" />
<PackageReference Include="System.Diagnostics.EventLog" Version="$(SystemDiagnosticsEventLogPackageVersion)" CopyLocal="true" />
<PackageReference Include="System.Security.Cryptography.Xml" Version="$(SystemSecurityCryptographyXmlPackageVersion)" CopyLocal="true" />
<PackageReference Include="System.Security.Permissions" Version="$(SystemSecurityPermissionsPackageVersion)" CopyLocal="true" />
<PackageReference Include="System.Windows.Extensions" Version="$(SystemWindowsExtensionsPackageVersion)" CopyLocal="true" />

<PackageReference Include="System.Security.AccessControl" Version="$(SystemSecurityAccessControlPackageVersion)" CopyLocal="true" />
<PackageReference Include="System.Security.Principal.Windows" Version="$(SystemSecurityPrincipalWindowsPackageVersion)" CopyLocal="true" />



<!-- These exist to ensure that dependencies (esp. native ones) are binplaced with tests correctly -->
<None Condition="'$(RuntimeIdentifier)'=='win-x64'"
Include="$(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_DncEng)\runtimes\$(RuntimeIdentifier)\native\*.dll"
<None Condition="'$(RuntimeIdentifier)'=='win-x64'"
Include="$(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_DncEng)\runtimes\$(RuntimeIdentifier)\native\*.dll"
CopyToOutputDirectory="PreserveNewest"/>
<None Condition="'$(RuntimeIdentifier)'=='win-x86'"
Include="$(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_DncEng)\runtimes\$(RuntimeIdentifier)\native\*.dll"
Include="$(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_DncEng)\runtimes\$(RuntimeIdentifier)\native\*.dll"
CopyToOutputDirectory="PreserveNewest"/>

<_wpfProjectsNotWindowsBase Include="@(WpfProjectPath)" Exclude="WindowsBase" />
<_wpfProjectsWindowsBase Include="@(WpfProjectPath)" Exclude="@(_wpfProjectsWindowsBase)" />

<!--
Do not include WindowsBase. There is a bug in the SDK that will prevent proper deps.json generation when WindowsBase.csproj
and Microsoft.NetCore.App/WindowsBase.dll clash. Part of the problem is due to https://github.com/dotnet/sdk/issues/2674.
Directly referencing DLL's works correctly and generates good deps.json. So instead of reference WindowsBase.csproj, just
obtain the raw path to WindowsBase.dll and add it to @(Reference). This is safe to do since
WindowsBase will be built as a transitive reference via PresentationCore, PresentationFramework etc.
Also make sure that Microsoft.NetCore.App/WindowsBase.dll is removed from @(Reference).
-->
<ProjectReference Include="@(_wpfProjectsNotWindowsBase->'%(ProjectPath)')" >
<Private>True</Private>
<OutputItemType>_wpfProjectReferenceLocallyBuildAssemblies</OutputItemType>
</ProjectReference>

<ProjectReference Include="@(_wpfProjectsWindowsBase->'%(ProjectPath)')" >
<Private>True</Private>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<OutputItemType>_windowsBaseAssemblyLocallyBuiltPath</OutputItemType>
</ProjectReference>
</ItemGroup>

<PropertyGroup Condition="'$(WpfTest)'=='true' or '$(IsTestProject)'=='true'">
<ResolveAssemblyReferencesDependsOn>
AddWindowsBaseToReferences;
$(ResolveAssemblyReferencesDependsOn)
</ResolveAssemblyReferencesDependsOn>
</PropertyGroup>

<Target Name="AddWindowsBaseToReferences">
<ItemGroup>
<Reference Include="%(_windowsBaseAssemblyLocallyBuiltPath.FullPath)" />
</ItemGroup>
</Target>

<Target Name="RemoveWindowsBaseNetCoreAppReference"
AfterTargets="ResolveTargetingPacks"
Returns="@(Reference)"
Condition="'$(WpfTest)'=='true' or '$(IsTestProject)'=='true'">
<ItemGroup>
<Reference Remove="@(Reference)" Condition="'%(FileName)'=='WindowsBase' and '%(Reference.ResolvedFrom)'=='TargetingPack'" />
</ItemGroup>
</Target>

<!--
This target ensures that Microsoft.DotNet.Wpf.DncEng would not inadvertently over-supply references that
are already satisfied by ProjectReference's from within this repo. This should almost never happen, except
when $(MicrosoftDotNetWpfDncEngVersion) is set to something really old (something that was built <= 05/22/2019)
-->
<Target
Name="LimitMicrosoftDotNetDncEngReferences"
AfterTargets="ResolveTargetingPacks"
Returns="@(Reference)"
Condition="'$(WpfTest)'=='true' or '$(IsTestProject)'=='true'">

<ItemGroup>
<_microsoftDotNetDncEngRefs Remove="@(_microsoftDotNetDncEngRefs)" />
<_microsoftDotNetDncEngRefs Include="@(Reference)"
Condition="'%(Reference.NuGetPackageId)'=='runtime.$(RuntimeIdentifier).Microsoft.DotNet.Wpf.DncEng'">
<OriginalPath>%(Reference.Identity)</OriginalPath>
</_microsoftDotNetDncEngRefs>
</ItemGroup>

<ItemGroup>
<_microsoftDotNetDncEngReferences Remove="@(_microsoftDotNetDncEngReferences)" />
</ItemGroup>
<FilterItem1ByItem2 Item1="@(_microsoftDotNetDncEngRefs->'%(FileName)')"
Item2="@(_wpfProjectReferenceLocallyBuildAssemblies->'%(FileName)')"
Metadata2="Identity"
PreserveItem1Metadata="true">
<Output ItemName="_microsoftDotNetDncEngReferencesToAvoid" TaskParameter="Result" />
</FilterItem1ByItem2>

<ItemGroup>
<Reference Remove="@(_microsoftDotNetDncEngReferencesToAvoid->'%(OriginalPath)')"/>
</ItemGroup>
</Target>

</Project>
Loading

0 comments on commit ae17905

Please sign in to comment.