破解大型解决方案的一个常见问题是组合代码库的多个项目,这很容易在Visual Studio的早期版本的.NET Framework中完成。如何使用.NET CLI指定其他项目的依赖关系?
.NET CLI如何实现同样的功能?假设我们有以下简化方案,例如:
- Solution Folder
- global.json
- src
- LibProject
- ConsoleProject
现在的ConsoleProject
依赖于LibProject
假设。直觉上我相信,这意味着在ConsoleProject
的project.json
必须包含dependencies
部分是这样的:
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-*"
},
"LibProject": "1.0.0-*"
}
但是,如果我们这样做,当我们试图还原为ConsoleProject
或依赖性,当我们试图建立它我们不能这样做。当我们尝试恢复时,我们收到消息
无法为'.NETCoreApp,Version = v1.0'解析'LibProject(> = 1.0.0)'。
我明白原因。恢复时,NuGet正试图将其作为NuGet.config
上指定提要的包进行查找。但它不应该这样做,它应该使用兄弟文件夹上的那个。
在之前版本的.NET Core中,我们将通过VS添加引用,然后,如果我们尝试构建ConsoleProject
,VS将首先构建LibProject
并使用相应的DLL。
这里做的是同样的事情吗?我们如何在同一个解决方案中引用另一个项目,考虑到这种依赖关系,我们如何使用.NET CLI进行恢复/构建/运行?
任何运气,如果你做' “LibProject”:{ “目标”: “项目”}'? – khellang
在使用'csproj'格式的dotnet cli的更新版本中,您可以运行'dotnet add reference ../ MyProject/MyProject.csproj' https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-add-reference – dbattaglia