2

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

我怎么能阻止它?还是 .NET 框架总是为每个引用的 dll 寻找 .resources.dll 。谢谢。

4

2 回答 2

1

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

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

但是,我知道这可能意味着您的设计将发生重大变化。
所以也看看这里提出的这个激进的解决方案

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

于 2012-04-08T17:39:32.153 回答
1

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

于 2012-05-01T06:24:06.293 回答