拒绝在C#中访问文件

Noo*_*nts 2 c# io system denied unauthorizedaccessexcepti

我使用简单的文件IO在C#XNA中创建了一个游戏来处理保存的游戏数据,但是当我打包游戏并让其他人运行它时会产生问题.经过几次测试后,我发现游戏可以在Administrator中运行,但是如果没有这样做会抛出UnauhorizedAccessExceptions(并且在没有被捕获时只是挂起无响应).这对我来说很有意义,因为我记得在我尝试使用File IO时看到了这个异常.

我可以简单地捕获异常并对其执行任何操作,让游戏本身保持响应......但除非使用管理员权限运行,否则保存功能不起作用.

所以我的问题是,是否有一个我可以保存的地方不是用户干扰,但可以在没有管理员访问权限的情况下访问?这甚至是一个可访问的位置或更多的问题?这有什么好的办法吗?如果我需要提供代码或更多细节,请告诉我.

tom*_*ing 5

用户配置文件中的某个位置,例如AppData或My Documents.

获取AppData的路径如下:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Run Code Online (Sandbox Code Playgroud)

Environment.GetFolderPath的文档在这里:

http://msdn.microsoft.com/en-gb/library/system.environment.getfolderpath.aspx