因为我在虚拟机中运行我的东西,所以我喜欢将我的数据保存在主机上的共享中。但是从 Visual Studio 中运行和调试 (Web) 应用程序和测试就会出现问题。在 Visual Studio 中启动时,如何将所有内容配置为使用 FullTrust 运行?
或者如何为所有网络驱动器配置完全信任?
我已经关闭了 UAC。
因为我在虚拟机中运行我的东西,所以我喜欢将我的数据保存在主机上的共享中。但是从 Visual Studio 中运行和调试 (Web) 应用程序和测试就会出现问题。在 Visual Studio 中启动时,如何将所有内容配置为使用 FullTrust 运行?
或者如何为所有网络驱动器配置完全信任?
我已经关闭了 UAC。
您必须使用 caspol 命令行命令。
打开一个控制台窗口,然后输入以下命令:
caspol -machine -addgroup <group_param> -url file://yournetworkdriveletter/* FullTrust -name somename
注意:这group_param
是您要添加新区域的组,即“本地 Intranet”。您可以执行caspol -lg
以查看系统上的本地 Intranet 区域的编号。
在我的系统上,它是 1.2
因此,您必须执行的命令是:
caspol -machine -addgroup 1.2 -url file://driveletter/* FullTrust -name MyNewZoneName
我不知道为什么,但是使用带有 -url 选项的caspol对我不起作用(可能是因为不包括子目录)。
我的设置是VirtualBox 内的Windows XP 客户机,从共享文件夹运行.net 2.0 可执行文件。这是允许它们运行的命令:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol -ag 1 -allcode FullTrust
顺便说一句,如果要将权限重置为 .NET 默认值,请使用caspol -reset
.
您使用的是什么版本的框架?
您可以使用“caspol.exe”为您指定的共享提供额外的信任,但安装 .NET 3.5 SP1 后,网络共享仍然获得相同的信任:请参见此处:
通过完全信任运行,从网络共享打开的托管应用程序具有与本机应用程序相同的行为。
我不记得这是否同样适用于映射共享 (F:) 和 UNC 共享 (\\myserver\someshare),但它很容易测试。
您还可以考虑 ClickOnce,这是 IMO 将完整 .NET 应用程序部署到网络/Web 位置的最简单方法。