programing

Mac OS X에서 C#/WPF 애플리케이션을 실행할 수 있습니까?

newnotes 2023. 4. 20. 22:40
반응형

Mac OS X에서 C#/WPF 애플리케이션을 실행할 수 있습니까?

C#/WPF 어플리케이션(현재는 .net 3.0을 타겟으로 하고 있습니다)을 판매하고 있는데, Mac 버전을 계속 요구하고 있습니다.

어플리케이션은 GUI가 뛰어난 타임 트래킹 어플리케이션입니다.타임 트래킹 어플리케이션에는 비즈니스 로직이 별로 없기 때문에 대부분의 어플리케이션이 GUI입니다.GUI를 다시 쓰는 것만으로 어플리케이션 전체를 다시 쓰는 것과 같습니다.

응용 프로그램을 다시 작성하거나 두 개의 다른 코드 베이스를 유지할 리소스가 없기 때문에 Mac에서 동일한 코드를 실행할 수 있는 방법이 필요합니다(코드 디버깅 및 수정이 필요하다는 것은 알고 있습니다.즉, 1개의 코드 베이스를 지원할 수 있다는 것입니다).프로젝트를 다른 Mac 프로젝트와 Windows 프로젝트로 분할할 수 없습니다. 다만 두 프로젝트를 수행할 시간이 없습니다.)

애플리케이션을 크로스 플랫폼 UI 라이브러리, 다른 프로그래밍 언어 또는 Silverlight로 이식하는 것은 모두 관련이 없습니다.시간이 너무 많이 걸리고 이번에 새로운 기능에 투자함으로써 더 많은 매출을 올릴 수 있을 것 같습니다.

C#/WPF를 실행하거나 Mac에 포트할 수 있는 도구를 알고 있는 사람이 있습니까?

Mac에서는 본격적인 WPF 앱을 실행할 수 있는 방법이 전혀 없습니다.나는 심지어 이것이 Parallels에서 가능한지조차 확신할 수 없다.Silverlight를 사용하는 것이 가장 좋습니다.Silverlight는 이전에 "WPF/E"로 명명되어 Macintosh에서 실행됩니다.

우리도 비슷한 문제가 있었어.Mac 버전은 Silverlight 3으로 작성했습니다(WPF의 상당 부분을 지원합니다).NET의 정보).샌드박스로 되어있지만 이게 문제가 되지 않는다면 당신은 좋은 일을 할 수 있어요.코드베이스는 현재 WPF와 Silverlight 3에 있으며 컴파일 시 SL3와 데스크톱 앱이 생성됩니다.

우리는 비슷한 상황에 처해 있었다.우리는 Windows 프로젝트를 진행 중이었고 Mac 버전을 원했습니다.

저희 제품은 두 부분으로 나누어져 있었습니다.하나는 a입니다.넷 어플리케이션, 다른 하나는 Director 프로젝터 어플리케이션.

Director 앱은 간단해야겠죠?플랫폼을 넘나들면서?아니요, 그렇게 쉬운 경우는 거의 없어요.Director 소스 파일의 버전이 2개가 되었습니다.

를 입수하다.넷앱을 실행하려면 기본 엔진에 Mono를 사용해야 했습니다. 이는 숫자 계산 바이트 어레이에 불과했기 때문에 잘 작동했습니다.반면 UI는 코코아로 다시 써야 했습니다.Windows 버전을 만드는 것만큼 비용이 많이 들었고, Mac에 관한 모든 것도 배워야 했습니다.

그 이후로 Windows 버전만 업데이트했습니다.

Parallels를 사용할 수 있습니다.저희 사무실 소프트웨어는 C#과 WPF로 작성되어 있으며 Mac에서 Parallels로 항상 사용하고 있습니다.

또한 Parallels를 사용하면 Mac 데스크톱의 자체 창에 표시되는 Mac OSX 응용 프로그램과 나란히 Windows 응용 프로그램을 실행할 수 있습니다.또한 Mac과 Windows 앱 간의 복사 및 붙여넣기 및 드래그 앤 드롭이 가능합니다.

새로운 기능(전혀 다른 플랫폼 지원)이 필요하지만, 거기에 힘을 들이고 싶지 않습니다.죄송합니다, 대부분의 경우 작동하지 않습니다.

가장 기본적인 것(네이티브) 외에.모노를 사용하는 NET은 MacOSX에서 WPF 애플리케이션을 네이티브로 실행할 수 없다고 생각합니다.

Mac 사용자를 획득하여 더 많은 돈을 벌 수 있다고 생각한다면.다른 프레젠테이션 방법을 사용하는 것을 고려할 수 있습니다.당신의 현재 '투자' 때문에 Silverlight를 사용해 보는 것이 좋을 것 같습니다(네, 그렇게 하지 않는 것에 대한 당신의 고함을 읽었습니다).다른 옵션은 Adobe AIR / Flex 입니다.

이 방법으로 애플리케이션을 포팅하는 경우.단일 코드베이스를 유지할 수 있습니다.두 플랫폼에서 모두 동작합니다.

현재 코드베이스의 새로운 기능에 더 많은 시간을 할애하려면: Mac 사용자를 무시하십시오.

Nevron Open Vision을 사용해 볼 수 있습니다.WPF, WinForms, Silverlight 및 MonoMac, Xamarin과 통합됩니다.Mac 프로젝트이는 Mac에서 WPF 애플리케이션을 실행하는 것과는 달리 NOV 플랫폼에서 애플리케이션을 재코딩해야 합니다.단, 이 경우 어플리케이션(또는 모듈)은 단일 코드베이스에서 이들 모든 플랫폼에서 실행됩니다.이 접근방식의 좋은 예로는 Nevron Writer(Nevron Office의 일부)가 있습니다.Windows, Silverlight 및 Mac에서 100% 단일 코드 기반으로 실행됩니다.

[공개 : 나는 네브론에서 일한다]

그것은 할 수 없다.그러나 UI가 WPF에 있기 때문에 XAML을 GTK#같은 다른 것으로 변환할 수 있습니다.물론 저처럼 많이 쓰시면요.NET 3.5 의 기능은, 큰 도움이 되지 않습니다.

우선 UI를 단순하고 단순한 XML로 유지해야 하는 이유가 하나 더 있습니다.

사실, 크로스오버가 있어요프로그래머의 관점에서 대답하는 다른 사람들.저라면 CrossOver를 설치한 후 설치합니다.NET 3.5를 CrossOver에 삽입하여 WPF 소프트웨어를 정상적으로 실행합니다.

http://www.codeweavers.com/products/cxmac/

또는 무료(하지만 더 어려운) 솔루션을 선호한다면 와인을 시도해 보십시오.

http://davidbaumgold.com/tutorials/wine-mac/

또 다른 상용 솔루션은 Noesis입니다.GUI(연간 총수입 10만 미만일 경우 무료).WPF/XAML 기반의 크로스 플랫폼 UI 프레임워크입니다.WPF로부터의 이행에 관한 가이드가 있습니다.

WPF에서도 같은 문제가 발생하여 보다 심플하고 안전한 솔루션을 찾았습니다.Unity를 사용하여 MacOS, Windows 등에서 동작하는 C# UI 인터페이스를 만들었습니다.다음은 제가 만든 기본적인 튜토리얼입니다.https://medium.com/@A51/how-to-easy-develope-a-c-ui-app that-works-on-mac-and-windows-8eaf32ea0ed6.제가 할 수 있는 어떤 질문이라도 기꺼이 도와드리겠습니다.

언급URL : https://stackoverflow.com/questions/580970/can-we-run-a-c-wpf-application-on-mac-os-x

반응형