Visual Studio Extension
Date published: See https://releases.xamarin.com/.
You can downgrade back to the previous Stable version by manually reinstalling each old package. See the KB article on downgrading. If you have a Trial or Starter subscription, feel free to contact firstname.lastname@example.org to request the older versions.
Older Mono package versions are not currently listed on https://store.xamarin.com/account/my/subscription/downloads. The Mono package for the previous Stable version ("Service Release 1") is available here:
If needed, you can also downgrade back to older versions (from before April 29) by manually reinstalling each old package. See the "Previous versions, downgrading" section on the April 29 release thread for the older downgrade links.
This first post will be updated regularly.
Hopefully this thread will help answer "what might break if I update to this release?"
If you find a new problem that is specific to this version, please file a bug report.
Please discuss older bugs that are unchanged in this release compared to the previous Stable version in Bugzilla instead.
Of course for questions and discussions about topics other than bugs, feel free start new forum threads.
.dllfiles rather than
Bug 28961 - [iOS] "error MT3001: Could not AOT the assembly", "error: invalid symbol redefinition". (This can also appear as "System.ArgumentOutOfRangeException: startIndex > this.length" in the "Output -> Xamarin Log" in VS.) One common cause of this error is the use of
[MethodImplAttribute(MethodImplOptions.Synchronized)]. Workaround for projects that use [MethodImplAttribute(MethodImplOptions.Synchronized)]: remove
[MethodImplAttribute(MethodImplOptions.Synchronized)] and manually synchronize the methods using
lock statements instead (https://bugzilla.xamarin.com/show_bug.cgi?id=28961#c6).
Bug 29211 - [iOS] Enabling the linker when the solution includes a PCL that uses System.IO.Compression causes "Could not load file or assembly 'System.IO.Compression' or one of its dependencies" at run time. The same problem can also happen with System.Threading.Tasks (and probably also several other assemblies). Workaround: add
-linkskip=System.Threading.Tasks for System.Threading.Tasks) under "project options -> iOS Build -> Additional mtouch arguments".
Bug 30420 - [iOS]
this.TableView is called in the TableView constructor. Workaround: perform all initialization operations for the TableView in the
ViewWillAppear() methods rather than the constructor.
Bug 29849 - [XamarinVS] [iOS] The "Visual C# -> Mobile Apps -> Blank App (Xamarin.Forms Portable)" template includes an iOS project that has a non-empty value for the
<CodesignEntitlements> property for the iPhoneSimulator configurations, meaning that the iPhoneSimulator configuration will attempt to perform code signing. This is inconsistent with the other templates and also with the corresponding Xamarin Studio template on Mac. Workaround: open the
.csproj file in a text editor and delete the
<CodesignEntitlements> property from all of the iPhoneSimulator configurations.
Non-public Bug 29725 - [Xamarin Studio] [iOS] [Android] Expressions in the Watch window are cleared each time you stop debugging.
Non-public Bug 30059 - [XamarinVS] [iOS] "Mono.Debugger.Soft.CommandException: Debuggee returned error code 200." when hitting breakpoints in PCLs in certain projects when running XamarinVS on certain computers.
Non-public Bug 30481, Bug 29557 - [Mono] [Android] [iOS]
SqlConnection.GetSchema() fails with "SourceTable is required to be a non-empty string". (A fix for this issue is planned for the upcoming "Service Release 3.")
Bug 29745 - [iOS] Error due to duplicate symbols during native compilation for device: "duplicate symbol _monoeg_g_array_new" (and many similar messages). Workarounds: disable profiling under "Project Properties -> iOS Build", or if your app uses the
-all_load linker flag (via either
LinkerFlags) try removing it.
(For issues that might behave differently for some customers after updating to this new release, or that might be difficult to find via Bugzilla.)
Bug 28027 - [XamarinVS] [iOS] The debugger sometimes fails to connect properly after the app launches. This means breakpoints will not be hit during that launch of the app and the "Output -> Debug" window will be blank. Repeating the steps of (a) stopping the debugger and (b) relaunching the app will eventually lead to a successful connection. This problem has existed since at least XamarinVS 3.9.483, but some recent reports suggest that it has become more common for certain users recently. The problem might be caused by a race condition. Based on that guess, the recent releases might have changed some timings and increased the probability of hitting the issue on a wider range of system configurations. The bug is under active investigation.
Bug 31423 - [XamarinVS] [Android] [iOS] Locked
.dll files: "Could not copy "... PortableClassLibrary1.dll" to "bin\Debug\PortableClassLibrary1.dll". Exceeded retry count of 10. Failed." This is a different problem than Bug 26841 because it affects
.dll files rather than
.dll.mdb files. It appears to be less common than Bug 26841, but it is under active investigation for the next service release ("Service Release 3").
Bug 31379, Bug 31560 - [iOS] Enabling the linker when the app references PCL projects that include "duplicate" System.Threading.Tasks references (for example when using the "Microsoft.Net.Http" NuGet in a .NET 4.0 PCL) causes "Could not load file or assembly 'System.Threading.Tasks'" on the simulator. This bug has in fact existed since the original April 29 release of Cycle 5, but until Service Release 2 it had been obscured by the closely related Bug 29211. The bug only affects simulator builds and has fairly easy workarounds, so it is minor in severity. Workarounds: disable the linker in the iPhoneSimulator configurations or add
-linkskip=System.Threading.Tasks under "project options -> iOS Build -> Additional mtouch arguments".
EDIT July 01: Update version numbers for Xamarin.iOS Xcode 6.4, iOS 8.4 compatibility release. Add iOS Bug 31379.
EDIT July 17: Add "release announcement" tag.