是否有建议的流程来创建可重用的ASP.NET程序集,其中包含可以在不同解决方案中跨项目共享的UserControl?
我们目前有一组在项目上运行aspnet_compiler.exe
的后编译步骤,使用给定名称生成预编译的程序集,然后aspnet_merge.exe
将每个单独的控件程序集合并为一个程序集 - 然后将其复制到项目的bin目录中。
不幸的是,以这种方式编译的用户控件不能与VS设计器“很好地” - 并且在设计时抛出异常,这使得处理托管它们的页面变得很麻烦。
这样做有更好的方法吗?
答案 0 :(得分:1)
这是将它们放入便携式独立组件的唯一方法。听起来你已经知道这里引用的所有内容,但这是我所知道的讨论该技术的最佳文章:
http://blogs.msdn.com/davidebb/archive/2005/10/30/487160.aspx
我一直在做的只是要求ascx存在。代码隐藏可以在便携式DLL中,但仍然需要ascx。您可以通过将重复项保存在一个位置并将虚拟目录映射到该位置来帮助管理重复项。这种方法的优点,即使它是低技术的,每个应用程序,如果它想要可以自定义ascx的外观。它可以移动东西或改变样式等,只要更改不影响存在哪些服务器控件,代码隐藏就不会更明智。