【问题标题】:Xamarin Forms IOS Failed to load assembly System.Net.Http.PrimitiveXamarin Forms IOS 无法加载程序集 System.Net.Http.Primitive
【发布时间】:2016-06-25 21:31:12
【问题描述】:

我正在尝试使用 Visual Studio 2015 中的 Xamarin.Forms 为 IOS 应用程序进行发布构建。

在应用程序属性中的 iOS 构建菜单下,如果我设置链接器行为仅链接 SDK 程序集或链接所有程序集 - 我会收到以下构建错误:

无法解析程序集:'System.Net.Http.Primitives, 版本=1.5.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a' BlackhawkPlatform.App.iOS

如果我不链接任何程序集 - 应用程序构建正常,但输出 ipa 超过 40mb 大 0 未压缩超过 100mb,因此无法提交到 iTunes Connect。

我安装了最新版本的 System.Net 客户端库和 Xamarin 表单。

我试图通过在附加 mtouch 参数框中使用命令 --linkskip=System.Net.Http.Primitives 来跳过汇编链接,但这不起作用。

您知道我该如何解决这个问题吗?

【问题讨论】:

    标签: ios visual-studio-2015 .net-assembly xamarin.forms


    【解决方案1】:

    找到一个可行的解决方案。

    1. 在 Nuget 包管理器中安装最新版本的 Microsoft.BCL.Build v1.0.21
    2. 然后安装最新版本的Microsoft.Net.Http v2.2.29

    这对我有用。

    【讨论】:

    • 这使我进入下一个错误,即“无法创建胖库。请查看构建日志。 (MT5306)'我会看看我是否可以收集更多关于此的信息。
    • 我认为这无关,但您的回答似乎让我更进一步。谢谢。
    • 嗨,我一直在发现包没有正确解压缩的问题。我最终从 packages.config 文件中删除了这些包,并将它们从文件夹中删除,然后重新安装它们。在某些情况下,效果也很好。我认为围绕 Xamarin 部署仍有一些问题需要解决。
    • 我的另一个问题与这个问题无关,所以我可以确认您的解决方案是正确的。 (我的另一个问题是升级后我没有接受我的 Xcode 条款,所以它不会部署)。许多箍要跳过嘿?非常感谢@loangburger
    【解决方案2】:

    我知道这是一个旧线程......但这是我发现我的 ios.csproj 文件中缺少的内容

    <Reference Include="System.Net.Http.Extensions">
      <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\Xamarin.iOS10\System.Net.Http.Extensions.dll</HintPath>
    </Reference>
    <Reference Include="System.Net.Http.Primitives">
      <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\Xamarin.iOS10\System.Net.Http.Primitives.dll</HintPath>
    </Reference>
    

    【讨论】:

    • 是的,这就是安装 Nuget 包时“应该”添加的内容。
    猜你喜欢
    • 1970-01-01
    • 2016-05-17
    • 2021-05-13
    • 2018-01-18
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2019-03-03
    相关资源
    最近更新 更多