我目前正在重构一个巨大的ASP.NET MVC网站。我试图实现的主要思想是在同一解决方案中有一个主(前)网站和几个单独的网站,可以单独部署。原因是我们有不同的团队在不同的项目上工作。 目前的设置如下:
在对模块进行更改时,您必须部署主网站(因此虽然区域作为单独的项目,但不能单独部署)。区域正在使用RazorGenerator进行视图。公共视图层生成要在主网站/模块中使用的嵌入式资源。
任何解决方案?
我现在要完成的工作是将区域中的模块解压缩到完整的ASP.NET MVC网站,并将它们作为子域映射到主网站。这里的问题是我在所有项目中重复视图,样式,布局以及对主菜单,样式等进行更改意味着要遍历所有项目并进行相同的更改。不是一个可行的选择。
感谢您的想法!
答案 0 :(得分:1)
因此,答案还取决于您是否想要多个解决方案(* .sln),或者它只是一个包含多个mvc项目的解决方案。
Ad.1多个sln /目录。
在这种情况下,可能有趣的选择是使用样式,脚本等静态内容配置虚拟目录。可以在IIS上轻松配置这样的虚拟目录:https://msdn.microsoft.com/en-us/library/bb763173.aspx
Ad.2一个解决方案,多个MVC项目:
然后我建议添加一些解决方案文件夹,例如“公共表示层文件”和“#39; - >然后我将所有要共享的文件移动到该解决方案文件夹中。接下来在那些MVC项目中,我会做以下事情=>右键单击=>添加现有项目=>作为一个链接。 因此,您将拥有原始文件的副本/快捷方式。您应该只在该公共文件夹中进行更新,并且更改将在所有其他mvc项目中可见。 https://msdn.microsoft.com/pl-pl/library/9f4t9t92(v=vs.90).aspx然后您可以单独发布MVC项目,如果这些静态文件的属性正常,则在发布期间将复制所有文件。所以结构看起来像:
解决方案: