如何解决无法使用C#.Net从C:\\\\ Testing \\\\ Docs读取txt文件
|| 我有一个C#.Net 4.0项目,它需要读取文本文件并解析它们-非常简单。 这些文件位于C:\\ Testing \\ Docs 当我尝试在上述目录中打开文本文件时,出现以下错误: 请求类型为\'System.Security.Permissions.FileIOPermission,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089 \'的权限失败。 文件权限设置为完全访问,我以管理员身份运行。 有什么办法解决吗? 谢谢。解决方法
如果您要部署ClickOnce应用程序,则会显示该错误,因为您没有查看文件所需的适当信任级别。这与文件权限不同。
您可以通过以下方式之一解决此问题:
将以下属性添加到您的程序:
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand,Name = \"FullTrust\")]
在项目属性中更改信任级别。简短的方法是仅选中“这是一个完全信任的应用程序”,或者可以继续手动添加文件权限。
, 这不是文件系统权限问题,而是关于“信任”的问题。
这是网络应用程序吗?如果是这样,则需要增加信任级别。
如果程序正在从网络共享中运行,或者正在从网络共享中加载程序集,您也可能会遇到问题(尽管我认为其中某些规则在.Net 2的生命周期中已更改)。
Google .net“完全信任”-或实际上是您所获得的例外-您将得到答案。
还有这样的事情:使用MEF加载dll时的System.Security.Permissions.FileIOPermission
(更新)
由于它不是Asp.Net应用程序-您可能需要请求命名权限集的权限-按照给定的示例请求“ 1”集。
但是,我认为关于该应用程序您并不是在说什么-因为在我看来,如果该应用程序是在您的计算机上构建和运行的,那么您就不需要这样做。
例如,如果该exe(或正在请求此权限的DLL)已从不受信任的网络位置复制到目标计算机,则它可能已被操作系统阻止-在这种情况下,它将被强制部分运行信任。您可以在sevenforums上尝试本文概述的步骤,检查应用程序文件夹中的每个二进制文件,以确保没有任何文件被阻止,如果是,请取消阻止它们。
然后尝试再次运行它。
, 它是Web应用程序还是Winforms / Cosole应用程序。
对于Web应用程序,该用户不是Admin,而是执行IIS特权的用户。您可能需要授予该用户/角色对文件夹或文件的权限。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。