【发布时间】:2010-05-10 10:41:36
【问题描述】:
(在其他各种尝试破解它后更新了这个!)
我有一个安装了 VS2010 的 VM(Win7 32 位)。当我有一些 VS2010 项目和我正在构建的地方时,我从主机(VM 64 位)映射了一个驱动器(不是 vm 共享文件夹,因为我在其他情况下发现了写入延迟问题)他们。 (我也尝试过从 XP 32 位主机映射,但有完全相同的问题)。
我的一个项目正在寻找加载程序集。如果我将该程序集复制到本地驱动器,则程序会损坏。如果我将它留在映射驱动器上,则会出现错误
Exception is: FileLoadException - Could not load file or assembly 'file:///G:\BusinessTier\bin\Debug\BusinessTier.dll
我不确定是否需要运行 Caspol。 SO上有另一篇文章指出我有一篇文章指出VS2008 SP1 +消除了对caspol wrt网络驱动器的需求,但我想知道我是否仍然需要,因为我在VM中。
我曾尝试在主机上运行以下命令,试图授予虚拟机内的 VS 权限,但无济于事
C:\Windows\Microsoft.NET\Framework\v4.0.30128>caspol -m -ag 1 -url file://g:\* FullTrust
C:\Windows\Microsoft.NET\Framework\v4.0.30128>caspol -m -ag 1.2 -url file://g:\* FullTrust
C:\Windows\Microsoft.NET\Framework\v4.0.30128>caspol -m -ag 1.3 -url file://g:\* FullTrust
C:\Windows\Microsoft.NET\Framework\v4.0.30128>caspol -m -ag 1.5 -url file://g:\* FullTrust
其中 g:* 是映射到 VM 中的驱动器(作为驱动器 z:)
同样,在各种博文(A)之后,我也尝试过
- 将本地驱动器号替换为 unc
- 引用文件://unc 和/或驱动器号,例如"file://g:*"
- 添加不同数量的正斜杠/反斜杠,例如file://g:/* 带有 unc 和本地路径
但是(这可能是一个红鲱鱼),如果我在 VM 中创建一个简单的 winforms exe 并将其保存到 g: 驱动器上,它似乎运行正常
我缺少什么(除了理解!)?
我开始怀疑问题是否是主机 vm 上的权限问题,但我已将该共享上的所有人授予完全控制权限。 (虽然我可以读取和写入该文件夹,所以 TMM 权限看起来可能是正确的)。对于远程连接的用户来说,这是否足够好?
谢谢
西蒙
A - 还有一大堆其他博客文章提供了替代解决方案,但似乎没有一个适合我。但其他人已经取得了成功,例如(也许这可能对其他人有所帮助)
【问题讨论】:
-
也许他还不知道怎么用吧:)
-
为什么在从 Z: 加载程序集时将信任分配给 G: 驱动器?
-
谢谢。 g: 驱动器是主机上的驱动器。 z: 驱动器是映射到 vm 中的 g: 驱动器。我确实尝试重新映射以使两者相同并且还尝试将 caspol 设置为网络共享名称。例如。 C:\Windows\Microsoft.NET\Framework\v4.0.30128\CasPol.exe -machine -addgroup LocalIntranet_Zone -url \\mymachine\DevelopmentOnHost* FullTrust .... 无济于事
-
我认为包含 Visual Studio 测试项目掩盖了这个问题。当我剥离测试项目时——这是我解决方案的一部分——没有问题。一旦我包含了测试项目,我就又开始遇到问题了。
-
可能值得一试here重新使用额外的VM磁盘映像而不是映射驱动器。
标签: visual-studio caspol