我在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中编辑配置文件。
答案 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>
答案 1 :(得分:1)
请参阅:Creating virtual directories in IIS express和How to configure a different virtual directory for web site project with Visual Studio 2015
关键是添加一个根应用程序(path =“/”),然后添加你的应用程序。
答案 2 :(得分:0)
我的问题
bin
目录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文件都设置为Content
和Copy always
,实际上它位于bin\Resources
文件夹中。但是,即使在Javascript
文件上启用了虚拟目录,也无法加载{your_solution_folder}\.vs\config\applicationhost.config
文件。
bin\Resources
充满了js文件,但项目中的\Resources
文件夹为空,因为所有js文件都是指向另一个项目上文件的链接。
步骤
1)从项目\Resources
文件夹中删除所有链接文件。
2)将所有js文件复制到项目\Resources
文件夹。
3)使用构建操作None
和Do not copy
4)删除对{your_solution_folder}\.vs\config\applicationhost.config
的更改,以确保这是一个真正的解决方案
在Web应用程序上,真正的根是Web.config
所在的项目文件夹。因此http://localhost/Resources
指的是项目\Resources
文件夹。