我寫了一個簡單的.NET控制檯應用程序。多簡單?這個簡單的:什麼會導致簡單的.NET控制檯應用程序在Windows XP下失敗?
class Program
{
static void Main(string[] args)
{
if (args.Length == 0)
{
Console.Error.WriteLine("Returns a date some number of days in the future or past.");
Console.Error.WriteLine();
Console.Error.WriteLine("GETDATE days [format]");
Console.Error.WriteLine("");
Console.Error.WriteLine(" days Specifies the number of days (defaults to 0, may be negative).");
Console.Error.WriteLine(" format .NET format string for output, (defaults to \"MM-dd-yyyy\").");
return;
}
string number = (args[0]);
string format = (args.Length > 1)
? args[2]
: "MM-dd-yyyy";
int days;
if (!int.TryParse(number, out days))
{
Console.Error.WriteLine("Can't parse {0} into an integer.", days);
return;
}
DateTime d = DateTime.Now + new TimeSpan(days, 0, 0, 0);
try
{
string result = d.ToString(format);
Console.Out.Write(result);
}
catch (FormatException)
{
Console.Error.Write("{0} is not a valid format.", format);
}
}
}
我已經對.NET 2.0框架做了一個發佈版本,並將可執行文件給了我的一個客戶。當他在他的XP機器(或他的Windows 2008服務器)上的命令窗口中運行它時,他得到(DOS)內存不足錯誤。
我在絞盡腦汁想弄清楚我可能做錯了什麼。我當然沒有我自己的XP環境來測試,所以我不能複製這個問題。有任何想法嗎?
如果你有Windows 7專業版,你可以安裝XPMode這是一個XP虛擬機。這應該允許你在本地測試這個問題。 – ChrisF
我知道它有點明顯,他是否安裝了.Net的正確版本? –
當然還有更多的代碼?編寫AppDomain.CurrentDomain.UnhandledException的事件處理程序並顯示e.ExceptionObject.ToString()的值。堆棧跟蹤會告訴你它在哪裏吹。 –