这个问题是由我刚刚处理的another issue引发的。有一个托管库MyAssembly.dll
,面向.NET 4.0。它有自己的MyAssembly.dll.config
文件,其中包含一些<bindingRedirect>
条指令。我相信.config
文件是由compliler或NuGet包管理器生成的,因为我没有手动创建它。
问题是,当我的客户端应用程序(RegAsm.exe
)加载DLL时,会忽略绑定指令,但我也使用简单的控制台.NET应用程序验证了这一点。我不得不将它们从DLL的.config文件移动到客户端EXE应用程序的.config文件中,由.NET运行时获取并正确解析。
问题:托管库程序集(.DLL)的.config文件的目的是什么?它是否以任何方式参与加载库程序集的过程?< / p>
答案 0 :(得分:5)
没有“目的”。库的使用者可以将.dll.config中的设置复制到他们自己的.exe.config或web.config中。
.dll.config文件只是让Visual Studio在某个地方存储库的配置。
一般来说,多个调用者可以使用单个库,每个调用者都有不同的配置。它实际上没有多大意义,一般,因为库可以指示设置。