这个问题是对我关于 sharing resources between web applications 的问题的跟进。 ,因为我还没有找到好的解决方案。
我有一个 Web 应用程序,其中包含由其他三个 Web 应用程序共享的用户控件和资源。
解决方案
|
+-CommonControlsWebApp
| +- 资源
| | +- 图像
| | +- 脚本
| | +- 样式表
| +- 用户控件
|
+-WebApp1
|
+-WebApp2
|
+-WebApp3
这是我目前所知道的:
ASP.NET 真的没有很好的解决方案吗?你们是如何组织大型 Web 应用程序的?
编辑:非常感谢所有的答案。我现在将使用构建事件复制我的用户控件,然后看看我们是否有时间将它们重构为服务器控件。
最佳答案
我们现在公司的做法是确保 CommonControlsWebApp
是一个 Web 应用程序,而不是一个网站。然后,您可以使用文件夹名称来帮助将其识别为与各个 Web 应用程序不同的常见文件夹。 (CommonUserControls 而不仅仅是 UserControls)
在您的其他 Web 应用程序中,您为 CommonUserControls 等创建一个虚拟目录,并添加一个基于文件的对 CommonControlsWebApp.dll 的引用
这需要您使用 IIS 进行开发(而不是 casini),并且 Visual Studio 不会相信这些控件确实存在,但它会在运行时工作,并且您可以构建得很好,只需要有关 blahblah.ascx 或 blahblah.master 的警告路径无效。
如果您确实使用通用母版页和 Visual Studio 2008,则需要 SP1 for 2008 并在各个 Web 项目的根目录中使用 __fallback.master 以进入设计模式。
但是,我在另一个线程上看到了这一点,我将考虑做更多这样的事情:
http://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx
关于asp.net - 如何在 ASP.NET 中的 Web 应用程序之间共享用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/710076/