【问题标题】:How do I reference a local csproj in another folder using project.json?如何使用 project.json 引用另一个文件夹中的本地 csproj?
【发布时间】:2015-05-07 12:43:24
【问题描述】:

使用VS2015 RC,我创建了一个“类库(包)”项目并添加了一个依赖,它是从nuget下载的:

"frameworks": {
    "net45": {
        "dependencies": {
            "LibraryX": "1.0.0-*",
        }
    }
}

然后我将包源克隆到我的磁盘(位于 D:\LibraryX\LibraryX.csproj,另一个文件夹),现在我希望我的新项目依赖于该源而不是 nuget 包。

我构建了源代码,运行 dnu wrap LibraryX 创建了 D:\LibraryX\wrap\LibraryX\project.json 并将 global.json 添加到我的解决方案文件夹中:

{
    "sources": ["D:/LibraryX"]
}

不过,LibraryX 始终是从 nuget 加载的。我需要做什么才能让 dnu 将源视为依赖项并使用它而不是 nuget?

我该如何诊断? dnu list -a 只告诉我它正在从 nuget 包文件夹中获取引用,但没有告诉我在选择之前它在哪里查找文件。

此功能已在 Build 2015 的舞台上展示,但我不确定我在这里缺少什么。

【问题讨论】:

    标签: visual-studio-2015 asp.net-core-mvc dnx


    【解决方案1】:

    好的,开始工作了。这只是一个小细节:

    global.json 在最新版本中将其格式从sources 更改为projects,并且它引用的路径必须包含带有xproj 文件的文件夹。也就是说,您需要引用“wrap”文件夹,或者将这些文件夹移到其他位置保持正确结构的位置。

    这行得通:

    {
        "projects": ["D:/LibraryX/wrap"]
    }
    

    另一件事:您仍然需要将项目添加到解决方案中才能编辑文件。 project.json 只是为了让 dnu 找到依赖项。 VisualStudio 然后使用 xproj 进行工具化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多