开发者

Silverlight Assembly.Load() only works with the full/strong name

开发者 https://www.devze.com 2023-01-02 20:18 出处:网络
Apparently the implementation of Assembly.Load() in Silverlight needs a full/stron开发者_如何学Cg name.

Apparently the implementation of Assembly.Load() in Silverlight needs a full/stron开发者_如何学Cg name.

E.g. this works:

Assembly.Load("MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=...");

while this will fail even if MyAssembly is already loaded:

Assembly.Load("MyAssembly");

Is there a workaround so that it's possible to use the simple name?


As far as I know, there isn't a way to work around this in Silverlight without using the full name. However, you may be able to accomplish your ultimate goal (depending on what you're trying to do) in another way. For example, the XAML parser is a little more forgiving about assembly names, so if you're just trying to create an instance of a class within that assembly (using the default constructor), then something like

XamlReader.Load("<my:ClassName xmlns:my='clr-namespace:MyNamespace;assembly=MyAssemblyShortName' />")

should do the trick.


One way that I got around this was to use typeof on a type contained in the assembly that I need to get a reference to:

var assembly = typeof(MyNamespace.SubNamespace.Type).Assembly;
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号