在我的项目文件夹根目录中,我有一个包文件夹,可供C:/ Projects / packages中的各种Web应用程序使用。指向此文件夹的所有应用程序引用都可以正常工作。
但是,对于新的应用程序,当我提取最新代码时,所有引用都希望packages文件夹在解决方案级别生效 - C:/ Projects / CompanyName / Apps / SolutionFolder / packages。
当我提取最新信息时,不包含此文件夹(它从未检入过subversion),因此我在首次打开项目时缺少参考文献。但是,当我尝试构建时,它并没有为这些软件包提取最新信息,当然也没有编译。当我运行Update-Package -reinstall时,它将更新软件包IN C:/ Projects / packages,它不会在解决方案级别创建packages文件夹。
我已经确认我在解决方案中的每个项目中都有packages.config,并且每个项目都希望程序集位于该级别的packages文件夹中。奇怪的是,在我运行-reinstall之后,项目文件中的这些提示路径实际上将指向C:/ Projects / packages文件夹,并且程序集引用将解析...但仅适用于第三方程序包而不是我们内部建造的包裹。
有谁知道为什么会这样?解决方案是获取同事正在使用的packages文件夹的副本,并将其粘贴到解决方案文件夹中,但如果再次出现,则无法解决问题。
答案 0 :(得分:1)
Per @MattWards link我检查了appdata中的nuget.config文件,该文件指定了这个C:/project.packages路径。删除此设置并构建我的解决方案后,packages文件夹已添加到解决方案级别,一切正常。