1

我一直在使用Visual Studio的預生成事件解釋預構建的錯誤代碼,我發現了錯誤代碼,而無益的如何從Visual Studio 2010

例如,添加一個預生成事件是這樣的:

$(ProjectPath)\ DoStuff.exe

這給了我一個錯誤:退出,代碼爲267

或添加這樣的:

$(幻燈ctDir)\ DoStuff.exe

這給了我一個錯誤:用代碼9009

退出有點戳它可能找出需要改變,以獲得命令行工作什麼的之後,但它如果我能查找錯誤代碼並查看它的含義,可能會簡單得多。

我已經嘗試谷歌與這些錯誤代碼中的一些,但有些真的很難找到任何有關的信息 - 例如267似乎相當難以捉摸。

是否有列表定義所有這些錯誤代碼?

:)

回答

1

避免射擊信使。與DoStuff.exe的所有者交談,詢問這些過程退出代碼的含義。

如果您有理由相信DoStuff有問題並且沒有正確設置退出代碼,那麼您可以通過重置%errorlevel%值來解決此問題。使它看起來是這樣的:在SDK的WinError.h中文件中聲明

dostuff.exe 
cmd /c "" 

你看到的錯誤代碼可能是Windows錯誤代碼。錯誤267是ERROR_DIRECTORY,「目錄名稱無效」。錯誤9009是DNS_ERROR_RCODE_NOTAUTH,「DNS服務器對區域不具有權威性」。

+0

嗨 - 感謝您的回覆:) 我的調查表明,這些錯誤是無關的exe或bat文件,我試圖調用 - 在這兩種情況下的錯誤是路徑DoStuff。 exe出來不正確。 使用$(ProjectPath)\ DoStuff.exe將導致:c:\ myfolder \ myProject.projDostuff.exe 而第二個失敗如果路徑中有空格。這些返回代碼都不能來自DoStuff.exe,因爲它永遠不會被找到。 (這可以通過從文件夾中刪除DoStuff.exe來測試;返回相同的錯誤) –

+0

是的,它應該是$(ProjectDir),不知道DoStuff.exe可能消失之前的\以及爲什麼擴展是.proj。嵌入空間的路徑需要用雙引號括起來,「$(ProjectDir)DoStuff.exe」(不需要反斜槓)。 –

+0

啊 - 也許dostuff之前並沒有消失 - 這可能是我在重新講述中犯了一個錯字!我查了一下windows的錯誤代碼,發現了9009,我認爲我錯了,因爲DNS錯誤似乎與手頭的情況沒有任何關係。 267代碼看起來很明智。 [WinError.h上的MS文檔](http://msdn.microsoft.com/en-us/library/ms819773.aspx)該命令爲什麼會導致DNS_ERROR_RCODE_NOTAUTH錯誤的任何想法? –