背景:部门引进JenKins来自动化部署项目发版,(原采用VS)
操作:在配置好JenKins之后,点击Build后,提示“error CS0246 :The type or namespace name ‘NPOI’ could not bd found (are you missing a using directive or an assembly reference?)”
原因:JenKins在建置时所有的数据源全部都是根据代码以及config文件从tfs(git)中的指定路径获取相关资源,找不到就会报错。(那么有个疑问,为什么通过vs建置部署时,即便tfs的packages文件下没有相关NPOI的引用仍然可以Build成功?==>因为vs建置时不是去tfs上获取指定引用,在SDK下会自动从nuget.org中获取指定引用下载到当前本地的packages文件夹下)
解决:1、打开.csproj,找到报错的引用路径,比如我这里需要找到NPOI的引用路径
2、在Visual Studio中打开团队资源管理器,找到对应专案下的packages文件夹,查看是否有上图中的NPOI.2.6.2文件夹,以及递归文件夹下的dll引用
3、如果没有,则查看tfs下的【检测结果】处,可查看到一些未提升未check in 的相关引用,将这些变更check in即可。