在我的项目文件夹根目录中,我有一个packages文件夹,供C:/ Projects / packages的各种Web应用程序使用。指向该文件夹的所有应用程序引用都可以正常工作。
但是,对于一个新应用程序,当我提取最新代码时,所有引用都希望packages文件夹位于解决方案级别-C:/ Projects / CompanyName / Apps / SolutionFolder / packages。
当我下载最新版本时,不包括该文件夹(它从未签入subversion),因此在我第一次打开项目时缺少参考。但是,当我尝试构建时,它不会为这些软件包提取最新版本,当然也不会编译。当我运行Update-Package -reinstall时,它将更新C:/ Projects / packages中的软件包,并且它不会在解决方案级别创建packages文件夹。
我已经确认在解决方案中的每个项目中都具有packages.config,并且每个项目都希望程序集位于该级别的packages文件夹中。奇怪的是,在我运行-reinstall之后,项目文件中的这些提示路径实际上将指向C:/ Projects / packages文件夹,并且程序集引用将解析...但仅适用于第3方软件包,而不适用于我们的in-自建包。
有谁知道为什么会这样吗?解决方案是获取同事正在使用的packages文件夹的副本,然后将其粘贴到solution文件夹中,但是如果再次发生,则不能解决问题。
通过@MattWards链接,我检查了appdata中的nuget.config文件,该文件指定了此C:/project.packages路径。删除此设置并构建我的解决方案后,将packages文件夹添加到解决方案级别,一切正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句