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

前端之家收集整理的这篇文章主要介绍了将.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文件一起放入您的父目录,一切都会很好.这为我解决了.

猜你在找的.NET Core相关文章