Загрузка ресурсной сборки, но без «блокировки» файла - PullRequest
1 голос
/ 14 декабря 2011

У меня проблема с загрузкой моей сборки, содержащей ресурс xaml.Проблема в том, что я не могу "заблокировать" файл, потому что обновление может заменить его позже.

Сначала я загрузил его так:

Uri uriProperties;
ResourceDictionary xResources;
uriProperties = new Uri("/xResources;component/xResources.xaml", UriKind.Relative);
xResources = Application.LoadComponent(uriProperties) as ResourceDictionary;

Это работало нормально.Файл не заблокирован.

Теперь у меня возникла другая проблема, я должен был поместить ее в другую сборку.Загрузка его с относительным Uri больше не работает, у меня есть полный путь.

Я пытался:

Assembly.LoadFrom(xPath + @"/xResources.dll");
xResources = new ResourceDictionary();
xResources.Source = new Uri(@"pack://application:,,,/xResources;component/xResources.xaml"); 

также работает в приложении.Но он блокирует файл.

Как загрузить сборку и получить мой ресурсный ресурс с использованием полного пути, но без блокировки файла?

Было бы неплохо, если бы было решение без использования теникопирование или изменение путей к содержимому и т. д. ...

1 Ответ

3 голосов
/ 14 декабря 2011

Не уверен, что это решит вашу проблему, но оно того стоит:

var bytes = File.ReadAllBytes("assemblypath");
var assembly = Assembly.Load(bytes);
...