加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 03:25:29 所属栏目:安全 来源:网络整理
导读:我使用Visual Studio 2017(RTM)创建了一个新的.NET Core控制台应用程序.然后添加了对Docker的支持,并获得了docker文件撰写文件.但是,它们几乎没有问题. Docker撰写文件的版本为2,这使得构建无法出现以下错误消息 Microsoft.DotNet.Docker.CommandLineClientE

我使用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文件一起放入您的父目录,一切都会很好.这为我解决了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读