Xamarin Studio Mac、便携式类库、异步和 Android

2023-12-08

Edit:在 Alpha 通道上,Profile7、Profile49 和 Profile78 似乎都可以工作。 我正在使用此处描述的设置:让 PCL、Mvvmcross、Nuget 和 Xamarin Studio 在 Mac 上“顺利”运行 .

如何在具有异步支持的 Xamarin Studio 中制作 PCL。

我通常使用 Profile104,即 TargetFrameworkVersion v4.0

我尝试了以下三种不同 v4.5 配置文件的组合 Profile7、Profile49、Profile78 与不同版本的 Xamarin Studio:

                              Profile7     Profile 49    Profile 78
Alpha (4.1.10, mono=3.2.2)     1            1             1
Beta (4.0.12, mono=3.2.1)      2            2             2
Stable (4.0.12, mono=3.2.0)    1            1             1
  1. 未找到 System.Type、System.Threading。无法使用
  2. 找不到配置文件:/Library/Frameworks/Mono.framework/Versions/3.2.1/lib/mono/xbuild/Microsoft/Portable/v4.5/Microsoft.Portable.CSharp.targets 丢失

基本上,4.5 配置文件都无法在任何当前可用的 Mac 版 Xamarin Studio 中运行。


Edit:这些说明适用于稳定通道。在 Alpha 通道上,您可以使用 Profile 158 v4.0,它可以与异步配合良好。

以下设置似乎适用于 Android,尚未尝试过 Touch。

  1. 将您的 PCL-Project 设置为 4.0 Profile 104,在您的 csproj 中,这些行是:

    <TargetFrameworkProfile>Profile104</TargetFrameworkProfile>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    
  2. 在您的 PCL 项目上,“管理 Nuget 包”,搜索 Async,添加 ID 为 Microsoft.Bcl.Async 的包

  3. 您的异步代码现在应该在 PCL 中编译,但是 Android 项目会抱怨缺少 dll,并且您不能(或者也许不应该)向其中添加异步目标包。

  4. 在 Android 项目的“选项”、“构建/Android 构建”的“链接器”选项卡上,将以下内容添加到“忽略程序集”:System.Threading.Tasks.dll;Microsoft.Threading.Tasks.dll;Microsoft.Threading.Tasks.Extensions.dll。我的 csproj 包含以下行:

    <AndroidLinkSkip>System.Threading.Tasks.dll;Microsoft.Threading.Tasks.dll;Microsoft.Threading.Tasks.Extensions.dll</AndroidLinkSkip>
    

您可能需要重新启动 Xamarin Studio,在我的计算机上,“忽略程序集”无法立即在 Droid 测试项目之一上运行。

