dotnetCore开发中遇到的一些问题

1.Area 分离到独立项目之后,修改Area.dll部分的代码,发布服务器发现没有生效

问题:

  修改了Area.Admin.dll部分的代码之后,发现发布完没生效,有点纳闷,开始思考原因,然后刚好无意间修改了一

下Areas.Admin.Models的命名空间接着部署时,发现报了个错误,这里我解决问题之后又特意重现了一下错误,

大致是这样子的:

本地debug跑一下并没有发现有这个错误,就是发布到服务器的时候才出来,然后我想了想会不会是有什么缓存,

结果清了下缓存,重启vs,也没发现有什么进展折腾好一会,还是没结果,出去冷静了会,回来再跑一遍,这次

我看了一下发布的过程输出里面有好几个复制的操作,具体从哪复制的没看清,于是想到会不会是Area那部分dll

是直接复制过来的,开始验证想法,用了dnspy反编译publish下面的dll,发现果然里面还是未改动之前的代码。

发布了一下Area项目,然后再次发布  ok了。

结论:

 这种Area独立出来的一个项目的发布,如果有改动dll的话,需要先发布一下Area这个项目,然后因为views是

Area生成之后在生成事件里面直接复制到了主项目的相应位置,所以不需要操心,发布完了再去发布主项目,

就可以了

 2.Swagger Api    Swagger.xml文件在发布到生产环境时丢失

本地debug时没有这个问题,配置是这样的

 解决办法:

 1.(无效)

2.(无效)

3.(有效)

查看release目录下面的文件,发现没有swagger.xml文件,但是有一个跟我项目名字一样的xml,里面的内容跟swagger.xml是一样的,

那么我要的效果很简单,就是发布之后不需要手动再去上传文件到服务器就行了(发布操作交给web deploy以后,手动上传的文件需要

手动重启一下网站,然后下一次发布的时候如果“文件发布选项”勾了删除目标上的其他文件,发布也会报错)

那么我就干脆改成那个名字吧

 

再次发布

 结论:虽然办法可能有很多,但是这个办法让我的目的达到了,那么就先这样吧

原文地址:https://www.cnblogs.com/shellphen/p/13653412.html