首页 文章

在Docker-image microsoft / aspnetcore-build中构建ASP.NET Core 1.1 preview4项目:1.1.0-msbuild

提问于
浏览
0

我目前正在尝试在microsoft / aspnetcore-build:1.1.0-msbuild docker镜像中构建一个ASP.NET Core 1.1测试项目 .

我在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,将Microsoft.NETCore.App版本更改为"1.1.0" .

  • 恢复包"dotnet restore"

  • 使用"dotnet run"进行测试

  • 以交互模式启动docker-container docker run -it --rm -v "$pwd:/sln" --workdir / sln microsoft / aspnetcore-build:1.1.0-msbuild

  • 在正在运行的容器中使用"dotnet restore"强制错误

干杯马丁

1 回答

  • 1

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

    将适当的(preview3)CLI安装到您的计算机上 .

    MS网站上没有用户友好的al版本列表,但in docker image you can see download location如下:

    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 (第二个猜测是使用download page中的最新文件名) .

    现在您需要设置应用程序以使用适当的工具版本(现在已经安装了两个) . 使用以下命令创建 global.json 文件:

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

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

相关问题