我有一个应用程序写入C:\驱动器上的文件夹.该程序在我的计算机上工作正常,但在运行.exe时另一台笔记本电脑(另一台笔记本电脑没有可视工作室等),我得到一个filenotfoundexception,我无法从错误报告中查明出现这种情况的代码行.
这是创建目录的代码(假设这是问题)
try
{
WriteDirectory = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\SMS Notifier\");
if (!WriteDirectory.Exists)
WriteDirectory.Create();
}
catch (Exception e)
{
throw e;
}
Run Code Online (Sandbox Code Playgroud)
任何想法可能是什么问题?我应该检查写入权限吗?
非常感谢!
如果将.pdb文件与.dll一起部署,您将在异常消息中获得行号!
你的try..catch块没有做任何有用的事情,它正在做的就是吞下堆栈跟踪,这样你就看不到发生了什么!我建议try..catch完全删除该块.
throw e;导致堆栈跟踪丢失,用于throw;保存它.
此外,您应该使用System.IO.Path.Combine()附加目录root和子目录名称,这样您就不必担心\自己做错并可能犯错误.