1
votes

i would like to get rid of this message so build time dramatically decreases (it builds and runs ok). This warning appears in mtouch.

warning MT3006: Could not compute a complete dependency map for the project. This will result in slower build times because Xamarin.iOS can't properly detect what needs to be rebuilt (and what does not need to be rebuilt). Please review previous warnings for more details.

Test solution: helloworld mvvmcross solution with ios project and pcl (wp8+monotouch+net45+android) + Microsoft HTTP PCL package in pcl only + an async call to HttpClient.GetStringAsync in the pcl.

Full log:

warning MT3005: The dependency 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' of the assembly 'Cirrious.CrossCore, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e16445fd9b451819' was not found. Please review the project's references.

warning MT3005: The dependency 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' of the assembly

'Cirrious.MvvmCross, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e16445fd9b451819' was not found. Please review the project's references.

warning MT3005: The dependency 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' of the assembly

'Cirrious.MvvmCross.Binding, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' was not found. Please review the project's references.

warning MT3005: The dependency 'System.Net.Primitives, Version=3.9.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' of

the assembly 'Com.Catenum.Intouch.Business, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' was not found. Please review the project's references.

warning MT3005: The dependency 'System.Net.Http, Version=1.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' of the assembly

'Com.Catenum.Intouch.Business, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' was not found. Please review the project's references.

warning MT3005: The dependency 'System.Threading.Tasks, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' of

the assembly 'Com.Catenum.Intouch.Business, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' was not found. Please review the project's references.

warning MT3006: Could not compute a complete dependency map for the project. This will result in slower build times because

Xamarin.iOS can't properly detect what needs to be rebuilt (and what does not need to be rebuilt). Please review previous warnings for more details.

1

1 Answers

1
votes

You must make sure that all the assemblies only reference BCL assemblies that Xamarin.iOS ships.

For example:

warning MT3005: The dependency 'System.Net.Http, Version=1.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' of the assembly 'Com.Catenum.Intouch.Business, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' was not found. Please review the project's references.

Xamarin.iOS does not have a System.Net.Http v1.5.0.0, it has v2.0.5.0 instead (all the Xamarin.iOS base class libraries have version v2.0.5.0, except monotouch.dll itself). The solution is to recompile Com.Catenum.Intouch.Business as a Xamarin.iOS class library (this typically involves creating a new Xamarin.iOS class library project, and link the source files in), which will ensure it contains the correct reference to System.Net.Http.dll.

Note that in Xamarin.iOS 7.0.4 there is a (harmless) bug which causes spurious MT3005/3006 warnings in some cases. This is probably the case for the first warning:

warning MT3005: The dependency 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' of the assembly 'Cirrious.CrossCore, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e16445fd9b451819' was not found. Please review the project's references.

since Xamarin.iOS does contain a System.Windows assembly with that version.