Visual Studio 2015 IIS Express issue applicationhost.config



我已经将VS 2010 Web应用程序项目转换为VS 2015。发布到开发服务器的应用程序看起来不错,但我无法在本地运行。我看到各种帖子来修复applicationhost.config文件,但我似乎没有找到问题。如果您能看到要解决的问题,请提出建议。这是来自我的项目目录下的applicationhost.config:~\MyReporting.vs\config

<sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<site name="MyReporting-Site" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:Users<User>DocumentsMy Web SitesMyReporting-Site3" />
<virtualDirectory path="/DART" physicalPath="C:ProjectsJupiterDatabasesDART_40DART" />
</application>
<application path="/DART/MyReporting" applicationPool="Clr4ClassicAppPool">
<virtualDirectory path="/" physicalPath="C:ProjectsJupiterDatabasesDART_40DARTMyReporting" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:17588:localhost" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

我在VS 2015中创建了一个WebApp项目,我想在本地调试。

当然,当我构建时,结果进入$(ProjectDir(\bin,但VS会修改applicationhost.config以在根$(ProjectDir(中运行。结果,生成的文件会收到 404 错误。 我尝试了几个建议,例如:

  • 使用<br/>但这只是改变了修改的 applicationhost.config。
  • 使用"覆盖应用程序根URL">
    但与我发现的帖子相反,它确实更新了物理路径。
  • 修改
    下的几个属性,
    但我找不到任何有用的东西。

我终于找到了一个对我来说足够好的解决方法:

  1. 右键单击解决方案,然后选择"添加 ->现有网站...
  2. 选择项目的"输出"文件夹。
  3. 右键单击解决方案,然后选择"项目依赖项...">
  4. 对于"项目:",请选择 Web 应用项目。
  5. 选中 Web 项目的复选框,然后单击"确定"。
  6. 右键单击新的 Web 项目,然后选择"设置为启动项目"。

现在,当您运行解决方案时,它将启动输出文件夹中的代码.
遗憾的是,当您尝试调试时,您必须在 Web 项目文件中设置断点,然后必须在 Web 应用项目文件中进行修改,但这是我能够提出的最佳解决方案。

注意:
有一次我这样做了,它将我的新 Web 项目命名为与我的 Web 应用程序项目相同的名称。因此,在尝试设置依赖项时,我无法分辨哪个是哪个。 要处理此问题:

  • 在上面的步骤 3 之前,暂时重命名您的 Web 应用程序项目
    (我不知道如何重命名我的Web 项目
  • 在步骤 6 之后:
    1. 关闭解决方案
    2. 手动将 .csproj 文件重命名回原始名称。
    3. 在文本编辑器中,打开.sln文件,找到临时名称并将其更改回来。
      例如,更改:
      Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyTempName", "folderMyTempName.csproj"
      到:
      Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyOriginalName", "folderMyOriginalName.csproj"
    4. 重新打开解决方案。

祝你好运!

最新更新