2

UnityとC#を使用し、これらの行を試すと

using System.Xml.Linq;

このエラーが発生します

型または名前空間名Linq' does not exist in the namespace System.Xml'. アセンブリ参照がありませんか?

そのため、オンラインで多くの検索を行った結果、Linq が問題を引き起こす可能性があり、MonoDevelop に手動で参照を追加する必要があることがわかりました。そこで、そこに参照を追加しました (ソリューション ペインで [参照] を右クリックし、[参照の編集] をクリックして System.Xml.Linq を参照します)。

まだ運がない、

何か案は?

4

3 に答える 3

2

このSO投稿があなたの質問に答えると思います...

https://stackoverflow.com/a/875704/1246574

それはあなたが抱えている問題とほとんど同じです。

于 2013-07-24T14:49:03.467 に答える
0

monodevelop (またはビジュアル スタジオ) ソリューションまたはプロジェクトを手動で変更することはできません。それらは Unity によって生成されるためです。変更しても、Unity はソリューション ファイルを再生成するときに変更を上書きできます。

一部の名前空間を使用できない理由は、Unity プロジェクト設定で選択された .net/mono バージョンです。

このドキュメントで「API 互換性レベル」を検索してくださいhttp://docs.unity3d.com/Documentation/Manual/class-PlayerSettings.html

皆さん、生成されたコード ファイルの変更をやめてください。これは2013年です!

于 2013-07-25T14:06:49.470 に答える
0

この投稿から、Unity はデフォルトで .NET 3.5 をサポートしていないことがわかりました (これは Linq を使用するために必要です)。Xtro が話した設定では、.NET 2.0 しか選択できません。代わりに、目的の .dll ファイルをテクスチャのように Unity にドラッグする必要があります。ちょっとハックですが、動作します。繰り返しますが、Xtro が言ったように、MonoDevelop 設定を編集する理由はありません。最終的なコンパイルには影響しません。

編集:別の解決策については、Xtroの回答を参照してください。彼は、API 互換性レベルを (サブセットではなく) .NET 2.0 に変更することで、Linq を機能させることができました。

編集 2: 今日 Unity 4.1 から 4.2 に更新したところ、Linq が 2 回定義されているというエラーが表示されました。.dllを削除することで、エラーを解決しました。注: 私はまだ .NET 2.0 サブセットを使用しています。デフォルトでLinqサポートを追加したようです。

于 2013-07-28T06:15:19.760 に答える