【问题标题】:Dotnet core 2 docker: No executable found matching command "dotnet-watch"Dotnet core 2 docker:找不到匹配命令“dotnet-watch”的可执行文件
【发布时间】:2017-10-03 17:51:56
【问题描述】:

我正在尝试为 dotnet core 2 创建一个开发 Dockerfile。到目前为止,我拥有以下内容:

FROM microsoft/aspnetcore-build:2.0

VOLUME /app
WORKDIR /app
COPY . ./
ENV ASPNETCORE_SERVER.URLS http://*:5000
ENV ASPNETCORE_ENVIRONMENT Development
RUN dotnet restore
ENTRYPOINT dotnet watch run --configuration Debug

如果我跑:

dotnet restore
dotnet watch run

在同一个文件夹中,一切似乎都运行良好(观察者启动)。当我改为运行该 docker 文件(在 docker-compose 环境中)时,它一直在喊:

找不到匹配命令“dotnet-watch”的可执行文件

我的配置文件如下:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.0.0" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0" />
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>
</Project>

如你所见,包含臭名昭著的:

<DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0" />

这通常是导致问题的原因。

如何让dotnet watch 在 docker 上工作?

【问题讨论】:

    标签: asp.net docker .net-core docker-compose


    【解决方案1】:

    我只需要像这样在ENTRYPOINTdotnet restore

    FROM microsoft/aspnetcore-build:2.0
    
    VOLUME /app
    WORKDIR /app
    COPY . ./
    ENV ASPNETCORE_SERVER.URLS http://*:5000
    ENV ASPNETCORE_ENVIRONMENT Development
    ENTRYPOINT dotnet restore && dotnet watch run --configuration Debug
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-03
      • 2016-09-13
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      相关资源
      最近更新 更多