xamarin-macios/msbuild/Xamarin.Mac.Tasks
monojenkins 684642a926 [xcode11] [msbuild][xm][xi] Fix building with netstandard libraries (#6959)
* [msbuild] Use task assembly path via a property

Xamarin.Mac.Common.ImplicitFacade.msbuild.targets: $(_NETBuildExtensionsTaskAssembly)

* [msbuild] Fix path to NET.Build.Extensions task assembly

.. which is no longer available for `net46`. Instead use the latest
`net472` path.

The incorrect path effectively disabled the `GetDependsOnNETStandard`
task, causing the issue.

Partially fixes https://github.com/xamarin/xamarin-macios/issues/6552 .

* [msbuild] Fix XM builds which use netstandard libraries.

`Xamarin.Mac.Common.ImplicitFacade.msbuild.targets`:

`ImplicitlyExpandDesignTimeFacades` adds a reference to `netstandard.dll`
by expanding the facades, if any of the references depend on it. Usually,
this gets handled by msbuild SDKs but in case of XM, this doesn't happen
in all cases. So, we need to scan the references for a `netstandard`
dependency.

The `ResolveAssemblyReference` task does this for us and populates
`$(_DependsOnNETStandard)` property. If it does not, then we use
`GetDependsOnNETStandard` task to get the same information.

Issue:
- the target incorrectly uses `$(DependsOnNETStandard)` instead of
  `($_DependsOnNETStandard)`.
- Fixing that means that condition `$(_DependsOnNETStandard) == ''` fails
  whenever `ResolveAssemblyReference` task runs (setting the property
  to `true` or `false`), causing `$(XM_DependsOnNETStandard)` to be unset.
    - thus failing the following logic to expand the facades when `$(_DependsOnNETStandard) == true`

So, we use the `$(_DependsOnNETStandard)` as the default value for
`$(XM_DependsOnNETStandard)`, so that it is correctly set to `true`,
irrespective of how we got that information, allowing us to correctly
expand facades when required.

Partially fixes https://github.com/xamarin/xamarin-macios/issues/6552 .

* [msbuild] Fix XI builds which use netstandard libraries.

`Xamarin.iOS.Common.targets`:

Issue:
- the target incorrectly uses `$(DependsOnNETStandard)` instead of
`($_DependsOnNETStandard)`.
- Fixing that means that condition `$(_DependsOnNETStandard) == ''` fails
whenever `ResolveAssemblyReference` task runs (setting the property
to `true` or `false`), causing `$(XI_DependsOnNETStandard)` to be unset.
- thus failing the following logic to expand the facades when `$(_DependsOnNETStandard) == true`

So, we use the `$(_DependsOnNETStandard)` as the default value for
`$(XI_DependsOnNETStandard)`, so that it is correctly set to `true`,
irrespective of how we got that information, allowing us to correctly
expand facades when required.

Prompted by: https://github.com/xamarin/xamarin-macios/issues/6552
2019-09-10 22:58:24 -07:00
..
Tasks [vsts-938452] Clean up file names and indentations 2019-08-07 16:09:58 -04:00
Xamarin.Mac-Full-FrameworkList.xml.in Add System.Drawing.Common.dll to Xamarin.Mac-Full-FrameworkList.xml.in 2019-03-14 15:49:25 +01:00
Xamarin.Mac-Mobile-FrameworkList.xml.in [xm][msbuild] Fix full profile FrameworkList file (#5674) 2019-02-27 12:38:38 -05:00
Xamarin.Mac.AppExtension.CSharp.targets [msbuild] Enable nuget package conflict resolution (#4945) 2018-10-10 20:14:31 -04:00
Xamarin.Mac.AppExtension.Common.props [Mac] Add support for os x extensions (#83) 2016-05-25 17:20:33 -04:00
Xamarin.Mac.AppExtension.Common.targets [Mac] Add support for os x extensions (#83) 2016-05-25 17:20:33 -04:00
Xamarin.Mac.CSharp.targets [msbuild] Enable nuget package conflict resolution (#4945) 2018-10-10 20:14:31 -04:00
Xamarin.Mac.Common.ImplicitFacade.msbuild.targets [xcode11] [msbuild][xm][xi] Fix building with netstandard libraries (#6959) 2019-09-10 22:58:24 -07:00
Xamarin.Mac.Common.ImplicitFacade.xbuild.targets [XM] Improve XM msbuild support and add roslyn netstandard test case (#1846) 2017-03-14 11:08:04 -05:00
Xamarin.Mac.Common.props Add macOS Xcode archive support (#5862) 2019-04-15 15:20:18 -05:00
Xamarin.Mac.Common.targets [xcode11] Fix several issues to make the mtouch tests pass. Fixes #6259. (#6332) 2019-06-19 07:20:02 +02:00
Xamarin.Mac.FSharp.targets [msbuild] Enable nuget package conflict resolution (#4945) 2018-10-10 20:14:31 -04:00
Xamarin.Mac.ObjCBinding.CSharp.props [macos] Fix XM binding projects to work with Full 2018-03-21 14:27:53 -05:00
Xamarin.Mac.ObjCBinding.CSharp.targets Add 'NoBindingEmbedding' style binding project support (#5167) 2018-12-12 09:55:57 -05:00
Xamarin.Mac.ObjCBinding.Common.props [XM] Only use bgen, not bmac[-mobile-mono]. Fixes #3675. (#4785) 2018-09-13 15:27:34 +02:00
Xamarin.Mac.ObjCBinding.Common.targets [xvs-xm-bindings] Adds IsMacEnabled property to skip targets from VS when not connected to a Mac 2018-05-11 21:11:36 -03:00
Xamarin.Mac.TargetFrameworkFix.targets [msbuild] Unbreak netstd2 project msbuild support (#4109) 2018-05-22 10:39:59 -04:00
Xamarin.Mac.Tasks.csproj [vsts-938452] Clean up file names and indentations 2019-08-07 16:09:58 -04:00
Xamarin.Mac.XM45.xbuild.targets [XM] Improve XM msbuild support and add roslyn netstandard test case (#1846) 2017-03-14 11:08:04 -05:00
Xamarin.Mac.msbuild.targets [macos] Fix XM binding projects to work with Full 2018-03-21 14:27:53 -05:00
Xamarin.Mac.xbuild.targets [macos] Fix XM binding projects to work with Full 2018-03-21 14:27:53 -05:00
packages.config [msbuild] Repack all iOS Task assemblies into Xamarin.iOS.Tasks.dll (#3168) 2018-01-08 14:29:52 -05:00