我正在使用软件供应商的API为CMS服务器创建.net网站。
问题是,对于每个版本的CMS软件,我都有不同的DLL(大多数是无版本的),我必须处理。
所以,现在我正在构建一些依赖于这些DLL的可重用服务器组件,但由于我想对不同DLL版本的不同网站使用这些组件,我需要想出一种方法来切换依赖项。
是否可以将所有依赖项捆绑在一个DLL中(并保留原始命名空间)?
答案 0 :(得分:1)
Microsoft Research的{{3}}允许您将多个程序集合并为单个并保留原始名称空间。
答案 1 :(得分:0)
如果存在命名空间冲突,您最终可能会被迫动态加载DLL。您可以使用Assembly类和一些反射来捕获相应的入口点。
简而言之,您不会依赖API编译时间,而是创建自己的包装器,使用动态(通过反射)调用dll来实现所述包装器。我确信这在C#4.0中更容易,但它在1.0中也能正常工作。