如何从控制台应用程序访问应用程序对象

本文关键字:应用程序 访问 对象 控制台 | 更新日期: 2023-09-27 17:58:55

我从C#Windows窗体应用程序中获取了一些代码,该应用程序使用Application对象来获取启动路径,并尝试在控制台应用程序中使用它。当我这样做的时候,编译器显示以下错误消息-"名称‘Application’在当前上下文中不存在。进行了一些研究,发现Application对象在System.Windows.Forms命名空间中。因此,我添加了对此的引用,但没有明显效果。然后,尝试使用System.Windows.Form添加到文件顶部,得到了一个新的错误消息-"类型或命名空间名称命名空间"System"中不存在"Windows"(是否缺少程序集引用?)。"有人能告诉我们如何从控制台应用程序访问应用程序对象吗?

如何从控制台应用程序访问应用程序对象

System.Reflection.Assembly.GetExecutingAssembly().Location

此外,对于所需的目录,将调用包装在System.IO.Path.GetDirectory()中

应用程序不适用于控制台应用程序,它适用于windows窗体。你可以使用

Assembly.GetExecutingAssembly().CodeBase

您需要添加对System.Windows.Forms的引用(右键单击"引用"answers"添加引用…"),然后添加位于文件顶部的using System.Windows.Forms。它对我有效。

Denis Biondic提供的metod是控制台应用程序的正确方法。但在回答你的问题时,如果你在应用程序的引用中添加了对System.Windows的引用,你可以这样做。当您选择控制台应用程序模板时,默认情况下不包括该引用,因此如果您需要来自该命名空间的成员,则必须添加对dll的引用。