2009-04-08 13 views

답변

4

일반적으로 Microsoft.* 네임 스페이스의 항목을 사용하면 안되며 PInvoke (C#에서는 DllImport)가 아니며 UI도 문제가 될 수 있습니다.

모노 호환성에 대한 자세한 내용은 모노 가이드 Porting Winforms Applications에 나와 있습니다. 기존 응용 프로그램은 Migration Analyzer 도구를 사용하여 호환성을 확인할 수 있습니다.

UPDATE : PInvoke를 실제로 모노에서 작동하지만, 당신은 당신이 각 플랫폼 (즉 승리 API 가능성이 가장 높은 것입니다 하지 작업)에 대해 동일한 인터페이스를 기본 공유 라이브러리를 제공해야 크로스 플랫폼을 작동하도록합니다. 나는 그것이 모노로 가능하지만, WIN32 API 호출이 definitly 작동하지 않습니다 있는지 확실하지 않습니다

-2

)

+0

쓸모없는 답변입니다. –

0

그 때문에 당신은, 적어도, 시도 및 윈도우 폼을 사용하지 않도록 할 것 윈도우 네이티브 UI 위에 얇은 종이 레이어.

모노는 WINE의 도움을 받아 다소 에뮬레이트하지만, 나는 그것을 신뢰하지 않을 것입니다. 모노는 얼마 전에 이것을했지만 노력은 포기되었습니다. 자세한 내용은 WinForms on Mono을 참조하십시오. 감사합니다 jpobst.

크로스 플랫폼 지원을 위해 GTK # 또는 Qt # (비록 실제로 후자가 실제로 존재하는지 모르겠지만)를 사용해보십시오. C# 대신 SWT 또는 Swing으로 Java를 사용하는 것도 고려해 볼 수 있지만, 고려해야 할 옵션은 아닐 것입니다.

P/Invoke와 관련된 모든 것을 사용하는 것은 나쁜 생각 일 수 있습니다. 그 이유는 아마도 이식 할 수없는 원시 코드를 호출하기 때문입니다. 직접 작성하지 않으면 휴대용이되도록 선택할 수 있습니다.

+0

어떻게 GTK 또는 QT 용 MSVS에서 GUI를 만들 수 있습니까? –

+0

이 자습서를 살펴보면 시작할 수 있습니다. http://mono-project.com/GtkSharpBeginnersGuide .NET에서 Qt를 사용하는 방법은 좀 더 복잡하지만 여기서는 연습을보실 수 있습니다 : http : //doc.trolltech. com/4.2/activeqt-dotnet.html –

+0

포도주를 사용하는 모노가 잘못되었습니다. Mono의 WinForms 구현은 System.Drawing을 사용하여 모든 컨트롤을 그려 관리합니다. – jpobst

4

모노의 Application Portability 가이드는 좋은 참고입니다. 또한

"모노 마이그레이션 분석기 (모마) 도구를 사용하면 모노로 .NET 응용 프로그램을 포팅 할 때 당신이 가진 수있는 문제를 식별하는 데 도움이,"나는 계속 것 :

1

디보의 권고 사항에 추가하여, 나는 Mono Migration Analyzer (MoMA) tool 추천 눈은 Miguel de Icaza's blog이고, Mono Project website입니다.

이번 달 Boston.NET Users Group의 프리젠 테이션에서 그는 VM을 사용하여 Mono에서 앱을 시작하는 Visual Studio 플러그인 미리보기를 보여 줬습니다! 이를 통해 개발 프로세스 중에 호환성을 테스트 할 수 있습니다.

나는 그들의 목표가 TechEd 2009에서 발표 된 것이므로 다음 달에 업데이트를 찾아야한다고 생각합니다.