2009-04-05 9 views
14

여기에있는 사람 중 누구든지 다음 중 하나 또는 다른 도구를 사용하여 vb6 코드를 .net 언어로 변환 했습니까?Visual Basic 6.0에 대한 변환 도구 비교

Artinsoft's upgrade companion (C#을로 변환하고 vb.net)를

vbmigration partner (vb.net으로 변환)

들이 어떻게 효과적이었다 당신이 어떤 크기 프로젝트를 변환 했습니까?

이후에 남은 일이 얼마나 남았습니까? 결과 .net 프로젝트에 얼마나 행복합니까? 지원 내용은 어떻습니까? 이런 도구를 사용하는 사용자를위한 어디서나 지원 포럼이 있습니까? 공급 업체 중 하나가 제공하는 것 같지 않습니다. 그들이 충전 했는가

는, 그들의 가격은 공개되지 않고 내가 언급 한 도구 중 하나를 사용하지 않은 모두 위의 예

답변

4

나는 이미 VB.NET에 VB6 마이그레이션 도구에 대한 question을 본 것 같아요.

이 두 Microsoft UK page 제품에 대한 특별 할인 가격을 게시했습니다. 물론 당신은 기본 제품의 한계와 시장이 현실적인 판단을 할 가격을 알고 있어야합니다, 그래서 당신은 아마 그들을 :(문의해야합니까

  • Artinsoft 50,000을위한 동반자 개발자 버전 £199 업그레이드 이제 코드의 10,000 라인까지 할 수있는 free version을 제공하는 코드입니다. 편집의 라인.
  • 코드 건축가의 Visual Basic의 마이그레이션 파트너 프로페셔널 에디션 £399. 그들은이 코드의 50,000 라인도 하더군요.

내장 된 Microsoft 업그레이드 마법사는 - according to the guy who wrote it입니다. 물론 그는 Artinsoft 출신이기 때문에 더 나은 것을 팔고 싶어합니다. Microsoft UK도 say Artinsoft 및 Code Architects 도구는 기본 제공 업그레이드 마법사보다 낫습니다.

EDIT : 코드 아키텍트에게 견적을 요청하면 매우 빠르게 응답했습니다. 이 스택 오버 플로우와 달리 question화난 해커 누가 더 나쁜 경험을했는지. 그러나 Francesco Balena가 Stack Overflow에서 12 시간 이내에 질문에 답변하기 위해 나섰습니다. 이것이 더 고무적입니다.

+0

가격이 내가 이전에 들었던 것보다 훨씬 싸다. 나는 VB 이주 파트너 전문에 대해 2,000 달러 이상의 인용문을 들었고 엔터프라이즈 에디션에 대해서는 훨씬 더 높았다. – kjack

+0

그들은 단지 – kjack

+0

이지만 "영국 시장을 위해"내가 말했듯이 영국에만 적용되는 것처럼 보인다. 나는 그들이 가격을주는 페이지에 연결했다. 프로 파트너 에디션보다 훨씬 많은 마이그레이션 파트너 엔터프라이즈 에디션에 대한 견적을 받았습니다. 정확한 수치를 나와 공유해야한다고 생각하지 않습니다. 단지 나에게 따옴표였습니다. – MarkJ

1

에 대해 서로 다른 소스에서 격렬하게 다른 가격 들었지만, 약간의 준비와, Visual Studio의 업그레이드 도구가 적합합니다.

먼저해야 할 일은 Microsoft에서 Visual Basic 6 Code Advisor을 얻는 것입니다. 프로젝트 마이그레이션을 준비하는 데 큰 도움이됩니다.

+0

감사합니다. vb6 코드 고문은 Excel을 필요로합니다. Excel의 사본이 너무 오래되었습니다. 지난 번에 보았을 때 너무 오래되었습니다. (지금은 괜찮을 것입니다.) – kjack

+0

Microsoft 도구는 쓴 사람에 따르면 불쌍합니다. 그것도 (물론 당신에게 뭔가 더 잘 팔길 원한다). http://www.devx.com/vb/Article/16822 그리고 Microsoft UK는 당신이 묻는 두 가지 도구가 마법사보다 우수하다고 말합니다. http://msdn.microsoft.com/en-gb/dd408373. – MarkJ

4

"updrading"VB6에서 .NET으로의 변경은 잘못된 것입니다. .NET에서 VB6 코드 만 있으면됩니다. 일반적으로 다른 클래스 모델을 사용하여 리팩토링/리 아키텍처로 훨씬 더 나은 결과를 얻을 수 있습니다. 예를 들어 단위 테스트 가능하도록 설계하는 것이 좋습니다. 또는 IoC를 사용합니다.

코드가 작동하기 만하면 (그리고 테스트 할 수 있다고 확신하는 경우), 문제가 없습니다.

개인적으로, 나는 더 수동 포트를 진지하게 고려할 것입니다. 그리고 난 많이 VB2000 코드의, 그래서 나는 고통을 알고있다.

우리가 직면 할 때마다 우리는 C#으로 간단히 다시 작성했습니다. 접근 방식으로 여러 번 그 자체가 입증되었습니다.

사실 저는 Brownfield Application Deveopment (Manning)을 권장합니다. 시작하기 전에 필요한 것들에 대한 가치있는 통찰력을 줄 수 있습니다.

Brownfield

+0

정말 난 .net에서 일할 것을 wnat. 다시 쓰는 것은 너무 오래 걸릴 것입니다. – kjack

+0

얼마나 큰 프로젝트를 다시 작성 했습니까? – kjack

+0

음, 원래 코드베이스는 VB6에서 수백 가지의 COM + dll이지만 적절한 수준의 구성 요소 격리가 있습니다. 우리는 필요에 따라 기능을 포팅했습니다. VB6 dll이 여전히 우울하지만 작동합니다 ... 지금은 ... –

3

문제는 변환 도구가 VB6 그래픽 명령이나 VB6 프린터 모델을 지원하지 않는다는 것입니다. ActiveX 컨트롤을 다룰 때 많은 문제가 발생합니다. 우리의 CAD/CAM 애플리케이션은 VB6 Form Engine과 원활하게 작동 할 수 있도록 많은 개조 도구가 UI에 내장되어 있기 때문에 변환 도구로 변환하지 않을 것입니다.

WinForm 엔진이 자체 조정이 필요하기 때문에 변환 도구가 실패합니다. 우리 소프트웨어가 도스에서 VB3로 옮겨 졌을 때도 똑같은 경험이있었습니다. 때로는 수동 변환을 대체 할 수없는 경우가 있습니다.

그렇게 말하면서 변환을 상당히 쉽게 할 수있는 일이 있습니다. 먼저 응용 프로그램이 레이어로 만들어 졌는지 확인하십시오. 이렇게하면 한 번에 하나의 레이어를 변환하고 테스트하고 계속할 수 있습니다. 또한 모든 단계에서 사용할 수있는 소프트웨어를 제공한다는 장점이 있습니다. 상단 (양식) 레이어에서 시작하여 내림차순으로 작업하는 것이 좋습니다.

VB6 중심이고 기본 중심이 아닌 것이 인터페이스 뒤에 있는지 확인하십시오. .NET이 처음 몇 년 전에 나왔을 때 저는 Canvas Interface를 만들고 VB6 그래픽 명령을 사용하여 구현했습니다. 나는 VB.NET에서 그래픽 객체를 사용하는 것을 제외하고는 동일한 Canvas 인터페이스를 사용합니다. 프린터에서도 마찬가지였습니다.

거의 모든 코드가 양식에서 호출 된 클래스로 이동되었습니다. 양식 자체는 UI 클래스가 사용하는 인터페이스를 구현합니다. .NET으로 전환했을 때 우리는 양식이 나머지 시스템 및 양식 변환과 어떻게 상호 작용하는지에 대한 정확한 정의를 얻었습니다.

이러한 모든 단계는 VB6에서 수행되고 우리의 정상적인 릴리스 Q & 프로세스를 거치게됩니다. 그 후에 우리는 회심을 시작했습니다.

+0

vbmigration 파트너는 1 년 미만 오래된 제품입니다. 당신은 전환 도구가 업그레이드 마법사 이상으로 확실하게 개선되었다고 생각합니다. – kjack

+0

ArtinSoft는 CAD/CAM 어플리케이션에 유용한 것을 추가하지 않은 것 같습니다. 그러나 vbmigration은 내가했던 것과 비슷한 접근법을 취한 것으로 보인다. 감사. –

+0

프린터 모델에 대해 언급했는데 VB.NET 파워 팩의 Printer Compatibility Library를 보았습니까? 프린터 객체 코드를 쉽게 업그레이드 할 수 있습니다. http://msdn.microsoft.com/en-us/vbasic/bb735936.aspx – MarkJ

0

작년에 vb 마이그레이션 파트너의 프로페셔널 버전으로 $ 2500가 인용되었습니다. 의견을 말하면서 사지 않았다.

5

나는 Code Architects의 총책임자이다. VB Migration Partner와 변환 도구에 대한 몇 가지 의견을 읽었으며 유용한 힌트를 추가 할 수있을 것이라고 생각했습니다.

먼저 우리의 변환 소프트웨어는 모든 VB6 그래픽 속성 및 메서드를 지원합니다 (단, DrawMode 및 ClipControls 제외). 우리는 AutoRedraw 속성과 사용자 정의 ScaleMode 좌표를 지원하기 때문에 CAD와 유사한 프로그램을 VB.NET으로 마이그레이션하는 것이 우리 소프트웨어의 범위에 있습니다. www.vbmigration.com의 코드 샘플 섹션에는 최소한의 노력으로 .NET으로 변환 된 그래픽 집약 VB6 응용 프로그램의 많은 예제가 포함되어 있습니다.

둘째, Google의 가격 구조를 명확히하겠습니다. 우리는 VB Migration Partner의 두 가지 버전을 판매합니다. Professional Edition은 VB6 앱을 최대로 변환 할 수 있습니다.Enterprise Edition에는 50,000 줄의 코드가 있지만 Enterprise Edition에는 크기 제한이 없으며 소스 코드 제어 소프트웨어와의 통합 및 원래 VB6 DLL과 이진 호환되는 .NET 구성 요소 생성과 같은 몇 가지 추가 고급 기능을 지원합니다. N 계층 COM 기반 응용 프로그램의 단계별 마이그레이션을 구현합니다.

Professional Edition의 가격은 399 파운드이며 2009 년 6 월 30 일까지는 Microsoft UK 마케팅 캠페인 중 영국에만 적용되며 최대 50K 줄 (LOC)의 응용 프로그램에 대해서는 특별 행사입니다. Enterprise Edition의 가격은 마이그레이션 할 라이센스 수 및 LOC 수를 비롯한 여러 요인에 따라 달라질 수 있습니다. 왜 다른 가격 견적을 볼 수 있는지 설명합니다. 또한, 최근 우리는 경제 상황에 대한 우리의 대답으로 정가를 약간 내렸다. 우리는 또한 주요 제품에서 몇 가지 기능을 꺼내 따로 따로 제공 할 계획이며, 이는보다 유연한 가격 구조로 이어질 것입니다.

25-50K LOC가있는 애플리케이션의 경우 일반적으로 수동 재 작성을 권장합니다. 실제로, 우리는 수백만이 아니라면 수십만 개의 LOC가있는 VB6 앱을 자주 찾는 엔터프라이즈 시장 분야에 중점을두고 있습니다. 이 경우 수작업으로 다시 작성하는 일은 거의 불가능합니다. 숙련 된 VB6/.NET 개발자가 너무 많거나 너무 오래 걸리거나 비용이 너무 많이들 것입니다. 우리는 최근 650K LOC가있는 응용 프로그램과 관련된 사례 연구를 발표했습니다. 우리 고객 중 한 명이 현재 약 1 천 5 백만 LOC의 괴물 앱을 이전 중입니다!

+0

안녕하세요 Eugenio 영국 이외 지역의 전문가 용 제품 가격은 얼마입니까? 감사합니다 – kjack

+0

오늘 전문가의 가격은 $ 1,500이지만 다음 달에 변경 될 수 있습니다. 새로운 주요 릴리스에 새로운 기능이 포함될 예정입니다. –

+0

감사합니다. Eugenio. 가격은 확실히 비싸지는 않지만 불행히도 MS와 같은 많은 사람들이 MS가 우리의 애플 리케이션을 지원하는 한 vb6로 고투 할만큼 충분히 비싸다. – kjack