c# - 发布 Web api 时,Dotnet publish 不创建文件夹
问题描述
我一直在尝试遵循多个(示例)教程,了解如何将 asp.net Web API 放置到 docker 图像上。并且几乎所有这些都使用一个 docker 文件,其中完成了以下命令dotnet [csproj name] -c Release -o out
,然后最终将信息从这里复制到另一个文件夹。但是,我一直遇到找不到文件夹的问题。所以我决定在本地使用这个命令,令我惊讶的是,没有生成任何 out 文件夹,也没有构建任何东西。
当我们查看它的文档时dotnet publish
,我们可以看到它说以下内容:
将应用程序及其依赖项打包到一个文件夹中,以便部署到托管系统。
和
-o|--output <OUTPUT_DIRECTORY>
指定输出目录的路径。如果未指定,则默认为 ./bin/[configuration]/[framework]/publish/ 用于依赖于框架的部署或 ./bin/[configuration]/[framework]/[runtime]/publish/ 用于自包含部署。如果路径是相对的,则生成的输出目录是相对于项目文件位置的,而不是相对于当前工作目录的。
是的,我从这里尝试了几乎所有的解决方案。
在我看来,这个命令应该创建一个新文件夹,所有已发布的文件都放入其中。所以我的问题是:我是不是弄错了,或者这里是否存在问题,该问题的解决方案是什么?
解决方案
是的,它将创建输出文件夹,但是在 .NET Core 3.0 工具之前,任何非绝对路径都将相对于项目目录进行解释。
所以直到3.0,dotnet publish subdir(project.csproj -o otherdir
才会创建subdir/otherdir
目录。
另请注意,dotnet publish
它将在其输出中打印它发布到的路径。
推荐阅读
- java - Spring Data JPA - 数据库问题连接不可用,请求在 30000 毫秒后超时
- django-rest-framework - Django REST Framework (DRF):ModelSerializer 不验证序列化模型
- javascript - 尝试将要求与字符串连接一起使用时出现“TransformError:无效调用”
- c++ - 在 main() 之外访问二维数组会导致运行时分段错误?
- asp.net-mvc - c# MVC 控制器被命中,即使 URL 中未指定区域
- python - 如何合并列表中具有相等值的字典并连接不相等的值并将其他字段保留在字典中?
- c# - 如何创建将在列表视图中搜索 JSON 的搜索栏
- android - 发送存储在内部存储器中的文件附件
- angular - 使用带有 ControlValueAccessor 的自定义组件时从未调用过 onTouched
- ggplot2 - 在 R 中使用 y 轴“计数”将百分比标签添加到条形图