Tri*_*nko 23 asp.net debugging configuration virtual-directory
我的Web应用程序通常位于IIS中根目录的子目录中.假设子目录是"app"
当我尝试在Visual Studio中调试它时,路径始终以localhost为根,没有子目录.这会扰乱我在应用程序中的路径.
当我尝试从改变项目URL的形式http://localhost:port/,以 http://localhost:port/app它只是说"无法创建虚拟目录".好吧,这是它第一次说的,直到我从application.config文件中删除了应用程序条目,然后它成功了.
当我尝试"覆盖应用程序根URL"到同一件事时,它只是不起作用.它要么得到一个错误500.0内部服务器错误,或者在某些情况下它就像它将应用程序的web.config文件应用于根目录和虚拟子目录,因为它给出了一个错误,我正在尝试添加一个模块已被添加(可能在根目录中).
我已尝试在IIS Express的application.config中编辑项目的设置,但似乎没有设置组合.
我不明白为什么visual studio将项目置于IIS Express根目录下,当它知道该项目是在子目录中部署到IIS时.我认为它应该默认匹配目录结构.
这就是现在的样子:
<site name="app" id="5">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/app" physicalPath="C:\Users\username\Desktop\wwwroot\app" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:3056:localhost" />
</bindings>
</site>
Run Code Online (Sandbox Code Playgroud)
如果我将应用程序路径更改为"/ app",则它会给出错误500.19,说配置无效.如果我执行相同操作并删除虚拟目录标记,则无法完全启动IIS Express.
Tri*_*nko 21
我在这里找到答案:https://stackoverflow.com/a/4733387/88409 不同的问题,但相同的答案.
基本上,必须创建子应用程序,而不仅仅是子虚拟目录.
<site name="app" id="5">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\username\Desktop\wwwroot" />
</application>
<application path="/app" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\username\Desktop\wwwroot\app" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:3056:localhost" />
</bindings>
</site>
Run Code Online (Sandbox Code Playgroud)
它似乎需要两个应用程序条目(即它需要一个根应用程序(即使它实际上是一个空的虚拟目录)以及子应用程序).如果我在根目录中省略了第一个应用程序条目,则会收到错误500.19"无法访问请求的页面,因为页面的相关配置数据无效." 但是,对于这两个应用程序条目,它的工作没有任何问题.
据我所知,无法在Visual Studio中生成上述设置,因此必须在application.config中手动编辑.因此,这些设置完全与Web应用程序项目文件本身无关,这对IMO来说并不好.
| 归档时间: |
|
| 查看次数: |
10311 次 |
| 最近记录: |