2011-12-14 34 views
1

加载包含资源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"); 

也适用于应用程序。但它锁定了文件。

如何加载程序集并使用完整路径获取我的resourcedictionary,但不锁定文件?

将是很好,如果有不使用阴影复制或改变内容路径等的解决方案......

+0

使用请标记“.net-assembly”。标签“汇编”用于汇编语言编程的问题。 – 2011-12-14 17:17:10

回答

3

不知道这是否会解决您的问题,但它是值得出手:

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