Exception caught in source file F:\agent\_work\1\bbsrc\CivilPlatform\cif\src\managed\objects\presentation\ObjectHandlerManager.cs at method GetPathDescription ================================================================================ Exception : Could not find a part of the path 'C:\Program Files\Bentley\OpenRoadsUltimateChina CE 10.10\OpenRoadsUltimateChina\mdlapps\ECSChemas\Model\CifPropertyExtension_Template.01.-01.ecschema.xml'. In Assembly : mscorlib Stack Trace : at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at Bentley.CifNET.Objects.ECPropertyExtensionManager.GetCurrentSchema(String schemaName) at Bentley.CifNET.Objects.ECPropertyExtensionManager.GetECInstanceOfCurrentSchema(IECInstance inst) at Bentley.CifNET.Model.CustomPropertiesProxy.get_ECXAttributeInstances() at Bentley.CifNET.Model.FeaturizedEntity.<get_ECXAttributeInstances>d__65.MoveNext() at Bentley.CifNET.Model.EC.ECFeaturizedEntityBinder.SnapShot..ctor(FeaturizedEntity ent) at Bentley.CifNET.GeometryModel.EC.ECLinearEntity3dBinder.SnapShot..ctor(LinearEntity3d ent) at Bentley.CifNET.GeometryModel.EC.ECLinearEntity3dBinder.GetSnapShot(Object obj) at Bentley.CifNET.Objects.Engine.Instance.StoreSnapShot(Boolean haveToRecreateSnapShot) at Bentley.CifNET.Objects.Engine.Instance.SetCLRObjectFromECInstance(IECInstance instance) at Bentley.CifNET.Objects.Engine.Instance.SetECInstanceFromPersistence(IECInstance instance) at Bentley.CifNET.Objects.Engine.Instance.GetECInstanceFromProvider() at Bentley.CifNET.Objects.Engine.Instance.get_ECClass() at Bentley.CifNET.Objects.Engine.ObjectSpace.GetObjectInternal(ObjectKey ecKey, Boolean persisting) at Bentley.CifNET.Objects.Engine.ObjectBucket.GetObject() at Bentley.CifNET.Objects.Engine.ObjectList.System.Collections.IList.get_Item(Int32 index) at Bentley.CifNET.Objects.QualifiedReferenceList.<GetMembers>d__14.MoveNext() at Bentley.CifNET.Model.QualifiedReferenceAccessorForType`1.<GetMembers>d__8.MoveNext() at Bentley.CifNET.Model.Component.GetEmbeddingRelationToEntity(Entity entity) at Bentley.CifNET.GeometryModel.Presentation.LinearEntity3dHandler.GetName(LinearEntity3d elem) at Bentley.CifNET.GeometryModel.Presentation.LinearEntity3dHandler.GetPathDescription(Object obj, IDisplayPath path) at Bentley.CifNET.Objects.Presentation.ObjectHandlerManager.GetPathDescriptionFromObject(Object obj, IDisplayPath path, Boolean handleException) at Bentley.CifNET.Objects.Presentation.ObjectHandlerManager.Bentley.CifNET.Objects.Presentation.IHandlerDispatcher.GetPathDescription(ObjectKey key, IDisplayPath path)
ecschema文件指定的不对,多了一个减号
应该是
符老师, 这个文件是怎么生成的?程序生成的还是软件自己生成的,我的文件目录没有找到这个CifPropertyExtension_Template.01.-01.ecschema.xml文件
我看应该是软件自带的。文件名是CifPropertyExtension_Template.01.01.ecschema.xml,不是CifPropertyExtension_Template.01.-01.ecschema.xml。
我发现你错误提示信息中该错误的文件名名称位于...\mdlapps下面,而系统的这个文件位于
C:\Program Files\Bentley\CIMPlatformSDK\Redist\RoadLevel\CIF\Permanent\Cif\ECSchemas\Model
是CIMPlatformSDK自带的。
先将mdlapps下的ECShcema文件夹移到一个无关的位置(直接删除怕破坏什么东西,最好是移走后重启ORD看看)看看能否消除错误。标准系统中mdlapps下没有ECSchema这个文件夹。
是的符老师,...\mdlapps下面我也看了, 也没有发现这个文件, 重装过系统还是不行, 现在特别难受, 不知道为啥会这样
符老师,崩溃的原因终于找到了,Bentley.CifNET.Objects.4.0.dll 这个引用文件不能出现在C:\Program Files\Bentley\OpenRoadsUltimateChina CE 10.10\OpenRoadsUltimateChina\Mdlapps 路径下,否则就会引起崩溃,感谢符老师指点迷津!非常感谢!!!
找到原因就好。我们在二次开发项目中引用的各个系统DLL,最好都要将其Copy Local设置为false,这样,就不会将这些DLL复制到mdlapps下了,而只有自己的DLL会生成到这个下面。