如何从解决方案中的另一个项目获取可执行文件的名称?

发布于 2024-12-06 16:50:48 字数 338 浏览 0 评论 0原文

我正在尝试从另一个可执行文件调用一个可执行文件。每个可执行文件均由其自己的项目编译,并且两个项目位于同一解决方案中。我发现这个问题,但这仅指可执行文件的路径。我正在寻找一种以编程方式检索可执行文件名称的方法。我已经将“项目 2”包含在“项目 1”中,因此我知道当我运行“项目 1”时,“项目 2”中的可执行文件将在那里,因此位置不是问题;只有可执行文件的名称。有谁知道是否/如何可以做到这一点?

谢谢。

I am trying to call one executable from another. Each executable is compiled by its own project and both projects are in the same solution. I found this question, but that only refers to the path of the executable. I'm looking for a way to programmatically retrieve the name of the executable. I have already included 'Project 2' in 'Project 1' so I know that when I run 'Project 1' that the executable from 'Project 2' will be there, so the location isn't an issue; only the name of the executable is. Does anyone know if/how this can be done?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟酒忠诚 2024-12-13 16:50:48

在运行时,不再有任何解决方案、项目、Visual Studio 之类的概念。在运行时,您有一个文件系统、文件、内部文件夹、可执行文件。例如,如果您有一个位于 c:\foo\bin\Debug\foo.exe 中的可执行文件,尝试读取 c:\bar\bin\Debug\bar.txt 中的文件 您必须指定该文件的绝对路径。不要用 Visual Studio 项目来思考。考虑一下将可执行文件发送到目标计算机后将如何组织它们。基本上有两种可能性:

  • 使​​用绝对路径来引用文件 (c:\bar\bin\Debug\bar.txt)
  • 使用相对路径(相对于可执行文件的当前路径) ) 引用文件 (..\..\..\bar\bin\Debug\bar.txt)

At runtime there is no longer any notion of solutions and projects and Visual Studio and stuff. At runtime you have a file system, files, inside folders, executables. So for example if you have an executable located in c:\foo\bin\Debug\foo.exe trying to read a file in c:\bar\bin\Debug\bar.txt you have to specify the absolute path to this file. Don't think in terms of Visual Studio projects. Think in terms of how your executables will be organized once you ship them to the target computer. You basically have 2 possibilities:

  • Use an absolute path to refer to a file (c:\bar\bin\Debug\bar.txt)
  • Use a relative path (in relation to the current path of the executable) to refer to a file (..\..\..\bar\bin\Debug\bar.txt)
记忆之渊 2024-12-13 16:50:48

作为一些额外的参考,项目通常会生成可执行文件 (.exe) 或程序集 (*.dll),通常可以在该项目的 bin\Debug 文件夹中找到它们。该名称来自项目属性中“应用程序”选项卡下的程序集名称(至少在 VS2010 中)。无法直接启动的项目将生成 *.dll 文件,控制台或 winforms 应用程序应生成 *.exe。

至于以编程方式查找程序集名称,这可能会有所帮助:
System.Reflection.AssemblyName.Name 属性

这也可能有帮助:
如何获取.Net 中给定类型的程序集 (System.Reflection.Assembly)

For a bit of extra reference, a project will usually yield an executable (.exe) or assembly (*.dll) which is usually found in the bin\Debug folder for that project. The name comes from the Assembly name found under the Application tab in the project's properties (in VS2010 at least). Projects that can't be directly started will yield a *.dll file, console or winforms application should yield and *.exe.

As for programmatically finding the assembly name, this may be helpful:
System.Reflection.AssemblyName.Name property

This may also be helpful:
How to get the assembly (System.Reflection.Assembly) for a given type in .Net

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文