1

考虑这两个软件:MyGame.exeSocketTest.exe

MyGame.exe不依赖于任何文件来运行,但SocketTest.exe是一个实际的软件。仅当其他四个文件中的一个或多个与自身位于同一文件夹中时,它才能运行。这些文件是:metouia.jarSocketTest.batSocketTest.jarSocketTest.sh

我想使用 C# 在 Microsoft Visual Studio 中使用 Windows 窗体创建一个软件。它将有两个按钮:“Launch MyGame”和“Launch SocketTest”。

我转到解决方案资源管理器选项卡并右键单击我的.csproj文件以单击添加现有项目...,这样我就可以将MyGame.exeSocketTest.exe和其他四个文件添加到解决方案资源管理器中。

对于 6 个文件的文件属性,在“复制到输出目录”下,我选择“始终复制”。

对于Build Action,我不确定。我使用“无”。我的按钮仍然可以启动这两个 .exe 文件。

但是,如果我希望其他计算机能够使用我的软件启动这些 .exe 文件,尤其是依赖于其他文件的 .exe 文件,我不确定使用哪些设置。我已经阅读了构建操作描述(也在线),但仍然无法确定适合我情况的描述。

4

2 回答 2

0

你这样做的方式很好。几点注意事项:

  • 您可以使用“仅在较新时复制”而不是“始终复制”
  • 对于“添加现有项目...”,您可以下拉“添加”按钮并选择“添加链接”,而不是直接添加项目 - 这将使文件与源项目保持同步,以防它们被更新
  • 构建操作“无”是正确的。您不是在构建这些项目,只是将它们复制到您的输出文件夹。

无论您对项目做什么——发布、部署等——添加的项目都将保留在您的项目输出中。

祝你好运!

于 2018-07-13T04:30:46.023 回答
0

而不是在您的启动器中添加仅会产生噪音的人工制品。csproj方面,考虑使用构建事件

右键单击启动器的项目,选择Properties然后Build Events。在Post-build event 命令行中输入适当的复制命令,将二进制文件和工件从其他项目文件夹复制到启动器OutDir文件夹。

还有更多,您可能应该考虑制作安装程序。

于 2018-07-13T04:35:10.760 回答