【问题标题】:Visual Studio 2015 add virtual directoryVisual Studio 2015 添加虚拟目录
【发布时间】:2016-06-16 21:26:26
【问题描述】:

我在 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中添加这样的虚拟目录有什么不同吗?

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

【问题讨论】:

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


    【解决方案1】:

    对于 VS.Net 2015:

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

    {your_solution_folder}\.vs\config\

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

    3.- 添加以下行:

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

    它将类似于以下内容:

    【讨论】:

    • 控制台显示错误加载资源失败:服务器响应状态为500(内部服务器错误)
    【解决方案2】:

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

    关键是添加根应用程序(路径=“/”),然后添加您的应用程序。

    【讨论】:

      【解决方案3】:

      我的问题

      • VS2015
      • 带有 HTML 文件(无 ASPX 文件)的 Web 应用程序
      • 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文件夹。

      【讨论】:

        猜你喜欢
        • 2015-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-24
        • 1970-01-01
        • 2012-08-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多