我有一个在 VS 2012 中开发的 c# 网站类型项目。我想使用 VS 2015,但无法指定与默认根目录 / 不同的虚拟目录。
在 vs 2012 中,sln 文件中有以下几行:
VWDPort = "59903"
VWDDynamicPort = "true"
VWDVirtualPath = "/myapp"
一切都按预期工作,即当应用程序在浏览器中启动时,它会转到:http://localhost:59903/myapp.
我在 VS 2015 中打开解决方案,vs 创建一个隐藏的 .vs 文件夹,将 applicationhost.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,具体取决于我的 url尝试访问。
如果我将路径设置为“/”,则一切正常。
让我困惑的是,当我在解决方案资源管理器中选择网站项目时,属性窗口中的 SSL URL 和 URL 属性被禁用。我不知道它们是从哪里来的。我认为 URL 可能来自 applicationhost.config 文件。
在网站属性页窗口中的“开始选项”下,我有“开始操作”=“使用当前页面”、“服务器”=“使用默认 Web 服务器”。
我在 Windows 2008 R2 SP1 VM 上使用带有 Update 3 的 VS2015(不要问我为什么会这样)。
有任何想法吗?
我确实做了一些研究,但我找不到任何东西。另一件晦涩难懂的事情(imo)是能够在 IIS Express 中创建站点或虚拟目录,方法是选择:“新建网站”->“浏览”-> 在左侧选择“本地 IIS”。我不太确定这与现有的网站项目有什么关系。
Thanks