private static void ParseErrors(PeVerifyResult result, string stdOut) { result.Errors = new List <string>(); int startIndex = 0; while (startIndex < stdOut.Length) { startIndex = stdOut.IndexOf("[IL]:", startIndex); if (startIndex == -1) { break; } int endIndex = stdOut.IndexOf("[IL]:", startIndex + 1); if (endIndex == -1) { // Look for the last line... endIndex = stdOut.IndexOf("\r\n", startIndex + 1); } result.Errors.Add(result.NormalizeErrorString(stdOut.Substring(startIndex, endIndex - startIndex))); startIndex = endIndex; } }
public static PeVerifyResult VerifyAssembly(string assemblyName) { PeVerifyResult result = new PeVerifyResult(); result.AssemblyName = assemblyName; string stdOut, stdErr; //result.ExitCode = StartAndWaitForResult(PeVerifyPath, assemblyName + " /UNIQUE /IL /NOLOGO", out stdOut, out stdErr); result.ExitCode = StartAndWaitForResult(PeVerifyPath, assemblyName + " /IL /NOLOGO", out stdOut, out stdErr); if (stdOut.Contains("The assembly is built by a runtime newer than the currently loaded runtime")) { Console.WriteLine("********* You should use a higher .NET version of PeVerify.exe. Press Enter to continue."); Console.ReadLine(); } ParseErrors(result, stdOut); return result; }
public static PeVerifyResult VerifyAssembly(string assemblyName) { PeVerifyResult result = new PeVerifyResult(); result.AssemblyName = assemblyName; string stdOut, stdErr; //result.ExitCode = StartAndWaitForResult(PeVerifyPath, assemblyName + " /UNIQUE /IL /NOLOGO", out stdOut, out stdErr); result.ExitCode = StartAndWaitForResult(PeVerifyPath, assemblyName + " /IL /NOLOGO", out stdOut, out stdErr); if (stdOut.Contains("The assembly is built by a runtime newer than the currently loaded runtime")) { Console.WriteLine("********* You should use a higher .NET version of PeVerify.exe. Press Enter to continue."); Console.ReadLine(); } ParseErrors(result, stdOut); return(result); }
private static void ParseErrors(PeVerifyResult result, string stdOut) { result.Errors = new List<string>(); int startIndex = 0; while (startIndex < stdOut.Length) { startIndex = stdOut.IndexOf("[IL]:", startIndex); if (startIndex == -1) break; int endIndex = stdOut.IndexOf("[IL]:", startIndex + 1); if (endIndex == -1) { // Look for the last line... endIndex = stdOut.IndexOf("\r\n", startIndex + 1); } result.Errors.Add(result.NormalizeErrorString(stdOut.Substring(startIndex, endIndex - startIndex))); startIndex = endIndex; } }