您的 Android 项目现在应该在 PCL 依赖项中构建和部署异步支持。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xamarin Studio Mac、便携式类库、异步和 Android 的相关文章

  • 角度 2 ngIf 与可观察?

    我有一个非常简单的服务 它的工作是从 api authenticate url 获取 200 或 401 auth service ts Injectable export class AuthService constructor pri
  • javascript async/await 实际上是如何工作的?

    我有一些使用 javascript async await 的代码 function sleep ms return new Promise resolve gt setTimeout resolve ms async function f
  • 为什么Promise中的代码会同步执行? [复制]

    这个问题在这里已经有答案了 在我的项目中 我有一个很长时间运行的操作 所以我决定将其放入Promise因为我认为这样我就可以在里面的代码继续执行其他操作Promise正在跑步 调试的时候发现外面的代码Promise仅当里面的代码执行Prom
  • 等待异步 grunt 任务完成

    我收到了 grunt 设置 其中一个新任务应该执行 grunt task run 已经存在的任务 要执行的任务是异步的 新任务应该等待异步任务完成 执行此操作的首选方法是什么 grunt 已经涵盖了这一点 你应该将你的任务声明为异步任务 并
  • Xamarin-System.UnauthorizedAccessException:对路径的访问被拒绝

    我正在尝试下载文件 但收到 System UnauthorizedAccessException 访问路径 storage emulated 0 Download test pdf 被拒绝 我已经在 Android Manifest 文件中
  • 加载 requireJS 模块内联 HTML 正文?

    我正在将 RequireJS 集成到 CMS 中 因此我将其放置在页面模板的底部 Placeholder1 Placeholder2 然后在每个页面上 我想创建一个利用 RequireJS 的函数 所以我尝试将其放在页面底部 h1 Home
  • 使用 JAX-RS 进行异步 REST 调用

    我需要创建一个 RESTful 服务 它应该以以下方式支持异步调用 当用户调用某个方法时 他会获得 http 202 代码和 url 来轮询 在其中他可以看到请求的状态 目前我使用 JAX RS 及其注释 Path public inter
  • XCTestExpectation 错误:API 违规 - 多次调用 -[XCTestExpectation fill]

    我在 Xcode 6 Beta 5 中使用 XCTestExpectations 进行异步测试 我的所有异步测试每次运行时都会单独通过 但是 当我尝试运行整个套件时 某些测试未通过 并且应用程序崩溃了 我得到的错误是说API violati
  • Android异步服务调用策略

    这是场景 客户端对服务进行远程调用 返回 void 并提供 回调对象 服务在后台线程上执行一些长时间运行的逻辑 然后使用回调对象来触发以太成功或失败 因为这些操作视觉元素 执行 Activity runOnUiThread 块 该场景运行良
  • 使用回退异步加载 jquery 核心

    通过标头中的性能优化和非阻塞脚本 我一直在尝试异步加载 jquery 本身 我遇到了一个jQuery 加载器 http www yterium net jQl an asynchronous jQuery Loader脚本 那个async加
  • 非法的break语句(Node.js)

    尝试在 Node js 和 MongoDB 中查找唯一 ID 方法是创建一个 while 循环来查询 MongoDB 中的现有 ID 直到找到唯一值 如果 ID 已被使用 则最后的数字会递增 直到 Mongo 不返回任何内容 一切正常 除了
  • 在 IBAction 中调用其他函数之前,如何使函数完成?

    我无法理解完成处理程序 我有一个 textFieldEditingDidChange IBAction 首先调用verify 文本字段输入上的函数然后是 if 语句在 apply 返回的布尔值上 问题是 if 语句在 verify 完成之前
  • .Net Core 异步关键部分(如果在同一实体上工作)

    我需要确保通过 Web API 访问的方法不能同时通过多个调用访问 如果它在具有相同 id 的同一对象上工作 我理解使用SemaphoreSlim但一个简单的实现将锁定所有人的关键部分 但只有当该部分适用于同一实体而不是两个不同的实体时 我
  • 跟踪 C#/.NET 任务流

    我正在尝试找到一种方法来跟踪异步任务执行流程 以便轻松理解任务 启动它的原始流程是什么 我主要需要它来记录 调试和保留特定执行流的堆栈跟踪 例如 如果我的服务器有来自多个 IP 的许多客户端 并且服务器需要为每个客户端执行一个涉及许多异步操
  • 在非异步函数中使用“await”

    我有一个异步函数 它在代码中的某个位置通过 setInterval 运行 该函数定期更新一些缓存 我还有一个不同的同步函数 它需要检索值 最好从缓存中检索 但如果是缓存未命中 则从数据源中检索 我意识到以同步方式进行 IO 操作是不明智的
  • 如何使实体框架存储过程异步?

    我有一个函数 ReturnStatementDetailsForSubRepAsync 它使用一个 linq 表达式 我可以使用内置函数轻松地使其异步 例如 ToListAsync 现在 因为此 LINQ 函数是异步的 所以我必须使父函数异
  • 等待 AsyncMethod() 与等待等待 Task.Factory.StartNew(AsyncMethod)

    给出以下方法 public async Task
  • 错误:Xamarin.Forms 目标已导入多次

    a few hours ago my solution just builds success but after that it has error Xamarin Forms targets have been imported mul
  • 等待多个异步调用完成后再继续

    因此 我有一个加载页面 并通过 jquery get 发出多个请求以使用其值填充下拉列表 function LoadCategories Category LoadPositions Position LoadDepartments Dep
  • future::select 之间有什么区别!和东京::选择?

    我正在使用 Tokio 我想接收来自两个不同的请求mpsc队列 select 似乎是要走的路 但我不确定两者之间有什么区别futures select and tokio select 在什么情况下应该使用其中一种而不是另一种 tokio

随机推荐