Visual Studio - 如何使用相同的源创建两个项目

时间:2010-06-08 13:05:14

标签: .net visual-studio visual-studio-2008 compact-framework

我的解决方案包含2个可执行项目和几个dll。 Project1是智能设备项目,Project2是Windows窗体项目 两个项目都使用相同的库,原因是我想在我在设备上部署它之前在PC上测试我的库。

问题是DLL项目类型可以是智能设备类库或类库,而不是两者。我无法将SD项目的参考添加到WF,反之亦然。我能够将SD项目的引用添加到dll文件(从类库项目生成)而不是项目本身,但由于某种原因我收到消息“无法从YYY程序集加载XXX类型”。它不依赖于我的代码,因为当我为相同的源创建单独的项目时,一切都很好。

我找到的唯一解决方案是为每个库创建两种类型的项目,但我不知道如何基于相同的源创建2个项目。

3 个答案:

答案 0 :(得分:8)

您可以将所有文件正常添加到一个项目中。

然后,您可以右键单击其他项目,单击“添加”,“现有文件”,选择文件,单击“添加”按钮旁边的向下箭头,然后单击“添加为链接”。

答案 1 :(得分:3)

我不确定你是否正确理解了MusiGenesis的答案。

前提是将您的库创建为智能卡设备类库,然后在“完整框架”和“WinCE”两个项目中引用这些智能设备类库。

现在,SmartDevice应用程序无法引用Full Framework库,但Full Framework应用程序可以引用智能设备库。

因此,您的最终项目分类可能如下所示:

  • Library.dll - 智能设备库
  • FullFramework.exe是一个引用Library.dll的完整框架的Windows窗体应用程序
  • WinCE.exe是一个引用Library.dll的Compact Framework应用程序

以上配置将构建正常。请注意紧凑框架和完整框架之间的certain differences

答案 2 :(得分:1)

通常,您可以从智能设备EXE项目或全框架WinForms EXE项目中引用智能设备类库项目。

但是,可以在智能设备类库中引用仅限.NetCF的组件,这些组件在从全框架EXE项目引用时将使DLL不起作用。

您的错误消息中实际提到了哪些程序集(我假设它不是字面说“XXX”和“YYY”)?