在远程计算机上执行 C# 控制台应用程序

本文关键字:控制台 应用程序 执行 计算机 | 更新日期: 2023-09-27 18:30:48

我已经用 C# 构建了一个控制台应用程序,并希望在远程计算机上执行此应用程序。

此项目的调试文件夹包含除 HelloWorld 之外的其他几个文件.exe

例如

  • HelloWorld.exe.config
  • 你好世界.pdb
  • HelloWorld.vshost.exe
  • HelloWorld.vshost.exe.config
  • HelloWorld.vshost.exe.manifest

我需要将所有这些文件复制到远程计算机上的文件夹中吗?我认为 pdb 文件是一个可以忽略的调试器文件?这两个 .config 文件完全相同。

在远程计算机上执行 C# 控制台应用程序

在你列出的文件中,你只需要HelloWorld.exe,也许还有HelloWorld.exe.config(如果你使用的是存储在其中的配置)。

  • HelloWorld.exe.config - 应用程序的XML配置文件。此文件可能很重要。通过复制和重命名 app.config 文件以生成目标目录来创建文件。

  • HelloWorld.pdb - 调试符号。它们存储调试应用程序所需的信息,如行号等。应用程序将在没有它们的情况下正常运行,但在部署它们时也不错。例如,如果应用程序引发异常并崩溃,则在存在调试符号的情况下,将显示堆栈跟踪中的行号。

  • HelloWorld.vshost.exe - 这是Visual Studio使用的临时可执行文件,在调试模式下临时托管应用程序

  • HelloWorld.vshost.exe.config - 与第一个.config文件相同,但用于VS临时可执行文件

  • HelloWorld.vshost.exe.manifest - "描述和标识共享和私有并行应用程序应在运行时绑定到的程序集"。你也不需要这个,除非你依赖于程序集其中在 .NET 搜索位置中安装了多个版本(应用程序文件夹、GAC 等)。很可能情况并非如此给你的。

如果它只是一个控制台应用程序,则只需要可执行文件。然而:

  • 如果您有未嵌入的引用文件,则需要这些引用的文件

  • 如果你使用app.config,你还需要exe.config,我会相信尼古拉和巴尔的答案

您是正确的,pdb 文件用于调试目的。

如果应用程序需要 app.config 中的一些核心变量,那么你需要可执行文件exe.config,如果不仅仅是.exe