我从我的C#Windows窗体应用程序中获取了一些代码,该应用程序使用Application对象获取启动路径并尝试在控制台应用程序中使用它。当我这样做时,编译器显示以下错误消息 - “当前上下文中不存在名称'Applicaiton'。做了一些研究并发现Application对象在System.Windows.Forms命名空间中。所以,我添加了一个参考这个没有明显的效果。然后,尝试使用System.Windows.Forms添加到文件的顶部并得到一个新的错误消息 - “类型或命名空间名称'Windows'在命名空间'System'中不存在(你错过了一个程序集引用吗?)。“有人能说明如何从控制台应用程序访问Application对象吗?
答案 0 :(得分:6)
System.Reflection.Assembly.GetExecutingAssembly()。位置
此外,在需要的目录中,将调用包装在System.IO.Path.GetDirectory()
中答案 1 :(得分:2)
应用程序不适用于控制台应用程序,它适用于Windows窗体。 你可以使用
Assembly.GetExecutingAssembly().CodeBase
答案 2 :(得分:0)
您需要添加对System.Windows.Forms的引用(右键单击References和'Add Reference ...')并添加
位于文件顶部的using System.Windows.Forms
。
它对我有用。
答案 3 :(得分:0)
Denis Biondic提供的方法是获得控制台应用程序的正确方法。但是在回答您的问题时,如果您在应用程序的引用中添加了对System.Windows的引用,则可以这样做。当您选择控制台应用程序模板时,默认情况下不包含该引用,因此如果您需要来自该命名空间的成员,则必须添加对该DLL的引用。