Bridges the worlds of .NET with the native APIs of macOS, iOS, tvOS, and watchOS.
Перейти к файлу
Ankit Jain 14559e35bd [msbuild][xm][xi] Fix building with netstandard libraries (#6667)
* [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 00:02:55 -07:00
builds Implement notarization. (#6928) 2019-09-09 00:34:11 -07:00
docs [docs] Make our documentation gender neutral (#6810) 2019-08-21 03:52:52 +02:00
external Bump Xamarin.MacDev. (#6857) 2019-08-27 11:37:27 -04:00
fsharp Add config file for libmono-native dllmap 2019-03-13 00:34:47 +01:00
jenkins Implement notarization. (#6928) 2019-09-09 00:34:11 -07:00
mk Bump to mono:2019-08 (#6723) 2019-09-09 09:44:03 -04:00
mono Add config file for libmono-native dllmap 2019-03-13 00:34:47 +01:00
msbuild [msbuild][xm][xi] Fix building with netstandard libraries (#6667) 2019-09-10 00:02:55 -07:00
opentk Move System.Drawing types to Mono 2019-03-13 17:26:47 +01:00
runtime Implement notarization. (#6928) 2019-09-09 00:34:11 -07:00
src [Foundation] Allow uses to explicitly bypass the background session check. #6443 (#6918) 2019-09-05 19:12:16 -04:00
tests Bump to mono:2019-08 (#6723) 2019-09-09 09:44:03 -04:00
tools Bump to mono:2019-08 (#6723) 2019-09-09 09:44:03 -04:00
.gitignore Ignore the outgenerated projects until they are moved to their own dir. (#6712) 2019-08-05 16:56:16 +02:00
.gitmodules Switch to mono archive and remove submodule 2019-05-21 22:16:02 +02:00
CODEOWNERS [codeowners] Add chamons to a few areas (#5147) 2018-11-19 22:20:40 -05:00
ISSUE_TEMPLATE.md Instruction to find the build logs (#6871) 2019-08-29 10:42:14 -04:00
LICENSE Adjust license to match requested format 2016-04-25 16:38:57 -04:00
Make.config Bump to mono:2019-08 (#6723) 2019-09-09 09:44:03 -04:00
Make.versions Bump versions post d16-2 branch and allow VS4M 8.1.X to be used (#5968) 2019-04-30 15:16:26 -04:00
Makefile Switch to mono archive and remove submodule 2019-05-21 22:16:02 +02:00
NuGet.config Add a 'repositorypath' to our NuGet.Config and update paths everywhere accordingly. (#1110) 2016-11-04 09:13:33 +01:00
README.md Remove lists.xamarin.com from Readme (#6893) 2019-09-03 08:37:55 -04:00
Versions-ios.plist.in Add a new feature flag that indicates stable support for the Concurrent GC. Partial fix of #5909. (#6394) 2019-06-21 14:57:59 +02:00
Versions-mac.plist.in Add a new feature flag that indicates stable support for the Concurrent GC. Partial fix of #5909. (#6394) 2019-06-21 14:57:59 +02:00
Xamarin.Mac.sln Switch to mono archive and remove submodule 2019-05-21 22:16:02 +02:00
Xamarin.iOS.sln Switch to mono archive and remove submodule 2019-05-21 22:16:02 +02:00
banner.png [README] Add Xamarin.iOS + Xamarin.Mac banner (#1665) 2017-02-08 17:42:48 -05:00
configure Allow to enable the use of the mono binary package from the configure script. (#6793) 2019-08-19 16:10:31 -04:00
mac-entitlements.plist Implement notarization. (#6928) 2019-09-09 00:34:11 -07:00
product.snk Add our mono runtimes to the build. 2016-04-24 14:47:24 -04:00
system-dependencies.sh [system-dependencies] Improve error message when siminstaller can't find simulators to explain what to do. (#6632) 2019-07-23 07:39:18 -07:00
versions-check.csharp [Versions-ios.plist] watchOS started at 1.0 (#1328) 2016-12-13 10:52:58 +01:00

README.md

Xamarin.iOS + Xamarin.Mac logo

Xamarin.iOS & Xamarin.Mac

Welcome!

This module is the main repository for both Xamarin.iOS and Xamarin.Mac.

These SDKs allow us to create native iOS, tvOS, watchOS and macOS applications using the same UI controls we would in Objective-C and Xcode, except with the flexibility and elegance of a modern language (C#), the power of the .NET Base Class Library (BCL), and two first-class IDEs—Visual Studio for Mac and Visual Studio—at our fingertips.

This repository is where we do development for the Xamarin.iOS and Xamarin.Mac SDKs. There are a few ways that you can contribute, for example:

Contributing

If you are interested in fixing issues and contributing directly to the code base, please see the document How to Contribute, which covers the following:

Feedback

Gitter

License

Copyright (c) .NET Foundation Contributors. All rights reserved. Licensed under the MIT License.