【发布时间】:2018-03-31 03:15:09
【问题描述】:
我的项目针对 Android 和 iOS 平台。
我需要创建一个本机 C++ 库(便携式)、一个围绕 C++ 库的 C# 包装器库 (dll),最后是使用这些库的 Xamarin.Forms 演示应用程序。 原生库和包装库是可交付的,演示应用用于概念验证。
我完整安装了 Visual Studio 2017,但似乎找不到正确设置所有引用的项目类型的正确组合。
我应该如何在 Visual Studio 2017 中进行设置?
我不介意设置大量项目。我主要关心的是尽可能多地共享代码。
【问题讨论】:
-
您是否考虑过使用 C++/CLI 项目?听起来是适合这项工作的工具。
-
我读到移动开发不支持 C++/CLI,所以我只能使用 p/invoke。我设法使用 p/invoke 从 Xamarin.Forms 应用程序调用本机代码。我遇到的问题是创建一个托管类库,它将 p/invoke 代码整齐地包装在一个 dll 中。 VS2017中的项目模板似乎都不起作用,或者我做错了......
-
hmm ,Visual Studio 2015/2017 中有一个跨平台 C++ 项目类型...不确定包装器的目标是什么,但这个人有正确的想法github.com/lothrop/XamarinNative
-
@Pat,如果您可以使用 COM 互操作,那里有免费工具可以为您的
C++dll 创建一个托管包装 dll。我不知道移动平台是否会支持它,但值得一试,因为它不会花费很长时间。查看this article 了解一些基本信息。如果您认为这可行,我可以为您提供更多详细信息。
标签: c# visual-studio xamarin visual-c++ xamarin.forms