私は単純な.NETコンソールアプリケーションを作成しました。どのように簡単ですか?これは単純です:Windows XPでは、単純な.NETコンソールアプリケーションが失敗する原因は何ですか?
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フレームワークに対してリリースビルドし、実行可能ファイルを私の顧客の1人に与えました。彼はXPマシン(または彼のWindows 2008サーバー)のコマンドウィンドウでそれを実行すると、(DOS)メモリ不足のエラーが発生します。
私はおそらく私が間違っている可能性があることを理解するために頭を悩ましています。私はもちろん、テストするために私自身のXP環境を持っていないので、私はこの問題を再現することはできません。何か案は?
Windows 7 Professionalをお持ちの場合は、XP仮想マシンであるXPModeをインストールすることができます。これにより、この問題をローカルでテストすることができます。 – ChrisF
私は幾分明らかですが、彼は正しいバージョンの.Netがインストールされていますか? –
もっとコードがありますか? AppDomain.CurrentDomain.UnhandledExceptionのイベントハンドラを記述し、e.ExceptionObject.ToString()の値を表示します。スタックトレースはどこから爆発したかを伝えます。 –