2012-04-08 93 views
2

我正在使用进程监视器检查我的应用程序。我正在观察,我的应用程序中的每个dll, 它正在寻找“mydllname”.resources.dll 我的应用程序有超过100个dll的。 但是只有一种语言支持。而且我不使用 任何资源,.resx或类似的东西。如何通过.resources.dll停止扫描

我该如何阻止? 或.NET框架是否始终为每个引用的dll查找.resources.dll 。 谢谢。

+0

你问这个是因为你的应用程序启动缓慢? – Steve 2012-04-08 16:32:30

+0

是的,我正在研究可能的原因。 – Control 2012-04-08 16:35:50

+0

除了你的问题中的问题,你还检查了什么?例如已经ngen'ed你的程序集? – Steve 2012-04-08 16:43:08

回答

1

每个应用程序的启动时间对于每个.NET程序员来说都一直是个棘手的问题。 我认为'library'.resource.dll的检查总是由设计执行,所以我不认为这是可能的停止这种行为。但在担心这一点之前,我认为应该质疑这些检查需要多少时间才能完成项目启动所需的总时间,以及是否有一些步骤可以帮助减少启动时间。

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

但是我明白这可能意味着您的设计发生重大变化。
所以看看这个彻底的解决方案presented here

编辑:当我谈起动时间,我的意思是也花在你的初始化代码的时间。在这里,你需要像EQATEQ探查器来检查你的方法里面传递的时间,并尝试对其进行优化或者在一个单独的线程移动一切