我们的团队负责处理与不同程序集有依赖关系的模块。例如。我们有一个EmailClient模块,它使用一组设置为一个特定构建的程序集,另一组完全不同的程序集用于另一个构建。这是因为我们根据客户整合到不同的后端。
我们希望为EmailClient保留一个源树,并确保“最新”版本始终适用于所有客户。我们在这里面临的挑战是不向一组客户分发不必要的组件。因为他们挑剔并询问所有这些其他文件的用途。
这导致了以下错误,并且很难在一个地方捕获:
System.IO.FileNotFoundException:无法加载文件或程序集。
.Net是否提供了这样一个功能,我们可以添加对各种程序集的引用,但不能分发它们中的一些?
答案 0 :(得分:0)
你应该看一下插件架构,比如托管扩展框架(MEF) http://msdn.microsoft.com/en-us/library/dd460648.aspx
这样,您可以扩展当前的应用程序,而无需创建程序集的依赖项。
即使您不打算实施MEF。它将提供想法和新的思考方式,以及如何自己实现它。