2012-09-14 31 views
1

我有一個在使用ProcessProcessInfo類開頭的自定義.exe承載的WCF服務TFS 2010生成運行自定義工作流活動我們單元測試。啓動.exe含有過程從C#收益率不同的結果,運行.exe文件直接

當我的工作流程活動使用ProcessProcessInfo類運行自定義.exe時,它無效,我的單元測試無法通過。但是如果我直接在構建服務器上使用.bat文件啓動該過程,則所有測試都會通過。

在.Net中運行Process類的過程與使用.bat文件直接運行過程有什麼不同嗎?

+0

可能是不同的環境變量或不同的工作目錄?我對TFS瞭解不多,所以這只是一個猜測。 – Samuel

+0

誰在運行exe文件? ......我會讓它沉入一會兒。 –

+0

當進程從TFS構建運行時,它將在服務帳戶下運行,並且該服務帳戶是啓動承載WCF服務的自定義.exe的文件,但這種方式不起作用。當我直接登錄到構建服務器時,我使用相同的服務帳戶來運行.bat文件,該文件運行託管WCF服務的自定義.exe文件,並且每次都適用。 – pgoostree

回答

1

我弄清楚我做錯了什麼。當我運行我的.bat文件託管WCF服務的自定義.exe文件時,我明確執行了「cd」到自定義.exe的工作目錄。但在我的C#自定義工作流活動中,我沒有在ProcessInfo類型上設置工作目錄。一旦我這樣做,它完美的作品!感謝您的意見。

+0

完美,這可以幫助我! – NetZeroSaw