【发布时间】:2020-07-15 07:39:03
【问题描述】:
我有一个 .Net Core 3 控制台应用程序,我正在尝试将其发布为自包含的单个可执行文件。我过去能够做到这一点,但令我惊讶的是它不再起作用。项目结构是一个带有两个程序集的控制台应用程序,都在 Core 3 中。
如果我使用dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true,我希望输出是几个 mb 大小的单个可执行文件。然而,发布文件夹包含可执行文件(几百 kb)和一个 .dll 文件以及 .cache 文件和 pdb。
我的控制台应用的配置如下:
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<LangVersion>latest</LangVersion>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<Nullable>enable</Nullable>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<PublishSingleFile>true</PublishSingleFile>
<PublishTrimmed>true</PublishTrimmed>
</PropertyGroup>
如果我直接从 Visual Studio 发布应用程序,我会得到与上述相同的结果。
所以我的问题归结为:为什么这个配置或发布语句不会产生一个自包含的单个可执行文件?
【问题讨论】:
-
我过去能够做到这一点,但令我惊讶的是它不再有效 .NET Core 3 中引入了一些选项。尝试删除 @987654323 @第一
-
@PavelAnikhouski 没有区别,无论是来自 CLI 还是 VS。
标签: c# visual-studio .net-core