我已经注意到很多时候,开发人员倾向于通过浏览到.dll
位于.\packages
文件夹(由另一个项目安装),并将其添加到项目引用中,而不是在该项目上安装nuget包。在那种情况下,即使它可以编译,但是Nuget软件包管理器也不知道所引用的程序集来自软件包,因此在解决方案范围内更新软件包不会更新该项目中的那些引用。如果您正在执行面向服务的体系结构,其中应用程序中的每个功能都是解决方案中的一个单独项目,那么您可能会有数百个项目,并且管理这些引用将成为一场噩梦。如果开发人员属于nuget包,有什么方法可以防止开发人员直接引用它们?例如,是否有任何MSBuild任务来验证对程序集程序集的所有引用都要求将程序包安装在项目上?
如果您的团队使用转发器,则可以使用插件来解决此问题:
我猜这个问题是由没有使用resharper的人引起的,因为默认情况下VS不会知道包含该DLL,但是Resharper会找到它并引用它(并且没有插件也不会更新程序包配置)
也让人们在解决方案级别而不是项目级别使用nuget。这将迫使人们更新整个解决方案中的所有nuget程序包,而不会在项目A上留下V 1.1.1.0和在项目B上留下v 1.1.2.0。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句