“Microsoft.CompactFramework.Design.UnsafeControl”类型没有名为的属性

时间:2011-01-28 22:53:12

标签: compact-framework designer mobile-devices

打开其上有Honeywell DecodeControl的表单的设计视图时出现此错误(对于Honeywell条形码扫描器 - 如果有人有兴趣,可以使用Dolphin 6100。)

我用谷歌搜索了这个并做了以下事情:

在其中添加了一个XMTA文件:

<?xml version="1.0" encoding="utf-16"?>
<Classes xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevices/XMTA.xsd">
  <Class Name="Honeywell.DataCollection.WinCE.Decoding.DecodeControl">
    <Description></Description>
    <DesktopCompatible>true</DesktopCompatible>
    <DesignTimeVisible>true</DesignTimeVisible>
  </Class>
</Classes>

将XMTA的Build Action设置为'none'

忽略第一个错误仍然会给我一个'对象引用未设置为对象的实例'。

这根本没有用。

经过一段漫长的谷歌搜索,这似乎与设备特定的控件有关,这个错误据说可以阻止任何可能导致设计师不稳定的事情...除了这个控件一直很愉快地工作设计师整天都在工作,然后当我回到家时,它会把它扔给我。没有任何改变 - 同样的开发机器,相同的设备,相同的项目,相同的代码,就像我上次在工作时保存它一样。

我甚至没有尝试在桌面或仿真器上调试设备 - 我通过USB底座连接设备。

字面上唯一改变的是开发机器通过无线连接到我的家庭网络而不是CAT5连接到工作网络。而且我看不出与此有甚远关系。

在一个更相关的说明中,在我选择项目后,所讨论的控件从未显示在工具箱中 - &gt;检查控件。不确定这是否相关。

任何人都可以放弃任何光明吗?

如有必要,我可以发布设计师代码。

由于

3 个答案:

答案 0 :(得分:3)

原来我的目标是设备的错误框架 - VS决定自己的意志,我需要以3.5而不是2.0为目标。切换回来,一切都很好。

答案 1 :(得分:0)

我遇到了这个错误,但这是因为我在表单中使用MessageBeep API。尽管这个表单与我的用户控件或组件没有任何关系,但只是在表单中对Interop命名空间的引用损坏了我的应用程序中的每个控件,并且无法在设计器中查看它们。

故事的寓意是不要使用Interop in CE(PInvoke)。

这太吓人了。只是为了让任何其他不幸的灵魂试图发出哔哔声。

答案 2 :(得分:0)

我在使用WEC2013的VS2102中遇到了同样的问题。

没有P / Invoke但具有自定义控件,完全托管的.net代码。 问题是我的自定义控件的枚举属性。 还没有解决方案。