从项目执行类和类库中的类是否有任何区别?

时间:2012-05-27 17:26:46

标签: c#

假设我的项目中有一些课程。现在我创建另一个“类库”并将此类移到那里。因此,要实现此类,现在需要加载额外的dll(类库dll)。

我明白现在我有一点点另一个程序,因为现在.net需要读取两个文件(原始exe文件+类库dll文件)而不是一个exe文件。但除此之外有什么区别吗?加载程序后,这个类最初位于何处(exe或dll)很重要?我是否拥有完全相同的程序 in memory

特别是我很感兴趣,如果我可以在运行时将任何延迟移到类库中来引入?

此问题是我之前提问how to separate several "a little bit connected" projects?

的结果

2 个答案:

答案 0 :(得分:3)

将DLL加载到进程的内存空间后,与EXE项目中包含相同代码相比,性能应该没有差别。

事实上,通过在专用位置使用通用代码,您可能会看到长期性能提升。如果您倾向于将常用代码放入主项目中,那么最终可能会出现大量的代码重复,从而导致维护问题,并最终为更复杂的应用程序带来更大的内存占用量。)

答案 1 :(得分:2)

过早优化是万恶之源。 - 不要认为通过将所有代码放在一个程序集中来提高应用程序的性能。维护增益远比CLR将另一个文件加载到内存中更重要。