与网站项目的IIS Express,如何使用虚拟目录内?

问题描述:

我的生产环境有一个根目录,我的虚拟目录将位于根目录的/ brazil文件夹中。与网站项目的IIS Express,如何使用虚拟目录内?

当我转换我的网站项目(而不是web应用程序),该工作正常与卡西尼在/巴西,因为我的网站文件夹是巴西,IIS Express把网站放在根,我该如何改变这个?

我看到IIS Express与Web应用程序有类似的问题。从我看到的情况来看,IIS Express实际上允许您在'Project Url'字段中定义一个文件夹,但启动它时会生成2个网站,一个包含该文件夹,另一个包含根目录应用程序。问题在于它对两者都使用相同的文件夹,这会导致web.config继承问题。

我的解决办法是去编辑托管文件,并更改根虚拟目录physicalPath到一个空文件夹在我的系统

例如:

<site name="MySite1" id="1"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\VisualStudioProjects\2010\MySite1\MySite1" /> 
    </application> 
    <application path="/ssd"> 
     <virtualDirectory path="/" physicalPath="C:\VisualStudioProjects\2010\MySite1\MySite1" /> 
    </application> 
    <bindings> 
     <binding protocol="http" bindingInformation="*:59473:localhost" /> 
     <binding protocol="https" bindingInformation="*:44302:localhost" /> 
    </bindings> 
</site> 

要这样:

<site name="MySite1" id="1"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\TEMP\New folder" /> 
    </application> 
    <application path="/ssd"> 
     <virtualDirectory path="/" physicalPath="C:\VisualStudioProjects\2010\MySite1\MySite1" /> 
    </application> 
    <bindings> 
     <binding protocol="http" bindingInformation="*:59473:localhost" /> 
     <binding protocol="https" bindingInformation="*:44302:localhost" /> 
    </bindings> 
</site> 
+0

请详细了解您的解决方案。特别是,你编辑了哪个文件,以及如何编辑? – 2012-02-08 19:31:48

+0

我认为这是C:\ Users \ ***用户*** \ Documents \ IISExpress \ config \ applicationhost.config – 2012-02-10 11:52:32

+0

正确,它是IISExpress的用户文件夹中的applicationhost.config文件。您可以使用任何文本编辑器来编辑它。我在回复中添加了一个示例 – 2012-02-28 16:28:16