ironfede / openmcdf

Microsoft Compound File .net component - pure C# - netstandard 2.0
Mozilla Public License 2.0
314 stars 78 forks source link

2.4 API Additions #168

Closed jeremy-visionaid closed 1 month ago

jeremy-visionaid commented 1 month ago

I need some additional methods to implement a solution against OpenMcdf. Mostly I need to know whether a stream/storage with a given name exists without opening the associated CFStream. But I'd also like to be able to call Dipose directly on a CompoundFile and avoid multiple lookups when deleting an entry (i.e. TryDelete).

jeremy-visionaid commented 1 month ago

@ironfede Thanks for merging those! On to the next set.. :)

ironfede commented 1 month ago

@jeremy-visionaid yes but we have a big issue on test side as you cane see from pipeline failures... I cannot replicate in the local environment. I suspect that there is some issue with dispose - pattern used for CompundFile. I think it's been introduced or been unhided in #167

Could you please have a look? Many thanks @jeremy-visionaid

jeremy-visionaid commented 1 month ago

Hmm, I tested each PR locally before I pushed. You're right that #167 fixed the tests, so they may now correctly show failures where they were hidden before, but the end merge might also have a new bug that couldn't be detected previously. Current master also passes OK for me locally on Windows. but the tests are running on Ubuntu, so platform differences are another possibility. I'll take a look. Thanks for pointing it out!

I tried to set up pipelines on the Visionaid fork, but unfortunately MS processed my request incorrectly and have yet to fix it so that I can use it. Perhaps it might be worthwhile merging the PR check stuff from @Numpsy - I'm currently unable to test it, but it does look OK to me.

I've got some more changes I'm just queing up to further improve the tests, but I'll of course address any current failures first.