try:
System.IO.File.Delete(System.Reflection.Assembly.GetExecutingAssembly().Location)

解决方案 »

  1.   

    如果只是删除文件就用:System.IO.File.Delete
      

  2.   

    直接删除不可以,因为文件还在使用.用API: MoveFileEx可以删除自己,原理是在注册表中做一标记,系统重新启动时删除.具体函数的用法,参考MSDN:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/movefileex.asp
      

  3.   

    System.IO.File.Delete(System.Reflection.Assembly.GetExecutingAssembly().Location)
      

  4.   

    我有个建议:再写一个exe 置于temp 目录,然后由主程序在Main() 最后一句用ShellExecute 去启动它,由那个EXE 去删除本程序正统的方法我记得班兄有个回贴有讨论过,你可以搜索一下有比他上面更详细的回复