使用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的舞台上展示,但我不确定我在这里缺少什么。
答案 0 :(得分:2)
好的,让它运转起来。这只是一个小细节:
global.json将最新版本的格式从sources
更改为projects
,其引用的路径必须包含带有xproj文件的文件夹。也就是说,你需要引用" wrap"文件夹,或将这些文件夹移动到保持正确结构的其他位置。
这有效:
{
"projects": ["D:/LibraryX/wrap"]
}
另一件事:您仍需要将项目添加到解决方案中以编辑文件。 project.json只允许dnu找到依赖项。然后VisualStudio使用xproj进行工具。