English 中文(简体)
• 如何写一个班级图书馆。 NET 3.5 契约框架和经常框架?
原标题:How to write a class library that will work on .NET 3.5 compact framework AND regular framework?
  • 时间:2009-10-10 07:10:00
  •  标签:

我如何写上我能为普通图书馆复盖的蚊帐级图书馆。 NET 3.5 Framework, or NET 3.5 Compact Framework?

最佳回答

不幸的是,这两个框架是双亲相容的,但不能阻止。

在您的解决方案中设立两个项目(一个普通级图书馆项目和一个《契约框架》级图书馆项目),并将一个项目的所有档案添加到另一个网站作为链接<>,点击“外包档案”,然后核对档案诊断中的“附加”核对箱。

现在,只有一套源代码可供维持,但你的解决办法将同时建立数字数字表示。

如果你在专门处理桌面框架的档案中拥有任何密码,并在契约框架中赢得某种工作,那么你就可以在汇编者指令(至少是在C#)中总结:

#if PocketPC
    // mobile-specific stuff here
#else
    // desktop-specific stuff here
#endif
  • Note that although you can t use desktop-framework binaries on a mobile platform, the opposite is not true. Compact framework executables can run on the desktop. I m fairly certain, however, that a desktop application cannot reference a compact framework assembly (though I ve never tried).
问题回答

> The two frameworks aren t binary compatible >

实际上,桌面版本能够装上并运行CF组件。

  1. Create a class library for the compact framework.
  2. Add a reference to that library from your .exe project (Desktop or Mobile)
  3. Profit!

很严重,我不知道为什么最高级的答复如此高。 你们根本不需要两个单独的项目。 而且,他们不爱加工前指令,而是在利用建筑参数时,对项目进行反思,并需要更多知识。 将所有不相容的借方和包件外包给接口(IPlaformservices或类似服务),或者你甚至可以要求:

   if(Environment.OSVersion.Platform == PlatformID.WinCE)
   {
       // winCE specific     
   }
   else
   {
       // desktop specific
   }

两者都比海事组织的加工前指令更好的解决办法。





相关问题