Failed to resolve Mono.Security.Protocol.Ntlm.MessageBase after updating to new Xamarin.iOS/Android (June 2016)

+1 vote
asked Jun 16, 2016 by Rebex KB (8,330 points)

Since the last Xamarin update I can’t link/build my Rebex components project anymore, I am getting this error:

error MSB4018: Xamarin.Android.X>amarinAndroidException: error XA2006: Reference to metadata item 'Mono.Security.Protocol.Ntlm.MessageBase' (defined in 'Rebex.Common, Version=2.0.5855.0, Culture=neutral, PublicKeyToken=1c4638788972655d') from 'Rebex.Common, Version=2.0.5 855.0, Culture=neutral, PublicKeyToken=1c4638788972655d' could not be resolved. ---> Mono.Cecil.ResolutionException: Failed to resolve Mono.Security.Protocol.Ntlm.MessageBase.

In Xamarin.iOS project on Windows I am getting this error:

C:\Program Files
(x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(681,3): error : Failed
to resolve "Mono.Security.Protocol.Ntlm.MessageBase" reference from
"Mono.Security, Version=2.0.5.0, Culture=neutral,
PublicKeyToken=0738eb9f132ed756

or

this error on a Mac:

Failed to resolve "Mono.Security.Protocol.Ntlm.MessageBase" reference from "Mono.Security,... (MT2002)"
Xamarin.iOS build error on MAC

1 Answer

0 votes
answered Jun 16, 2016 by Tomas Knopp (58,890 points)
edited Jul 1, 2016 by Lukas Pokorny
 
Best answer

Solution:
This has been solved in release 2016 R2.

Cause:
This has been caused by a breaking change in the latest release of Xamarin.iOS/Xamarin.Android which moved classes in Mono.Security.Protocol.Ntlm namespace from Mono.Security assembly to System assembly.

Because Rebex.Common assembly (shared by all Rebex components) references Xamarin's NTLM classes in Mono.Security assembly, this change made Rebex components incompatible with the latest Xamarin release.

...