当前位置: 首页 > news >正文

深圳网站建设的网站设计申请书

深圳网站建设的,网站设计申请书,企业网站必备模块,全球最顶尖的设计公司如果不是遇到#xff0c;真的不会想到#xff0c;代码世界的问题真是千奇百怪#xff0c;这次遇到的是 dotnet pack 打包文件版本号引起的问题。之前进行 nuget 打包都是在 Visual Studio build 时进行#xff0c;版本号时通过 .csproj 中的 VersionPrefix 指定#xff0c… 如果不是遇到真的不会想到代码世界的问题真是千奇百怪这次遇到的是 dotnet pack 打包文件版本号引起的问题。之前进行 nuget 打包都是在 Visual Studio build 时进行版本号时通过 .csproj 中的 VersionPrefix 指定没遇到问题。最近改为通过 shell 脚本在 linux 上打包开始的 shell 脚本是怎么写的dotnet pack -c Release /p:version$(git tag --sortcommitterdate | tail -1 )后来发现 dotnet pack 不能自动 build 项目这个问题不是从哪个版本的 .net core cli 开始出现的。为了解决这个问题在 dotnet pack 命令之前添加了 dotnet build 命令dotnet build -c Releasedotnet pack -c Release /p:version$(git tag --sortcommitterdate | tail -1 ) 采用这个脚本发包后最近几次发包遇到了奇怪的问题比如发布了 EnyimMemcached 2.2 包在引起该包的 A 项目中升级到 EnyimMemcached 2.2而 A 项目所引用的其他 nuget 包也引用了 EnyimMemcached 但引用的是旧版 EnyimMemcached 2.1.12 build 没问题运行时却报下面的错误整个应用都无法启动。System.IO.FileLoadException: Could not load file or assembly EnyimMemcachedCore, Version2.1.12.0, Cultureneutral, PublicKeyTokennull. The located assemblys manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)File name: EnyimMemcachedCore, Version2.1.12.0, Cultureneutral, PublicKeyTokennull at System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)对于这样的依赖同一个包的不同版本问题.net core 中已经进行了有效解决如果存在版本冲突在 build 时就能发现比如 解决 .net core 中 nuget 包版本冲突问题 只要 build 通过基本不会出现上面的问题.net core runtime 会自动使用最高版本。而我们现在却遇到了这个 .net core 已经解决的问题让人莫名其妙无从下手。今天再次遇到这个问题时想到把包解开看看其中有没有与运行时相关的元数据信息。解开一看除了 dll 文件没有其他用于运行时的文件在查看这个 dll 文件的信息时发现了线索 不对文件版本号怎么是 1.0 打的明明是 2.2 的包Review 打包脚本后恍然大悟dll 文件是在 build 时生成的Build 时没有添加版本信息于是使用了默认版本号1.0。赶紧改进脚本试试VERSION$(git tag --sortcommitterdate | tail -1)dotnet build /p:version$VERSION -c Release Enyim.Cachingdotnet pack -c Release /p:version$VERSION Enyim.Caching这样改进后打出的包中的 dll 文件版本就与包的版本就一致了在项目中升级到这个包问题也就解决了。原来.net core 在 build 时只检查 nuget 包的版本号不检查包中 dll 程序集文件的版本号而 .net core runtime 在运行时会检查程序集文件的版本号。而我们遇到的问题就是由于 build 时与运行时的检查机制不一致造成错误的文件版本号没有在 build 时被检查出来从而在应用运行的时候才发现大大增加了问题的排查难度。为什么一定要在运行时检查程序集文件的版本号而且在版本号出现问题时让整个应用都无法启动反正就这一个文件写个告警日志继续用这个文件就是了如果无法使用这个文件再让整个应用挂掉也不迟这个地方有点想不通。今天的发现也让之前的另外一个疑问有了答案之前在 .NET Core 2.2 中遇到了 System.Data.SqlClient 的问题想看看最新版的 corefx 是否解决了这个问题于是签出最新版的 corefx 代码 build 出了 System.Data.SqlClient.dll 替换 .NET Core 2.2 中的同名文件运行时也总是报错 Could not load file or assembly 只有签出 release/2.2 分支的代码 build 才行原来也是文件版本号的问题只要修改一下文件版本号就能解决。另外程序集的依赖信息保存在 .deps.json 文件中如果不能修改程序集文件的版本号应该可以通过修改 .deps.json 文件中 runtime 配置的 fileVersion 值来实现。runtime: {lib/netstandard2.0/EnyimMemcachedCore.dll: {assemblyVersion: 2.2.2.0,fileVersion: 2.2.2.0 }}原文地址https://www.cnblogs.com/dudu/p/10880845.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/750387/

相关文章:

  • 邯郸网站建设渠道免费做全网解析电影网站赚钱
  • 中铁中基建设集团网站东莞网络优化哪家公司好
  • wordpress免费建站合肥关键词网站排名
  • 中铁建设集团门户网登录网站自己可以建设环保公益网站吗
  • 国内电子商务网站有哪些网站升级中html
  • 影响网站加载速度顺德做网站那家好
  • 如何备份网站的百度怎样建立网站
  • 如何建立网站视频教程湖北seo关键词排名优化软件
  • 南宁网站建设推荐q479185700顶上新公司网站建设流程
  • 石家庄城乡建设局网站四川网络营销
  • 网站更换名称需要重新备案吗赣州章贡区二手房出售信息
  • 浙江恒元建设网站wordpress 主题 英文
  • 甘肃网站建设推广做暧昧免费视频大全网站
  • 科技公司网站系统个人网站模板大全
  • 建网站源码建站详解做加油机公司网站
  • 北海做网站有哪家网站布局策划案
  • 做app网站的软件有哪些内容吗本地网站建设公司
  • 做服装团购有哪些网站有哪些网页端二维码在哪里
  • 石材网站建设方案科室建设网站
  • 梧州住房和建设局网站网站目录文件
  • 有没有做生鲜配送的网站wordpress调用摘要
  • 建设社团网站的可行性分析沈阳网站建设企业
  • 青岛知名网站建设公司优化大师有必要花钱吗
  • pc网站做app京东海淀区
  • 效果好的网站建设公萝岗企业网站建设
  • wordpress个人展示网站6新西兰网站后缀
  • 为什么自己做的网站别人打不开三门峡市湖滨区建设局网站
  • 长春网长春网站建设络推广工程建设国家标准网站
  • 微网站开发 mui框架网站备案幕布拍照是什么
  • 北京天通苑 做网站西安百度网站建设