在Team Build中,自动构建使用VB6库的C#应用程序的最佳实践方法是什么? app和VbLib都在不断发展。
目前我有一个msbuild proj从命令行调用VB6,构建lib,lib的guid更改等等。然后我们手动生成一个interop(通过tlib),提交并引用c#解决方案中的interop。
我想在我的msbuild文件中自动化tlib位,目前我们认为有人在VB6 lib的vbp中关闭了二进制兼容性,而且当我们部署时interop似乎不起作用。我们甚至应该生成互操作吗?或者我们应该将vb lib二进制文件检查到源代码控制中(必须在构建服务器上构建后自动完成...)
任何想法或指示赞赏
答案 0 :(得分:2)
没有最好的做法。为了包含这些内容,您需要调用一堆命令行工具,这些可以使用自定义构建目标集成到MsBuild中。这些目标可以修正不断变化的事物。我试图在Team Build之外完全解决这个问题,并完全在MsBuild中解决,因为在解决方案中包含.proj文件会更容易影响构建过程。然后只需参考Team Build中的解决方案。
现有的VB6任务可以在这里调用VB6应用程序的编译:http://msbuildextensionpack.codeplex.com/
但这并不容易。确保VB6项目不会发生太大变化,或者让VB6项目人员在可能的情况下提供托管包装作为其发布的一部分可能要容易得多。