使用VSTS处理小型.NET开发团队中的Nuget包错误

时间:2018-01-10 16:25:12

标签: .net nuget azure-devops nuget-package-restore

问题背景:我一直在使用VSTS使用我们的.NET项目正确设置我的新团队成员项目时遇到问题。这些问题涉及Nuget包。我们的解决方案中每个项目的引用都有很多警告。

  • Nuget还原无法正常工作
  • 'update-package -reinstall'工作一次,但无法复制。
  • 我在解决方案中添加了一个.tfignore,但Nuget引用已经融入这些项目多年。他们的爪子在很多文件中,版本控制仍然存在问题。
  • 我已经获得了解决方案并在2台计算机上运行并运行,但这需要花费大量时间并且很难复制。

问题:您如何在一个由4人组成的小团队中处理此问题?我正在考虑做以下一个或两个。

创建新项目

  1. 创建项目
  2. 添加.tfignore
  3. 移动代码
  4. 重新添加引用并确保它们不会被忽略 没有上传到tfs
  5. 在VSTS中创建构建服务器

    1. 使用构建服务器作为受控空间,并在团队成员计算机上复制它的环境。我认为这是其目的之一。我至少知道这一点,我仍在收集细节。
    2. 可能有一个我错过了我应该使用的工具。你有什么想法?

1 个答案:

答案 0 :(得分:0)

不必在源代码管理中添加包。您可以在TFVC仓库的根目录中使用一个.tfignore来排除不同解决方案中的所有包。

您可以按照以下步骤操作:

  1. 创建项目并.tfignore

    在TFVC仓库的根目录中创建.tfignore文件,并添加以下内容以忽略包,构建工件文件等:

    **\*.suo
    **\*.user
    
    # Build results
    **\bin
    **\obj
    
    #include nuget executable
    !**\NuGet.exe
    
    #nuget packages directory
    **\packages
    
    #include package target files which may be required for msbuild
    !**\packages/*.targets
    
    # Publish Web Output
    **\*.Publish.xml
    **\*.pubxml
    
    **\.vs
    
  2. 将项目和.tfignore添加到源代码管理

    在Source Control Explorer中,点击Add Items to folder,选择.tfignore和项目。

    enter image description here

    然后确保未添加每个项目的packages文件夹。

    enter image description here

    如果添加了packages文件夹,请使用撤消待处理更改删除源代码管理中的packages文件夹。

    enter image description here

  3. 签入更改

    在待定更改中,检查更改。

  4. 此外,除上述方式外,您还可以参考Donovan Brown的帖子How to keep packages folder out of TFVC