Bug 34621 - Failed to resolve System.Void MonoTouch.Foundation.NSMutableDictionary::set_Item(MonoTouch.ObjCRuntime.INativeObject,MonoTouch.ObjCRuntime.INativeObject)
Summary: Failed to resolve System.Void MonoTouch.Foundation.NSMutableDictionary::set_I...
Status: RESOLVED FIXED
Alias: None
Product: Components
Classification: Xamarin
Component: Xamarin Components ()
Version: N/A
Hardware: PC Windows
: --- normal
Target Milestone: ---
Assignee: Bill Holmes
URL:
Depends on:
Blocks:
 
Reported: 2015-10-07 03:37 UTC by ThomasWendling
Modified: 2015-11-05 11:55 UTC (History)
13 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
The dll's used in my Xamarin.iOS project (2.26 MB, application/octet-stream)
2015-10-27 09:49 UTC, Rohit Vipin Mathews
Details
DLL files for Matt Gerber (60 bytes, text/plain)
2015-10-27 10:00 UTC, Matt Gerber
Details
rebuilt PCLCrypto to try (22.93 KB, application/zip)
2015-10-27 12:35 UTC, Bill Holmes
Details
Tool to test if a dll uses NSMutableDictionary::set_Item (184.67 KB, application/zip)
2015-10-27 13:37 UTC, Bill Holmes
Details
Rebuild 2 of PCLCrypto (21.71 KB, application/zip)
2015-10-27 16:03 UTC, Bill Holmes
Details
Test Exe to find AmazonDateTimeUnmarshallingException (185.21 KB, application/zip)
2015-10-28 10:31 UTC, Bill Holmes
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED FIXED

Description ThomasWendling 2015-10-07 03:37:59 UTC
After the Xamarin update to XamarinVS 3.11.1450 I cannot build my Xamarin.iOS app anymore:

C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(654,3): error : Failed to resolve "System.Void MonoTouch.Foundation.NSMutableDictionary::set_Item(MonoTouch.ObjCRuntime.INativeObject,MonoTouch.ObjCRuntime.INativeObject)" reference from "monotouch, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065"
Comment 1 ThomasWendling 2015-10-07 04:21:18 UTC
I noticed an invalid reference path to monotouch.dll in the Xamarin.iOS project. After fixing this path, I can build again.
Comment 2 Rohit Vipin Mathews 2015-10-20 06:06:28 UTC
I have this same error. So how did you fix and what did you change?
Comment 3 Jorge Peralta 2015-10-21 11:03:35 UTC
I have the same error, could you please, explain what you did to have it solved? Thanks!
Comment 4 jmelliadis 2015-10-21 17:46:09 UTC
I have having this same error as well. Any help with fixing it would be appreciated!
Comment 5 ThomasWendling 2015-10-22 01:39:23 UTC
Hi,

I'll try help you guys:

My Xamarin.iOS framework installation path is "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Xamarin.iOS\v1.0". I think, this is the default installation path for Xamarin.iOS. This directory contains a lot of DLL files and other stuff and a file called "monotouch.dll" file should be in there too.

Because for easier handling with TFS, I copied that file (monotouch.dll) from the directory "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Xamarin.iOS\v1.0" into a new directory ("EXEC") in my app project directory.  In this directory I put all additional external DLL references too.

MyAppProj.iOS
|
|-- EXEC (Directory for all external references, e.g. monotouch.dll)
|-- bin
|-- ...

After the last Xamarin.iOS update I couldn't compile my app project anymore - the NSMutableDictionary::set_Item - error occured. After a little research I noticed, that the reference path for the "monotouch.dll" in the iOS project references has been changed. The file in the old directory "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Xamarin.iOS\v1.0" has been referenced and not my local copy in the EXEC directory. 

After I corrected the "monotouch.dll" reference path back to the EXEC\monotouch.dll the error was gone.

Hopefully that will help you. :-)

Best regards,
Thomas
Comment 6 Matt Gerber 2015-10-23 13:40:58 UTC
Getting the same error within Xamarin Studio. Here's my configuration:

