2017-07-25 164 views
0

我已将VS 2010 web应用程序项目转换为VS 2015.发布的应用程序到开发服务器看起来不错,但我无法在本地运行。我看到各种帖子来修复applicationhost.config文件,但我似乎没有找到问题。请建议您是否可以看到要解决的问题。这是对ApplicationHost.config我的项目目录下:〜\ MyReporting.vs \ CONFIGVisual Studio 2015 IIS Express问题applicationhost.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> 
+1

“但我不能在本地运行” - 当您尝试在本地运行时会发生什么?任何错误消息? –

+0

“HTTP错误500.19 - 内部服务器错误 请求的页面无法访问,因为页面的相关配置数据无效。”在详细的错误信息下,它给出了“错误代码\t 0x80070021 配置错误\t配置部分不允许在应用程序下设置” – SilverFish

+0

当我打开开发工具时我得到:无法加载资源:服务器响应状态为500服务器错误)default.aspx – SilverFish

回答

0

我创建了VS 2015 Web应用程序项目,我想在本地调试。

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

  • 使用<UseGlobalApplicationHostFile>
    但是,这只是改变了其对ApplicationHost.config进行了修改。
  • 使用'覆盖应用程序根URL'
    但与我发现的帖子相反,它确实更新了physicalPath。
  • 修改<下的几个属性WebProjectProperties >
    但我找不到任何可以工作的东西。

我终于找到了一个工作,周围是我不够好:

  1. 的解决方案右键单击,然后选择添加 - >现有网站...
  2. 选择项目的产出夹。
  3. 右键单击Solution并选择Project Dependencies ...
  4. 对于“Projects:”选择Web App Project。
  5. 打开Web项目的复选框并单击确定。
  6. 右键单击新的Web项目并选择“设为启动项目”。

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

注:
有一次我这样做,它叫我新的Web项目相同的名称作为我的Web应用程序项目。因此,当试图设置依赖关系时,我无法分辨哪个是哪个。 为了解决这个问题:

  • 第3步以上之前,暂时重命名Web应用程序项目
    (我无法弄清楚如何重命名我的Web项目。)
  • 第6步之后:
    1. 关闭Solution
    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. 重新打开解决方案。

祝你好运!