由于我使用 CI 集成,我不能(也不希望)将包放入共享用户文件夹。相反,我希望它们在实际文件夹中恢复(想想 node_modules)。
所以这很简单,我运行 dotnet restore --no-cache --packages Packages
它工作正常。包已恢复,它们位于正确的文件夹中。
但是,当我运行时 dotnet build -c Release
或 dotnet 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 启动应用程序)。
关于.net - dotnet run/build - 如何指定包的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40475870/