我有一个名为Company.Application的应用程序。它确实使用库:
Company.InversionOfControl
公司功能合同
公司功能
该应用程序使用InversionOfControl来侦察程序集零件应用程序域,方法是:
appDomain.GetAssemblies()
问题是Company.Application从未直接引用Company.Functionality的代码,而是依赖于Company.Functionality.Contracts和Company.InversionOfControl定义的接口来耦合定义的功能Company.Functionality并将其注入Company.Application
因此,有时应用程序的域看不到程序集Company.Functionality(即appDomain.GetAssemblies())。
我的问题是-有没有办法强制包括Company.Functional?
最佳答案
我发现的唯一解决方案是做虚拟线,如:
var t = new[] {typeof(Company.Functionality.FirstClass)}
在Company.Application的初始化中。
这将迫使编译器包括程序集。但是,这需要管理这些行。
关于c# - 如何强制C#生成过程包括代码中未使用的程序集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31559528/