打开其上有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;检查控件。不确定这是否相关。
任何人都可以放弃任何光明吗?
如有必要,我可以发布设计师代码。
由于
答案 0 :(得分:3)
原来我的目标是设备的错误框架 - VS决定自己的意志,我需要以3.5而不是2.0为目标。切换回来,一切都很好。
答案 1 :(得分:0)
我遇到了这个错误,但这是因为我在表单中使用MessageBeep API。尽管这个表单与我的用户控件或组件没有任何关系,但只是在表单中对Interop命名空间的引用损坏了我的应用程序中的每个控件,并且无法在设计器中查看它们。
故事的寓意是不要使用Interop in CE(PInvoke)。
这太吓人了。只是为了让任何其他不幸的灵魂试图发出哔哔声。
答案 2 :(得分:0)
我在使用WEC2013的VS2102中遇到了同样的问题。
没有P / Invoke但具有自定义控件,完全托管的.net代码。 问题是我的自定义控件的枚举属性。 还没有解决方案。