Xamarin Studio
Version 5.9.7 (build 22)
Installation UUID: be7dbea2-ada3-4ba9-8e61-afb716946515
Runtime:
	Mono 4.0.4 ((detached/d481017)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 400040004

Apple Developer Tools
Xcode 7.1 (9079)
Build 7B91b

Xamarin.iOS
Version: 9.0.1.29 (Business Edition)
Hash: 1d27ac2
Branch: master
Build date: 2015-09-25 18:08:44-0400

Xamarin.Android
Version: 5.1.8.0 (Business Edition)
Android SDK: /Users/matthewgerber/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		4.0.3 (API level 15)
		4.4   (API level 19)
		5.0   (API level 21)
		5.1   (API level 22)
		6.0   (API level 23)
Java SDK: /usr
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

Xamarin Android Player
Not Installed

Xamarin.Mac
Version: 2.0.2.111 (Starter Edition)

Build Information
Release ID: 509070022
Git revision: 6bd1f169df44ca96addf8a035316c535a4fa46fa
Build date: 2015-09-30 12:30:15-04
Xamarin addins: 1c3e5c0859bdfec0ecd481a57ad6c03bc22f5536

Operating System
Mac OS X 10.11.1
Darwin d-172-25-44-197.bootp.Virginia.EDU 15.0.0 Darwin Kernel Version 15.0.0
    Sat Sep 19 15:53:46 PDT 2015
    root:xnu-3247.10.11~1/RELEASE_X86_64 x86_64
Comment 7 Matt Gerber 2015-10-23 16:21:47 UTC
Why is this marked as "RESOLVED INVALID"?
Comment 8 Dori 2015-10-24 04:15:13 UTC
My app is using the camera and I managed to narrow the problem to the lines:

var dictionary = new NSMutableDictionary();
dictionary[AVVideo.CodecKey] = new NSNumber((int)AVVideoCodec.JPEG);

And the error is

[0:] Method 'NSMutableDictionary.set_Item' not found.
Attempting to JIT compile method ... while running with --aot-only. 
See http://docs.xamarin.com/ios/about/limitations for more information.

Using VS2013 and the latest stable Xamarin build on Win 10, updated to XCode 7.1 on Mac OS 10.11. 

This used to work before I updated to XCode 7.1.
Comment 9 ThomasWendling 2015-10-26 03:56:12 UTC
Hi again,

@Matt Gerber:

As I described in my comment 5 (2015-10-22 01:39:23 EDT), for me, this error was self-made, because I got this error, because of a changed monotouch.dll path in the iOS app project. That was the reason why I set the bug status to "RESOLVED INVALID". But it seems, that others got the same error for other reasons. 

So, I wrote my solution to solve the error, maybe there are other reasons to get it.

Best regards,
Thomas
Comment 10 ThomasWendling 2015-10-26 03:57:06 UTC
Additionally I set the bug status to REOPENED. :-)
Comment 11 Matt Gerber 2015-10-26 05:29:25 UTC
@ThomasWendling - thanks.

For me, the upgrade to XCode 7.1 seems to break the iOS build with the indicated error. I haven't moved any libraries around, and I never actually reference NSMutableDictionary in my code.

Any response from the Xamarin folks on this?
Comment 12 ThomasWendling 2015-10-26 05:43:09 UTC
@Matt Gerber:

Ok, thanks for this info - I haven't upgraded to XCode 7.1 yet. I got this error directly after the Xamarin update to XamarinVS 3.11.1450.0 as I described.
Unfortunately Xamarin hasn't responded.

I'm still using XCode 7.0 with Xamarin.iOS Version: 9.0.1.29 (Business Edition) on Mac and Xamarin 3.11.1450.0 on Windows.
Comment 13 Rolf Bjarne Kvinge [MSFT] 2015-10-26 12:04:53 UTC
This is mentioned in the release notes: https://developer.xamarin.com/releases/ios/xamarin.ios_9/xamarin.ios_9.0/#2 ([foundation] Remove INativeObject API in NS[Mutable]Dictionary [#34213])

Most likely this comes from components which need to be recompiled with Xamarin.iOS 9.0.1.

Can you list any components you're using, so that we can identify them?
Comment 14 Matt Gerber 2015-10-26 12:15:58 UTC
Here are the components I'm using:

Google Play Services
AWS SDK - Cognito
AWS SDK - S3
Facebook Android SDK
Azure Mobile Services SDK
Xamarin Mobile
Xamarin Test Cloud Agent
Facebook iOS SDK
Xamarin Forms
Newtonsoft JSON.NET

Is there any way for me to tell which of these components need to be recompiled? The current error message does not help in this regard:

"Error MT2002: Failed to resolve "System.Void Foundation.NSMutableDictionary::set_Item(ObjCRuntime.INativeObject,ObjCRuntime.INativeObject)" reference from "Xamarin.iOS, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065" (MT2002)"

