作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个针对 .net 4 的类库,并通过 Mono 在不同平台上使用。我现在想将它移植到 Windows 8 中使用。我知道名称一直在变化,但目前在 VS2012 中称为“类库(Windows 应用商店应用程序)”。
我最初开始尝试将所有内容移植到“可移植类库”,但事实证明这太困难了,因为有些东西根本没有适用于所有目标平台的通用方法,而其他受支持的东西根本没有可供编译器使用。
因此,我创建了一个 Windows 应用商店类库并创建了指向我的标准类库的现有文件的链接,因此更新一次将同时更新这两个文件。我计划使用预处理指令在两个类库之间进行更改E.G
#if NETFX_CORE
Task.Delay(someTime);
#else
new System.Threading.ManualResetEvent(false).WaitOne(sometime);
#endif
我的问题是这种方法是否明智?我有相同的默认 namespace 和程序集名称。这会导致我的编译器出现问题吗?这些程序集针对不同的平台,因此永远不会在同一个应用程序中一起使用,但它们都位于 Visual Studio 中的同一个解决方案中。
最佳答案
总的来说,是的,这应该有效。这个具体案例是一个糟糕的例子,因为这两个实现的功能非常不同,说明您可能需要重新考虑设计的某些方面。对于 有类似 API 交换(具有类似语义)的情况,我个人倾向于将差异移到辅助方法后面,所以我的“主”代码不需要担心这个 - 只是辅助代码。反射将是一个很好的例子(反射的变化非常深)。
目标平台不同的两个项目应该没问题。我偶尔会遇到一个 IDE 故障,它提示临时文件。我认为这是由于项目之间共享文件所致。我记录了on connect
关于c# - 将 .net 类库移植到 Windows 应用商店应用程序类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12028490/
我是一名优秀的程序员,十分优秀!