2

我们的团队处理依赖于不同程序集的模块。例如,我们有一个 EmailClient 模块,它使用一组用于一个特定构建的程序集和另一组完全不同的程序集用于另一个构建。那是因为根据客户我们集成到不同的后端。

我们希望为 EmailClient 保留一个源代码树,并确保“最新”版本始终适用于所有客户。我们在这里面临的挑战是不要将不必要的组件分发给一组客户。当他们变得挑剔并询问所有这些其他文件的用途时。

这会导致以下错误,并且很难在一个地方捕获:

System.IO.FileNotFoundException:无法加载文件或程序集。

.Net 是否提供了这样一个功能,我们可以添加对各种程序集的引用,但不能分发其中一些程序集?

4

1 回答 1

0

您应该查看像托管扩展框架 (MEF) http://msdn.microsoft.com/en-us/library/dd460648.aspx这样的插件架构

这样您就可以扩展您当前的应用程序,而无需创建对程序集的依赖项。

即使您不打算实施 MEF。它将提供想法和的思考方式,关于如何自己实施。

于 2013-09-30T15:19:08.813 回答