Bry*_*yan 20 visual-studio applicationhost iis-express
我有一个Visual Studio Web应用程序项目,由于某些原因,将文件从多个项目复制到单独的输出目录.我想将此输出目录用作关联的IIS Express站点的根目录.在IIS Express的applicationhost.config文件中,我可以将关联站点的物理路径设置为正确的目录.我会这样设置:
<site name="MySiteName" id="42">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\my\desired\path" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:63470:localhost" />
</bindings>
</site>
Run Code Online (Sandbox Code Playgroud)
但是,当我重新打开项目时,Visual Studio会覆盖我指定的物理路径,将其还原到项目自己的目录.更糟糕的是,Visual Studio没有表明它已经做到了这一点.以下是<virtualDirectory>Visual Studio混淆后元素的外观:
<virtualDirectory path="/" physicalPath="c:\path\to\project" />
Run Code Online (Sandbox Code Playgroud)
如何防止Visual Studio覆盖此路径?
小智 3
我无法阻止 VS 覆盖 MySiteName 的物理路径,但作为解决方法,我添加了另一个具有不同路径的应用程序部分(假设为“NewPath”),并且没有更新 VS 以在 csproj Web 属性下使用此路径。http://localhost:63470/在这种情况下,当调试时,如果您导航到新端点( ),它将自动在旧 url ( ) 上打开浏览器,http://localhost:63470/NewPath一切都会正常工作,并且 VS 不会恢复此状态。
所以新的配置如下所示:
<site name="MySiteName" id="42">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\path\to\project" />
</application>
<application path="/NewPath" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\my\desired\path" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:63470:localhost" />
</bindings>
</site>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6407 次 |
| 最近记录: |