要为 .Net Core 控制台应用程序发布复制什么?

What to copy for a .Net Core console application publish?

我有一个非常简单的 .NET 核心控制台应用程序,我想将其发布到一个独立的可执行文件中。我的应用程序使用 Microsoft.Extensions.Configuration.Json 包,因此我可以使用 appsettings.json 文件。

从命令行,在 .csproj 文件夹中,我 运行

dotnet publish --self-contained true -r win-x64

。在我的调试文件夹中,我看到一个 netcoreapp2.1 文件夹,然后是 win-x64 文件夹。在该文件夹中,我看到以下内容:

publish -> folder
myapp.deps.json
myapp.dll
myapp.exe
myapp.pdb
myapp.runtimeconfig.dev.json
myapp.runtimeconfig.json
appsettings.json
hostfxr.dll
hostpolicy.dll

我应该只复制此目录中的文件,还是必须将整个发布文件夹连同文件一起复制到 Windows 服务器上的目标位置?或者我是否错过了进一步压缩这些项目的开关,以便从服务器到服务器的移动更加简单?

仅从 win-x64 目录复制文件是不够的。我需要从该目录复制整个发布文件夹和 运行 应用程序,否则会出现诸如无法找到依赖项之类的错误消息。