从CLRProfiler运行应用程序时出现UnauthorizedAccessException

时间:2013-01-31 21:40:38

标签: c# performance clrprofiler

我有一个应用程序,我试图用CLRProfiler配置文件,用.NET 4.0编写并在.NET Framework 4 Client Profile上运行WPF。应用程序在启动后不久加载一个数据文件,其位置在app.config中(因此在程序运行时不会以交互方式选择它)。从Visual Studio或Windows资源管理器启动应用程序时,一切正常。

但是,从CLRProfiler启动应用程序时,应用程序崩溃,UnauthorizedAccessException尝试加载文件。

尝试解决问题,我向自己,域用户和所有人提供了对该文件的完全控制权限,但问题仍在继续。监视任务管理器时,显示的短暂进程已在我的用户ID下启动。

有没有人知道如何使用CLRProfiler解决此问题?

1 个答案:

答案 0 :(得分:0)

最终,这结果是两个问题的组合:

  1. 未以管理员身份运行。

  2. 上面引用的数据文件在配置文件中指定了路径,但路径是相对的。当CLRProfiler启动应用程序时,工作目录仍然是分析器的工作目录,而不是切换到正在分析的应用程序。由于我运行无特权,因此打开数据文件失败实际上表现为UnauthorizedException,因为应用程序没有权限在安装了探查器的文件夹中进行根目录。

  3. 在纠正这两个问题后(第一个通过以管理员身份运行第二个,通过更改配置文件以使用绝对路径),问题就消失了。