Also, the suggestion has been made elsewhere to configure the compiler to "link all assemblies". Will this actually work, or will it just produce a runtime exception instead of a compile-time exception? Here's the discussion:

https://forums.xamarin.com/discussion/54123/failed-to-resolve-nsmutabledictionary-set-item

Thanks!
Comment 15 Rolf Bjarne Kvinge [MSFT] 2015-10-26 12:26:55 UTC
@Matt, if "link all assemblies" builds fine, then you'll not run into problems with this particular method (because it means the linker was able to remove the broken method because it wasn't used). But "link all assemblies" has a lot of side effects, and it's very possible other aspects of an app can end up affected (and crash), but that depends on each app (there's a reason "link all assemblies" is not the default in the first place).
Comment 16 Rolf Bjarne Kvinge [MSFT] 2015-10-26 12:32:12 UTC
@Bill, can you check if any of the components mentioned in comment #14 causes this build problem (it'll be enough to use a component and build for device with XI 9.0.1 with "don't link" to check if it's broken or not)?

The fix for broken components is to recompile the component with XI 9.0.1.
Comment 17 Dori 2015-10-26 14:41:31 UTC
As I mentioned in comment 8 I am only getting this error if I uncomment the following lines.

var dictionary = new NSMutableDictionary();
dictionary[AVVideo.CodecKey] = new NSNumber((int)AVVideoCodec.JPEG);

If I comment out these lines I am able to build and run on both the simulator and the device. Which makes me wonder if this is related to the AVFoundation?

Cheers,
Comment 18 Matt Gerber 2015-10-26 14:49:48 UTC
@Dori, per comment #13, it looks like NSMutableDictionary (or maybe just the indexing operator -- not clear) has been removed. Nothing specific to AVFoundation.
Comment 19 Dori 2015-10-26 14:56:43 UTC
Thanks didn´t notice that :)
Comment 20 Israel Soto [MSFT] 2015-10-26 15:30:26 UTC
@Matt,

Which version of Facebook iOS are you using?
Comment 21 Matt Gerber 2015-10-26 15:32:33 UTC
@Israe - I am using Facebook iOS SDK 4.4.0.
Comment 22 Israel Soto [MSFT] 2015-10-26 15:41:24 UTC
Facebook iOS v4.4.0 was compiled with an old version of X.iOS, compiled against 8.10 version IIRC.

Can you use to latest version available on NuGet and try again?

https://www.nuget.org/packages/Xamarin.Facebook.iOS/4.7.0-beta1

This version is compiled against X.iOS 9.0.1
Comment 23 Bill Holmes 2015-10-26 17:50:21 UTC
Please let us know if the suggestion from Israel works for you.

If not please do what you can to narrow down the list of components that is causing this error.

I have tried for several hours today to recreate the issue with the list of components you provided and the install configuration you listed.  

This is an important issue that we must resolve.  My fear is that this will impact many users as they update.  We may just be seeing the beginning.  Anything you can do to give more info will be very helpful.
Comment 24 Bernie Habermeier 2015-10-27 00:59:04 UTC
For what it's worth -- I'm running into the same issue, but only on my CI buil server.  Everything is the same, except that my CI server is still running XCode 6.2 while my development box is running XCode 7.1

Both environments have the exact same files on 'em from a project / package perspective, and both are running the same Xamarin Studio and Xamarin IOS version:

