无法创建类的实例

问题描述:

Unable to create instance of class TestClass. Error: System.UnauthorizedAccessException: Access to the path 'C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\TestProject' is denied.无法创建类的实例

System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) System.IO.FileStream..ctor(String path, FileMode mode) KM_Automation.KM_Library.GetAutoConfig() in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\TestProject\Test_Library.cs: line 40 KM_Automation.KM_Functional_Trans_General..ctor() in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\TestProject\TestClass.cs: line 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 

为什么会出现这个错误?我确定该文件夹是共享给所有人的,并删除了只读。

您会收到此错误消息,因为异常消息显示当前用户无权访问相关文件。您需要调整该文件的权限以及它的父目录以允许访问有问题的用户

问题的一部分是您选择的位置。看起来您正尝试在一组用户之间共享配置文件,但您已将文档的位置选择为管理员目录。

C:\Documents and Settings\Administrator\My Document

如果你想分享用户之间,那么我会用All UsersPublic目录,而不是因为它意味着这种类型的操作。

+0

非常感谢你:) – Maya 2011-06-06 15:02:13

当您共享一个文件夹时,Windows会查看两组权限:共享权限,然后是实际的文件安全权限。除非您的文件夹安全性设置为允许所有人读取访问权限,否则无论您的共享设置设置为什么。

最佳做法是将共享级别设置为完全控制,然后使用安全设置微调权限。默认情况下,您的用户文件夹(管理员)只能由该名称用户和系统管理员写入和读取。

+0

谢谢!!感谢! – Maya 2011-06-06 15:03:31

当它表示它没有权限时,可能是这样 - 例如,如果您正在运行网站,则无法读取任何文件夹,因为您的默认用户被匿名访问者用于“沙盒”到低文件系统权限。

仔细检查您的应用程序运行在哪个用户名(网站或桌面应用程序)下,为其设置安全和共享权限(如果您通过共享访问它)。

另一个错误是该文件不存在。这是我们有的奇怪的误导性错误之一 - 但是,可以肯定的是,在执行之前检查sConfigFile的值。

+0

非常感谢 – Maya 2011-06-06 15:02:58