最近网上流出了 DXperience 7.2.3和7.2.4版本。
通过到DevExpress.com下载最近的生成脚本进行编译还是会出错:
Microsoft ( R ) . NET Framework 强名称实用工具 版本 2.0 . 50727.42
Copyright ( c ) Microsoft Corporation . All rights reserved .
公钥被写入 dx_public_key . tmp
未处理的异常: System . ArgumentOutOfRangeException: 长度不能小于 0 。
参数名: length
在 System . String . InternalSubStringWithChecks ( Int32 startIndex , Int32 length , Boolean fAlwaysCopy )
在 System . String . Substring ( Int32 startIndex , Int32 length )
在 PatchInternalVisibleTo . Program . ObtainPublicKeyToken ( String snExe , String publicKeyName )
在 PatchInternalVisibleTo . Program . CreatePublicKeyToken ( String snExe , String keyFileName )
在 PatchInternalVisibleTo . Program . PerformPatch ( String fileName , String snExe , String keyFileName )
在 PatchInternalVisibleTo . Program . Main ( String[] args )
然后对下面五个项目均编译失败,出现红色的错误提示:
DevExpress.XtraScheduler.v7.2
DevExpress.XtraScheduler.v7.2.Design
DevExpress.XtraScheduler.v7.2.OutlookExchange
DevExpress.XtraScheduler.v7.2.VCalendarExchange
DevExpress.XtraSpellChecker.v7.2
后面4个项目编译失败是由于DevExpress.XtraScheduler.v7.2没有编译成功造成的,而DevExpress.XtraScheduler.v7.2项目的编译失败又是由于脚本中的PatchInternalVisibleTo.exe运行失败造成的。而PatchInternalVisibleTo.exe运行失败的原因是调用强签名程序sn.exe时没有考虑不同国家语言版本的问题。
幸好,生成脚本中附带了PatchInternalVisibleTo的C#项目,我对其进行修正之后,编译总算全部通过了。
点击下载:修正后的生成脚本
另:我将DXperience 从7.1.1升级到7.2.4后,对应用程序通过项目转换程序ProjectConvert.exe升级后,许多Form的资源文件(*.res)编译出错。解决办法:只要点击错误信息,定位到出错的res文件后,向上找到最接近的包括DXperience组件的XML行,整行删除即可。