【发布时间】:2018-12-09 05:46:46
【问题描述】:
我正在尝试使我的 C++ 应用程序跨平台并从 MFC 移植它。代码库应该是非常可移植的,但是我在获得运行良好的东西时遇到了问题。 Xamarin 看起来很有希望,似乎我可以将我的 C++ 代码放入库中并从 C# 代码中调用它,但到目前为止,我什至无法编译最基本的向导创建项目。 我在 Windows 7 机器上。我重新安装了 Visual Studio 2017 社区。我安装了我认为正确的组件(见下文),并让向导创建了一个简单的项目。然后它会生成一长串神秘的错误消息。恐怕我不是 C# 程序员(如果这看起来很有希望,我将有理由学习它)。我有一些使用 android studio 的 java android 经验,但从未做过 NDK。所以这些对我来说是希腊语,我的网络搜索没有结果。 有谁知道这些消息是什么意思? 在向导中,我做出了这些选择: 1) Visual C# 安卓 2)安卓应用(Xamarain) 3) 单视图应用 4) Android 5.0 棒棒糖 我得到了这些错误消息,没有添加我自己的代码:
严重性代码描述项目文件行抑制状态 错误 CS0234 命名空间“Android”中不存在类型或命名空间名称“Support”(您是否缺少程序集引用?) App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 21 活动 错误 CS0234 命名空间“Android”中不存在类型或命名空间名称“Support”(您是否缺少程序集引用?) App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 5 活动 错误 CS0234 命名空间“Android”中不存在类型或命名空间名称“Support”(您是否缺少程序集引用?) App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 6 活动 错误 CS0246 找不到类型或命名空间名称“AppCompatActivity”(您是否缺少 using 指令或程序集引用?) App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 13 活动 错误 CS0115 'MainActivity.OnCreate(Bundle)': 找不到合适的方法来覆盖 App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 16 Active 错误 CS0115 'MainActivity.OnCreateOptionsMenu(IMenu)':找不到合适的方法来覆盖 App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 28 Active 错误 CS0115 'MainActivity.OnOptionsItemSelected(IMenuItem)':找不到合适的方法来覆盖 App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 34 Active 错误 CS0103 当前上下文 App1 中不存在名称“SetContentView” C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 19 活动 错误 CS0103 当前上下文 App1 中不存在名称“FindViewById” C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 21 活动 错误 CS0234 命名空间“Android”中不存在类型或命名空间名称“Support”(您是否缺少程序集引用?) App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 21 活动 错误 CS0103 当前上下文 App1 中不存在名称“SetSupportActionBar” C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 22 活动 错误 CS0246 找不到类型或命名空间名称“FloatingActionButton”(是否缺少 using 指令或程序集引用?) App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 24 活动 错误 CS0103 当前上下文 App1 中不存在名称“FindViewById” C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 24 活动 错误 CS0246 找不到类型或命名空间名称“FloatingActionButton”(是否缺少 using 指令或程序集引用?) App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 24 活动 错误 CS0120 非静态字段、方法或属性需要对象引用 'MenuInflater.Inflate(int, IMenu)' App1 C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 30 活动 错误 CS0103 当前上下文 App1 中不存在名称 'Snackbar' C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 48 活动 错误 CS0103 当前上下文 App1 中不存在名称 'Snackbar' C:\Users\Andre\source\repos\App1\App1\MainActivity.cs 48 活动 错误 NU1101 找不到包 Xamarin.Android.Support.Design。源中不存在具有此 ID 的包:Microsoft Visual Studio Offline Packages App1 C:\Users\Andre\source\repos\App1\App1\App1.csproj 1
我选择了 android NDK (R15C) 以及 Apache Ant (1.9.3) 和 C++ Android 开发工具
我没有选择模拟器,因为此时我想使用我的手机。我还省略了其他 NDK 版本。这些是否对应于 android 版本,例如 5.0 lolypop?
提前致谢。
【问题讨论】:
-
看起来VS在你的项目中找不到包
Xamarin.Android.Support.Design。在 Visual Studio 中,转到 Tools -> NuGet Package Manager -> Manage NuGet Package for Solution。然后选择浏览并搜索Xamarin.Android.Support.Design。安装它并重建您的项目。 -
谢谢我试过了,但我收到了一条新的错误消息。当我尝试 Tools -> NuGet Package Manager -> Manage NuGet Package for Solution 时,它说 Xamarin.Android>Support.Design 在此源中不可用。它还说每个软件包 ios 都由其所有者授权给您。 NuGet 不对第三方包负责,也不向第三方包授予任何许可。这个工具也不起作用。安装程序说它已包含在内。虽然我的搜索提到了一些关于 windows 10 的内容。我运行 7。NeGet 位于似乎需要 10 的通用 windows 包下。我需要 windows 10 吗?
标签: c# xamarin visual-studio-2017