dotnet run/build - 如何指定包的位置?

dotnet run/build - How to specify where the packages are?

因为我正在使用 CI 集成,所以我不能(也不想)将包放入共享用户文件夹。相反,我希望它们在实际文件夹中恢复(想想 node_modules)。

所以这很简单,我 运行 dotnet restore --no-cache --packages Packages 并且它工作正常。包已恢复并且位于正确的文件夹中。

但是当我 运行 dotnet build -c Releasedotnet run -c Release 时它找不到任何包。

/var/www/website/project.json(15,50): error NU1001: The dependency Microsoft.AspNetCore.Hosting >= 1.0.0 could not be resolved.

那么如何确保 dotnet 知道在哪里寻找这个特定项目的包?

这是我的文件夹在执行命令时的样子。

bin
bundleconfig.json
NuGet.config
Packages
project.json
Properties
web.config
bower.json
Controllers
obj
Program.cs
project.lock.json
ViewsWeb.xproj

好的,所以现在没有这样的选项,实际上 --packages 似乎是一些遗留参数。

无论如何,为了让它工作我们需要设置环境变量NUGET_PACKAGES=/var/www/website/Packages

当然这很糟糕,我无法全局设置它,但是我可以按进程设置它(例如,如果我使用 systemd 启动应用程序)。