我有两个.NET库:“Foo.Bar”和“Foo.Baz”。其中,“Foo.Bar”是自包含的,而“Foo.Baz”引用了“Foo.Bar”。
假设我执行以下操作:
1. 使用ILMerge将“Foo.Bar.dll”与“Foo.Baz.dll”合并为“Foo1.dll”。 2. 创建一个新解决方案,其中包含“Foo.Bar”和“Foo.Baz”的全部内容(因为我可以访问它们的源代码),并将其编译为“Foo2.dll”。
当从外部项目使用它们的功能时,Foo1.dll和Foo2.dll的性能是否会有差异?如果有,这种性能差异有多大,并且它是一次性的(在加载时)还是持续存在的差异?这两种方法有什么其他优缺点?
假设我执行以下操作:
1. 使用ILMerge将“Foo.Bar.dll”与“Foo.Baz.dll”合并为“Foo1.dll”。 2. 创建一个新解决方案,其中包含“Foo.Bar”和“Foo.Baz”的全部内容(因为我可以访问它们的源代码),并将其编译为“Foo2.dll”。
当从外部项目使用它们的功能时,Foo1.dll和Foo2.dll的性能是否会有差异?如果有,这种性能差异有多大,并且它是一次性的(在加载时)还是持续存在的差异?这两种方法有什么其他优缺点?