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

blu*_*nha 1 c# console-application

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

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

例如

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

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

Nik*_*vić 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等)中安装了许多版本的程序集.最有可能的情况并非如此.


tnw*_*tnw 6

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

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

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

你是正确的pdb文件是出于调试目的.

  • 如果你在那里配置了东西,也许是.exe.config (2认同)