【问题标题】:Could not compute a complete dependency map for the project无法为项目计算完整的依赖关系图
【发布时间】:2013-12-10 10:41:49
【问题描述】:

我想摆脱这条消息,这样构建时间就会大大减少(它可以构建并运行正常)。 此警告出现在 mtouch 中。

警告 MT3006:无法为 项目。这将导致生成时间变慢,因为 Xamarin.iOS 无法正确检测需要重建的内容(以及不需要重建的内容) 待重建)。请查看之前的警告以了解更多详细信息。

测试解决方案:带有 ios 项目和 pcl (wp8+monotouch+net45+android) 的 helloworld mvvmcross 解决方案 + 仅 pcl 中的 Microsoft HTTP PCL 包 + pcl 中对 HttpClient.GetStringAsync 的异步调用。

完整日志:

警告 MT3005: 依赖 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' 程序集 ' Cirrious.CrossCore,版本=1.0.0.0,文化=中性, 未找到 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,文化=中性, 未找到 PublicKeyToken=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,文化=中性, 未找到 PublicKeyToken=null'。请查看项目的 参考文献。

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

程序集'Com.Catenum.Intouch.Business, Version=1.0.0.0, 文化=中性,PublicKeyToken=null' 未找到。请查看 项目的参考。

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,文化=中性, 未找到 PublicKeyToken=null'。请查看项目的 参考文献。

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

程序集'Com.Catenum.Intouch.Business, Version=1.0.0.0, 文化=中性,PublicKeyToken=null' 未找到。请查看 项目的参考。

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

Xamarin.iOS 无法正确检测需要重建的内容(以及 不需要重建)。请查看以前的警告以了解更多信息 详情。

【问题讨论】:

    标签: xamarin.ios mvvmcross


    【解决方案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 程序集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-25
      • 2014-09-05
      • 2020-09-09
      • 2022-01-23
      • 2021-08-24
      • 1970-01-01
      • 2010-10-10
      • 2010-09-22
      相关资源
      最近更新 更多