xamarin-macios/msbuild/Xamarin.Shared/Xamarin.Mac.TargetFramework...

41 строка
2.3 KiB
XML

<!--
***********************************************************************************************
Xamarin.Mac.TargetFrameworkFix.targets
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
created a backup copy. Incorrect changes to this file will make it
impossible to load or build your projects from the command-line or the IDE.
This file imports the version- and platform-specific targets for the project importing
this file. This file also defines targets to produce an error if the specified targets
file does not exist, but the project is built anyway (command-line or IDE build).
Copyright (c) 2018 Microsoft Corp. (www.microsoft.com)
***********************************************************************************************
-->
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Hack associated with TargetFrameworkDirectory. Needs to be shared by xbuild and msbuild for now. -->
<!-- Location of Libraries -->
<Target Name="FixTargetFrameworkDirectory" AfterTargets="FixDesignTimeFacades" Condition="('$(OS)' != 'Windows_NT')">
<PropertyGroup>
<!-- For Modern / Full we overwrite TargetFrameworkDirectory to resolve non XM assemblies from our location only -->
<TargetFrameworkDirectory Condition="'$(TargetFrameworkName)' != 'System'">$(_XamarinBclPath);@(DesignTimeFacadeDirectories)</TargetFrameworkDirectory>
<!-- For system we extend, not overwrite TargetFrameworkDirectory. -->
<!-- mscorlib, System, and other BCL libs must come from Mono System to prevent corlib mistmatches. Xamarin.Mac.dll must come from XM/lib/mono/4.5/ -->
<!-- If we find cases of other non-XM assemblies being resolved from XM paths, we can look into using CandidateAssemblyFiles but it is msbuild only. -->
<TargetFrameworkDirectory Condition="'$(TargetFrameworkName)' == 'System'">$(TargetFrameworkDirectory);$(_XamarinBclPath)</TargetFrameworkDirectory>
</PropertyGroup>
</Target>
<Target Name="FixDesignTimeFacades" AfterTargets="GetReferenceAssemblyPaths" Condition="('$(OS)' != 'Windows_NT')">
<ItemGroup>
<DesignTimeFacadeDirectories Remove="@(DesignTimeFacadeDirectories)" />
<DesignTimeFacadeDirectories Include="$(_XamarinBclPath)Facades/" />
</ItemGroup>
</Target>
</Project>