我得出结论,nuget不值得它在源代码控制和部署方面遇到的所有问题。那我怎么摆脱它呢?我想走老路径,将引用的dll放在bin文件夹中,并正常进行配置更改。
答案 0 :(得分:1)
我们有一个类似的问题,我可以在某种程度上看到你的观点--NuGet在我的解决方案级别创建的packages文件夹是好的,它将所需的依赖项整理到一个文件夹中供该解决方案中的项目使用 - 但是,当我们的开发人员尝试将解决方案代码推送到源代码控制中时,它确实成为一个问题,因为我不想在每个解决方案中存储EntityFramework.dll文件夹,特别是它随附的所有gumph。 (顺便说一下,我个人认为.dll甚至不应该致力于源代码控制!)
但是就你摆脱它的问题而言,我并不完全确定它现在已经融入到Visual Studio中,但是这里有一个你可以尝试的改变:
在Visual Studio中,转到工具>选项>包管理器>包装来源。取消选中使“NuGet官方包源”可用的框。理论上,这应该使您的IDE无法使用NuGet API。
希望这有帮助。
答案 1 :(得分:1)
我的团队选择使用NuGet进行发现(我们喜欢它),与我们的活动项目分开,并通过另一种方式管理我们的参考,以实现控制和极简主义。这就是我们从这些项目中删除NuGet的方法:
在每个项目文件(.csproj)中,PropertyGroup部分中有两行应删除:
< SolutionDir Condition =" $(SolutionDir)==''或$(SolutionDir)==' 未定义'"> ...< / SolutionDir> < RestorePackages>真< / RestorePackages>
每个项目文件底部还有一个部分(我在这个位置看到过多个化身,所以这只是一个例子)
< Import Project =" $(SolutionDir).nuget \ nuget.targets"条件="已存在(' $(SolutionDir).nuget \ NuGet.targets')" />
您必须与您的团队协调。如果有人在其目录中打开包含带有packages.config文件的项目的解决方案,NuGet将撤消上面的手动编辑;特别是如果你打开了自动检查。