如何使用project.json在另一个文件夹中引用本地csproj?

时间:2015-05-07 12:43:24

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

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

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

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

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

D:\LibraryX\wrap\LibraryX\project.json

仍然,LibraryX总是从nuget加载。我需要做些什么才能使dnu将源视为依赖,并使用它而不是nuget?

我该如何诊断? { "sources": ["D:/LibraryX"] } 只告诉我它从nuget packages文件夹中获取引用,但在选择之前没有告诉我它在哪里查找文件。

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

1 个答案:

答案 0 :(得分:2)

好的,让它运转起来。这只是一个小细节:

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

这有效:

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

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