由于我正在使用CI集成,因此我无法(并且不想要)将包放入共享用户文件夹。相反,我希望它们在实际文件夹中恢复(想想node_modules)。
这很简单,我运行dotnet restore --no-cache --packages Packages
,它运行正常。软件包已恢复,并且位于正确的文件夹中。
但是,当我运行dotnet build -c Release
或dotnet run -c Release
时,它找不到任何包。
/var/www/website/project.json(15,50):错误NU1001:无法解析依赖项Microsoft.AspNetCore.Hosting> = 1.0.0。
那么如何确保dotnet知道在哪个地方寻找这个特定项目的包呢?
以下是我的文件夹在执行命令的位置。
bin
bundleconfig.json
NuGet.config
Packages
project.json
Properties
web.config
bower.json
Controllers
obj
Program.cs
project.lock.json
ViewsWeb.xproj
答案 0 :(得分:1)
Okey,所以现在没有这样的选项,实际上--packages
似乎是一些遗留参数。
无论如何,为了使其工作,我们需要设置env变量NUGET_PACKAGES=/var/www/website/Packages
当然这很糟糕,我无法在全局设置它,但是我可以为每个进程设置它(例如,如果我使用systemd启动应用程序)。