@@ -11,12 +11,43 @@ Platform and Framework Compatibility - .NET SDK
11
11
:depth: 2
12
12
:class: singlecol
13
13
14
+ .. meta::
15
+ :description: Compatibility information for Atlas Device SDK for .NET.
16
+
17
+ .. facet::
18
+ :name: genre
19
+ :values: reference
20
+
14
21
Compatibility
15
22
-------------
16
23
17
24
The following table shows which .NET
18
25
version(s) you can use with Realm on your target platforms:
19
26
27
+ .. note::
28
+
29
+ The source generator models in .NET SDK v10.18.0 and later
30
+ require the following:
31
+
32
+ - .NET Core 2.0 or later (.NET Framework 5.0 or later)
33
+ - C# 9.0 or later
34
+
35
+ If you are targeting an older version of .NET Framework, your object
36
+ models must derive from
37
+ :dotnet-sdk:`RealmObject <reference/Realms.RealmObject.html>`,
38
+ :dotnet-sdk:`EmbeddedObject <reference/Realms.EmbeddedObject.html>`, or
39
+ :dotnet-sdk:`AsymmetricObject <reference/Realms.AsymmetricObject.html>`
40
+ base classes.
41
+
42
+ The following example demonstrates how you can adjust your current object
43
+ models:
44
+
45
+ .. code-block:: csharp
46
+
47
+ public partial class Person : IRealmObject
48
+
49
+ public class Person : RealmObject // Update to inherit from RealmObject
50
+
20
51
.. list-table::
21
52
:header-rows: 1
22
53
:widths: 50 50
@@ -32,38 +63,38 @@ version(s) you can use with Realm on your target platforms:
32
63
* - Windows 8.1 or later
33
64
- | .NET Core 2.0 or later (.NET 5.0 Framework or later)
34
65
| .NET Framework 4.6.1 or later
35
- | MAUI requires Windows 11 and Windows 10 version 1809 or higher, using
66
+ | MAUI requires Windows 11 and Windows 10 version 1809 or higher, using
36
67
Windows UI Library (WinUI) 3.
37
68
38
69
* - Universal Windows Platform (UWP)
39
70
- .NET Standard 2.0 or later (Fall Creators Update)
40
71
41
72
* - macOS
42
73
- | .NET Core 2.0 or later (.NET 5.0 Framework or later)
43
- | Xamarin.Mac for macOS 10.11 or later.
74
+ | Xamarin.Mac for macOS 10.11 or later.
44
75
| MAUI requires macOS 10.15 or later, using Mac Catalyst.
45
76
46
77
* - iOS
47
- - | Xamarin.iOS for iOS 9 or later.
78
+ - | Xamarin.iOS for iOS 9 or later.
48
79
| MAUI requires iOS 11 or later.
49
80
50
81
* - Android
51
- - | Xamarin.Android for Android 4.1 (API level 16) or later.
82
+ - | Xamarin.Android for Android 4.1 (API level 16) or later.
52
83
| MAUI requires Android 5.0 (API level 21) or later.
53
-
84
+
54
85
* - tvOS
55
- - | Xamarin and Unity for tvOS 9.0 or later.
86
+ - | Xamarin and Unity for tvOS 9.0 or later.
56
87
| For more information on developing for tvOS, see :ref:`<ios-tvos>`.
57
88
58
89
Development Environments
59
90
------------------------
60
91
61
- You can use the following development environments to build Realm apps with
92
+ You can use the following development environments to build Realm apps with
62
93
the .NET SDK:
63
94
64
95
- Visual Studio 2015 Update 2 or higher for Windows
65
96
- Visual Studio for Mac 7.0 or higher
66
- - Unity `2020.3.12f1 (LTS) <https://unity3d.com/get-unity/download/archive>`__
97
+ - Unity `2020.3.12f1 (LTS) <https://unity3d.com/get-unity/download/archive>`__
67
98
68
99
.. note::
69
100
@@ -73,39 +104,39 @@ the .NET SDK:
73
104
this version to ensure your project works with Realm and that
74
105
the install steps match the :doc:`Integrate Realm with Unity
75
106
</sdk/dotnet/unity>` documentation steps because Unity's UI
76
- often changes between versions.
107
+ often changes between versions.
77
108
78
109
79
110
Android Deployment
80
111
------------------
81
- Due to some instruction set limitations, Realm does not support
82
- deploying Android apps to the ``armeabi`` ABI. Because default templates often
83
- have different ABI settings for Debug and Release modes, your app may throw
84
- a ``System.TypeInitializationException`` exception in Release mode but not when
112
+ Due to some instruction set limitations, Realm does not support
113
+ deploying Android apps to the ``armeabi`` ABI. Because default templates often
114
+ have different ABI settings for Debug and Release modes, your app may throw
115
+ a ``System.TypeInitializationException`` exception in Release mode but not when
85
116
it was running in Debug mode.
86
117
87
- To avoid this, verify the ABI settings for both Debug and Release modes. To check
88
- and change the settings, follow the steps in the
89
- `Visual Studio CPU Architectures <https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/cpu-architectures>`_
118
+ To avoid this, verify the ABI settings for both Debug and Release modes. To check
119
+ and change the settings, follow the steps in the
120
+ `Visual Studio CPU Architectures <https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/cpu-architectures>`_
90
121
page.
91
122
92
- Unless you have a good reason to avoid linking other ABIs, we recommend
123
+ Unless you have a good reason to avoid linking other ABIs, we recommend
93
124
checking all of the settings other than ``armeabi``.
94
125
95
- Limitations
126
+ Limitations
96
127
------------
97
- Realm has limits imposed to balance flexibility with performance. The SDK
98
- throws an exception during app initialization if the following limits are
128
+ Realm has limits imposed to balance flexibility with performance. The SDK
129
+ throws an exception during app initialization if the following limits are
99
130
exceeded:
100
131
101
- - Class names can't exceed 57 bytes in length.
102
- - Property names can't exceed 63 bytes in length.
132
+ - Class names can't exceed 57 bytes in length.
133
+ - Property names can't exceed 63 bytes in length.
103
134
104
- In addition, for iOS apps, the total size of all open Realm files cannot be
105
- larger than the amount of memory your application is allowed to map in iOS. This
106
- varies per device, and depends on how fragmented the memory space on the device is.
107
- If you need to store more data than is allowed, you can split your data into
108
- multiple Realm files, open a realm only when needed, and close it when it is
135
+ In addition, for iOS apps, the total size of all open Realm files cannot be
136
+ larger than the amount of memory your application is allowed to map in iOS. This
137
+ varies per device, and depends on how fragmented the memory space on the device is.
138
+ If you need to store more data than is allowed, you can split your data into
139
+ multiple Realm files, open a realm only when needed, and close it when it is
109
140
no longer needed.
110
141
111
142
For more information, see `Open Radar 17119975 <http://www.openradar.me/17119975>`_.
0 commit comments