在我们的项目中,我们使用了大量的 T4 代码生成。我们使用一个称为 X-Tensive 的 DataObjects.Net 的 ORM。我们有一点鸡蛋问题。在使用程序集的元数据生成代码之前,我们需要编译 ORM 的类。然后当代码生成时,我们可以再次编译模型,但现在结合生成的代码(部分类)。没有生成的代码,模型类中的大部分自定义代码都无法编译。
我们如何解决它是在 VS2013 中有一个单独的配置,称为“模型”。在此配置中,存在“条件编译符号”调用“JUSTMODEL”。在没有生成代码的情况下无法编译的所有代码都放置在 #if !JUSTMODEL #endif 编译器指令之间,这会导致此代码不会针对“模型”配置进行编译。
这有点乏味。我们创建了一个可扩展性的小应用程序来自动化这个过程,但是运行这些过程变得越来越耗时。
现在我想知道是否可以在不通过某种可扩展性 API 构建程序集的情况下获取模型程序集的元数据。我在 Visual Studio 中看到很多工具可以理解编辑器中加载的类并给我一些反馈(如智能感知)。