Where is "PersistentStorage" assembly reference (aka: module) for 4.2 beta?

If this “assembly reference” is not yet available for Cerbuino, we need to very quickly switch to a card that actually has this support in software. (It appears that > 50% of the “advertised features” of Cerbuino are not supported yet in software. Not good! :frowning: ) Finally: is there any quick way to determine the required “assembly reference” that needs to be associated with a “using directive”? Just a thought: but why doesn’t the assembly reference have the same name as the namespace?

PersistentStorage will not be available on open source offer but why do you need it? If you mean, “how do I mount SD card” then the method you need is


Please take a look here http://www.ghielectronics.com/downloads/NETMF/OSHW%20Library%20Documentation/Index.html but see the docs in your installer as these are changing while we move to 4.2

Almost all is complete! Maybe you have an old firmware? Have you seen this http://www.tinyclr.com/forum/topic?id=7457

You should also take a look here http://www.ghielectronics.com/offers/

Welcome to the community and lt us know if we can help further.

@ User_8158 - I cannot talk to the issues of missing functionality for Cerbuino since I do not own this particular device. However, I would like to respond to your following question.

Even in the full desktop edition of the .NET framework, there are cases where a namespace resides within an assembly that does not match the namespace name. In some cases a single namespace is even split across multiple assemblies. This happens for various reasons, for example

[ul]Some data types with in the namespace are shared across multiple assemblies, so those portions are located in a common assembly. That way it is not always required to reference the full assembly when all that is required is the common portion. [/ul]
[ul]It is not efficient to have a separate assembly for each namespace. The more assemblies the application references the longer the load times.[/ul]
[ul]Commonly used functionality is put into one of the core assemblies and only if you intend to use the extended functionality do you need to reference other assemblies which add the extended functionality to the namespace.[/ul]

System.IO and System.Runtime.Serialization.Formatters are example that I can think of where some of the above concepts are applied.

Sorry @ taylorza I edited your post by mistake but put it back to where it was

@ Gus - No problem, if I have miss-stated anything please feel free to edit.


Thanks for your fast response!

If what you’re saying is that we can use an SD-card to obtain mass-storage functionality on a Cerbuino right now, then I’ll continue to “hack” through the tutorials. Based on the “release notes” for “4.2 beta”, which indicate “no SD” and “no USB-host” modules are yet working, I had assumed that my problems were associated with the fact that the beta isn’t complete yet. What we need to do is to implement a “data logger”, and there would be no big deal if we need to use one of GHI’s earlier boards for a few months until the Cerbuino is fully supported, should that be necessary. (However, as I mentioned, we need to know that as soon as possible…)


I will think over your explanation, and I very much appreciate your detailed response. The idea that “library” modularity does not necessarily correspond to “source code” modularity is certainly a possibility … :slight_smile: … . However, it could also just be that the OOA for the “assemblies” modular breakdown has some issues. I’m not sure which is going on at this point, but I’m certainly open to both possibilities.

No you can’t expose SD as mass storage on open source boards. That part of the premmium offers. Please see offers page.

We just need a solution, whether it’s open-source or not is not important right now. If we have to pay extra to get it, that’s also probably OK. On the “offers” page, the only link that seemed relevant was the “premium library” link, which took me right back to “SD Card Driver: To get started see GHIElectronics.NETMF.IO.PersistentStorage”. That’s what started my question on this forum in the first place. Is what you’re saying just that we need to buy a license to the premium library and that that will work with the “4.2 beta” on a Cerbuino? (In which case we just need to call “sales”.) Otherwise, would you please put us in touch with someone who could walk us through this? – Thanks! –

You need to switch to a premium offer, like fez spider. If still not clear, give us a call Monday and will happily explain.

We’ll give a call tomorrow, as it sounds like we need to switch boards. However, one thing that is still confusing to me is the comment at the “4.2 Beta” release notes. Is it GHI’s intention to eventually have these features (i.e., SD-card and USB-host) supported for the Cerbuino?
– Thanks! –

Open source offers, like Cerberus, are complete with netmf features but there are extended features, like persistent storage, which is only available on premium offers, closed source. Both are stable and both are supported equally. GHI even expands the open source with some libraries but not as much as premium.

Take a look at the bottom of the offer page I like to before please. I shows the libs.

I recently bought a Cerbuino Bee (and also Hydra) with onboard SD card slot. From this post do I now understand that the SD slot isn’t supported by the OSHW library? How can I use this feature that I presumed (rightly) was enabled?


@ appsolo persistent storage and sd storage are 2 different things…sd support is enabled on the hydra and bee.

1 Like

thanks for quick response but how do I access the SD slot on the Bee? Can’t find anything on this,



@ appsolo - trying to get the kids to bed so will have to answer your question a bit later unless one of the many gurus on here posts some good oil :wink:

@ Justin thanks and hopefully they’ll be sound asleep soon!

SD is fully supported. I can’t remember the class name but please take a look at the OSHW library references.

Something like storageDevice.MountSD();

Please let us know if this is works.

No need for multiple pots and welcome to the community.

thanks for help. Have got Cerbuino Bee working with onboard SD card. Key was to find the right assembly and add a reference to it in VS. Steps were:
[ol]Add reference in project to: GHI.OSHW.Hardware[/ol]
[ol]Use GHI.OSHW.Hardware.StorageDev.MountSD(); to mount SD card - can omit explicit references by adding using GHI.OSHW.Hardware to namespaces[/ol]

Here’s some code showing it in action:


            Debug.Print("Getting files and folders:");
            if (VolumeInfo.GetVolumes()[0].IsFormatted)
                string rootDirectory =
                string[] files = Directory.GetFiles(rootDirectory);
                string[] folders = Directory.GetDirectories(rootDirectory);

                Debug.Print("Files available on " + rootDirectory + ":");
                for (int i = 0; i < files.Length; i++)

                Debug.Print("Folders available on " + rootDirectory + ":");
                for (int i = 0; i < folders.Length; i++)
                Debug.Print("Storage is not formatted. Format on PC with FAT32/FAT16 first.");

Next to play some music off the card! Thanks again guys,

Nice one.