您不应该部署bin\Release文件夹中的所有文件。vshost文件是用于在Visual Studio中进行调试的,它们不应该被部署。pdb文件是用于调试的,不需要被部署。如果您的应用程序不使用配置文件,则不需要部署它。但您可能需要部署任何其他程序集,可以使用ILMerge来解决。
话虽如此,我的建议是要么创建一个安装程序,要么创建一个自执行存档(zip或7z),而不是尝试使用ILMerge来部署任何第三方程序集与您的应用程序。
更新:
仅为明确起见,这里是默认WinForms应用程序的文件列表,我向其中添加了JSON.NET(发布版本):
Newtonsoft.Json.dll
Newtonsoft.Json.xml
WindowsFormsApplication1.exe
WindowsFormsApplication1.exe.config
WindowsFormsApplication1.pdb
WindowsFormsApplication1.vshost.exe
WindowsFormsApplication1.vshost.exe.config
WindowsFormsApplication1.vshost.exe.manifest
如果应用程序不使用配置文件,则您只需要部署Newtonsoft.Json.dll和WindowsFormsApplication1.exe两个文件。