C# 正在加载资源程序集,但不带;“锁定”;档案

C# 正在加载资源程序集,但不带;“锁定”;档案,c#,file,resourcedictionary,.net-assembly,C#,File,Resourcedictionary,.net Assembly,加载包含资源xaml的程序集时遇到问题。 问题是不允许我“锁定”文件,因为更新可能会在以后替换它 首先,我像这样加载它: Uri uriProperties; ResourceDictionary xResources; uriProperties = new Uri("/xResources;component/xResources.xaml", UriKind.Relative); xResources = Application.LoadComponent(uriProperties) a

加载包含资源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,但不锁定文件


如果有一个不使用卷影复制或更改内容路径等的解决方案,那就太好了。

不确定这是否能解决您的问题,但值得一试:

var bytes = File.ReadAllBytes("assemblypath");
var assembly = Assembly.Load(bytes);
请使用“.net汇编”标签。标记“assembly”用于回答有关汇编语言编程的问题。