我有一个解决方案,其中包含具有 nuget 包还原的共享项目。我有第二个解决方案,它引用了第一个解决方案中的项目。
我正在尝试设置 TFS 来构建第二个解决方案,但它在共享解决方案中找不到项目的引用,因为第一个解决方案的包文件夹与第二个解决方案的位置不同。我已经在构建中包含了第一个解决方案,但现在该解决方案中不存在构建配置。
我有一个解决方案,其中包含具有 nuget 包还原的共享项目。我有第二个解决方案,它引用了第一个解决方案中的项目。
我正在尝试设置 TFS 来构建第二个解决方案,但它在共享解决方案中找不到项目的引用,因为第一个解决方案的包文件夹与第二个解决方案的位置不同。我已经在构建中包含了第一个解决方案,但现在该解决方案中不存在构建配置。
首先,听起来好像共享项目可以自己打包,因此可以在这两个解决方案之间共享。
但是,如果您真的不想这样做,您可以尝试使用以下 NuGet 命令行参数并调整 nuget.targets 文件,使它们都指向同一个包安装目录。(注意:您还必须手动更新项目引用以指向新的包位置)
nuget.exe 安装-o "d:\some\dir"
您可以简单地修改 nuget.targets 文件中的元素,或者使用您自己的自定义值将此元素添加到 csproj 文件的 PropertyGroup 中。
<属性组>
<PackageOutputDir>d:\some\dir</PackageOutputDir>
</属性组>
最后一点:客户端开发机器上的输出位置路径必须与 TFS 构建代理上的相同,否则它将不起作用。