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 [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=75284 --- shadow/75284 2005-06-16 13:56:48.000000000 -0400 +++ shadow/75284.tmp.741 2005-06-16 13:56:48.000000000 -0400 @@ -0,0 +1,98 @@ +Bug#: 75284 +Product: Mono: Runtime +Version: 1.1 +OS: +OS Details: +Status: NEW +Resolution: +Severity: +Priority: Normal +Component: misc +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: Type arguments of custom attributes in System assembly have wrong type names in IL + +Apparently, some Type arguments of custom attributes in, for example, the +System assembly have a bad type name. + +For example, look at the IL that's emitted for the +System.ComponentModel.TypeConverterAttribute of the +System.ComponentModel.IComponent interface in the System assembly. + +The ctor of the TypeConverterAttribute takes a Type, and in the source +its defined like this : + +[TypeConverter (typeof (System.ComponentModel.ComponentConverter))] + +However, in the emitted assembly the type name looks like this : + +System.ComponentModel.ComponentConverter, System, Version=0.0.0.0, +Culture=neutral, PublicKeyToken=null + +Ofcourse both the version number and the publickeytoken are not correct. + +Also MS does not emit an AssemblyQualifiedName if the type is in the same +assembly. + +Note: On Windows I can no longer build Mono, and I think it might be +because of this issue. + +If I'm not mistaken, the 1.0 profile assemblies are built using csc on +Windows. This means that the Type argument is emitted with its full name +and not its assembly qualified name. + +Then when the 2.0 profile is bootstrapped its first uses the System +assembly built using csc and fails when verifying CLS compliance as csc +did not emit assembly qualified type names (for Type arguments of custom +attributes) and apparently mcs relies on these being fully qualified. + +** (../../class/lib/default/mcs.exe:3456): WARNING **: Cannot load +type 'System. +ComponentModel.Design.IDesigner' + +Unhandled Exception: System.NullReferenceException: Object reference not +set to an instance of an object +in <0x00010> System.ComponentModel.DesignerAttribute:.ctor (System.String +designerTypeName, System.Type designerBaseType) +in <0x00000> <unknown method> +in (wrapper managed-to-native) +System.MonoCustomAttrs:GetCustomAttributesInternal +(System.Reflection.ICustomAttributeProvider,bool) +in <0x0000d> System.MonoCustomAttrs:GetCustomAttributesBase +(ICustomAttributeProvider obj) +in <0x0001a> System.MonoCustomAttrs:GetCustomAttributes +(ICustomAttributeProvider obj, System.Type attributeType, Boolean inherit) +in <0x0001a> System.MonoType:GetCustomAttributes (System.Type +attributeType, Boolean inherit) +in <0x0003d> Mono.CSharp.AttributeTester:AnalyzeTypeCompliance +(System.Type type) +in <0x000e0> Mono.CSharp.AttributeTester:IsClsCompliant (System.Type type) +in <0x000b0> Mono.CSharp.AttributeTester:VerifyTopLevelNameClsCompliance +() +in <0x00b91> Mono.CSharp.Driver:MainDriver (System.String[] args) +in <0x0000f> Mono.CSharp.Driver:Main (System.String[] args) +make[8]: *** [../../class/lib/net_2_0_bootstrap/System.Xml.dll] Error 1 +make[8]: Leaving directory +`/cygdrive/d/projects/mono/head/mcs/class/System.XML' + +make[7]: *** [do-all] Error 2 +make[7]: Leaving directory +`/cygdrive/d/projects/mono/head/mcs/class/System.XML' + +make[6]: *** [all-recursive] Error 1 +make[6]: Leaving directory `/cygdrive/d/projects/mono/head/mcs/class' +make[5]: *** [all-recursive] Error 1 +make[5]: Leaving directory `/cygdrive/d/projects/mono/head/mcs' +make[4]: *** [profile-do--net_2_0_bootstrap--all] Error 2 +make[4]: Leaving directory `/cygdrive/d/projects/mono/head/mcs' +make[3]: *** [profiles-do--all] Error 2 +make[3]: Leaving directory `/cygdrive/d/projects/mono/head/mcs' +make[2]: *** [all-local] Error 2 +make[2]: Leaving directory `/cygdrive/d/projects/mono/head/mono/runtime' +make[1]: *** [all-recursive] Error 1 +make[1]: Leaving directory `/cygdrive/d/projects/mono/head/mono' +make: *** [all] Error 2 _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
