我的解决方案包含2个可执行项目和几个dll。 Project1是智能设备项目,Project2是Windows窗体项目 两个项目都使用相同的库,原因是我想在我在设备上部署它之前在PC上测试我的库。
问题是DLL项目类型可以是智能设备类库或类库,而不是两者。我无法将SD项目的参考添加到WF,反之亦然。我能够将SD项目的引用添加到dll文件(从类库项目生成)而不是项目本身,但由于某种原因我收到消息“无法从YYY程序集加载XXX类型”。它不依赖于我的代码,因为当我为相同的源创建单独的项目时,一切都很好。
我找到的唯一解决方案是为每个库创建两种类型的项目,但我不知道如何基于相同的源创建2个项目。
答案 0 :(得分:8)
您可以将所有文件正常添加到一个项目中。
然后,您可以右键单击其他项目,单击“添加”,“现有文件”,选择文件,单击“添加”按钮旁边的向下箭头,然后单击“添加为链接”。
答案 1 :(得分:3)
我不确定你是否正确理解了MusiGenesis的答案。
前提是将您的库创建为智能卡设备类库,然后在“完整框架”和“WinCE”两个项目中引用这些智能设备类库。
现在,SmartDevice应用程序无法引用Full Framework库,但Full Framework应用程序可以引用智能设备库。
因此,您的最终项目分类可能如下所示:
以上配置将构建正常。请注意紧凑框架和完整框架之间的certain differences。
答案 2 :(得分:1)
通常,您可以从智能设备EXE项目或全框架WinForms EXE项目中引用智能设备类库项目。
但是,可以在智能设备类库中引用仅限.NetCF的组件,这些组件在从全框架EXE项目引用时将使DLL不起作用。
您的错误消息中实际提到了哪些程序集(我假设它不是字面说“XXX”和“YYY”)?