我有一个用C#编写的针对Win10 UWP应用的SDK。 它使用SQLite并在C#客户端应用程序上完美运行。
但是C ++ / javascript应用程序可以使用我的SDK与SQLite依赖吗? 如果SDK必须是UWP兼容的,则需要winmd(Windows运行时组件构建),因为UWP应用程序可以是C#/ C ++ / javascript / Visual basic。
我已经在msdn论坛上发布了这个帖子,他们说我需要一个Windows运行时组件来支持所有第三方依赖关系。 已经尝试过包装器项目和包装器winmd构建,它不起作用。 我无法为SQLite库找到任何winmd构建。
请告知我们可以在这做什么。 任何帮助都非常感谢。
答案 0 :(得分:0)
但是C ++ / javascript应用程序可以使用我的SDK与SQLite依赖吗?
是的,正如msdn论坛所说,你需要在WinRT组件通用应用程序中包装。
已经尝试过包装器项目和包装器winmd构建,它不起作用。
我不知道是什么阻止了您,但您可以参考Writing a SQLite wrapper component for universal Windows apps,您需要遵循详细的步骤,以及您可以查看的示例。
答案 1 :(得分:0)
我尝试了各种方法来使这个项目发挥作用,并在以下方面取得了一些成功: 以下是我与依赖项一起制作的项目结构:
客户端应用程序(使用C ++):
Wrapper winmd库(在C#中):(我从这个项目生成一个winmd组件)
我的SDK项目(在C#中):
SQLite Net。
SQLite Net Async。
Newtonsoft JSON。
当我构建客户端应用程序时,我得到了wrapperlibrary.winmd文件,但是我没有从输出目录(SQLite和Newtonsoft)中的第三方依赖项获得相应的dll。所以我手动将所需的dll复制到C ++应用程序的输出目录中。现在它似乎工作正常,我可以验证第三方库和我的C#代码的正确用法。目前,我只是想让设置工作成为一个poc,并在以后担心包装。 我现在面临的问题是我的SDK也有一些UI元素,所以基本上为我所拥有的“XAML”编译了.xbf文件。
我在另一个帖子中问过这个问题,不要在这里讨论主题。