Bridges the worlds of .NET with the native APIs of macOS, iOS, tvOS, and watchOS.
Перейти к файлу
Rolf Bjarne Kvinge f0f47b6a46
[dotnet] Make the linker always process debug symbols, and remove debugging support if we're building a release build. (#9594)
Unfortunately due to when things happen in the .NET build logic, we need to
define the DebuggerSupport property (which determines whether the app should
include debugging support or not) before importing the .NET build files. Since
we want to use the _BundlerDebug property (a.k.a. MtouchDebug/MmpDebug) to
determine if the app should include debugging support, we must figure out the
value of the _BundlerDebug property before we can define the DebuggerSupport
property. This turned out complicated, because we're currently defining
_BundlerDebug in our old-style MSBuild logic, which is imported after we
import the .NET build logic.

The end result is that we can either shuffle around a lot of MSBuild code, or
copy a few lines to set the _BundlerDebug property. Neither option makes me
very happy, but copying a few lines of code seemed the better option, so
that's what I did.

Fixes these linkall test failures in Release mode:

    LinkAll.Attributes.AttributeTest
        [FAIL] DebugAssemblyAttributes :   DebuggableAttribute
            Expected: False
            But was:  True
                at LinkAll.Attributes.AttributeTest.DebugAssemblyAttributes()

        [FAIL] DebugConstructorAttributes :   No debug attribute in release mode
            Expected: 0
            But was:  2
                at LinkAll.Attributes.AttributeTest.DebugConstructorAttributes()

        [FAIL] DebugPropertyAttributes :   DebuggerBrowsable
            Expected: False
            But was:  True
                at LinkAll.Attributes.AttributeTest.DebugPropertyAttributes()

        [FAIL] DebugTypeAttributes :   no debug attribute in release mode
            Expected: 0
            But was:  5
                at LinkAll.Attributes.AttributeTest.DebugTypeAttributes()

        [FAIL] DebuggerTypeProxy_24203 :   proxy
            Expected: null
            But was:  <System.Collections.Generic.IDictionaryDebugView`2[K,V]>
                at LinkAll.Attributes.AttributeTest.DebuggerTypeProxy_24203()
2020-09-08 14:55:34 +02:00
builds
docs
dotnet [dotnet] Make the linker always process debug symbols, and remove debugging support if we're building a release build. (#9594) 2020-09-08 14:55:34 +02:00
external
fsharp
jenkins
mk
mono
msbuild [dotnet] Make the linker always process debug symbols, and remove debugging support if we're building a release build. (#9594) 2020-09-08 14:55:34 +02:00
opentk
runtime
src [ObjCRuntime] Improve a few error/log messages to show the class name instead of the class handle. (#9593) 2020-09-08 07:59:48 +02:00
tests [tests] Prebuilt the Touch.Client projects when packaging the Xamarin.Mac tests. (#9595) 2020-09-08 14:45:58 +02:00
tools
.editorconfig
.gitignore
.gitmodules
CODEOWNERS
ISSUE_TEMPLATE.md
LICENSE
Make.config
Make.versions
Makefile
NOTICE.txt
NuGet.config
README.md
SECURITY.MD
Versions-ios.plist.in
Versions-mac.plist.in
Xamarin.Mac.sln
Xamarin.iOS.sln
banner.png
configure
mac-entitlements.plist
product.snk
system-dependencies.sh
versions-check.csharp

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:

Downloads

The preferred method for installing Xamarin.iOS and Mac is to use the Visual Studio installers (Windows, Mac).

The team also strongly recommends using the latest Xamarin SDK and Xcode whenever possible.

However, we provide links to older Xamarin.iOS and Mac packages for macOS downgrades and build machine configuration.

Platform Link
Xamarin.iOS d16.7 13.20.2.2
Xamarin.Mac d16.7 6.20.2.2
Xamarin.iOS d16.6 13.18.2.1
Xamarin.Mac d16.6 6.18.2.1
Xamarin.iOS d16.5 13.16.0.13
Xamarin.Mac d16.5 6.16.0.13
Xamarin.iOS d16.4 13.10.0.21
Xamarin.Mac d16.4 6.10.0.21
Xamarin.iOS d16.3 13.6.0.12
Xamarin.Mac d16.3 6.6.0.12
Xamarin.iOS d16.2 12.14.0.114
Xamarin.Mac d16.2 5.14.0.114
Xamarin.iOS d16.1 12.10.0.157
Xamarin.Mac d16.1 5.10.0.157
Xamarin.iOS d16.0 12.8.0.2
Xamarin.Mac d16.0 5.8.0.0

Feedback

Discord

License

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