首页 > 解决方案 > 编译为单个 .exe 时如何保留某些文件?

问题描述

我正在尝试编译我的 .NET Core 应用程序,其中所有程序集都作为一个 .exe 文件,并且某些 .csv 和 .txt 文件保留在输出中。

我正在使用此命令编译为一个 .exe:dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true

但是,当我使用它时,我的 csv 和 txt 文件不包含在输出中,并且我的应用程序不起作用。我尝试将他们的“复制到输出目录”值设置为 true,但这并不能解决问题。

我怎样才能做到这一点?

标签: c#.net-corecompilation

解决方案


找到答案:

您必须将<ExcludeFromSingleFile>true</ExcludeFromSingleFile>标签添加到您的 project.csproj 文件项。

例如。

<None Update="additionaldata.csv">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</None>

推荐阅读