5

MonoDevelop (3.0.3.5) で作成した私のソリューションには、3 つのプロジェクトがあります。

  1. UI を使用した MonoTouch プロジェクト、
  2. iOS 固有のコードを含む MonoTouch ライブラリ プロジェクト、
  3. ドメイン モデルを使用したポータブル ライブラリ プロジェクト。

ポータブル ライブラリ プロジェクトはコンパイルされず、MonoDevelop の参照 (System、System.Core、System.Xml) に警告シンボルが表示されます。アセンブリ参照を展開すると、次のエラー メッセージが表示されます。

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

このフォーラム スレッドで同じ問題が報告されました。

誰かが同じ問題を抱えていて、それを解決できますか?

アップデート

ビルド エラーのデモ ソリューションは、GitHubのこちら (bgever/plp-build-error) にあります。

エラー メッセージは表示されますが、基本的なコードはコンパイルでき、期待どおりに動作することがわかりました。

ただし、デモ ソリューションのコンパイルを妨げるビルド エラーの 2 つのバリアントは次のとおりです。

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が見つからないようですか?

4

2 に答える 2

1

追加のエラー メッセージとともに、次の SO の質問を見つけました: MonoDevelop: PCL のコンパイラを切り替えることは可能ですか? @mhutch からの回答が提供されると、MonoTouch コンパイラを強制してコードをコンパイルできるようになります。

ただし、これは単なる回避策であるため、Mono、MonoDevelop、および MonoTouch で適切なポータブル クラス ライブラリがサポートされることを期待しています。

適切なポータブル クラス ライブラリのサポートも必要な場合: Xamarin の UserVoice でこの機能に投票してください。

于 2012-09-02T11:14:12.630 に答える
0

PLP 内の .Net 参照でも同様の問題が発生しました。実際に行ったことは、既存の参照を削除して、.Net Framework がインストールされている場所から手動で追加し直し、MonoDevelop を再起動すると、再び稼働していました。 .

于 2012-09-12T22:34:27.143 に答える