好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
如何使用C#在控制台应用程序中找到应用程序的路径? 关闭 返回上一级  

如何使用C#在控制台应用程序中找到应用程序的路径?
+ 查看更多

发布日期:2018-03-07 14:03
分类:C#
浏览次数:109
在Windows窗体中,我可以使用Application.StartupPath查找当前路径,但这在控制台应用程序中似乎不可用。

回答

如果你想要的是目录用System.Reflection.Assembly.GetExecutingAssembly().Location 与System.IO.Path.GetDirectoryName相结合
System.Reflection.Assembly.GetExecutingAssembly(),位置返回执行程序集当前所在的位置,当不执行程序集时,它可能是也可能不是程序集所在的位置。在影子复制组件的情况下,您将在临时目录中获取路径。 System.Reflection.Assembly.GetExecutingAssembly().CodeBase将返回程序集的“永久”路径。
另请注意,在 bitbonk observes时,GetExecutingAssembly返回包含当前正在执行的代码的程序集,这可能不一定是控制台.exe程序集。它可能是由控制台组件从完全不同的位置加载的组件。对于入口程序集,您需要GetEntryAssembly:
获取默认应用程序域中的进程可执行文件。在其他应用程序域中,这是由AppDomain.ExecuteAssembly执行的第一个可执行文件。 bitbonk还注意到,当程序集在GAC中时,CodeBase可能未设置,因此也应考虑AppDomain.CurrentDomain.BaseDirectory。
上一篇在C#中,解析命令行参数的最佳方式是什么?
C#中,如何计算两个日期之间的相差的天数?下一篇
下一篇C#中,如何计算两个日期之间的相差的天数?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号