2013-12-10 74 views
1

我想擺脫此消息,以便構建時間大幅減少(它的構建和運行正常)。 此警告顯示在mtouch中。無法計算項目的完整依賴關係圖

警告MT3006:無法計算 項目的完整依賴關係圖。這會導致生成時間更慢,因爲Xamarin.iOS 無法正確檢測需要重建的內容(以及不需要重建的 )。請查看以前的警告以獲取更多詳細信息。

測試解決方案:在PCL與iOS項目和PCL(WP8 +的MonoTouch + net45 +安卓)+微軟HTTP PCL包的HelloWorld mvvmcross解決方案只+在PCL的異步調用HttpClient.GetStringAsync。

完整的日誌:

警告MT3005:依存 'System.Windows,版本= 2.0.5.0, 文化=中性公鑰= 7cec85d7bea7798e' 組裝 「Cirrious.CrossCore的,版本= 1.0 .0.0,Culture = neutral, PublicKeyToken = e16445fd9b451819'未找到。請查閱 項目的參考文獻。

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

'Cirrious.MvvmCross,版本= 1.0.0.0,文化=中立, 公鑰= e16445fd9b451819' 沒有被發現。請查閱 項目的參考文獻。

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

'Cirrious.MvvmCross.Binding,版本= 1.0.0.0,文化=中立, 公鑰=空' 沒有被發現。請查閱該項目的 參考。

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

大會 'Com.Catenum.Intouch.Business,版本= 1.0.0.0, 文化=中立,公鑰=空' 沒有被發現。請查閱 項目的參考文獻。

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

'Com.Catenum.Intouch.Business,版本= 1.0.0.0,文化=中立, 公鑰=空' 沒有被發現。請查閱該項目的 參考。

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

大會 'Com.Catenum.Intouch.Business,版本= 1.0.0.0, 文化=中立,公鑰=空' 沒有被發現。請查閱 項目的參考文獻。

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

Xamarin.iOS不能正常檢測需要重建什麼(不需要重建什麼 )。請查看以前的警告以獲取更多 的詳細信息。

回答

1

您必須確保所有程序集僅引用Xamarin.iOS發佈的BCL程序集。

例如:

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不具有System.Net.Http v1.5.0.0,它具有v2.0.5.0代替(所有Xamarin.iOS基類庫有版本v2.0.5.0,除了monotouch.dll本身)。解決方案是將Com.Catenum.Intouch.Business重新編譯爲Xamarin.iOS類庫(這通常包括創建一個新的Xamarin.iOS類庫項目,並鏈接源文件),這將確保它包含正確的引用System.Net.Http.dll。

請注意,在Xamarin.iOS 7.0.4中有一個(無害的)錯誤,在某些情況下會導致錯誤的MT3005/3006警告。這可能是第一個警告的情況下:

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. 

因爲Xamarin.iOS確實包含與該版本System.Windows程序集。