c# - 用 WinExe 发布一个 wpf 应用程序仍然打开一个控制台主机窗口

标签 c# .net docker dotnet-publish

发布是通过 docker 完成的。

Docker 文件

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1809 AS build

// restore
...

// build
..

// publish
RUN dotnet publish --no-build -c Release /p:PublishSingleFile=true -r win-x64 --self-contained true -o C:/dist

.csproj

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <UseWPF>true</UseWPF>
    <ApplicationIcon>Common\Images\favicon.ico</ApplicationIcon>
    <StartupObject>Dtail.Platform.Launcher.App.App</StartupObject>
  </PropertyGroup>

   ...

</Project>

预期行为:

由于 OutputType 设置为 WinExe,它应该隐藏控制台主机 ( source )

实际行为:

应用程序随控制台窗口一起打开

最佳答案

一些依赖项会强制打开控制台窗口,例如 Selenium 。检查您的依赖项是否有自己的隐藏窗口的方法。

关于c# - 用 WinExe 发布一个 wpf 应用程序仍然打开一个控制台主机窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65396020/

相关文章:

c# - 如何在 TabControl 中设置新 TabPage 页面的属性?

c# - 使用 typeof 时与依赖注入(inject)有什么区别?

c# - Nhibernate 析取 ("OR") 跨多对一和多对多关系的查询

c# - 在 Topshelf 服务中重新启动自身

docker - 如何使用 docker 配置 iptables 策略以阻止外部 ip

c# - 从 Entity Framework 中的实体获取 DbContext

c# - 带有文化的 MVC5 本地化 - 拥有区域的问题

c# - Asp.net Mvc : why is browser looking for favicon. 图标

Docker Jenkins Blue Ocean 无法在 Pipeline 中运行 ssh scp

docker - 从 k3s-master 在 k3s-agent 上运行 docker 容器