Yeah that's an excellent post and the reason I decided to try blake.nui :)
I'm following those guidelines and have my three projects
- "Common" (dll - almost all my views are here)
- "Win7" (exe referencing Common)
- "Surface" (exe referencing Common)
I'm also using the assembly redirection trick to make the runtime use the proper version of the surface DLLs. But during compile time, I'm depending on v1.0 for the common project and if I call ThrowSVI() from the common project the compile time binding
to ScatterViewItem.CenterProperty (v1.0) doesn't match what it finds in the runtime version of the assembly (v1.5) and it crashes.
By depending on v1.5 during compile time I'm only reversing the problem and the surface .exe will crash instead.
And, since I'm throwing the SVIs from the common project, choosing the appropriate Blake.NUI.Surface[ToolKit] assembly is not solving the issue (since the choice has to be done at runtime)