TFS MSBuild 不为解决方案中的网站恢复 nugets
Posted
技术标签:
【中文标题】TFS MSBuild 不为解决方案中的网站恢复 nugets【英文标题】:TFS MSBuild not restoring nugets for websites in solution 【发布时间】:2019-06-01 21:33:45 【问题描述】:我有一个相当大的解决方案,大约有 90 个项目,在 Visual Studio 2015 中构建得很好,但是当我尝试在 TFS 中执行 CI 时,看起来 nuget 还原忽略了所有 网站在我的解决方案中,因此没有加载它的包并且无法构建。
即
如果它是 .csproj,则该项目的 nugets 恢复得很好 如果它是一个网站,它似乎会忽略它的 packages.config附言 我更喜欢这样的解决方案,我不需要签入有关这些项目的任何额外内容,例如'将 dll 添加到 bin 文件夹中以签入 .refresh 文件 [...]s em>',因此 CI 过程尽可能自动化
更新1:
指定 nuget.exe 的路径(版本:4.9.2)我收到一个新错误,提示“警告:找不到项目文件 [path to proejct]”Update2(构建定义 - NuGet 安装程序组件):
解决方案路径:'解决方案的正确路径..' NuGet.config 路径:'NuGet.config 的正确路径' 禁用本地缓存,勾选 NuGet 参数:空 NuGet.exe 的路径:$(NuGetPath),在变量中设置的路径【问题讨论】:
你能分享你的构建定义吗? @ShaykiAbramczyk 是的,但我不知道;我该怎么做? :D 打印屏幕...? @ShaykiAbramczyk 看起来有点矫枉过正,我以为有一个链接,我会在更新中列出配置及其值 尝试隐藏任何包和 bin 文件夹,看看是否有区别。我遇到了构建任务的问题,如果有任何残留的软件包,则会跳过还原。您是使用 Nuget 还原任务(就像您应该使用的那样)还是使用 Visual Studio 构建任务并选中还原包复选框?还假设您使用的是 vs build 任务(通常),您是否将其设置为使用 2017 年或 2015 年? 【参考方案1】:对于遇到此问题的其他人
我按照 pinkfloydx33 的建议将所有网站项目转换为 webapps。 这比我想象的要容易而且直截了当,这些项目仍有一些重构工作要做,但一切都很完美
【讨论】:
以上是关于TFS MSBuild 不为解决方案中的网站恢复 nugets的主要内容,如果未能解决你的问题,请参考以下文章