项目中 .net framework (v4.0 ->v3.5)降级引发的问题及解决方案

来源:互联网 发布:暴雪什么游戏支持mac 编辑:程序博客网 时间:2024/04/28 19:07

 一、 背景

    为了排查项目中一个问题,将解决方案中 web项目由 v3.5升级至 v4.0, 排查完成后, 在源代码管理器中撤消所有更改, 没多想,以为一切很正常.

 二、 降下来后, 调试运行,在浏览器中出现以下画面

     

三、 由于使用了TFS版本管理,且项目分支为 开发与发布两支, 降级的是开发这一分支, 虽然 我确信两个分支应该一模一样,但死活开发这一支就是出现上面的现象,本着最小排除法原则,做了以下检查或比较

        1)关闭vs重新运行解决方案,现象仍在;

        2) 重启计算机后重新, 现象仍在;

        3)对比了解决方案.sln , web.csproj, web.config等文件, 完全相同

        4) 在另一台计算机上获取最新的开发分支,运行正常

        5)与发布分支对比dll引用, 完全


四 、分析:  我肯定这个差别不在版本管理范围内,但又不知道如何找到它,

          5xx错误肯定是服务器端错误.

 突然,我记起上次做 IISExpress 外网访问时,IISExpress的配置文件是不在源代码版本管理中的.

 点任务栏中的iis express 启动器, 点击网站名称, 果然, 在运行时上显示着 v4.0      

        


   五、解决办法

           也许是降级后该配置文件没有能正确降至v2.0 (可能是因为v4.0也能运行v3.5的原因吗?)

  将 

      

 <site name="Web" id="2">                <application path="/" applicationPool="Clr4IntegratedAppPool">                    <virtualDirectory path="/" physicalPath="E:\hdh_workspaces2\C2011_xxxxxx\ProjectCostSystem_20160407_xxxxx_开发\Webs" />                </application>                <bindings>                    <binding protocol="http" bindingInformation="*:2011:localhost" />                </bindings>            </site>

  中的  applicationPool="Clr4IntegratedAppPool">  改为 applicationPool="Clr2IntegratedAppPool">

  保存iisexpress配置文件,关闭启动器,关闭vs,再次打开解决方案. 

    成功!



   


0 0
原创粉丝点击