我有一个应用程序,我试图用CLRProfiler配置文件,用.NET 4.0编写并在.NET Framework 4 Client Profile上运行WPF。应用程序在启动后不久加载一个数据文件,其位置在app.config中(因此在程序运行时不会以交互方式选择它)。从Visual Studio或Windows资源管理器启动应用程序时,一切正常。
但是,从CLRProfiler启动应用程序时,应用程序崩溃,UnauthorizedAccessException
尝试加载文件。
尝试解决问题,我向自己,域用户和所有人提供了对该文件的完全控制权限,但问题仍在继续。监视任务管理器时,显示的短暂进程已在我的用户ID下启动。
有没有人知道如何使用CLRProfiler解决此问题?
答案 0 :(得分:0)
最终,这结果是两个问题的组合:
未以管理员身份运行。
上面引用的数据文件在配置文件中指定了路径,但路径是相对的。当CLRProfiler启动应用程序时,工作目录仍然是分析器的工作目录,而不是切换到正在分析的应用程序。由于我运行无特权,因此打开数据文件失败实际上表现为UnauthorizedException
,因为应用程序没有权限在安装了探查器的文件夹中进行根目录。
在纠正这两个问题后(第一个通过以管理员身份运行第二个,通过更改配置文件以使用绝对路径),问题就消失了。