在WP7和WP8应用程序之间共享dll

时间:2013-03-21 20:06:23

标签: c# windows-phone-7 windows-phone-8

通常recommended to为wp7和wp8平台都有两个项目。 Wp7项目包含.cs和.xaml文件,WP8项目包含指向该文件的链接。

我认为没有理由两次编译非平台特定业务逻辑代码,因为它可以引用WP8项目。

我正在考虑遵循解决方案结构:

  • 为wp7(不是PCL)编译的业务逻辑DLL
  • 用户界面参与了wp8
  • UI为wp7
  • 投降

此类应用程序可以编译,我可以将其部署到设备/模拟器。

问题是:这个应用程序会通过Windows手机商店的认证吗?或者有必要重新编译共享的dll?

UPD: 我的疯狂想法是在这个步骤之后诞生的:

  1. 创建新的WP7应用( WindowsPhoneApplication1
  2. 创建定位到WP7的类库( WindowsPhoneClassLibrary1 )在 WindowsPhoneApplication1
  3. 中使用它
  4. 使用升级到WP8菜单。 WindowsPhoneApplication1 将更新为WP8,但引用的项目仍将定位到WP7!
  5. 此类应用可以部署到WP8设备。

2 个答案:

答案 0 :(得分:3)

除非您使用可移植类库,否则您需要具有单独的项目文件,并为WP7和WP8单独编译。

答案 1 :(得分:1)

感谢克劳斯, 我做了一些研究,看起来答案是 - 你可以使用这样的解决方案。

我没有在文档中找到相关信息,但这是来自MSFT技术人员的证明。来自荷兰的福音传教士:link to blogpost

  

基本思想是将我们现有的Windows Phone 7应用程序以及即将添加的Windows Phone 8版本的所有代码移动到解决方案中的Common项目中。这种方法的坏处是我们必须将Common项目创建为Windows Phone 7类库,它将在我们的Windows Phone 8版本中使用。我没有真正注意到此决定对我现有应用程序的任何负面影响,但请注意,您将在Windows Phone 8版本中引用Windows Phone 7库。

所以这是可能的,但不是最好的解决方案。