将.net类库移植到Windows应用商店类库

时间:2012-08-19 17:26:41

标签: c# .net visual-studio-2012

我有一个以.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

我的问题是这种方法是否合理?我有相同的默认命名空间和程序集名称。这会不会给我的编译器带来问题?程序集针对不同的平台,因此永远不会在同一个应用程序中一起使用,但两者都在Visual Studio中使用相同的解决方案。

2 个答案:

答案 0 :(得分:0)

总的来说,是的,这应该有用。这个特定情况很糟糕,因为这两个实现的功能完全不同,说明您可能需要重新考虑设计的某些方面。对于 类似API交换(具有类似语义)的情况,我个人倾向于改变辅助方法背后的差异,所以我的“主”代码不需要担心这个 - 只是帮助代码。反思就是一个很好的例子(反思的变化令人烦恼)。

具有不同目标平台的两个项目应该没问题。我偶尔会遇到一个抱怨临时文件的IDE故障。我认为这是由于项目之间共享文件。我已将其记录为on connect

答案 1 :(得分:0)

尝试

Task.Delay(msDelay).Wait()