4

使用 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 的舞台上演示,但我不确定我在这里缺少什么。

4

1 回答 1

2

好的,让它工作。这只是一个小细节:

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

这有效:

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

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

于 2015-05-07T16:08:35.363 回答