【问题标题】:Xamarin UWP project doesn't install dependencies from NugetXamarin UWP 项目不从 Nuget 安装依赖项
【发布时间】:2018-06-21 00:25:42
【问题描述】:

我有一个案例,当我在我的 xamarin 表单项目上安装任何 nuget 包时,只有 UWP 项目没有正确安装。它仅安装主包,但未安装依赖项。这似乎不适用于 Android 和 IOS 项目,而只有 UWP。如下所示。我已经安装了这个包并且有依赖项

但是当我检查列表中的依赖项之一时,它显示未安装。

但是输出窗口显示它已安装并写入 project.lock.json 文件,我可以找到它。

但我使用的是 project.json 文件,如下所示。

当我检查 project.json 文件时,它只有 Microsoft.NETCore.UniversalWindowsPlatform 主包的参考。没有依赖项的参考。

所以我的问题是; project.json 和 project.lock.json 有什么区别?我需要他们两个吗?这个项目是 2 年前使用 Vs2015 创建的,并且一直在升级。如果我使用 Vs2017 15.5.3 版本创建一个新项目,我在 UWP 项目下都没有看到这些文件? 这里有什么问题?有人可以解释一下这个问题吗?

编辑: 基于下面的答案,如果我安装主包,我应该假设安装了依赖项,但是例如,我安装了这个 Akavache nuget,如下所示

它会弹出它将安装依赖项,例如 akavache.core,但是在 nuget-solution 上完成了一个安装,我看到了下面的屏幕。如何确保已安装?

我在 uwp 项目附近看到 csproj 扩展的另一件事。我不确定这是否与将表单 Project.json 文件更改为 csproj 作为 nuget 导入位置有关。

【问题讨论】:

    标签: xamarin.forms nuget-package xamarin.uwp


    【解决方案1】:

    project.json 和 project.lock.json 有什么区别?我需要他们两个吗?这个项目是 2 年前使用 Vs2015 创建的,并且一直在升级。如果我使用 Vs2017 15.5.3 版本创建一个新项目,我在 UWP 项目下都没有看到这些文件?

    根据project.json reference 文档,project.json 文件维护项目中使用的包列表,称为包引用格式。它取代了 packages.config,但又被带有 NuGet 4.0+ 的 PackageReference取代

    project.lock.json 文件是在使用 project.json 的项目中还原 NuGet 包的过程中生成的。

    但是当我检查列表中的依赖项之一时,它显示未安装。

    实际上,Microsoft.NETCore.UniversalWindowsPlatform 6.0.6 版本包含.NET native compilers。您无需单独安装Microsoft.Net.Native.Compiler

    而最新的Microsoft.Net.Native.Compiler 仅在Windows 10 Fall Creators Update (10.0;build 16299) 可用。如果已单独安装,则需要将目标最低版本修改为 16299。

    更新

    它会弹出它将安装依赖项,例如 akavache.core,但是在 nuget-solution 上完成了一个安装,我看到了下面的屏幕。如何确保已安装?

    Microsoft.Net.Native.Compiler不会显示在项目的References文件夹中,它会被包管理器工具管理。

    您可以在以下文件夹中找到project.assets.json。它记录了你安装的nuget包。

    Path: C:\Users\xxxx\source\repos\GetPlainTextTest\GetPlainTextTest\obj\project.assets.json
    

    【讨论】:

    • 感谢您为我解决了所有这些困惑。但是,使用 Fall Creators Update 至少不是一个很大的缺点吗,因为不是每个人都有这个更新,我会错过这么多潜在用户
    • 你也可以继续使用Microsoft.NETCore.UniversalWindowsPlatform以前的版本,它还包含Microsoft.Net.Native.Compiler
    • 我已经扩展了我的问题,因为您的答案对我来说并不清楚。特别是关于第二点。请参阅编辑部分。如果您能澄清一下,我将不胜感激。谢谢
    猜你喜欢
    • 1970-01-01
    • 2017-07-09
    • 2017-12-31
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多