Bridges the worlds of .NET with the native APIs of macOS, iOS, tvOS, and watchOS.
Перейти к файлу
Vincent Dondain 9d37f9583f
[msbuild/tests] Ensure our FrameworkList files have correct assemblies (#5367)
One mono bump (6f2ebedb74 (diff-e801bb766cbaad95b50b1487b865f971)) changed our `Xamarin.iOS-FrameworkList.xml.in` (and the tvOS and watchOS ones) and added 2 files

```
<File AssemblyName="System.Buffers" Version="4.0.99.0" />
<File AssemblyName="System.Memory" Version="4.0.99.0" />
```

Around the same time this change was made in the IDE: e355f65870/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetFramework.cs (L260)
That means that VSMac, when creating a new cache file listing the assemblies, won’t scan the assemblies in those directories `/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS`.
This resulted in an incomplete cache file missing most assemblies leading to the IDE showing red checkmarks for known and installed assemblies.

Ideally the FrameworkList files we ship should have a list of all the assemblies with PublicKeyToken and friends (the framework shouldn't be lazy and expect the IDEs to generate that file for us).

This commit ships a test using the same logic as the IDE to populate the FrameworkList file. The test will report any missing assembly and print the xml element that should be added to the file.
E.g: `<File AssemblyName="FSharp.Core" Version="3.98.4.0" PublicKeyToken="b03f5f7f11d50a3a" ProcessorArchitecture="MSIL" />`
Then it's only a matter of copy/pasting that (:

Note: even though this is the msbuild tests for iOS land I'm also scanning the Xamarin.Mac files here for simplicity.

We also scan all assemblies in `/Facades`.

Discussed in slack but adding all the facades assemblies doesn't compromise the project in the IDE (e.g: we still can't add incorrect assemblies) and it's required for some NuGet conflict resolution.
See: ac8fd9e60a
2019-01-11 13:59:22 -05:00
builds [builds] Consume llvm + cross compilers from mono's package. (#5254) 2018-12-17 10:22:54 +01:00
docs [mtouch] Provide a better (and single) error message when the interpreter is enabled in simulator builds. (#5376) 2019-01-11 11:38:22 -05:00
external Bump mono to head of 2018-08 (#5375) 2019-01-10 15:37:07 -05:00
fsharp Clone files if possible whenever it makes sense. (#5049) 2018-10-29 16:09:30 +01:00
jenkins [xharness] Add support for GitHub authentication, and use it in Jenkins. (#5380) 2019-01-11 15:48:16 +01:00
mk Bump maccore to get fix for maccore#1325. (#5366) 2019-01-11 07:27:02 +01:00
mono/4.5 [build] Add .NET Core open source key 2017-03-14 11:47:06 +01:00
msbuild [msbuild/tests] Ensure our FrameworkList files have correct assemblies (#5367) 2019-01-11 13:59:22 -05:00
opentk Clone files if possible whenever it makes sense. (#5049) 2018-10-29 16:09:30 +01:00
runtime [runtime] Improve rendering/logging of managed exceptions in a few places. (#5293) 2018-12-20 09:50:08 +01:00
src [foundation] Directly call Remove in NSUrlSessionHandler (#5358) 2019-01-09 09:28:44 -05:00
tests [XHarness] Reenable the System.Data tests from the bcl. (#5379) 2019-01-11 16:56:30 +01:00
tools [mtouch] Provide a better (and single) error message when the interpreter is enabled in simulator builds. (#5376) 2019-01-11 11:38:22 -05:00
.gitignore [Tests] Add a new iOS app to run the xunit and nunit tests (#4914) 2018-11-16 13:31:40 -05:00
.gitmodules Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-10-24 13:49:26 +02:00
CODEOWNERS [codeowners] Add chamons to a few areas (#5147) 2018-11-19 22:20:40 -05:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md (#4233) 2018-06-12 17:26:51 -04:00
LICENSE Adjust license to match requested format 2016-04-25 16:38:57 -04:00
Make.config [xibuild] Add support for /verbose, and use it accordingly. (#5224) 2019-01-09 07:43:22 +01:00
Make.versions Bump version numbers to the correct values (#5283) 2018-12-17 11:09:05 -05:00
Makefile Add the minimum system mono version for running Xamarin.Mac apps using system mono to Versions.plist. (#5281) 2018-12-18 07:48:19 +01: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 Update README.md (#3587) 2018-02-26 14:31:49 -05:00
Versions-ios.plist.in Bump for Xcode 10.1 beta 1 (#4836) 2018-09-19 08:56:43 -04:00
Versions-mac.plist.in Add the minimum system mono version for running Xamarin.Mac apps using system mono to Versions.plist. (#5281) 2018-12-18 07:48:19 +01:00
Xamarin.Mac.sln [tests][mmp] Move TypeDescriptor (regression) tests to unit tests (#4994) 2018-10-17 08:25:37 -04:00
Xamarin.iOS.sln Remove unusued project configuration ('DebugStaticRegistrar') from Xamarin.iOS.sln. 2018-08-23 12:32:09 +02:00
banner.png [README] Add Xamarin.iOS + Xamarin.Mac banner (#1665) 2017-02-08 17:42:48 -05:00
configure [builds] Download & extract the mono sdk package. (#5247) 2018-12-11 07:48:05 +01:00
product.snk Add our mono runtimes to the build. 2016-04-24 14:47:24 -04:00
system-dependencies.sh Merge branch 'xcode10' 2018-09-18 14:12:39 -04: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

Status
master xamarin-macios-builds-master

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.