当前位置:  开发笔记 > 编程语言 > 正文

从映射的驱动器或共享文件夹运行.NET程序

如何解决《从映射的驱动器或共享文件夹运行.NET程序》经验,为你挑选了2个好方法。

我编写了一个C#Windows窗体应用程序,用于将一台计算机上的远程文件夹中的文件和文件夹("source"文件夹是映射驱动器 - "Z:\ folder")与另一台计算机上的另一个远程文件夹("目标")合并folder是共享文件夹的UNC路径 - "\\ computername\sharedfolder").我对这两个文件夹都拥有完全权限.当我在本地计算机上运行该程序时,它运行正常,但是当我尝试从源文件夹中运行它时,它会因安全异常而失败.

调用目标文件夹的DirectoryInfo构造函数(即DirectoryInfo(@"\\ computername\sharedfolder")时发生故障.我认为问题是因为我从映射驱动器运行程序.任何解决方法?


具体的例外是:请求类型'System.Security.Permissions.FileIOPermission,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败.


UPDATE

好吧,我把我的应用程序放到Visual Studio 2008中(以前编码在2005年),针对.NET 3.5框架,编译并再次尝试.

我得到了完全相同的错误.


更新 - 决议

我尝试使用.NET 3.5,它没有用,然后我注意到你说3.5 SP1.绝对需要服务包.

问题解决了.谢谢.



1> Jon Galloway..:

.NET 3.5 SP1允许从网络共享中运行应用程序.以前的版本不允许它.



2> Rob Prouse..:

您需要为应用程序启用FullTrust权限.在网络共享上运行的.NET应用程序将获得本地Intranet安全权限,因此可以在沙箱中运行.

这是我为我们在网络上运行的一个测试应用程序编写的批处理文件.它应该让你启动并运行微小的修改.

@ECHO OFF
SET CASPOL=%windir%\Microsoft.NET\Framework\v2.0.50727\CasPol.exe
CLS

%CASPOL% -pp off
%CASPOL% -m -ag 1.2 -url file://server/directory/* FullTrust

如上所述,.NET 3.5删除了此行为.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有