.net - Mono for Android Project 不适用于面向 .NET 框架 4 的库

标签 .net xamarin.android

我正在使用 Mono for Android 创建一个使用大量已经开发的类库的 Android 应用程序。当我将项目添加为对 android 应用程序的引用时,我收到一条警告说明

Warning 1 The project 'ProjectName' cannot be referenced. The referenced project is targeted to a different framework family (.NETFramework)



我的项目的目标是 .NET Framework 4。
我的 android 应用程序指定“目标最低 Android = Android 4.0”。

这是一个警告,但是当我将 using 语句添加到 android 应用程序中的 Activity.cs 类时,我得到了几个出现在引用库中的错误。然后,如果我删除 using 语句并重建,错误就会消失。

我是否必须更改 Mono for Android 项目中的某些设置才能引用面向 .NET Framework 4.0 的库?

最佳答案

您不能引用以 .Net 框架为目标的库。

如果您想重用该代码,您必须做的是创建一个新的 Android 类库项目并将现有 .Net 库中的文件添加为“链接”文件。这是跨框架重用代码的方法。

例如,查看 RestSharp GitHub上的项目。您可以看到 MonoDroid、MonoTouch 等项目没有文件,但链接到公共(public)源。

希望在您的情况下,您现有库中的所有代码都与 MonoDroid 框架的配置文件兼容。否则,您必须包含预处理器指令 - 这也可以在 RestSharp 中看到。

关于.net - Mono for Android Project 不适用于面向 .NET 框架 4 的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12409512/

相关文章:

xamarin - 如何在Xamarin Android中更改Java堆?

c# - WebAPI 路由 : Combining Attributes and HttpConfiguration settings

.net - 性能:XmlReader 或 LINQ to XML

c# - 如何为 ASP.NET Core/Angular Web 应用程序创建安装程序?

.net - 网络服务组件的 COM 提升

android - Xamarin Android 按钮位于左右两侧并带有边距

c# - Windows 7 默认网络适配器

c# - C# 中的快速每像素混合效果 "multiply"(适用于 android)

c# - Monodroid BitmapFactory.DecodeFileDescriptor 位图始终为 null