如何为本地主机测试设置虚拟目录 运行?

How to setup a virtual directory for local host test run?

我有一个 ASP.net 使用 VS2017 的 MVC 5 应用程序。 我想从网络路径加载一些图片(图片不应包含在项目文件夹结构中)。

我知道如何在应用程序最终所在的服务器上的 IIS 中添加虚拟目录 运行。但是我不知道如何在我的本地计算机上进行设置。

在服务器上我可以设置别名和物理路径。

但是在我的VS2017项目中(properties/web)我只能按下项目url旁边的按钮"create virtual directory"“http://localhost:51138/”.

有人可以解释一下如何在本地主机上设置虚拟目录以进行测试吗?非常感谢。

您正在使用 does not allow virtual directories 的 Visual Studio 开发服务器。您可以使用 IIS 的本地副本做您想做的事,创建一个指向您的开发文件夹的网站,并在该网站中创建您想要的虚拟目录。

  1. 安装 IIS 的本地副本。您可以在 专业版Windows.

  2. 打开 IIS 管理器,创建一个新网站,并设置 Physical 开发文件夹的路径

  3. 为此网站添加绑定,主机名 设置为您要用于的域名 测试。我通常使用“.loc”作为 TLD。例如, "mywebservice.com" 的生产网站域将是 “mywebservice.loc”。在绑定中使用端口 80。

  4. 修改本地主机文件 C:\Windows\System32\drivers\etc\hosts 以包含此行。代替 "mywebservice.loc" 与您在上面选择使用的任何域
    mywebservice.loc 127.0.0.1

  5. 在您的 VS 项目属性中,将 Web-->Servers 设置为 Use Custom Web Server 和 将 Server Url 设置为 mywebservice.loc 或您在上面选择的任何域。

现在您可以像在生产环境中一样添加虚拟目录。

我为我的所有网站开发这样做主要是因为在生产中不会发生任何不在本地发生的事情。您甚至可以通过这种方式使用真正的 SSL 证书进行测试。

只需在项目目录中创建一个文件夹来模拟虚拟目录,然后将一些测试文件复制到那里。

例如,在您的项目目录中创建一个documents目录。因此,您项目中的引用路径将类似于 ~/documents/somefile.pdf

服务器的虚拟目录 documents 然后可以指向某个其他网络位置。