我为Debian 8(jessi)开发.NET apllication并且我捕获了这个异常(System.UnauthorizedAccessException,权限访问路径 /usr/lib/myapplication/mydir/myfile.db拒绝)。 mydir的命令chmod -R 0777已被执行。没有效果。 有任何想法吗 ?
UPD:我正在使用LiteDb库来创建lite.db本地数据库。 调用堆栈: System.UnauthorizedAccessException:访问路径 'path_to_litedb_file'被拒绝。 ---> System.IO.IOException:Permission denied
在Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo,String path,Boolean isDirectory,Func 2 errorRewriter)
at Interop.CheckIo[TSafeHandle](TSafeHandle handle, String path, Boolean isDirectory, Func
2 errorRewriter)
在Microsoft.Win32.SafeHandles.SafeFileHandle.Open(字符串路径,OpenFlags标志,Int32模式)
在System.IO.UnixFileStream..ctor(字符串路径,FileMode模式,FileAccess访问,FileShare共享,Int32 bufferSize,FileOptions选项,FileStream父级)
在System.IO.UnixFileSystem.Open(String fullPath,FileMode模式,FileAccess访问,FileShare共享,Int32 bufferSize,FileOptions选项,FileStream parent)
在System.IO.FileStream.Init(字符串路径,FileMode模式,FileAccess访问,FileShare共享,Int32 bufferSize,FileOptions选项)
在LiteDB.FileDiskService.CreateFileStream(字符串路径,FileMode模式,FileAccess访问,FileShare共享)
在LiteDB.FileDiskService.Initialize(记录器日志,字符串密码)
在LiteDB.LiteEngine..ctor(IDiskService磁盘,字符串密码,Nullable 1 timeout, Int32 cacheSize, Logger log)
at LiteDB.LiteDatabase.<>c__DisplayClass11_0.<.ctor>b__0()
at LiteDB.LazyLoad
1.get_Value()
在LiteDB.LiteCollection`1.EnsureIndex(String field,Boolean unique)
答案 0 :(得分:0)
我使用了错误的文件路径来配置LiteDb数据库。 问题已得到解决。