Lan*_*ens 7 directory dll reference visual-studio-2010 c#-4.0
我有一个 C# 项目,其中包含 1 个 EXE 和大约 7 个 DLL。我想要的是 EXE 旁边有一个名为“Library”(或类似名称)的文件夹,其中包含所有 DLL,这样它更有组织性,并且对于最终用户来说看起来更好。
我知道这可以使用 AppConfig 来完成,但我不想要 EXE 旁边的另一个文件。我想要的只是主 EXE 和文件夹。
是否可以使用 AppConfig 并嵌入它或加载 DLL,而不使用不会改变我当前使用 DLL 的方式的 AppConfig?我知道你可以在运行时加载 DLL,但我不认为这就是我正在寻找的。
谢谢!
编辑
我知道这样做的优点和缺点,所以请只回答如何做到这一点,而不是关于为什么我应该或不应该这样做的建议。
使用System.Reflection.Assembly.LoadFrom(path)。
LoadFrom将允许它在与目标 dll 相同的文件夹中查找任何依赖项。如果您使用Load,那么它不会考虑与您加载的 dll 位于同一文件夹中的 dll。
我知道这并不能直接回答你的问题,但LoadFrom如果你想要一个“xcopy”可安装的 .net 应用程序或其他东西,那么在进程启动早期手动调用 DLL 应该可以解决问题。