微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将.NET Core控制台应用程序构建到Docker中

我使用Visual Studio 2017(RTM)创建了一个新的.NET Core控制台应用程序.然后添加了对Docker的支持,并获得了docker文件撰写文件.但是,它们几乎没有问题.

Docker撰写文件的版本为2,这使得构建无法出现以下错误消息

Microsoft.DotNet.Docker.CommandLineClientException: client version 1.22 is too old. Minimum supported API version is 1.24,please upgrade your client to a newer version.

可以通过手动将撰写文件版本更改为2.1来解决此问题. (不确定是否有效的修复程序)然后您将收到另一个错误消息

MSB4006 There is a circular dependency in the target dependency graph involving target “DockerCleanServiceReferences”.

我不知道该如何解决.我知道错误消息是由于某些配置导致循环引用(例如,确实生成的发布后事件)引起的

那么,有什么资源或提示如何将.NET Core控制台应用程序手动打包到Docker容器中?我只是了解Docker,所以不要以为我还不了解它.

一个问题是,在哪里可以获取这些Visual Studio模板的更新版本,或者是这些已知问题?

最佳答案
事实证明,对我而言,问题是我的DockerFile,SLN文件和CSPROJ文件都放在同一文件夹中.您知道创建解决方案时会如何询问您是否要创建子目录吗?如果您不这样做,并且您的SLN和CSPROJ文件共享同一文件夹,则不可避免地会将Docker文件添加到该同一文件夹中,从而创建循环引用.如果您的SLN文件位于CSPROJ文件上方的目录中,则DockerFile等将与SLN文件一起放入您的父目录,一切都会很好.这为我解决了.

原文地址:https://www.jb51.cc/netcore/532711.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