.net 始终引发AssemblyResolve,请求MyAssembly.resources
我有一个WPF应用程序,我订阅了该事件(每当运行时找不到程序集时就会引发该事件),我注意到它多次尝试解析MyAssembly.resources,其中MyAssembly是当前正在执行的程序集。它还对我从MyAssembly引用的库程序集(它要求library.resources)执行相同的操作.net 始终引发AssemblyResolve,请求MyAssembly.resources,.net,wpf,resources,assemblies,assembly-resolution,.net,Wpf,Resources,Assemblies,Assembly Resolution,我有一个WPF应用程序,我订阅了该事件(每当运行时找不到程序集时就会引发该事件),我注意到它多次尝试解析MyAssembly.resources,其中MyAssembly是当前正在执行的程序集。它还对我从MyAssembly引用的库程序集(它要求library.resources)执行相同的操作 这正常吗?我怎么修理它?我的申请确实有问题。它无法加载库中的某些xaml用户控件。这与此相关吗?您可以使用fuslogvw.exe查看.Net试图在何处查找依赖项 有关更多信息,请参阅。将此行添加到As
这正常吗?我怎么修理它?我的申请确实有问题。它无法加载库中的某些xaml用户控件。这与此相关吗?您可以使用fuslogvw.exe查看.Net试图在何处查找依赖项
有关更多信息,请参阅。将此行添加到AssemblyInfo.cs,您的解析程序将不再需要资源
[assembly: NeutralResourcesLanguageAttribute("en-US", UltimateResourceFallbackLocation.MainAssembly)]
虽然这是一种解决方法,但应仔细考虑多语言应用程序
更多信息:
AssemblyResolve
事件处理程序中遇到了同样的问题。奇怪的是,我们只在Windows XP机器上看到了这个问题。我们的应用程序被本地化为多种语言,因此我们不太愿意使用NeutralResourcesLanguageAttribute
。我们的应用程序是为.NET v3.5编译的,但仍受到.NET v4.0的AssemblyResolve
更改的影响:
重要信息从.NET Framework 4开始,将为所有程序集引发ResolveEventHandler事件,包括
资源程序集。在早期版本中,未为引发事件
资源程序集。如果操作系统已本地化,则处理程序
可能被调用多次:回退中的每个区域性调用一次
链子
我们解决这个问题的方法是检查e.Name
,看看它是否在寻找*.Resources.dll。如果在AppDomain或已知文件夹中找不到该文件,我们将删除“.Resources”并查找*.dll。如果该文件存在,我们将加载并返回该程序集。这为我们解决了问题