如何停止扫描.resources.dll

时间:2012-04-08 16:27:03

标签: c# wpf .net-assembly satellite-assembly

我正在使用Process Monitor检查我的应用程序。 (.NET framework 4,WPF应用程序) 我观察到我的应用程序中的每个dll, 它正在寻找“mydllname”.resources.dll 我的应用程序有超过100个dll。 但是只有一种语言支持。我没有使用 任何资源,.resx或类似的东西。

我怎么能阻止它? 或者.NET框架总是查找.resources.dll 对于每个被引用的dll。 感谢。

2 个答案:

答案 0 :(得分:1)

每个应用程序的启动时间一直是每个.NET程序员的荆棘。 我认为'library'.resource.dll的检查总是按设计执行,所以我认为不可能停止这种行为。但在担心这一点之前,我认为应该质疑这些检查所需的时间与启动整个项目所需的总时间相比,以及是否有一些步骤可以帮助减少启动时间。

在您的情况下,我将尝试使用启动第一个窗口所需的最小DLL来创建一个小型启动项目。然后该项目将根据需要使用其他部分。很难说,但似乎不太可能需要直接从启动项目中引用所有100个程序集。

但是我知道这可能意味着你的设计发生了很大的变化 所以,请关注这个彻底的解决方案presented here

编辑:当我谈到启动时间时,我的意思是在初始化代码中花费的时间。在这里,您需要一个像EQATEQ这样的分析器来检查方法中传递的时间,并尝试优化它们或在一个单独的线程中移动所有内容

答案 1 :(得分:1)

尝试将NeutralResourcesLanguage属性应用于程序集。如果ResourceManager与指定的中性资源语言匹配,这将停止标准CurrentUICulture搜索附属程序集。