在我添加必要的XMTA文件以向我的自定义组件提供属性后,尝试编译Windows Mobile类库时发生了这种情况。
我在网上搜索过,虽然我在here找到了一个解决方案,但经过我的测试后,它唯一能做的就是删除XMTA文件生成。
我的选项用完了,因为我根本不明白错误发生的原因。
其他所有工作都很好,我在项目中还有其他几个XMTA文件,每个文件都没有问题,只是我添加了这个新文件。
有人可以在其中发光吗?
这些是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.
答案 0 :(得分:3)
由于错误消息引起误导,我最初没有找到解决方案。
出现问题是因为我的一个班级继承自ReadOnlyCollection<T>
而genasm
不支持。
如this Microsoft Forum Thread中所述。
因此,为了解决这个问题,我将不需要设计时属性的类移动到另一个程序集,并且项目编译得很好。