【问题标题】:Grant IIS Express permission to access network drive in VMWare授予 IIS Express 访问 VMWare 中的网络驱动器的权限
【发布时间】:2015-04-14 02:58:34
【问题描述】:

我在 VMWare 中有一个 Windows 7 虚拟机,我用它来开发带有默认 IIS Express 服务器的 ASP.NET MVC 5 Web 应用程序。我喜欢将我的项目保存在外部硬盘驱动器上,我可以通过共享文件夹/网络驱动器在虚拟机中访问它。但是,当我运行我的应用程序时,IIS Express 无法访问我在项目目录中的 web.config 文件。它在正确的文件夹中查找,所以我很确定这是一个权限问题。如何授予 IIS Express 文件访问我网络驱动器上文件的权限?

我尝试过的事情

  • 以管理员身份运行 Visual Studio
  • 将 iisexpress.exe 设置为始终以管理员身份运行
  • 查看 applicationhost.config 文件
  • 尝试在网络驱动器上设置写入权限(右键单击驱动器并转到属性,但没有可用的“安全”选项卡)
  • 我在寻找解决方案的几个小时内尝试过的其他一些事情我不记得了

我希望避免的已知最后手段

  • 将项目文件从外部硬盘复制到虚拟机的存储空间,反之亦然

  • 在完整的 IIS 服务器上运行项目

其他须知

  • 使用 Visual Studio 2013 和 MVC 5

  • 使用 IIS Express 7.5

  • VMWare 工作站 11

  • 虚拟机也在外置硬盘上,所以无法将usb连接到guest,需要通过共享文件夹访问硬盘的其余部分(虽然有疑问,可能是分区硬盘驱动器会解决这个问题吗?)

  • 来宾操作系统是 Windows 7 Professional

  • 主机操作系统是 Debian Jessie RC1

  • 外部硬盘被格式化为 NTFS,尽管它在网络驱动器上显示为 HGFS

  • 我可以读写网络驱动器上的文件,只是 IIS Express 有问题

【问题讨论】:

  • 程序没有权限,用户有。如果运行 IIS Express 的用户帐户(通常是您自己的)可以通过资源管理器访问文件,那么这不是权限问题。

标签: asp.net vmware file-permissions iis-express network-drive


【解决方案1】:

我刚刚遇到了类似的问题,我发现当您将 IIS 中的物理路径指定为映射驱动器时,例如Z:\shared-folder IIS 因 HTTP 500 错误而失败。

但是,您是否像这样指定路径:\\vmware-host\Shared Folders\shared-folder 然后突然它可以工作并且应用程序具有写入文件的所有权限。

这适用于 IIS 和 IISExpress。

【讨论】:

    【解决方案2】:

    VMware/VirtualBox 在客户机和主机之间的共享文件夹是一种使用 Windows 的映射驱动器功能。但是,IIS 和 IIS Express 都不支持映射驱动器。如果可能,请使用同步工具,例如 Dropbox,或简单地使用 Git 在两者之间共享位。

    【讨论】:

    • 看起来就是这样。感谢您的回答
    • @GarrettSHolbrook,如果对您有帮助,请接受答案。
    • 点对点同步工具,例如 Resilio Sync,应该(理论上)比 DropBox 快。
    • 更新:我已经将 Resilio Sync 应用到了这个问题上,而且效果非常好!我现在可以在 MacOS 中的常规文件夹中工作、提交和推送,并且更改会自动同步到 VM 上的文件夹,在那里可以使用 MSBuild 构建它们并由 IIS 提供服务。
    猜你喜欢
    • 2013-09-16
    • 1970-01-01
    • 2012-07-23
    • 2016-06-15
    • 2012-11-07
    • 2013-12-13
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    相关资源
    最近更新 更多