【发布时间】:2016-04-19 23:57:06
【问题描述】:
我有一个简单的数据结构发布到 NuGet,它是半流行的。它不使用任何特殊的 Windows API,所以我希望它已经与 UWP 兼容。
但是,当人们尝试通过 NuGet 添加引用时,他们会看到
与 UAP 不兼容,版本=v10.0。
部分包不兼容 UAP,Version=v10.0。
我需要做什么才能使我的项目与 UWP 兼容 (同时仍保持与非 UWP 项目的兼容性,包括 .Net 2.0 支持)?我已经在线阅读了从“添加这个.json 文件”到“你需要维护一个完全独立的项目”的答案!
【问题讨论】:
-
所以您只想拥有一个与所有目标框架兼容的 dll\project?因为如果不是,您可以将多个针对不同框架的 dll 放在一个 nuget 包中,当用户安装您的包时,将选择正确的一个。
-
@Evk:我可以用不同的项目配置来做到这一点吗?还是我需要单独的项目?在任何一种情况下,我该怎么做?我以前从未用 UWP 做过任何事情,并试图搜索编写 UWP 兼容库的教程,这似乎是荒谬且不必要的复杂。
-
我更喜欢使用源代码共享,因为像PCL这样的东西有太多的限制。您只需在 Visual Studio 中创建 UWP 库项目,将 .NET 项目中的所有文件添加为链接(因此您有单个代码库)并编译该 UWP 项目。当然不会那么容易,在这种情况下你可以使用条件编译符号(#if WINDOWS_UWP // UWP 特定代码 #else // 非 UWP 代码)。您还可以使用 Visual Studio 共享项目功能。它接近于将文件添加为如上所述的链接,但更方便。然后将两者打包到一个 nuget 包中。
标签: c# win-universal-app