我有一个大型 ASP.NET 应用程序(旧版),它实际上(功能上)由两个门户组成。所以我需要将它分成两个独立的应用程序,以简化每个应用程序的开发。
当然,两者之间有共同的特点。其中一些位于 DAL 和 BL 中,这不是问题 - 所有这些代码都是独立的项目,它们组成了两个应用程序中要引用的程序集。
但问题在于一些页面、大量用户控件、一些 css 和 javascript 文件,它们在两个“门户”(应用程序)之间共享。
我想就如何处理它们征求一些建议。我主要关心的是避免重复,所以理想情况下它们应该放在一个地方,并被两个应用程序使用。
首先,我尝试将文件从一个项目添加到另一个作为链接文件。虽然这适用于代码文件(它们被内置到它们链接到的项目中),但它不适用于 aspx / ascx 或 css / javascript / images。如果我首先发布(如果标记为内容,它们会在发布期间被复制),但我不能在开发期间一直这样做,并且在从源代码调试/运行应用程序时找不到此类文件(sincve,显然,当人们正在寻找其中任何一个时,链接文件实际上在应用程序文件树中并不可用。
另一个想法是创建预构建事件,并从一个公共位置复制所有共享文件。例如,我创建了一个 Common 项目,并将所有在应用程序之间共享、按文件夹组织的文件以及在预构建时我执行一个xcopy
.
另一个想法是让所有共享文件成为我svn:external
在两个项目中引用的 SVN 存储库的一部分。
不过都看我的小麻烦。有没有人有类似的情况?你是怎么处理的?
对我的任何建议有什么建议吗?