对c#不熟,有这种语法吗,@fn

解决方案 »

  1.   

    可以先用一个exe文件运行,调试看你的代码有问题没。也可能是你的dll中病毒了。
      

  2.   

    很简单的测试把后面+"..."的内容去掉,把@去掉然后运行就判断是否正常
    Process.Start(Environment.CurrentDirectory)
      

  3.   

    你被楼上误导了,我可以保证我是调试过的,而且fn得到的地址也是绝对正确的。我真的没有被误导,而且我就知道人家回复的你也没有听进去。你试试看   Environment.CurrentDirectory + "AdbeRdr11000_zh_CN11.0.0.379.1410747856" 这个东西返回什么值?
      

  4.   

    你太不仔细了,以前考试时经常因为仅仅把个别符号写错了而整体扣分吧?!关键是,你要有基本的一个常识,Process.Start() 如果因为你才发现了这样的 bug,那根本就是幻想啊。基于这个常识,你就应该在调试时仔细地辨认一下变量值!
      

  5.   

     Environment.CurrentDirectory + "\\AdbeRdr11000_zh_CN11.0.0.379.1410747856"
     Environment.CurrentDirectory  获取或设置当前工作目录的完全限定路径。
    如果你要启动程序目录下的 AdbeRdr11000_zh_CN11.0.0.379.1410747856你就要在\\
     Environment.CurrentDirectory + "\\AdbeRdr11000_zh_CN11.0.0.379.1410747856" 
      

  6.   

    可执行文件应该是以.exe结尾的吧,我怎么没看到?
      

  7.   

    这错误太多了,无力吐槽啊
    你只要断点调试,看fn到底是什么,就一目了然了
    遇到问题光靠猜哪行1.@fn这样的用法,根本就是扯淡的用法
    2.看看Environment.CurrentDirectory这个路径后面到底有没有\\,没有要加上
    3.文件名后面不跟扩展名,系统知道你到底想执行哪个文件??
      

  8.   

    Process.Start启动的是一个具体的文件,AdbeRdr11000_zh_CN11.0.0.379.1410747856.exe
      

  9.   

    你的字符串类型fn打印一下,看看是什么结果,如果该结果,可以在程序目录路径下用cmd运行的,用Process肯定能跑起来,如果是WIN7\WIN8要注意运行权限...
      

  10.   

    你可以先用MessageBox.Show(Environment.CurrentDirectory) 你会发现直接运行程序和IDE Debug显示的值不一样,还有路径获取是X:\ADIR 不是X:\ADIR\,所以连接的该加\\,还有如果获取程序所在目录,建议直接获取程序所在目录,然后截取。