日期:2014-05-17  浏览次数:21344 次

C#获取项目可执行文件的相对路径
各位做C#开发的朋友都知道获取项目可执行文件包含文件名的相对路径代码是:Application.ExecutablePath;
可是如今我碰到了一种问题则这句代码却不能给我满意的结果,情况如下:
1.新建解决方案给其添加两个Windows窗体应用程序,分别命名为A和B,A对B添加了项目引用
2.B项目中的X窗体中有如下代码string path=Application.ExecutablePath;
3.将A设置为启动项目,并在A项目的主窗体加载事件中调用B项目的X窗体.
现在情况是这样的,如果将B设置为启动项目那么这句代码得到的结果是我想要的,如果将A设置为启动项目则得到
的结果却不是我想要的,请问各位大虾有什么办法可以让我在这种情况下依然可以得到B项目中可执行文件的路径.

小弟分不够只有这么一点,望请谅解!
C#获取相对路径 Winfrom获取相对路径 C#获取可执行文件的相对路径 Winfrom获取可执行文件的相对路径

------解决方案--------------------
当前窗体执行路径的根目录就是A的根目录,B会生成在A的Debug下

------解决方案--------------------
我明白楼主讲的了.大概意思是.两个文件.1.EXE,2.EXE.
无论2.EXE变成什么东西.是鬼都好.只要后缀不变MLGB.EXE.
然后1.EXE照样能搞用执行2.EXE.

个人感觉.理论是无法操作的,原因是所有的文件都是以文件名和类型来区分的.你要在什么都不知道的情况下都调用它.那它是什么东西.是谁呀.

解决的个人想法.在2.EXE中放一段自己知道的代码.如果 1234567890MLGB .生成2.EXE.
在1.EXE调用2.EXE的时候.直接使用二进制读取文件.提取 123456789MLGB 这个字符串.如果成功就是2.EXE.然后执行.否则BYE .路径的话.最好自己都知道大概位置.不然你在1.EXE中把整块硬扫描一下就可以了.