在Docker容器中构建dotnet核心应用程序时遇到问题。我正在使用dotnet core 2.2。
项目的设置为: 输出:控制台应用程序 启动项目:Web.Project
在容器内运行以下命令时:
RUN dotnet build "Web.csproj" -c Release -o /app
我收到以下错误:
Could not find 'Web.Program' specified for Main method [/src/Web/Web.csproj]
如果项目只是一个程序集(dll),那么一切正常,但是我无法运行该Web应用程序。
有什么想法吗?
答案 0 :(得分:1)
我的问题的解决方案是从csproj文件中删除以下行:
<OutputType>EXE</OutputType>
Visual Studio 2107似乎在更改输出类型时添加了该标签。删除该文件后,便可以在Docker容器和Windows中进行构建和发布。
答案 1 :(得分:0)
在我的例子中,带有存储库 /home/ubuntu/project
的文件夹与我的目标文件夹是相同的文件夹 dotnet build -C Release --runtime ubuntu.18.04-x64
--output /home/ubuntu/project`。
解决方案是更改它 dotnet build -C Release --runtime ubuntu.18.04-x64
--output /home/ubuntu/project_build`