当前位置: 首页 > 知识库问答 >
问题:

构建ASP。Docker映像microsoft/aspnetcore版本:1.1.0-msbuild中的NET Core 1.1预览4项目

章阳波
2023-03-14

我目前正在尝试获取ASP。要在microsoft/aspnetcore生成中生成的NET Core 1.1测试项目:1.1.0-msbuild docker映像。

我在Windows 10 Pro 64上运行Docker,并安装了最新的CLI/SDK(1.0.0-preview4-004233)。我认为问题就在这里。当前映像使用(1.0.0-preview3-004056)并引发错误“错误MSB4057:项目中不存在目标还原”当我以交互模式在正在运行的容器中执行“dotnet restore”时。

我的问题是:是版本不匹配造成了错误还是我遗漏了什么?我猜这与preview3和preview4之间的某些特定于msbuild的更改有关。我可以使用正确的SDK版本构建自己的docker映像吗?非常感谢提供优秀教程的链接。

复制的步骤:

  • 安装最新的1.1 SDK
  • 打开Powershell并在新的空项目文件夹中导航
  • 验证您是否已预览4“dotnet--info”
  • 创建新项目“dotnet new-t Web”
  • 打开*。csproj文件更改netcoreapp1。0到netcoreapp1。1和微软。NETCore。应用程序版本为“1.1.0”
  • 还原包“dotnet还原”
  • 使用“dotnet运行”进行测试
  • 以交互模式启动docker容器docker run-it--rm-v“$pwd:/sln”--workdir/sln microsoft/aspnetcore build:1.1.0-msbuild
  • 在正在运行的容器中,使用“dotnet restore”强制执行错误

干杯,马丁

共有1个答案

蒋俊人
2023-03-14

工具仍处于预览版,关于xproj/csproj项目文件格式有很大的变化。因此,preview 3和preview 4之间的差异很可能对您的项目至关重要。

安装适当的(preview3)CLI到您的计算机。

MS站点上没有用户友好的al版本列表,但在docker图像中,您可以看到如下下载位置:

https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-dev-debian-x64.$DOTNET_SDK_VERSION.tar.gz

用所需的值替换变量:1.0.0-preview3-004056dotnet-dev-win-x64.1.0.0-preview3-004056.exe(第二个是使用下载页面中的最新文件名猜测)。

现在,您需要将应用程序设置为使用适当的工具版本(现在已安装两个)。创建global。json包含以下内容的文件:

{
  "sdk": {
    "version": "1.0.0-preview3-004056"
  }
}

验证:从解决方案目录(或以下)运行dotnet--version将打印1.0.0-preview3-004056,而从任何其他文件夹运行将打印1.0.0-preview4-004233

 类似资料:
  • 目前,我发现谷歌云构建发生在构建docker图像的时候(不像我想象的那样,它会构建我的图像,然后执行我的图像来完成所有的构建)。那是在这篇文章里 谷歌云构建的快速启动 我有一个Dockerfile现在很简单 我有一个单一的下载和提取下载任何工件(zip文件)从最后的单构建运行构建(只有修改的服务器被构建或依赖于上一个CI构建的变化的服务器被构建,就像下游库可能被更改)。第一行只是列出了我需要在一个

  • 我有以下文件夹结构: 这里,我的是: 当我运行时,我希望有两个输出图像,一个用于,一个用于。 我使用(仅与版本2的语法兼容)。

  • 使用 Buildx 构建镜像 BuildKit 是下一代的镜像构建组件,在 https://github.com/moby/buildkit 开源。 注意:如果您的镜像构建使用的是云服务商提供的镜像构建服务(Docker Hub 自动构建、腾讯云容器服务、阿里云容器服务等),由于上述服务提供商的 Docker 版本低于 18.09,BuildKit 无法使用,将造成镜像构建失败。建议使用 Buil

  • 使用 BuildKit 构建镜像 BuildKit 是下一代的镜像构建组件,在 https://github.com/moby/buildkit 开源。 注意:如果您的镜像构建使用的是云服务商提供的镜像构建服务(Docker Hub 自动构建、腾讯云容器服务、阿里云容器服务等),由于上述服务提供商的 Docker 版本低于 18.09,BuildKit 无法使用,将造成镜像构建失败。建议使用 Bu

  • 我有一个GitHub项目(我正在使用它(我没有创建它)),名为OpenRefine,我想将其封装在Docker映像中,这样其他人就可以从“Docker Hub”中提取该Docker映像,并将OpenRefine安装在他们的基本交互Docker实体上,即。形象 然后我想将它上传到一个我可以与其他人共享的存储库。 如果它有一个名字,而不是一个疯狂的散列值,那就好了。 是不是我用命令创建了一个“dock

  • 我正在尝试基于ruby: 3.0构建Docker映像。在Dockerfile中,运行“RUN bundle install”时,开始安装依赖项,直到显示错误: Gem::Ext::BuildError:错误:未能生成Gem本机扩展#10 34.20 34.20当前目录:/usr/local/bundle/gems/tiny_tds-2.1.5/ext/tiny-tds#10 34.2/usr/lo