Visual studio 2010 Visual studio未检测到包更新
我依赖于特定的nuget包。当我更新我的解决方案以使用新的包版本并将解决方案提交/推送到远程GIT存储库时,解决方案的其他贡献者在拉取之后仍然使用旧的nuget包DLL版本,即使包还原已激活。然而,当他们打开CSPROJ文件时,它显示应该引用新版本。基本上,如果bin/obj文件夹中使用的DLL与csproj文件中引用的DLL不匹配,VisualStudio不会生成任何警告/错误。简而言之: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显示
现在这真是愚蠢的解决方法,我认为这应该是自动化的。是否有任何我们可能做错的事情导致了这种情况的发生?
GIT
forVS
没有考虑掘金包(也没有在\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