I need to use AlphaVSS in a 32-bit application which runs on 64-bit Windows. LoadImplementation() loads the x86 DLL (which is normal) so I have to do something else: have my app start a 64-bit process which loads the correct DLL. The communication between
the application and the process is done via .NET Remoting. All works fine until I start accessing properties on method call results. Let me give you an example:
// init vss implementation
var vss = (IVssImplementation)Activator.GetObject(
var components = vss.CreateVssBackupComponents();
// other actions to set components in the right state
var properties = components.GetSnapshotProperties(id);
Accessing properties throws exception: "Type 'Alphaleonis.Win32.Vss.VssSnapshotProperties' in Assembly 'AlphaVSS.Common, Version=1.0.9156.0, Culture=neutral, PublicKeyToken=3033cf2dbd31cad3' is not marked as serializable."
I guess the fix for this is to add [Serializable] to VssSnapshotProperties and perhaps to all other types which are exposed. Do you guys think you could publish a build with this change?