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

时间:2013-09-10 20:44:47

标签: c# console-application

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

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

例如

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

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

3 个答案:

答案 0 :(得分: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 - "Describes and identifies the shared and private side-by-side assemblies that an application should bind to at run time"。您 也不需要这个,除非你有对程序集的依赖 您在.NET搜索位置安装了许多版本 (应用程序文件夹,GAC等)。最可能的情况并非如此 对你而言。

答案 1 :(得分:6)

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

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

  • 如果您使用app.config,您还需要exe.config,我会相信Nikola和Bar的答案,但

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

答案 2 :(得分:3)

如果应用程序在app.config中需要一些硬核变量,则需要可执行文件 exe.config ,如果不仅仅是.exe