【发布时间】:2008-11-05 20:04:44
【问题描述】:
所以...我曾经认为,当您访问文件但指定没有路径的名称(在我的情况下为 CAISLog.csv)时,.NET 会期望该文件与正在运行的 .exe 位于同一路径.
这在我逐步执行解决方案(C# .NET2.* VS2K5)时有效,但是当我在正常模式下运行应用程序时(由 Websphere MQ 触发器监视器启动并在后台作为网络服务运行)而不是在 C:\WINDOWS\system32 中查找 .exe 所在的路径访问文件。如果它很重要父任务的 .exe 与我的应用程序位于几乎相同的文件夹结构/路径中
我得到一个匹配的错误:“System.UnauthorizedAccessException: Access to the path 'C:\WINDOWS\system32\CAISLog.csv' is denied.”
我的解决方法是完全限定我的文件的位置。但是,我想了解的是 “在 IO 期间仅指定文件名时,管理如何解析路径的 .NET 规则是什么?” 我觉得我缺少一些基本概念和这让我很烦。
edit - 我不确定它本身是否是 .NET 规则,但 Schmuli 似乎更清楚地解释了这个概念。我一定会在未来尝试 Rob Prouse 的建议,所以也对此 +1。
如果有人有一些重新措辞的建议强调我并不真的关心找到我的 .exe 的路径 - 而只是不明白相对路径解析发生了什么(而且我的术语可能仍然搞砸了)...
【问题讨论】:
标签: c# visual-studio file-io .net-2.0