gpt4 book ai didi

dnx - global.json 中父相关目录的预期行为是什么?

转载 作者:行者123 更新时间:2023-12-03 10:05:22 26 4
gpt4 key购买 nike

(现在提高为 DNX issue 3206 ...)

DNX 环境:1.0.0-rc1,Windows 10 x64。

想象一下,我有三个解决方案:

  • 申请1
  • 申请2
  • 普通

  • 这些解决方案中的每一个都有多个项目;将所有项目放在一个解决方案中是没有意义的,即使这会简化这个特定问题。

    Application1 和Application2 中的各个项目依赖于Common 中的一个项目。他们的 project.json文件以正常方式指示该依赖项。虽然最终我想将工件从 Common 发布到 NuGet 服务器(内部或外部),但暂时只从源代码构建所有内容是有意义的。

    我可以通过编辑 global.json 来做到这一点在(例如)Application1 中具有:
    {
    "projects": [ "src", "test", "../Common/src" ],
    "sdk": { "version": "1.0.0-rc1-final" }
    }

    有了它,我就可以执行 dnu restore从 Application1 目录...但不是从根目录。 (错误是“无法找到依赖关系‘通用’>= 0.0.0-*”。)我可以运行 dnu restore Application1从根目录,但不仅仅是 dnu restore .

    我尝试了多种方法来引用 Common src 目录(包括“./Common/src”、“Common/src”、“../repo-name/Common/src”),但都没有任何乐趣然而。在每种情况下,我都会收到上面显示的错误消息。我试过使用 dnu -v restore但这似乎没有提供有关正在为基于源的包探测哪些目录的任何额外信息。

    那么,应该如何 "../Common/src"global.json 中得到解决?对于我所描述的开发场景,这是否是一种合理的方法,如果是,是否只是针对 DNX 提交错误?

    最佳答案

    当您启动 dnu restore 时,它不会以您期望的方式工作它试图找到 global.json在当前或父目录中,并从中读取项目路径。因此,在您的示例中,它不会读取任何内容,因为 global.json位于子目录中。

    解决此问题的一种方法是添加 global.json到具有以下内容的根文件夹:

    {
    "projects": [ "Application/src", "Common/src" ]
    }

    我会询问有关这种情况的情况,以及移至 dotnet cli 时是否会发生变化。

    关于dnx - global.json 中父相关目录的预期行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33919272/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com