views:

160

answers:

1

It is occurring when I try to compile a Windows Mobile class library, after I added the necessary XMTA file to provide attributes to my custom component.

I have searched the net, and I though I had found a solution in here but after I test it throughly the only thing it does is to remove the XMTA file generation.

I'm running out of option, because I simply don't understand why the error occurs.

Everything else works just fine, and I have several other XMTA files in the project and every one of them compiles with no problem, just this new one I have added.

Can someone shed some light in it?


These are the parameters and execution log of the genasm:

AsmmetaFile = ;
KeyFile = ; 
NDPVersion = v3.5; 
PlatformFamilyName = PocketPC; 
PlatformID = 4118C335-430C-497f-BE48-11C3316B135E; 
ReferencePath = C:\Program Files\...\v3.5\WindowsCE\System.Core.dll;
                C:\Program Files\...\v3.5\WindowsCE\System.Data.DataSetExtensions.dll;
                C:\Program Files\...\v3.5\WindowsCE\System.Data.dll;
                C:\Program Files\...\v3.5\WindowsCE\System.dll;
                C:\Program Files\...\v3.5\WindowsCE\System.Drawing.dll;
                C:\Program Files\...\v3.5\WindowsCE\System.Windows.Forms.dll;
                C:\Program Files\...\v3.5\WindowsCE\System.Xml.dll;
                C:\Program Files\...\v3.5\WindowsCE\System.Xml.Linq.dll; 
SourceAssembly = obj\Debug\PJonDevelopment.Mobile.Core.dll; 
XmlSource = Forms\OpenFileDialogEx.xmta;

C:\Program Files\...\v3.5\Bin\GenAsm.exe 
     "C:\Users\Paulo Santos\...\PJonDevelopment.Mobile.dll" 
  -o "C:\Users\Paulo Santos\...\PJonDevelopment.Mobile.PocketPC.asmmeta.dll" 
  -x "C:\Users\Paulo Santos\...\OpenFileDialogEx.xmta" 
 -xr "C:\Program Files\...\v3.5\WindowsCE\System.Core.dll" 
 -xr "C:\Program Files\...\v3.5\WindowsCE\System.Data.DataSetExtensions.dll" 
 -xr "C:\Program Files\...\v3.5\WindowsCE\System.Data.dll" 
 -xr "C:\Program Files\...\v3.5\WindowsCE\System.dll" 
 -xr "C:\Program Files\...\v3.5\WindowsCE\System.Drawing.dll" 
 -xr "C:\Program Files\...\v3.5\WindowsCE\System.Windows.Forms.dll" 
 -xr "C:\Program Files\...\v3.5\WindowsCE\System.Xml.dll" 
 -xr "C:\Program Files\...\v3.5\WindowsCE\System.Xml.Linq.dll" 
 -frameworkversion v3.5 
 -platformfamily PocketPC

error : 
  genasm.exe(1) : 
     There was an error finalizing type . 
     Object reference not set to an instance of an object.
A: 

Because the error message was heavily misleading, I didn't found the solution at first.

The problem occurred because in one of my classes was inheriting from a ReadOnlyCollection<T> and this is not supported by the genasm.

As it's stated in this Microsoft Forum Thread.

So to work around this problem, I moved the classes that didn't require design time attributes to another assembly and the projects compiled just fine.

Paulo Santos