Xamarin Studio
Version 5.9.7 (build 22)
Runtime:
	Mono 4.0.4 ((detached/d481017)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 400040004

Xamarin.iOS
Version: 9.0.1.29 (Business Edition)
Hash: 1d27ac2
Branch: master
Build date: 2015-09-25 18:08:44-0400

What is different is that on my dev box I'm running with:
Apple Developer Tools
Xcode 7.1 (9079)
Build 7B91b

Whereas on the CI server I'm still running with:
Apple Developer Tools
Xcode 6.2 (6776)
Build 6C131e

I guess it's time to upgrade the CI OS Version -- something I had been avoiding for a while because it's always a headache... time to upgrade, I guess.
Comment 25 Rohit Vipin Mathews 2015-10-27 01:14:59 UTC
I don't use the facebook or google play. I still have the error. There is nothing in my code that directly uses NSMutableDictionary. I am able to run this in simulator. But causes the error on real devices.
Comment 26 Matt Gerber 2015-10-27 07:51:30 UTC
@Bill, I'll take a look at the Facebook iOS SDK today and see if removing it makes a difference.
Comment 27 Bill Holmes 2015-10-27 09:30:45 UTC
I ask that anyone that is experiencing the issue to zip up all the dlls found in their bin directory and attach them here that too would help.  

If you want to send them privately notify me here and I will get in touch with you.
Comment 28 Rohit Vipin Mathews 2015-10-27 09:49:59 UTC
Created attachment 13537 [details]
The dll's used in my Xamarin.iOS project
Comment 29 Matt Gerber 2015-10-27 10:00:57 UTC
Created attachment 13538 [details]
DLL files for Matt Gerber

@Bill, I have updated Facebook iOS SDK to 4.7.1-beta1 as suggested by Israel, but I am still getting the compile-time error indicated by this bug. Here are my DLL files. I'll continue to try to isolate the problem.
Comment 30 Paul Roy 2015-10-27 10:18:10 UTC
I'm experiencing the same bug, but the only nuget packages I seem to have in common with you is Newtonsoft.Json and Azure Mobile Services (in addition to Xamarin Forms, of course).

Could these be at the root of the problem ?

This is a major bug in my opinion, we are fully blocked :-/
Comment 31 Bill Holmes 2015-10-27 10:46:36 UTC
Matt can you try to downgrade PCL Crypto?

https://www.nuget.org/packages/PCLCrypto/1.0.2.15130


It is a guess as this is the only dll that contains anything related to NSMutableDictionary.

To be honest I am not sure why Xamarin.iOS was sent and why it is in your bin directory.  Maybe that could be a cause as well?

I am still digging to find a true test to catch this bug.
Comment 32 Bill Holmes 2015-10-27 11:02:43 UTC
Actually Rohit  and Matt you both have PCLCrypto.dll.

Matt I see a hit for PLCrashReporterUnifiedBinding.dll which comes from Xamarin.Insights.  I suggest trying to downgrade that one to 1.10.6.
Comment 33 Matt Gerber 2015-10-27 11:49:21 UTC
@Bill - I removed PCLCrypto (1.0.80), which also required removal of my AWS components. The error disappeared and everything compiled fine. I then tried to downgrade just the PCLCrypto package as suggested by, but that broke one of the AWS components.

What do you suggest?
Comment 34 Bill Holmes 2015-10-27 11:55:48 UTC
I think we need to look at this code and rebuild it.  

https://github.com/AArnott/PCLCrypto/search?utf8=%E2%9C%93&q=NSMutableDictionary

This is not maintained by Xamarin so we will have to work with the author to get an official fix.

If you happen to make any progress please let me know.
Comment 35 Paul Roy 2015-10-27 11:58:28 UTC
I'm sorry, I was looking at Matt's list in comment 14, I also have PCLCrypto and Xamarin Insights.

I'm not sure downgrading will be enough (they use the NSMutableDictionary from the beginning - https://github.com/AArnott/PCLCrypto/blob/master/src/PCLCrypto.Shared.iOS/RsaAsymmetricKeyAlgorithmProvider.cs).

However we can tell them it's causing trouble with the new version. I have declared a bug (https://github.com/AArnott/PCLCrypto/issues/42).
Comment 36 Bill Holmes 2015-10-27 12:00:18 UTC
I am being told that simply rebuilding the dll will fix the issue.  Let me see if I can get one rebuilt for you all to try.
Comment 37 Bill Holmes 2015-10-27 12:35:43 UTC
Created attachment 13542 [details]
rebuilt PCLCrypto to try
Comment 38 Paul Roy 2015-10-27 12:37:14 UTC
Thanks, you're awesome !
Comment 39 Bill Holmes 2015-10-27 12:39:16 UTC
Does that mean that it works?
Comment 40 Paul Roy 2015-10-27 12:41:10 UTC
No, sorry, I was yelling victory too soon.

Using this DLL does not seem to fix this.
Comment 41 Bill Holmes 2015-10-27 12:43:59 UTC
Same error I guess?  Make sure that you blow away or replace all instances of it on disk.

The build tools could be picking up an old one or overwriting the new with the old.

It is still possible that I do not have the correct build configuration.
Comment 42 Paul Roy 2015-10-27 12:50:49 UTC
Additional info: I realized that I forgot to remove Xamarin Insights too, but this does not build on my side when I remove Insights and use your DLL.

I cleaned, rebuilt without the DLL, then rebuilt with the DLL, I think this is enough to say I'm not using the old one ? I'm using it directly (by browsing it).
Comment 43 Matt Gerber 2015-10-27 12:51:45 UTC
@Bill - I replaced my NuGet PCLCrypt.dll with the one you attached, then I deleted the bin and obj directories within my project and rebuilt. I got the same error.
Comment 44 Bill Holmes 2015-10-27 13:37:35 UTC
Created attachment 13546 [details]
Tool to test if a dll uses NSMutableDictionary::set_Item

I am still working on the rebuild.  Something else to check is that if any of your other dlls call set_Item.

Attached is a zip with an exe that you can run again each dll in your bin directory.

mono testtool/xir.exe ./repo/PCLCrypto/bin/Debug/PCLCrypto.iOS-Unified/PCLCrypto.dll

You are looking for it to log to the console 
May have a hit for System.Void Foundation.NSMutableDictionary::set_Item

A hit here does not necessarily mean that it is causing the bug.  Only that it calls set_Item.

Please let me know if you get any other hits.
Comment 45 Matt Gerber 2015-10-27 13:58:07 UTC
@Bill - Here is the log from your test tool. Looks like PCLCrypto -- including the rebuilt version you posted in #37 -- are the only offenders.

'AWSSDK.CognitoIdentity.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
This assembly refers to Xamarin.iOS.dll (unified) API
'AWSSDK.Core.dll' resolved without any error
'AWSSDK.S3.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
'AWSSDK.SecurityToken.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
This assembly refers to Xamarin.iOS.dll (unified) API
'Calabash.dll' resolved without any error
This assembly refers to Xamarin.iOS.dll (unified) API
'Facebook.dll' resolved without any error
This assembly refers to Xamarin.iOS.dll (unified) API
'Microsoft.WindowsAzure.Mobile.Ext.dll' resolved without any error
'Microsoft.WindowsAzure.Mobile.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
'Newtonsoft.Json.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
This assembly refers to Xamarin.iOS.dll (unified) API
May have a hit for System.Void Foundation.NSMutableDictionary::set_Item(ObjCRuntime.INativeObject,ObjCRuntime.INativeObject) in PCLCrypto, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d4421c8a4786956c
'PCLCrypto.dll' resolved without any error
'PCLStorage.Abstractions.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
'PCLStorage.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
This assembly refers to Xamarin.iOS.dll (unified) API
'PLCrashReporterUnifiedBinding.dll' resolved without any error
'System.Net.Http.Extensions.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
'System.Net.Http.Primitives.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
'Toasts.Forms.Plugin.Abstractions.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
This assembly refers to Xamarin.iOS.dll (unified) API
'Toasts.Forms.Plugin.iOS.dll' resolved without any error
'Validation.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
'Xam.Plugin.MapExtend.Abstractions.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
This assembly refers to Xamarin.iOS.dll (unified) API
'Xam.Plugin.MapExtend.iOSUnified.dll' resolved without any error
'Xamarin.Forms.Core.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
'Xamarin.Forms.Maps.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
This assembly refers to Xamarin.iOS.dll (unified) API
'Xamarin.Forms.Maps.iOS.dll' resolved without any error
'Xamarin.Forms.Platform.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
This assembly refers to Xamarin.iOS.dll (unified) API
'Xamarin.Forms.Platform.iOS.dll' resolved without any error
'Xamarin.Forms.Xaml.dll' has no reference to Xamarin.iOS.dll or monotouch.dll assemblies
This assembly refers to Xamarin.iOS.dll (unified) API
'Xamarin.Insights.dll' resolved without any error
This assembly refers to Xamarin.iOS.dll (unified) API
'Xamarin.Mobile.dll' resolved without any error
Comment 46 Matt Gerber 2015-10-27 14:04:40 UTC
@Bill @Rolf - Looks like Andrew (PCLCrypto author) is willing to fix this, but he needs to pointers over on his GitHub page:

https://github.com/AArnott/PCLCrypto/issues/42

Can someone please take a look?
Comment 47 Bill Holmes 2015-10-27 16:03:38 UTC
Created attachment 13551 [details]
Rebuild 2 of PCLCrypto

Patched my VS build and tried again.  Please let me know if this works so I can sleep tonight.
Comment 48 Matt Gerber 2015-10-27 18:12:10 UTC
@Bill - Your updated PCLCrypto fixed the error indicated in this bug report; however, a new bug is created:

Error MT2002: Failed to resolve "System.Void Amazon.Runtime.AmazonDateTimeUnmarshallingException::.ctor(System.String,System.String,System.String,System.String,System.String,System.Exception)" reference from "AWSSDK.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604" (MT2002)

I tried upgrading to AWSSDK.Core 3.2.0.0-beta from 3.1.3.2 (where the above error also occurs), but that didn't work.

Suggestions?
Comment 49 Pavel Sich 2015-10-27 18:41:47 UTC
I can confirm this happens with PCLCrypto library of version 1.0.8 (latest), if you rollback to older one (I use PCLCrypto.1.0.2.15130) all is fine then.

So I think it should be simple to fix, just correctly recompile the latest nuget packages.
Comment 50 Matt Gerber 2015-10-27 18:53:13 UTC
@Pavel - Your suggestion does indeed eliminate the error indicated in this bug report, but I still get the error indicated in my comment #48 above. So it doesn't seem to be the entire story.
Comment 51 Pavel Sich 2015-10-27 18:57:34 UTC
@Matt Hmm, that is an interesting one. I would try locating an older (not newer) version of the package, as it seems the new lib has the constructor for that exception removed = mtouch cannot link it into.
Comment 52 Matt Gerber 2015-10-27 19:23:35 UTC
@Pavel @Bill - Here is the configuration that finally works for me, as well as a summary of errors and how to get them.

The following configuration of rollbacks works:

AWS Cognito Identity:  3.1.0.2
AWS S3:  3.1.3.0
AWS Security Token:  3.1.0.1
AWS Core:  3.1.1.0
PCLCrypto 1.0.2.15130 -- OR -- the rebuilt PCLCrypto provided by Bill in comment #47 (which I believe is just PCLCrypto 1.0.80 built against the newest Xamarin.iOS, though check me on that).

The following does not work:

Building with PCLCrypto 1.0.80 gives the compiler error indicated in this bug report. Building with PCLCrypto 1.0.2.15130 or the rebuilt PCLCrypto provided by Bill in comment #47 will produce the error indicated in my comment #48 __if also using the newest AWS packages__ (not the rollbacks indicated above).
Comment 53 Bill Holmes 2015-10-28 10:31:50 UTC
Created attachment 13559 [details]
Test Exe to find AmazonDateTimeUnmarshallingException

Matt,

I adjusted my program to look for the new reference.  I ran it again the dlls that you sent yesterday and did not get any hits.

I am thinking that you have something out of sync from all of the version switching that you did yesterday.  Please run this against all the dlls and exe in your bin directory as I instructed yesterday.  Look for "May have a hit" to tell us what assembly needs that ctor.  That will give us a clue to which dll is out of sync and needs updated or rebuilt.
Comment 54 Paul Roy 2015-10-29 05:59:08 UTC
I also confirm the DLL works. Thanks for your support !
Comment 55 Bill Holmes 2015-10-29 10:49:52 UTC
Update - I have requested that PCLCrypto be rebuilt.

https://github.com/AArnott/PCLCrypto/issues/42#issuecomment-152196007

@Matt any update on your remaining issues?
Comment 56 Matt Gerber 2015-10-29 12:36:32 UTC
@Bill - I won't have time to do the additional testing until sometime tomorrow. However, I believe it should be easy for you to reproduce the error I describe in comment #52. Use the latest AWS Cognito and S3 components and replace the current PCLCrypto DLL with your rebuilt version from comment #47. It should give the AmazonDateTimeUnmarshallingException indicated in comment #48.
Comment 57 Bill Holmes 2015-10-29 15:29:00 UTC
@Matt I was finally able to reproduce this.  Thanks for all your help and info.

I found a problem with the S3 NuGet.  They introduced an error with their packaging on NuGet.  

See https://github.com/aws/aws-sdk-net/issues/267

I recommend using 3.1.3.1 of S3 until they provide an updated Core nuget.
Comment 58 Matt Gerber 2015-11-04 22:49:20 UTC
I can confirm that the latest AWS packages now compile when using PCLCrypto 1.0.2.15.130. We are still waiting for the new PCLCrypto package though:

https://github.com/AArnott/PCLCrypto/issues/42
Comment 59 Bill Holmes 2015-11-05 11:51:13 UTC
I got a notification that this was not pushed to NuGet.  

https://github.com/AArnott/PCLCrypto/issues/42

I believe this defect is now closed
Comment 60 Matt Gerber 2015-11-05 11:55:03 UTC
@Bill - Indeed, using the latest PCLCrypto (1.0.82) now works. This issue is resolved for me. Thanks for your help!