I am using Smart Assembly 6.6.4.95 with DevExpress. I have run into occasional problems with "Pruning" and thought maybe I should start posting them. I often use BindingList<T> as the DataSource for a DevExpress GridView to provide users with a quick view to data objects, using the following code:

With "Pruning" enabled all the data is lost, and the gridview displays only one column with the object name repeated on each row. If this is not enough detail and you need a sample project, please let me know where to send it.

I don't think it's practical to plumb in exclusions for every case where pruning will break a program, and we cannot know when code will be invoked outside of the normal .NET rules, like Microsoft's WPF and DevExpress components do. So this is not a "bug" that can be fixed really...

What I usually do is debug, try to find the name of the type that can't be accessed, and exclude that manually from pruning. I appreciate that this may be really difficult to do, but unfortunately it will be impossible to make SA produce assemblies that "just work" if vendors are invoking private members across DLLs and other such things they're not supposed to do.

I can't reproduce your issue with the datagrid. I suspect it almost has to be a serialization problem, as this is what SmartAssembly most commonly breaks. You may want to apply the Serializable attribute to your MyDataObject class to make sure it doesn't get pruned.