我有2个DLL。 B依赖于A.我有几个Windows服务只使用A中的类。我是否需要在这些Win svcs中包含DLL B(添加对它的引用)?
我问的原因是我尝试了两种方式:包括A和B,并且只包括A.在一次胜利svc中,一切似乎只用A做得很好。在另一种情况下,我得到错误说“不能加载A因为它依赖于无法找到的B“(对于那种效果的话)。所以我很困惑。对于这种困境,我是否构建DLL和Win Svcs作为Release vs Debug?
是否重要?答案 0 :(得分:1)
发布/调试配置无关紧要。大多数情况下,.net运行时在需要之前不会加载dll。在运行时,JIT编译器可能会发现它需要编译一个方法,该方法引用未加载的程序集中定义的Class / Struct。那时,它将尝试解析(定位)程序集文件。
异常通常会有足够的线索来确定发生了什么,所以这里有一些想法可以帮助你入门: