dotnet 通过 DockerfileContext 解决项目放在里层文件夹导致 VisualStudio 构建失败
作者:互联网
本文告诉大家,如何解决 csproj 项目文件放入到里层的文件夹,不放在 sln 所在文件夹的第一层子文件夹,导致 VisualStudio 2022 在构建 docker 映像提示找不到文件的问题
在 VisualStudio 里面,可以右击 docker 文件,进行生成映像。这是默认需要此 csproj 项目文件放入到 sln 所在文件夹的第一层子文件夹里面,而如果有一些定制化的需求,放入到其他的文件夹(依然在 sln 所在的文件夹的子文件夹里面)那就需要设置 DockerfileContext 属性,告诉 Visual Studio 生成时的 Docker 映像时使用的默认上下文
如下面文件结构
|
| Foo.sln
|-----A
|-----B
|-----B.csproj
此时就需要在 B.csproj 上放一个 DockerfileContext 属性,此属性的作用是生成 Docker 映像时使用的默认上下文,作为相对于 Dockerfile 的路径
<PropertyGroup>
<DockerfileContext>..\..</DockerfileContext>
</PropertyGroup>
通过此属性,才能让生成的路径是从 sln 文件开始,也就是默认生成的值。一个推荐的做法是自己删除 Dockerfile 文件,重新在 VisualStudio 里面右击添加
更多 docker 相关属性,请看 Visual Studio 容器工具生成属性 - Visual Studio (Windows) Microsoft Docs
标签:csproj,映像,sln,文件夹,dotnet,VisualStudio,DockerfileContext,属性 来源: https://www.cnblogs.com/lindexi/p/15670092.html