在 Docker-image microsoft/aspnetcore-build:1.1.0-msbuild 中构建 ASP.NET Core 1.1 preview4 项目
Build ASP.NET Core 1.1 preview4 project in Docker-image microsoft/aspnetcore-build:1.1.0-msbuild
我目前正在尝试在 microsoft/aspnetcore-build:1.1.0-msbuild docker 映像中构建一个 ASP.NET Core 1.1 测试项目。
我 运行正在 Docker Windows 10 Pro 64 上安装最新的 CLI/SDK (1.0.0-preview4-004233)。我认为问题就在这里。当前图像使用(1.0.0-preview3-004056)并在交互模式下在 运行ning 容器中执行 "dotnet restore" 时抛出错误 "error MSB4057: The target Restore does not exist in the project."。
我的问题是:
是版本不匹配导致了错误还是我遗漏了什么?我的猜测是它与 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-容器
docker 运行 -it --rm -v "$pwd:/sln" --workdir /sln microsoft/aspnetcore-build:1.1.0-msbuild
- 在 运行ning 容器中使用 "dotnet restore" 强制错误
干杯
马丁
工具仍处于预览阶段,关于 xproj/csproj 项目文件格式的变化很大。因此,preview3 和 preview4 之间的差异很可能对您的项目至关重要。
在您的计算机上安装适当的 (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-004056
和 dotnet-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
我目前正在尝试在 microsoft/aspnetcore-build:1.1.0-msbuild docker 映像中构建一个 ASP.NET Core 1.1 测试项目。
我 运行正在 Docker Windows 10 Pro 64 上安装最新的 CLI/SDK (1.0.0-preview4-004233)。我认为问题就在这里。当前图像使用(1.0.0-preview3-004056)并在交互模式下在 运行ning 容器中执行 "dotnet restore" 时抛出错误 "error MSB4057: The target Restore does not exist in the project."。
我的问题是: 是版本不匹配导致了错误还是我遗漏了什么?我的猜测是它与 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-容器 docker 运行 -it --rm -v "$pwd:/sln" --workdir /sln microsoft/aspnetcore-build:1.1.0-msbuild
- 在 运行ning 容器中使用 "dotnet restore" 强制错误
干杯 马丁
工具仍处于预览阶段,关于 xproj/csproj 项目文件格式的变化很大。因此,preview3 和 preview4 之间的差异很可能对您的项目至关重要。
在您的计算机上安装适当的 (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-004056
和 dotnet-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