首页 文章

发布web api时,Dotnet发布不会创建文件夹

提问于
浏览
1

我一直在尝试关注如何将asp.net Web API放到docker镜像上的 multipleexample)教程 . 几乎所有这些都使用docker文件,其中完成以下命令 dotnet [csproj name] -c Release -o out ,然后最终将信息从此复制到另一个文件夹 . 但是,我一直遇到没有找到文件夹的问题 . 所以我决定在本地使用这个命令,令我惊讶的是,没有生成任何文件夹,也没有构建任何东西 .

当我们在it上查看 dotnet publish 的文档时,我们可以看到它如下所示:

将应用程序及其依赖项打包到一个文件夹中,以便部署到托管系统 .

-o | --output <OUTPUT_DIRECTORY>指定输出目录的路径 . 如果未指定,则默认为./bin/[configuration]/[framework]/publish/用于依赖于框架的部署,或者./bin/[configuration]/[framework]/[runtime]/publish/用于自我 - 包含部署 . 如果路径是相对路径,则生成的输出目录相对于项目文件位置,而不是当前工作目录 .

是的,我已经尝试了几乎所有来自here的解决方案 .

在我看来,这个命令应该创建一个新文件夹,其中放置了所有已发布的文件 . 所以我的问题是:我错了,或者这里有问题,问题的解决方案是什么?

1 回答

  • 0

    是的,它将创建输出文件夹,但是在.NET Core 3.0工具之前,任何非绝对路径都是相对于项目目录进行解释的 .

    所以在3.0之前, dotnet publish subdir(project.csproj -o otherdir 将创建一个 subdir/otherdir 目录 .

    另请注意, dotnet publish 将在其输出中打印它发布的路径 .

相关问题