私は Unity 4.1.5f1 と MonoDevelop 2.8.2 (つまり、執筆時点での現在の Unity セットアップ) で作業しており、オートコンプリートが教えてくれることとコンパイラーが教えてくれることとの間に奇妙な矛盾が生じています。
Unity フレームワークでコンパイラ メッセージが表示される Unity ウィンドウで、次のメッセージが表示されます。
Assets/Scripts/Track/Serialisation/FilePath.cs(74,31): error CS0246: The type or namespace name 'InvalidDataException' could not be found. Are you missing a using directive or an assembly reference?
ただし、オートコンプリートは、カーソルを合わせるとそれが何であるかを理解しているようです。
また、オートコンプリートを使用して InvalidDataException を発見しました。手動で入力しませんでした。Microsoft によると、そこにあります: http://msdn.microsoft.com/en-us/library/system.io.invaliddataexception.aspx
あなたが尋ねる前に、私のファイルの一番上に正しいusing
声明があります:
using System.IO;
完全修飾名も試しました:
catch(System.IO.InvalidDataException ex)
{
Debug.Log(ex.Message);
return false;
}
しかし、コンパイラは、オートコンプリートとの不一致においてさらに具体的です。
Assets/Scripts/Track/Serialisation/FilePath.cs(74,41): error CS0234: The type or namespace name 'InvalidDataException' does not exist in the namespace 'System.IO'. Are you missing an assembly reference?
ここで何が起こっているか知っている人はいますか?これは若いプレイヤーの罠に違いないと思いますが、検索してもほとんど成果が得られません。通常、IDE がこのようなことを行うと、再起動するだけですが、それでも問題が解決するわけではありません。