无法创建类的实例 识别TestClass。错误: System.UnauthorizedAccessException的: 访问路径'C:\ Documents and 设置\管理员\我的 Documents \ Visual Studio 2010 \ Projects \ TestProject'被拒绝。
System.IO .__ Error.WinIOError(的Int32 errorCode,String maybeFullPath) System.IO.FileStream.Init(String path, FileMode模式,FileAccess访问, Int32权限,布尔值使用权限, FileShare共享,Int32 bufferSize, FileOptions选项, SECURITY_ATTRIBUTES secAttrs,String msgPath,Boolean bFromProxy,Boolean useLongPath) System.IO.FileStream..ctor(字符串 path,FileMode模式,FileAccess 访问,FileShare共享,Int32 bufferSize,FileOptions选项, String msgPath,Boolean bFromProxy) System.IO.FileStream..ctor(字符串 路径,FileMode模式) C:\ Documents和中的KM_Automation.KM_Library.GetAutoConfig() 设置\管理员\我的 Documents \ Visual Studio 2010 \项目\ TestProject \ Test_Library.cs: 第40行 KM_Automation.KM_Functional_Trans_General..ctor() 在C:\ Documents和 设置\管理员\我的 Documents \ Visual Studio 2010 \项目\ TestProject \ TestClass.cs: 第33行
Test_Library.cs:
public string[] GetAutoConfig()
{
FileStream fs = new FileStream(sConfigFile, FileMode.Open); // line 40
StreamReader sr = new StreamReader(fs);
string line = "";
string[] arrline = new string[2];
}
TestClass.cs:
arrConfig = KMLib.GetAutoConfig(); // line 33
为什么我收到此错误?我确保该文件夹已与所有人共享,并删除了只读。
答案 0 :(得分:2)
您收到此错误,因为异常消息显示当前用户无法访问相关文件。您需要调整该文件及其父目录的权限,以允许访问相关用户
部分问题是您选择的位置。看起来您正在尝试在一组用户之间共享配置文件,但您已选择文档的位置在Administrator目录下。
C:\ Documents and Settings \ Administrator \ My Document
如果您想在用户之间共享,那么我会使用All Users
或Public
目录,因为它适用于此类操作。
答案 1 :(得分:1)
当您共享文件夹时,Windows会查看两组权限:共享权限,然后是实际的文件安全权限。除非您的文件夹安全性设置为允许每个人读取访问权限,否则您的共享设置设置为什么并不重要。
最佳做法是将“共享级别”设置为“完全控制”,然后使用“安全性”设置微调权限。默认情况下,您的用户文件夹(Administrator)只能由该命名用户和系统上的管理员编写和读取。
答案 2 :(得分:1)
当它说它没有权限时,它可能是 - 例如,如果您正在运行网站,则无法读取任何文件夹,因为用于匿名访问者的默认用户被“沙盒化”到低权限在文件系统上。
仔细检查您的应用程序运行的用户名(网站或桌面应用),为其设置安全性和共享权限(如果您通过共享访问它)。
另一个错误是该文件不存在。这是我们遇到的一个奇怪的误导性错误 - 但是,可以肯定的是,在执行之前检查sConfigFile的值。