我试图通过以下步骤将我的CF2.0(VS2005)应用程序提升到CF 3.5(VS2008):
编译成功。当我尝试运行它时,我在启动时收到InvalidProgramException。当我尝试将Datagrid设置为DataGridTextBoxColumn的所有者时抛出异常。 < - 奇怪
我在Windows 7.0a SDK中使用了PEVerify并遇到了一些错误。通过ILDASM,我能够找到相应的类
[MD]: Error: TypeRef has a duplicate, token=0x010000c4. [Token:0x01000011] -> System.Windows.Forms.DataGrid
[MD]: Error: TypeRef has a duplicate, token=0x010000c3. [Token:0x0100006B] -> System.Windows.Forms.DataGridTextBoxColumn
[MD]: Error: TypeRef has a duplicate, token=0x010000ca. [Token:0x0100006C] -> System.Windows.Forms.DataGridColumnStyle
[MD]: Error: TypeRef has a duplicate, token=0x0100006b. [Token:0x010000C3]
[MD]: Error: TypeRef has a duplicate, token=0x01000011. [Token:0x010000C4]
[MD]: Error: TypeRef has a duplicate, token=0x0100006c. [Token:0x010000CA]
这怎么可能发生?我该如何解决?
答案 0 :(得分:0)
试试这个:
转到您的表单。
记下此DataGrid控件的名称(即dataGrid1
),然后删除DataGrid。
转到工具箱。
将另一个DataGrid拖放到表单上。
为DataGrid提供与原始DataGrid相同的名称。
再次连接您的DataGrid事件。
答案 1 :(得分:0)
问题是由使用ilmerge引起的。 我使用ilmerge将所有dll合并到exe中以减少部署问题。 因为看起来似乎不适用于cf 3.5程序集。