【发布时间】:2012-08-28 15:27:27
【问题描述】:
在我使用 MonoDevelop (3.0.3.5) 创建的解决方案中,我有 3 个项目:
- 带有 UI 的 MonoTouch 项目,
- 带有 iOS 特定代码的 MonoTouch 库项目,
- 具有域模型的便携式库项目。
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<T1,T2,T3,T4,T5,T6,T7,T8,T9,TResult>' requires10' 类型参数(CS0305)
看来不支持2参数泛型重载Func<T, TResult>?
public void RunInTransaction (Action action) {
使用泛型类型
System.Action<T>' requires1' 类型参数(CS0305)
那么看来Action的非泛型版本找不到了?
【问题讨论】:
-
如果删除可移植类库中的所有引用,它会做什么?除了可能是您自己的可移植类库项目之外,您不应该有任何引用。
-
@jonathanpeppers 感谢您的评论。删除引用没有帮助,我猜是因为它是核心程序集。查看带有名称的更新问题。
-
你能在某处发布一个示例项目吗?不必是您的整个项目,只需一个演示不会为您构建的项目即可。
-
@jonathanpeppers 感谢您的建议,我发现基本代码可以编译。 sqlite-net GitHub项目中的具体代码无法编译。请参阅 GitHub 上示例代码的更新问题和参考。问题中列出了构建错误。
-
我也见过这种类型的问题 - 通常我的大部分 plp mt 工作目前都处于“暂停”状态。如果您在 plp 项目中添加对 mscorlib 的显式引用是否有帮助? (我猜不是!)可能值得将其记录为 bugzilla 错误。
标签: mono xamarin.ios monodevelop portable-class-library