Visual studio 2010 Visual studio未检测到包更新

Visual studio 2010 Visual studio未检测到包更新,visual-studio-2010,git,visual-studio-2012,version-control,nuget,Visual Studio 2010,Git,Visual Studio 2012,Version Control,Nuget,我依赖于特定的nuget包。当我更新我的解决方案以使用新的包版本并将解决方案提交/推送到远程GIT存储库时,解决方案的其他贡献者在拉取之后仍然使用旧的nuget包DLL版本,即使包还原已激活。然而,当他们打开CSPROJ文件时,它显示应该引用新版本。基本上,如果bin/obj文件夹中使用的DLL与csproj文件中引用的DLL不匹配,VisualStudio不会生成任何警告/错误。简而言之: 解决方案使用DLL版本0.5 我通过Nuget升级到DLL版本0.6 我的Visual Studio显示

我依赖于特定的nuget包。当我更新我的解决方案以使用新的包版本并将解决方案提交/推送到远程GIT存储库时,解决方案的其他贡献者在拉取之后仍然使用旧的nuget包DLL版本,即使包还原已激活。然而,当他们打开CSPROJ文件时,它显示应该引用新版本。基本上,如果bin/obj文件夹中使用的DLL与csproj文件中引用的DLL不匹配,VisualStudio不会生成任何警告/错误。简而言之:

  • 解决方案使用DLL版本0.5
  • 我通过Nuget升级到DLL版本0.6
  • 我的Visual Studio显示使用了0.6版
  • 我向GIT提交/推送解决方案
  • 另一位同事从GIT中提取解决方案
  • 他的Visual Studio显示DLL版本0.5,没有错误/警告
  • 他的CSPROJ文件引用了DLL版本0.6
  • 解决方案在运行时失败,因为内部实现发生了更改
  • 我们如何解决这个问题:

  • 同事删除他的bin/obj
  • Visual Studio注意到缺少DLL
  • 他在解决方案级别使用ManageNuGet包,只需单击OK,其他什么都不用
  • Nuget下载DLL并解决问题

  • 现在这真是愚蠢的解决方法,我认为这应该是自动化的。是否有任何我们可能做错的事情导致了这种情况的发生?

    GIT
    for
    VS
    没有考虑掘金包(也没有在
    \obj
    \bin
    文件夹中构建生成的文件)

    对于
    Git
    ,通过注释(#)行管理用于版本控制的包
    edit.gitignore
    文件:

    # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
    #!packages/*/build/
    

    (注意:如果要备份和重命名
    .gitignore
    文件,请转到)

    想法:其他开发人员可以从powershell命令行运行“Update”命令。这是功能上的“如果你做了,那就糟了,如果你不做,那就糟了”之一。因为如果它是自动伏都教的,那么你的(其他开发人员)就不会知道发生了版本更改。Aka,其他开发人员可能想知道更改发生的确切时间,这一不便让他或她知道。。。。。。尝试UPDATE命令……。developer2是否在步骤7之后进行生成?它不会将更新后的二进制文件复制到bin/obj文件夹吗?是的,它们会生成,但不会发生任何事情。但是,当他们删除bin/obj文件夹(不受版本控制)时,会出现生成错误。之后,Manage Nuget Packages for Solution triggers后台下载。您能详细说明上面两行的具体用途吗?您是建议我对我的.gitignore中甚至没有的内容进行注释,还是我遗漏了什么内容?对我来说很有用。我对解决方案进行了编辑,将行
    ***/packages/*
    也包括在内,以供评论。谢谢你@AntoineMeltzheim