如何使用Visual Studio 2015为网站项目配置其他虚拟目录

时间:2016-08-04 01:10:51

标签: asp.net asp.net-web-api visual-studio-2015 iis-express

我有一个在VS 2012中开发的c#Web站点类型项目。我想使用VS 2015,但我在指定与默认根目录不同的虚拟目录时遇到问题./。

在vs 2012中,在sln文件中有以下几行:

VWDPort = "59903"
VWDDynamicPort = "true"
VWDVirtualPath = "/myapp"

并且一切都按预期工作,即当应用程序在浏览器中启动时,它会转到:http://localhost:59903/myapp

我在VS 2015中打开了解决方案,vs创建了一个隐藏的.vs文件夹,它将applicantionhost.config文件放在.vs \ config文件夹下。

这是它为网站项目创建的条目:

<site name="My Web Application" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\costa\Documents\webapps\My Web Application" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:59903:localhost" />
    </bindings>
</site>

我尝试使用应用程序和virtualDirectory元素的路径设置,但没有任何作用。

如果我为应用程序元素设置路径,则不会加载网站项目。如果我保持原样,并设置virtualDirectory的路径让我们说/ myapp我得到HTTP错误500.0 - 内部服务器错误,模块:AspNetAppInitializationFailureModule,处理程序:PageHandlerFactory-Integrated-4.0或ExtensionlessUrlHandler-Integrated-4.0取决于我的网址试着访问。

如果我将路径设置为“/”,一切正常。

让我感到困惑的是,当我在解决方案资源管理器中选择网站项目时,在属性窗口中,SSL URL和URL属性被禁用。我不知道它是从哪里获得的。我认为URL可能来自applicationhost.config文件。

在网站属性页面窗口的“开始选项”下,我有“开始操作=使用当前页面,服务器=使用默认Web服务器”。

我在Windows 2008 R2 SP1 VM上使用VS2015和Update 3(不要问我为什么会这样)。

有什么想法吗?

我做了一些研究,但找不到任何东西。另一个不起眼的事情(imo)是通过选择以下方式在IIS express中创建站点或虚拟目录的能力:新网站 - &gt;浏览 - &gt;选择左侧的本地IIS。我不太清楚这与现有的网站项目有什么关系。

由于

2 个答案:

答案 0 :(得分:2)

使用以下配置使其正常工作,即http://localhost:59903/myapp现在和http://localhost:59903一起工作。

<site name="My Web Application" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\costa\Documents\webapps\My Web Application" />
    </application>
    <application path="/myapp" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\costa\Documents\webapps\My Web Application" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:59903:localhost" />
    </bindings>
</site>

请注意是否存在两个应用程序元素。

也可以看到这一点:IIS7: Possible causes of 'Unrecognized configuration path' error

答案 1 :(得分:2)

有一种方法您不需要修改配置文件就容易多了。这是微软的答案。

  1. 在Visual Studio中,在文件菜单上,单击打开,然后单击网站
  2. 在对话框中,单击本地IIS 图标。
  3. 在对话框的右上角,点击创建新的虚拟目录按钮。
  4. 别名文本框中,键入虚拟目录的名称。
  5. 文件夹文本框中,键入文件所在物理目录的完全限定路径,或单击浏览按钮浏览到该位置,然后然后点击确定
  6. 就是这样,   you will be happy to see this result in your project

    https://msdn.microsoft.com/en-us/library/d6cw6cfs.aspx