Visual Studio 2015添加虚拟目录

时间:2016-06-16 21:26:27

标签: visual-studio-2015 iis-express virtual-directory

我在VS2015中有一个Web项目(使用IIS Express),需要为可以下载但由其他进程创建的文件添加虚拟目录。我在applicationhost.config文件中添加了一个条目,如下所示。每当我启动服务器并直接转到我在IIS Express日志中收到404的位置的文件时。

<site name="CustomerPortal" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
      <virtualDirectory path="/" physicalPath="C:\Dev\WebApps\CustomerPortal\src\CustomerPortal\wwwroot" />
      <virtualDirectory path="/WebReports" physicalPath="\\backup03\WebReports" />
    </application>

    <bindings>
                <binding protocol="http" bindingInformation="*:49373:localhost" />
    </bindings>
</site>

VS2015中有不同的东西可以添加这样的虚拟目录吗?

我在我的项目dir / .vs / config / applicationhost.config中编辑配置文件。

3 个答案:

答案 0 :(得分:3)

对于VS.Net 2015:

1.-打开位于以下路径中的文件applicationhost.config:

  

{your_solution_folder} \。VS \配置\

2.-搜索标记“sites”并找到要创建虚拟目录的项目的标记。

3.-添加以下行:

<application path="/{your_virtual_directory_name}" applicationPool="Clr4IntegratedAppPool">
   <virtualDirectory path="/" physicalPath="{your_physical_path}" />
</application>

它将类似于以下内容: enter image description here

答案 1 :(得分:1)

请参阅:Creating virtual directories in IIS expressHow to configure a different virtual directory for web site project with Visual Studio 2015

关键是添加一个根应用程序(path =“/”),然后添加你的应用程序。

答案 2 :(得分:0)

我的问题

  • VS2015
  • 带有HTML文件的Web应用程序(无ASPX文件)
  • bin目录
  • 上的单个DLL
  • bin\Resources充满了js文件

Html文件就像这样

<!DOCTYPE html>
<html>
  <head>
    <title>Wisej.SimpleDemo</title>
    <meta charset="utf-8" />
    <script src="Resources/findByQxh.js" type="text/javascript"></script>

每个js文件都设置为ContentCopy always,实际上它位于bin\Resources文件夹中。但是,即使在Javascript文件上启用了虚拟目录,也无法加载{your_solution_folder}\.vs\config\applicationhost.config文件。

bin\Resources充满了js文件,但项目中的\Resources文件夹为空,因为所有js文件都是指向另一个项目上文件的链接。

步骤

1)从项目\Resources文件夹中删除所有链接文件。

2)将所有js文件复制到项目\Resources文件夹。

3)使用构建操作NoneDo not copy

添加所有js文件

4)删除对{your_solution_folder}\.vs\config\applicationhost.config的更改,以确保这是一个真正的解决方案

一切顺利。为什么呢?

在Web应用程序上,真正的根是Web.config所在的项目文件夹。因此http://localhost/Resources指的是项目\Resources文件夹。