【问题标题】:How to resolve dependencies with aspnet vnext on a mac?如何在 Mac 上使用 aspnet vnext 解决依赖关系?
【发布时间】:2015-08-11 22:04:18
【问题描述】:

在尝试构建 NuGet3 时,我收到以下错误:

~/Projects/NuGet3-dev/src/NuGet.CommandLine/project.json(22,46): error: The dependency fx/Microsoft.Build.Framework >= 14.0.0 could not be resolved.

我不知道为什么它不会被解决,因为根据

 gacutil -l 

我有:

 Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

我查看了我能找到的关于这个问题的所有内容,但它几乎完全是基于 Visual Studio 和 Windows 的解决方案,似乎没有任何东西适用于我的情况......

如何解决这个问题?

【问题讨论】:

    标签: c# asp.net-core


    【解决方案1】:

    (假设您正在处理https://github.com/NuGet/NuGet.CommandLine ...)

    如何解决?

    使用 Windows。这个项目不是为构建在 Mono 上而设计的。它与 Windows 工具集成。

    【讨论】:

    • 我想我很困惑,因为有一个可用于 FreeBSD 的构建 shell 脚本,并且二进制 nuget.exe 本身运行并且允许包在我的机器上运行(一些通过 .net 核心,不是单声道) - 我只是不明白为什么 gacutil 告诉我我有正确的东西,但构建找不到参考。
    • gacutil 是一个 Mono 实用程序。针对 Mono 构建与在 Mono 上运行是非常不同的事情。
    【解决方案2】:

    在 POSIX 系统下(想想,一些真正的操作系统):

    简而言之,使用 DNX 或 dotnet(称为 M$ .Net Core)及其restore 命令解决依赖关系。

    fx/代表框架,去掉前缀就行了,应该是一样的。我播种这些符号在传递给 DNX 时消失了。只需尝试使用 DNX 进程安装它。

    由于 DNX 的 MSBuild 目标和道具不可用,Mono 中的 xbuild 脚本将无法工作。 您必须使用其中一种

    • “已弃用”dnvm.sh 脚本和 dnx/dnu 命令用于恢复然后构建每个子项目。 注意: 下载时不再可用,对 dnvm update-self 的调用将脚本替换为“404”...

    • “Microsoft .NET Core Shared Framework Host”、“dotnet”(我不使用)

    它应该大部分都可以工作,如果你有 Dnx,试试这个命令行,来自 NuGet3 源代码的src 子目录: (for d in *; do (cd $d && dnu restore && dnu build); done)2>&1|tee build-all.log

    对我来说,使用 Debian-8,有构建失败:

    • NuGet.CommandLine.XPlat
    • NuGet.Configuration但它成功用于“net451”框架
    • NuGet.Packaging.Core
    • NuGet.Packaging
    • NuGet.Protocol.Core.v3但没关系@dnxcore50(不要问我为什么)...

    YANote:如果代码不能在任何地方转换,只能通过 M$,这对我来说不能是源代码:我不能不将它用作源代码。这是一个密码,一个私人密码……可以扔掉的东西,可能没人在乎。

    【讨论】:

      猜你喜欢
      • 2015-10-06
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      • 2012-01-31
      • 2023-03-11
      • 1970-01-01
      • 2019-01-03
      相关资源
      最近更新 更多