• Post author:
  • Post category:后端
  • Post comments:0评论
  • Reading time:1 mins read

今天部署一个新的后台项目,是从老的项目中分离出来的,项目版本是.NetFramework 4.5.1的,因为和新的.NetCore接口共用一套实体类,而.NetStandard不支持.NetFramework4.5.1,无奈之下只好将老项目的版本升级为.NetFramework4.7.2,在构建部署到生产服务器之后出现了问题,报错如下:

网上查了下资料,清一色推荐在服务器上安装4.7.2版本,一开始我也傻乎乎的去安装了新版本,但随之而来的就是新的问题——需要重启服务器,这可是生产环境,哪那么容易重启,就在我纠结要不要报备后等晚上下班后夜深人静重启服务器的时候,突然灵光一闪。

这个compliation节点是一个指定编译目标版本的设置,但我项目肯定是Jenkins已经构建好发布了的,还有啥玩意需要在生产环境编译的呢?没错,是cshtml页面!那么也就是说,这个编译实际上只影响我页面的编译,我立刻在本地开发环境验证了一下,将该节点的targetFramework改为4.5.1,也就是服务器上已有的.NetFramework版本:

    <compilation targetFramework="4.5.1">
      <assemblies>
        <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </assemblies>
    </compilation>

特此记录一下,看来很多东西还是要理解原理,不能人云亦云。

葫芦

葫芦,诞生于1992年8月11日,游戏宅,胶佬,爱好摸鱼,一个干过超市收银,工地里搬过砖,当过广告印刷狗,做过电焊铁艺的现役.Net程序员。

发表回复