我正在编写一个 Windows CE 应用程序并希望将错误日志记录到 .txt 文件中。
我做了研究,看到了这个例子:
public static void Logs(string fileName, string methodName, string message)
{
try
{
if (!string.IsNullOrEmpty(message))
{
using (FileStream file = new FileStream(Application.StartupPath + "\\Log.txt", FileMode.OpenOrCreate, FileAccess.Write))
{
StreamWriter streamWriter = new StreamWriter(file);
streamWriter.WriteLine((((System.DateTime.Now + " - ") + fileName + " - ") + methodName + " - ") + message);
streamWriter.Close();
}
}
}
catch
{
}
}
private void button2_Click(object sender, EventArgs e)
{
try
{
int a = 10, b = 0;
int result = a / b; //runtime Exception will throw
}
catch (Exception ex)
{
Logs(this.GetType().Name, "button1_Click()", ex.Message.ToString());
}
}
这有效,但仅在 Windows 窗体中有效。我在 Windows CE 中收到此错误:
'System.Windows.Application' does not contain a definition for 'StartupPath'
好的,所以我知道我必须使用这个:
Path.GetDirectoryName (Assembly.GetExecutingAssembly ().GetName ().CodeBase);
但我不确定如何。仍在学习,所以请不要将其标记为重复。有人可以向我解释一下在 Windows CE 应用程序中的确切位置以及如何使用它吗?
提前致谢。