我们有一个包含多个 Web 项目的解决方案,其中一些页面应该存在。所以我们需要某种包含 aspx 文件的共享项目,并且可以被其他 Web 项目引用。
现在有一些实现:
ScottGu 描述的一种实现涉及构建共享项目,然后将输出 aspx 复制到宿主项目中,并引用 aspx 的 dll。这种方法的缺点是,如果 apsx 被修改,则必须重新复制它。
根据David Ebbo 的帖子,另一种选择是将 aspx 转换为 ascx-es,可以将其作为自定义控件引用,然后将这些 custom-control-aspx-es 包含在一些占位符页面内的宿主项目中。但我担心的是:所有 apsx 页面都可以转换成 ascx 吗?例如,我的意思是用户控件中没有 Page.LoadComplete 事件。
另一种选择是使用映射到共享 web 项目的虚拟目录,如 Microsoft知识库文章中所述。此方法的问题再次是共享的 aspx-es 必须位于预定义的目录(即虚拟目录)中。如果虚拟目录的名称与物理目录重叠,则虚拟会覆盖它,并且不能使用来自后者的页面。是否有可能将这两者合并在一起?
有什么想法吗?在此先感谢 PS如何调试共享页面?