繁体   English   中英

如何在.NET Framework和.NET Compact Framework上编译库?

[英]How to compile a library on .NET Framework & .NET Compact Framework?

我正在开发一个技术库类,可以在两种类型的框架上使用(紧凑型或非紧凑型)。

开发此类库的最佳方法是什么? 默认情况下使用.NET功能(对于XP Embedded)并在使用Windows CE(使用CF.NET)时进行限制?

谢谢。

我通常通过每个播放形式具有单独的dll来实现这一点,因此我可以在可能的情况下使用可用的平台功能(通常都不是严格的子集/超集,并且如果您想要节拍性能等,则针对交叉点过度限制)。

大多数功能都很常见,因此#if代码(具有特定功能的构建符号)的数量通常很少。

为了避免忘记添加项目文件的问题,我在csproj中使用递归通配符,因此自动包含所有.cs文件。

我发现在.NET和.NET CF代码库之间共享库类有两种方法。

该守则是完全相同的

通常,库可以是相同的,特别是如果它们是具有计算的基本库,或者是相同的业务类。 对于非UI库,这通常就是这种情况,因为.NET CF主要是.NET的一个子集。

在这种情况下,您可以构建一个设备项目并将其包含在完整的Windows项目中。 您将收到一条警告,指出您正在加载设备项目,但如果您没有使用任何特定于CF的代码,则可以。

该守则非常相似,但不同

在这种情况下,我创建两个项目,因此创建两个程序集。 其中一个程序集我制作主要程序集并包含所有使用的文件。 在第二步中,我将文件添加为链接以将它们包含在引用中,以便反映任何更新。 然后我使用ifdef来处理它们可能不同的任何特殊情况。

考虑使用预处理程序指令。

您可以为通用.NET和CF构建同一库的2个版本。

喜欢 :

#if (!COMPACT_FRAMEWORK)
            // some code only for general .NET 
#endif

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM