2017-04-27 44 views
0

我遇到了问题,如果我有一个VS2017解决方案,并尝试在我们的TFS2013构建服务器上构建它,它会因不恢复nuget包而失败。如果我将此2017解决方案转换为VS2015并将其签入并构建,则nuget-packages将得到恢复。从VS2017解决方案不能正常工作的TFS2013的NuGet恢复

我已经尝试使用来自nuget.org和来自内部nuget软件包源的软件包。所以在VS2017和VS2015之间关于nuget-packages的自动恢复有一些改变。但我找不到解决方案。任何其他人都遇到了这个问题......

+0

如果您在本地构建解决方案并在Visual Studio 2017中启用Nuget包恢复,结果如何?如果问题与TFS服务器/构建定义相关,这将缩小范围。当TFS编译失败时,你得到了什么细节错误?你能否更新你问题中的相关信息? –

+0

你在VS2017中创建了什么样的项目?如果你在TFS中构建.net核心项目,它在VS 2015和VS 2017之间确实有区别。在VS2015的.net核心项目中安装nuget包,它使用packages.config文件。但在VS 2017中,它使用[project.json](https://docs.microsoft.com/en-us/nuget/schema/project-json)文件。 –

回答

0

如果你正在构建.net核心项目,它在VS 2015和VS 2017之间确实有区别。在VS 2015中的.net核心项目中安装nuget包,它使用packages.config文件。但在VS 2017中,它不再使用packages.config文件。

  1. 您需要创建一个批处理文件,运行dotnet restore命令为您的解决方案恢复nuget软件包。

代码:

dotnet restore %TF_BUILD_SOURCESDIRECTORY%\...\WebApplication1Core 
  • 你最好使用VS 2017年您的构建代理构建解决方案。你可以参阅最后答复在此线程有关XAML构建使用VS 2017年:https://social.msdn.microsoft.com/Forums/vstudio/en-US/f3c4fc0b-d9ee-474a-9d91-9c5810b074a2/how-to-get-vs-2017-working-with-tfs-2017-xaml-builds?forum=tfsbuild
  • 最后,我建议你可以将您的TFS升级到2017年,用Vnext建立建设项目中创建VS 2017.

    相关问题