我有一个.net 3.5应用程序,我正在内联网上运行,据我所知,它应该“只运行”在映射的驱动器上,但我得到一个SecurityException类型“FileIOPermission”,当我调用
File.Open(mCurrentFile, FileMode.Create, FileAccess.Write, FileShare.Read)
我可以在映射的驱动器上创建文件,所以我有写权限.. 并且计算机不在域中..
我知道2.0应用程序没有从网络运行但据我所知3.5应该这样做现在可能是系统dll是v2.0但是没有v3.5所以我无法改变它...
答案 0 :(得分:3)
我认为你需要在这里澄清这个问题。我相信你混淆了两个不同的,无关的东西: -
1)您的应用程序在尝试打开网络文件时遇到异常
2)如果应用程序驻留在网络共享上,则该应用程序可能无法执行。
从您的问题看来,2)不是一个问题,您可以运行您的应用程序。如果是这样,您应该从您的问题中删除对此的引用。
如果确实只有1)这是你的问题,那么在我看来,执行进程的帐户没有从指定位置读取的权限。您需要确认两件事,a)在执行时文件的路径是正确的,以及b)运行该进程的帐户在该位置具有必要的权限。
答案 1 :(得分:1)
Marc Gravell你告诉我尝试3.5 sp1它确实有效,但我不能标记你的答案是正确的,因为它似乎你删除了你的ansewer ......
答案 2 :(得分:0)
每台计算机都有权限设置,只要它们可以在从不同位置运行的.NET可执行文件中运行。我相信有本地计算机,局域网和互联网的设置。我会尝试增加局域网的权限......如果这不起作用,也可以试试互联网,以防万一。你可以在控制面板上找到这个控制工具 - > XP上的管理工具,不确定Vista。