【问题标题】:MonoTouch with Portable Library Project can't build带有便携式库项目的 MonoTouch 无法构建
【发布时间】:2012-08-28 15:27:27
【问题描述】:

在我使用 MonoDevelop (3.0.3.5) 创建的解决方案中,我有 3 个项目:

  1. 带有 UI 的 MonoTouch 项目,
  2. 带有 iOS 特定代码的 MonoTouch 库项目,
  3. 具有域模型的便携式库项目。

Portable Library 项目无法编译,并在 MonoDevelop 中的引用(System、System.Core、System.Xml)上显示警告符号。当我展开程序集引用时,会显示以下错误消息:

Assembly not available in .NETPortable 4.0 Profile1 Profile (in Mono 2.10.9)

this forum thread 中报告了同样的问题。

有没有人遇到同样的问题并且能够解决?

更新

可以在 GitHub here (bgever/plp-build-error) 上找到带有构建错误的演示解决方案。

我发现虽然显示了错误消息,但基本代码可以编译并按预期工作。

但是,阻止演示解决方案编译的两种构建错误变体是:

public T Get<T> (Expression<Func<T, bool>> predicate) where T : new() { 

使用泛型类型System.Func&lt;T1,T2,T3,T4,T5,T6,T7,T8,T9,TResult&gt;' requires10' 类型参数(CS0305)

看来不支持2参数泛型重载Func&lt;T, TResult&gt;

public void RunInTransaction (Action action) {

使用泛型类型System.Action&lt;T&gt;' requires1' 类型参数(CS0305)

那么看来Action的非泛型版本找不到了?

【问题讨论】:

  • 如果删除可移植类库中的所有引用,它会做什么?除了可能是您自己的可移植类库项目之外,您不应该有任何引用。
  • @jonathanpeppers 感谢您的评论。删除引用没有帮助,我猜是因为它是核心程序集。查看带有名称的更新问题。
  • 你能在某处发布一个示例项目吗?不必是您的整个项目,只需一个演示不会为您构建的项目即可。
  • @jonathanpeppers 感谢您的建议,我发现基本代码可以编译。 sqlite-net GitHub项目中的具体代码无法编译。请参阅 GitHub 上示例代码的更新问题和参考。问题中列出了构建错误。
  • 我也见过这种类型的问题 - 通常我的大部分 plp mt 工作目前都处于“暂停”状态。如果您在 plp 项目中添加对 mscorlib 的显式引用是否有帮助? (我猜不是!)可能值得将其记录为 bugzilla 错误。

标签: mono xamarin.ios monodevelop portable-class-library


【解决方案1】:

通过附加错误消息,我发现了以下 SO 问题:MonoDevelop: is it possible to switch PCL's compiler? 提供了来自@mhutch 的答案,MonoTouch 编译器可以被强制执行,然后能够编译代码。

不过,这只是一种解决方法,因此,如果能在 Mono、MonoDevelop 和 MonoTouch 中看到适当的可移植类库支持,那就太好了。

如果您还需要适当的可移植类库支持:vote for this feature on Xamarin's UserVoice

【讨论】:

    【解决方案2】:

    我对 PLP 中的 .Net 引用也有类似的问题,我实际上所做的是删除现有引用并从安装 .Net Framework 的位置手动添加它们,重新启动 MonoDevelop,我就起来了并再次运行。

    【讨论】:

    • 感谢您的建议。通过这样做,您还瞄准了完整的 .NET 或 MonoTouch 平台,而不是 Portable Library 平台。它可以编译,但不可移植。不过,我们需要完整的便携式库支持。
    猜你喜欢
    • 2014-04-27
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    相关资源
    最近更新 更多