3

我们目前正在使用 RazorGenerator 库为项目生成预编译视图。到目前为止,我们一直在使用 Visual Studio 扩展来处理生成,这些生成的文件也被提交到我们的存储库。

这引起了一些痛点,因为我们必须经常解决生成文件中的合并缺陷。考虑到这一点,我开始尝试将 RazorGenerator.MsBuild 目标库集成到我们的构建过程中,这样我们就可以避免将代码生成的文件存储在我们的存储库中。

到目前为止,我已经禁用了 VS 扩展,并使构建目标按要求工作,但是我现在失去了对生成文件的智能感知和 resharper 支持,因为它们不再是解决方案的一部分。

我想知道以前是否有其他人曾走过这条路,理想情况下,我想要实现的是使用 Build 目标生成 cs 文件,无需将这些 cs 文件包含在存储库中,并且仍然具有 Intellisense/对生成的文件进行更清晰的覆盖。

有什么想法吗?

4

1 回答 1

1

我已经通过为每个实现我们自己的基类的 cshtml 模板创建一个空的部分类来解决这个问题,而基类又实现了RazorGenerator.Templating.RazorTemplateBase.

通过这样做,我们可以访问这些类上公开的所有可公开访问的属性和方法,这些属性和方法使智能感知/resharper 感到高兴,并且在构建时生成了模板 .cs 文件,这些文件为输出布局等提供了繁重的工作。

于 2012-02-28T15:04:03.777 回答