2012-11-18 17 views
2

在Team Build中,自動構建使用VB6庫的C#應用​​程序的最佳實踐方式是什麼?應用程序和VbLib都在不斷髮展。在Team Build中,自動構建使用VB6庫的C#應用​​程序的最佳實踐方式是什麼?

目前我有一個從命令行調用VB6的msbuild proj,構建lib,lib的guid更改等,然後我們手動生成一個interop(通過tlib),提交併參考c#解決方案中的interop 。

我想自動化我的msbuild文件中的tlib位,此刻我們認爲有人關閉了VB6 lib的vbp中的二進制兼容性,並且此時interop在部署時似乎不起作用。我們是否應該生成互操作?或者我們應該檢查VB的lib二進制到源代碼控制(這必須建立在構建服務器後自動完成...)

任何想法或指針讚賞

cross post to msdn

回答

2

有ISN真的不是最佳做法。爲了包含這些東西,您需要調用一堆命令行utils,這些可以使用自定義構建目標集成到MsBuild中。這些目標可以修改不斷變化的事情。我試圖完全在Team Build以外完全解決這個問題,並且完全在MsBuild內部解決這個問題,因爲在解決方案中包含.proj文件影響構建過程要容易得多。然後參考Team Build的解決方案。

有跡象表明,可以在這裏打電話給你的VB6應用程序的編譯現有VB6任務:http://msbuildextensionpack.codeplex.com/

這不是一件容易的事,但。如果可能的話,確保VB6項目不會發生變化,或者讓VB6項目人員提供託管包裝作爲發佈的一部分,可能會容易得多。

+0

謝謝,我在我的解決方案中包含了.proj。我想託管包裝將基本上是它的iterop? – timB33

+0

是的託管包裝將互操作。或者將interop加上一些類來使它在C#中更好地工作。我想知道爲什麼你現在仍然在爲VB6投資。用另一種方式使用Com Interop並使用.NET擴展VB6應用程序用於新功能開發會不會更有意義?我儘量儘量少用VB6代碼:D – jessehouwing

+0

它確實有道理!以至於我們這樣做了,然後有人決定將WPF前端放在它上面,並讓VB6表單停靠在新的WPF應用程序中;所以現在我們得到了:wpfApp-> vb6lib->彙編 - > win32libs。嘿嘿。感謝您的輸入 – timB33

相關問題