c# - 使 dotnet publish 使用来自 bin 文件夹而不是来自 nuget 缓存的依赖项
问题描述
在我的 CI 中,我在不同阶段构建和发布 .net 应用程序。
在构建阶段,我dotnet build
会创建obj
和创建bin
文件夹。然后我将这两个文件夹传递给发布阶段并运行dotnet publish -o pub --no-build
,但 msbuild 尝试从 nuget 缓存文件夹 ( .nuget/packages
) 而不是从bin
.
有没有办法dotnet publish
使用bin
文件夹中的依赖项?我不想.nuget
从第一阶段传递整个文件夹,因为所有依赖项都已经存储在里面bin
了。
解决方案
我可以问一下为什么默认情况下需要显式dotnet build
何时在dotnet publish
幕后构建?也许这可以帮助?
如果包缓存的一致性是目标,另一种方法是显式执行dotnet restore
(甚至可能到代理临时文件夹),然后在两者中使用该包缓存dotnet build
和dotnet restore
.
dotnet restore app\app.csproj
dotnet build app\app.csproj --no-restore
dotnet publish app\app.csproj -o pub --no-restore
推荐阅读
- java - 如何使用 HEAD 检查文件是否存在
- java - 我可以在服务中使用 startForeground(id, notification) 来正确更新通知进度条吗?
- r - R Shiny 无法更改响应式数据框对象
- mongodb - Mongodb同时聚合组值作为键
- python - 用户可以将帐户切换到另一个用户
- validation - 只有在验证得到改善的情况下,我才能更新 keras 神经网络的权重?
- excel - 根据条件从另一个工作表复制行
- firebase - 如何修复服务器错误,执行“firebase deploy”后连接 ETIMEDOUT
- junit - Junit 并行测试日志相互混淆
- forms - PHP邮件表单不起作用