0

我已将 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>\Documents\My Web Sites\MyReporting-Site3" />
                <virtualDirectory path="/DART" physicalPath="C:\Projects\Jupiter\Databases\DART_40\DART" />
            </application>
            <application path="/DART/MyReporting" applicationPool="Clr4ClassicAppPool">
                <virtualDirectory path="/" physicalPath="C:\Projects\Jupiter\Databases\DART_40\DART\MyReporting" />
            </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>
4

1 回答 1

0

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

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

  • 使用 <UseGlobalApplicationHostFile>
    但这只是改变了哪个 applicationhost.config 被修改。
  • 使用“覆盖应用程序根 URL”
    但与我发现的帖子相反,它确实更新了物理路径。
  • 修改 <WebProjectProperties> 下的几个属性
    但我找不到任何可行的方法。

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

  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", "folder\MyTempName.csproj"
      为:
      Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyOriginalName", "folder\MyOriginalName.csproj"
    4. 重新打开解决方案。

祝你好运!

于 2017-12-07T21:49:33.217 回答