1

I have built a console application in C# and would like to execute this application on a remote machine.

The debug folder of this project contains several other files apart from HelloWorld.exe

For example

  • HelloWorld.exe.config
  • HelloWorld.pdb
  • HelloWorld.vshost.exe
  • HelloWorld.vshost.exe.config
  • HelloWorld.vshost.exe.manifest

Do I need to copy ALL these files to a folder on remote machine? I think the pdb file is a debugger file which can be ignored? The two .config files are exactly the same.

4

3 回答 3

7

在您列出的文件中,您只需要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 等)中安装了多个版本的程序集。很可能这不是你的情况。

于 2013-09-10T20:48:24.520 回答
6

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

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

  • 如果您使用app.config,您还需要exe.config,不过我会感谢 Nikola 和 Bar 的答案

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

于 2013-09-10T20:46:15.557 回答
3

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

于 2013-09-10T20:49:12.760 回答