1

Sitrep:配列内の多数のテキストを値に解析する解析関数があります。同じ種類の解析を数回続けて行い、最初の 3 つは機能しますが、ビルドしようとすると最後の 2 つは Xamarin でエラーをスローします。私はそれを何度も繰り返してきましたが、何が問題なのかわかりません。

エラー:

System.IO.FileNotFoundException: The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
at Microsoft.Samples.Debugging.CorDebug.NativeApi.ICorDebug.CreateProcess(String lpApplicationName, String lpCommandLine, SECURITY_ATTRIBUTES lpProcessAttributes, SECURITY_ATTRIBUTES lpThreadAttributes, Int32 bInheritHandles, UInt32 dwCreationFlags, IntPtr lpEnvironment, String lpCurrentDirectory, STARTUPINFO lpStartupInfo, PROCESS_INFORMATION lpProcessInformation, CorDebugCreateProcessFlags debuggingFlags, ICorDebugProcess& ppProcess)
at Microsoft.Samples.Debugging.CorDebug.CorDebugger.CreateProcess(String applicationName, String commandLine, SECURITY_ATTRIBUTES processAttributes, SECURITY_ATTRIBUTES threadAttributes, Boolean inheritHandles, Int32 creationFlags, IntPtr environment, String currentDirectory, STARTUPINFO startupInfo, PROCESS_INFORMATION& processInformation, CorDebugCreateProcessFlags debuggingFlags)
at Microsoft.Samples.Debugging.CorDebug.CorDebugger.CreateProcess(String applicationName, String commandLine, String currentDirectory, IDictionary`2 environment, Int32 flags)
at MonoDevelop.Debugger.Win32.CorDebuggerSession.<>c__DisplayClass5.<OnRun>b__4()
at MonoDevelop.Debugger.Win32.MtaThread.Run(Action ts)
at MonoDevelop.Debugger.Win32.CorDebuggerSession.OnRun(DebuggerStartInfo startInfo)
at Mono.Debugging.Client.DebuggerSession.<>c__DisplayClass11.<Run>b__f()

今、私はこのエラーを調べて読みましたが、それを理解するのに十分ではありません. 私には、Xamarin がビルドのデバッグに必要なファイルを見つけられないように見えるので、Xamarin で修復インストールを試みましたが、役に立ちませんでした。

コード

for (int i = 0; i < lines.Length; i++) {
        string s = lines[i];
        bool p;
// Some other parsing stuff

        else if (s.Contains("Melee:")) {
            int myMelee;
            p = int.TryParse(s.Replace("Melee:", "").Trim(), out myMelee);
            currentMek.melee = myMelee;
            mekMelee.Value = currentMek.melee;
        }
        else if (s.Contains("Guns:")) {
            int myGuns;
            p = int.TryParse(s.Replace("Guns:", "").Trim(), out myGuns);
            currentMek.guns = myGuns;
            mekGuns.Value = currentMek.guns;
        }
        else if (s.Contains("Cannons:")) {
            int myCannons;
            p = int.TryParse(s.Replace("Cannons:", "").Trim(), out myCannons);
            currentMek.cannons = myCannons;
            mekCannons.Value = currentMek.cannons;
        }
        //causing problems from here down
        else if (s.Contains("Missiles:")) {
            int myMissiles;
            p = int.TryParse(s.Replace("Missiles:", "").Trim(), out myMissiles);
            currentMek.missiles = myMissiles;
            mekMissiles.Value = currentMek.missiles;
        }
        else if (s.Contains("Rockets:")) {
            int myRockets;
            p = int.TryParse(s.Replace("Rockets:", "").Trim(), out myRockets);
            currentMek.rockets = myRockets;
            mekRockets.Value = currentMek.rockets;
        }
}

そうでない場合は、最後の2つを削除またはコメントアウトすると、すべて問題ありません。何故ですか?

4

1 に答える 1

0

配列にエラーがあると思います。探している行が実際に配列にあるかどうかを確認してください。エラーは ArrayOutOfIndex にある可能性がありますほとんどの場合、VS2012 で Visual Studio が誤ってエラーを返すことが何度かあるためです。お返事を待って。

于 2013-08-27T19:05:29.063 に答える