On loading the plugin and trying to create \'XYZ\' control, the application throws the following exception:
\"The component \'XYZ\' does not have a reso
try to use Assembly.LoadFrom()
instead of Assembly.Load()
or Assembly.LoadFile()
.
I had the same problem: I used to load assemblies with Assembly.LoadFile()
. After searching for days, I found out that Assembly.LoadFile()
and Assembly.Load()
are deprecated. Both methods create problems in the runtime. So I used Assembly.LoadFrom()
and it worked.
The only way to do this would be to include the version information in your URI, so the XAML loader can distinguish the correct type. This MSDN article explains the Pack URI format, and the Version portion has this description:
;Version [optional]: the version of the referenced assembly that contains the resource file. This is used when two or more referenced assemblies with the same short name are loaded.
So you'd want to use one of the following:
/ThePluginAssembly;v1.0.0.0;component/XYZ.xaml
/ThePluginAssembly;v1.1.0.0;component/XYZ.xaml