“系统无法找到指定的文件”错误从VB.NET运行Ant

时间:2016-12-21 18:17:00

标签: vb.net visual-studio visual-studio-2010 ant

我正在尝试通过VB项目使用Apache Ant运行Python应用程序word2html。以下代码调用了可执行文件。

//in loop
If (Not ExecuteProgram("ant", "word2html", True)) Then
            Throw New System.Exception("couldn't run word2html")
        End If

//executeprogram function
Public Function ExecuteProgram(ByVal ExeLoc As String, ByVal ExeArgs As String, ByVal bSynch As Boolean) As Boolean
    'The exefile location is passed in along with a boolean value of whether to 
    'execute the file syncronously or asynchronously
    Try
        Dim MyInstance As New System.Diagnostics.Process
        Dim si As New ProcessStartInfo(ExeLoc, ExeArgs)
        MyInstance.StartInfo = si
        MyInstance.Start()
        If bSynch Then
            'run synch
            MyInstance.WaitForExit()
        End If
        Return True
    Catch ex As Exception
        MsgBox(ex.ToString)
        Return False
    End Try
End Function

代码在几周前成功运行,但现在失败了以下error message

  

System.ComponentModel.Win32Exception(0x80004005):系统找不到指定的文件

     

在System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)

     

在ConsoleApplication1.Hello.ExecuteProgram(String ExeLoc,String ExeArgs,Boolean bSynch)

     

在   C:\ Users \用户shwang \桌面\ SVN \干线\ DATA \ data_loading \脚本\ data_sheet   _scripts \ Pipeline \ ProcessDatasheetPipeline \ Module1.vb:第349行

当我从ant word2html窗口运行cmd时,它会成功运行。

我怀疑这是我的工作环境发生了变化我检查了ANT_HOMEJAVA_HOME变量是否正确并包含在PATH环境变量中。我应该检查哪些其他依赖项?我目前正在使用Microsoft VB 2010 Express作为我的IDE。

1 个答案:

答案 0 :(得分:0)

ant实际上是批处理脚本,而不是可执行文件。这就是为什么错误信息是"系统无法找到指定的文件"。 Windows找不到名为ant的可执行文件。

您可以使用cmd.exe及其/c选项来运行批处理脚本:

If (Not ExecuteProgram("cmd.exe", "/c ant word2html", True)) Then