我正在开始一个新项目,其想法是将项目文件/文件夹结构组织到不同的模块(.csproj)中,最后一旦部署,这些模块将被加载到 MainModule 的一个 AppHost(这些子模块将充当插件) .
然而,为了更好的物理文件管理 (SVN/VCS) 和我的项目文件的有效组织,这些模块也将在 SVN 中作为单独的项目进行维护。想法是在其自己的模块目录范围内拥有特定于每个模块的视图、资产等。 (参考截图)。
- 主模块
- 子模块一
- 意见
- ModuleOneDefault.cshtml
- 意见
- 子模块二
- 意见
- ModuleTwoDefault.cshtml
- 意见
- 意见
- 共享
- _Layout.cshtml
- 你好.cshtml
- 共享
- 子模块一
特定于模块的文件将作为构建后操作复制到根项目路径中,而不是直接复制到 /Views 中(如果复制,则它会与主模块的 Views 文件夹混淆)。
问题在于 ServiceStack 如何从 /Views 文件夹加载和处理 Razor 视图,而外部的任何内容都被视为内容页面。有关此的更多信息,请在此处解释...!
使用VirtualFileSystem后,我正在大声思考在各自的“/ModuleOne/Views/”文件夹中但在根“/Views”之外维护模块特定视图。不知何故,这似乎不起作用,试图寻求有关如何实现或适当处理的帮助。
PS:我知道 Views 文件夹之外的任何内容都是内容页面,但是这个想法仍然是作为 Views 文件夹维护,但在不同的层次结构中 - 希望 ServiceStack Razor 功能无论如何都能很好地处理嵌套(DEEP)结构,但在根 /Views 文件夹中而不是来自整个项目根文件夹,即“/”。
问题是,这可以在默认情况下实现而不需要任何繁重的工作吗?或者我应该有自定义的 VirtualPathProvider 实现等吗?
非常感谢意见和想法!
谢谢!