我曾经在ASP.NET网站上有一个嵌入式用户控件,工作正常。但后来我将网站转换为Web应用程序之后,当我引用用户控件时,它会给出错误。
System.Web.HttpException未被用户代码处理 消息=文件'/Controls/CustomControls.dll/TestCustomControl.ascx'不存在。
我验证了dll是否在正确的位置,并且TestCustomControl.ascx的构建操作设置为“Embedded Resource”。
答案 0 :(得分:0)
此用户控件通过将其属性Build Action设置为Embedded Resource而嵌入到dll中。
问题在于我的虚拟路径提供程序。我必须在Global.asax的“Application_Start”方法中注册虚拟路径提供程序。在我的工作网站中,它是在App_Code中的AssemblyResourceProvider中完成的。将Web站点转换为Web App时,因为Web应用程序中没有App_Code,所以整个代码都丢失了。