我想我已经做到了。。。在使用Web部署项目在Web应用程序项目中编译ASCX用户控件时,请注意上一种方法中的一些恼人的陷阱,我建议如下:
-
避免在课堂上上课
App_Code
除非它们是独立类或帮助类,否则ASP.NET会将其视为
斯佩舒尔
文件夹,其意义在我身上消失了,混乱、混乱和混乱随之而来。不过,此文件夹中的代码确实会在Web部署项目中获得输出。
-
access is denied
如果在测试过程中出现任何命名冲突,则会出现错误
aspnet_merge
过程
-
最终您很可能会部署2个程序集,我尝试只创建一个,但部署输出仍然指向源程序集中的类型定义。如果您的Web应用程序项目中没有任何其他类型,那么这不是问题——我有,所以这对我来说是个问题。就我而言,我的最终输出是:
-
<Organisation>.<TechnologyName>.Web.DLL
-已编译的Web应用程序集(包含ASCX模板)
-
<Organisation>.<TechnologyName>.Web.UI.DLL
-
经常清理,并检查Web应用程序项目
bin
和
obj
-
检查导入的名称空间,ASP.NET编译器喜欢引用
Import
指令,它还考虑中存在的导入命名空间
web.config
的
<configuration><system.web><pages><namespaces>
元素,如果在部署过程中出现未知定义,则进行调整。
有点耐心,这很棘手!但最后你会得到一些不错的可重新分发的用户控件!
呸!