最近在协助验证Jenkins自动编译发布时,对一些.Net Core编译问题进行了解决;特记录一下

一、编译生成netcoreapp目录问题

  • 问题现象

   .net core项目编译输出目录总是包含在【netcoreapp3.1】目录下,如图:

   

  • 解决办法

   在项目文件中(*.csproj)中添加节点:<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>

   位置如下:

  <PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies><!--所有依赖文件拷贝到输出目录-->
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<ApplicationIcon />
<StartupObject />
<AssemblyName>CustomReportResolver</AssemblyName>
</PropertyGroup>

二、编译语言包问题

  • 问题现象

   在编译某些项目时,产生了多个文件包如下图:

   

  • 产生原因

   点开文件夹内,发现为:Microsoft.CodeAnalysis 包产生的文件(语言包)

   

  • 解决办法

   继续在项目文件中添加节点:<SatelliteResourceLanguages>zh-Hans</SatelliteResourceLanguages>指定语言包;如果不想要语言包可指定一个非语言包名的内容

   最终编译结果如下:

   

三、Jenkins自动编译Nuget包还原问题

  • 问题现象

   由于程序中,大量使用了PackageReference方式引用nuget包,在使用Jenkins自动编译时,则使用 Nuget Restore 后,再使用 dotnet build 编译包。但是编译时总是失败提示以下内容:

   根据问题提示,明确包版本不是最新的导致,然后根据vs中dll目录中,删除后,再编译依旧提示错误。

  • 产生原因

   最终在网上找到原因:

通过PackageReference的方式引用在Nuget包还原的时候会在obj目录下自动生成Nuget包引用的配置文件project.assets.json*.csproj.nuget.cache*.csproj.nuget.g.props*.csproj.nuget.g.targets

最终通过对比Jenkins和Vs自动编译时生成内容发现包换成位置不同导致的:

  

  • 解决办法

 删除Jenkins编译时,所引用的包缓存中的包内容,重新编译;问题解决。

希望记录的问题,能解决一些问题

【问题记录】—.NetCore 编译问题的更多相关文章

  1. Dockerfile 编译安装mysql5.7 千万不要执行.只是记录一下编译安装罢了

    开启所有核心make  20G 内存都不够玩,跑3-4个核心吧,还好. 最后的出来的镜像3G多,百思不得其解,看了官方的Dockerfile,也没什么特别,就是 apt 或者 yum.好吧,不知做了什 ...

  2. QT踩坑记录1-Q_OBJECT编译问题

    QT踩坑记录1-Q_OBJECT编译问题 QTC++Bugs 错误输出 Q_OBJECT 宏错误的地方会编译出现这样的错误, 无法找到.... 由于自己不想再看到这个错误, 此处 复制自 参考连接1, ...

  3. 记录opencv编译过程

    准备学习opencv,参考了几个网页终于完成.编辑器和opencv版本都选择最新的版本. 记录过程如下 1. 下载准备: 1)         Opencv源码, 下载地址: https://sour ...

  4. [问题记录]cocos2dx编译打包apk过程&问题记录

    目录: 1. 入门 2. 编译 3. 问题 4. 总结 5. 参考 ------------------------------------------------------------------ ...

  5. 【Android】记录反编译安卓程序步骤

    主要是为了分析一个 App 里面用到的接口,以后移植 UWP 用. 1.http://jd.benow.ca/ 下载 JD-GUI. 2.https://github.com/pxb1988/dex2 ...

  6. Nginx的平滑升级记录---适用于编译安装的Nginx

    一.查看自己的Nginx的版本号 [root@localhost sbin]# cd /usr/local/nginx/sbin/ [root@localhost sbin]# ls nginx [r ...

  7. 【记录】编译安装 YAML 扩展

    转自:https://learnku.com/articles/30985 Yaml,专门用来写配置文件的语言   依赖安装 $ sudo apt-get install libyaml-dev   ...

  8. PIL安装记录,编译支持jpeg png

    PIL是python理想的图片处理module,但是想要良好的支持各种图片,还需要检查一下几步,否则会提示:IOError: decoder jpeg not available之类的. 我的环境:L ...

  9. Maven package 报错解决记录以及编译scala的pom.xml

    可以打包的pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/ ...

随机推荐

  1. 笨办法学Python3习题19

    学习笔记记录一下 def cheese_and_crackers(cheese_count, boxes_of_crackers): print (f"You have {cheese_co ...

  2. RabbitMQ小记(三)

    1.RabbitMQ中mandatory和immediate以及备份交换机 (1)mandatory为true时,若交换机无法根据自身类型和路由键找到符合条件的对列,那么RabbitMQ会回调Basi ...

  3. Python练习题 012:字符统计

    [Python练习题 012] 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. ----------------------------------------------- 这题 ...

  4. 实验 5:OpenFlow 协议分析和 OpenDaylight 安装

    一.实验目的 回顾 JDK 安装配置,了解 OpenDaylight 控制的安装,以及 Mininet 如何连接;通过抓包获取 OpenFlow 协议,验证 OpenFlow 协议和版本,了解协议内容 ...

  5. K8S环境的Jenkin性能问题处理续篇(任务Pod设置)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos K8S环境的Jenkin性能问题处理 本文是<K ...

  6. (九) SpringBoot起飞之路-整合/集成Swagger 2 And 3

    兴趣的朋友可以去了解一下其他几篇,你的赞就是对我最大的支持,感谢大家! (一) SpringBoot起飞之路-HelloWorld (二) SpringBoot起飞之路-入门原理分析 (三) Spri ...

  7. 这就是小学生也会用的四则计算练习APP吗?- by软工结对编程项目作业

    结对编程项目 软件工程 这就是链接 作业要求 这就是链接 作业目标 熟悉在未结对情况下如何结对开发项目 Github与合作者 合作者(学号): 区德明:318005422 虚左以待 Github链接: ...

  8. 安装memcache,步骤

    1.先下载emcache.rar安装包<ps:随便安装在哪里文件夹,或者新建文件夹都是可以的> 2.解压安装包<ps:运行里面的程序> 3.然后根据自己的phpstudy的版本 ...

  9. python进程开启的两种方式

    一.进程 1.1.方式一 from multiprocessing import Process import time #方式一 def task(name): print(f"my na ...

  10. K8S节点异常怎么办?TKE"节点健康检查和自愈"来帮忙

    节点健康检测 意义 在K8S集群运行的过程中,节点常常会因为运行时组件的问题.内核死锁.资源不足等各种各样的原因不可用.Kubelet默认对节点的PIDPressure.MemoryPressure. ...