[Mono-bugs] [Bug 81553][Nor] New - [2.0] Tagmapping does not check if type derives from original type

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Mon May 7 11:13:59 EDT 2007


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by gert.driesen at pandora.be.

http://bugzilla.ximian.com/show_bug.cgi?id=81553

--- shadow/81553	2007-05-07 11:13:59.000000000 -0400
+++ shadow/81553.tmp.29974	2007-05-07 11:13:59.000000000 -0400
@@ -0,0 +1,102 @@
+Bug#: 81553
+Product: Mono: Class Libraries
+Version: 1.2
+OS: All
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: Sys.Web
+AssignedTo: mhabersack at novell.com                            
+ReportedBy: gert.driesen at pandora.be               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: [2.0] Tagmapping does not check if type derives from original type
+
+Currently, we do not check whether the type specified in the mappedTagType 
+attribute derives from the original type (specified in the tabType 
+attribute).
+
+MS throws the following exception if not:
+
+[ConfigurationErrorsException]: The specified type 'Mono.Web.UI.TextBox' 
+used for mapping must inherit from the original 
+type 'System.Web.UI.WebControls.TextBox'. (...webbug...\web\web.config 
+line 8)
+   at System.Web.Configuration.TagMapCollection.get_TagTypeMappingInternal
+()
+   at 
+System.Web.UI.NamespaceTagNameToTypeMapper.System.Web.UI.ITagNameToTypeMapp
+er.GetControlType(String tagName, IDictionary attribs)
+   at 
+System.Web.UI.TagPrefixTagNameToTypeMapper.System.Web.UI.ITagNameToTypeMapp
+er.GetControlType(String tagName, IDictionary attribs)
+   at System.Web.UI.MainTagNameToTypeMapper.GetControlType(String tagName, 
+IDictionary attribs, Boolean fAllowHtmlTags)
+   at System.Web.UI.RootBuilder.GetChildControlType(String tagName, 
+IDictionary attribs)
+   at System.Web.UI.ControlBuilder.CreateChildBuilder(String filter, 
+String tagName, IDictionary attribs, TemplateParser parser, ControlBuilder 
+parentBuilder, String id, Int32 line, VirtualPath virtualPath, Type& 
+childType, Boolean defaultProperty)
+   at System.Web.UI.TemplateParser.ProcessBeginTag(Match match, String 
+inputText)
+   at System.Web.UI.TemplateParser.ParseStringInternal(String text, 
+Encoding fileEncoding)
+[Exception]: The specified type 'Mono.Web.UI.TextBox' used for mapping 
+must inherit from the original type 'System.Web.UI.WebControls.TextBox'. 
+(...webbug...\web\web.config line 8)
+   at System.Web.UI.TemplateParser.ProcessException(Exception ex)
+   at System.Web.UI.TemplateParser.ParseStringInternal(String text, 
+Encoding fileEncoding)
+   at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath 
+virtualPath, Encoding fileEncoding)
+   at System.Web.UI.TemplateParser.ParseFile(String physicalPath, 
+VirtualPath virtualPath)
+   at System.Web.UI.TemplateParser.ParseInternal()
+   at System.Web.UI.TemplateParser.Parse()
+   at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType
+()
+   at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider
+(BuildProvider buildProvider)
+   at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()
+   at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
+   at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath 
+virtualPath)
+   at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal
+(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean 
+allowBuildInPrecompile)
+   at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert
+(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean 
+allowCrossApp, Boolean allowBuildInPrecompile)
+   at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory
+(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, 
+Boolean noAssert)
+   at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath
+(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, 
+Boolean allowCrossApp, Boolean noAssert)
+   at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext 
+context, String requestType, VirtualPath virtualPath, String physicalPath)
+   at 
+System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler
+(HttpContext context, String requestType, VirtualPath virtualPath, String 
+physicalPath)
+   at System.Web.HttpApplication.MapHttpHandler(HttpContext context, 
+String requestType, VirtualPath path, String pathTranslated, Boolean 
+useAppConfig)
+   at 
+System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplicati
+on.IExecutionStep.Execute()
+   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& 
+completedSynchronously)
+-->
+
+To reproduce:
+1. extract the attached gzipped tar archive.
+2. compile and run:
+
+gmcs /r:System.Web.dll test.cs
+mono test.exe


More information about the mono-bugs mailing list