2011-02-28 2 views
3

그래서 Windows Phone 7, Desktop 및 Monotouch 지원 장치에서 사용할 수있는 핵심 기능이있는 어셈블리를 만드는 방법을 알아 내려고합니다. MonoDevelop에서 어떻게 설정합니까?데스크톱, wp7 및 모노 터치와 호환되는 어셈블리 만들기

평소와 같이 어셈블리를 만드는 경우 모노 토치 프로젝트에 대한 참조로 추가 할 수 없지만 데스크탑이나 wp7 장치에 모노 터치 어셈블리를 추가 할 수 있습니까?

부탁드립니다. 한 사람이 Visual Studio에 앉아서 다른 사람이 단일 개발에 참여하는 크로스 플랫폼 개발을 시도한 적이 있습니까? 이 방법은 어떻게됩니까? 감사!

답변

1

내 솔루션은 공유 코드를 사용하여 일반 C# 클래스 라이브러리 프로젝트를 만드는 것이 었습니다. 그런 다음 모노 터치 클래스 라이브러리를 만들고 원래 클래스 라이브러리의 코드에 대한 링크를 추가하십시오. monodroid 프로젝트에 대해서도 동일합니다.

이렇게하면 한 프로젝트에서 .cs 파일을 업데이트하면 다른 프로젝트도 업데이트됩니다.

+0

나는 항상이 일을 잘 작동합니다. – tempy

1

다른 플랫폼의 프로젝트에서 링크 할 수있는 어셈블리에 직접 소스 코드를 컴파일 할 수 없습니다.

예를 들어 Monotouch 및 Monodroid에서 특히 이것은 AOT (ahead of time) 컴파일러를 사용하여 이진 출력을 생성하기 때문입니다.

따라서 모든 SDK는 사실 특정 플랫폼에 맞게 조정 된 "어셈블리"내에 링크되어 있습니다.

이렇게하려면 프로젝트를 소스 코드로 공유해야합니다. 소스 코드는 Windows에서 Mono를 사용하는 것과 같은 몇 가지 규칙을 따르면 플랫폼간에 잘 작동합니다.

+0

물론,하지만 MonoDevelop에서는 어떻게해야합니까? 여기에는 "소스 코드"프로젝트가 없습니다. 내가 원했던 것은 핵심 기능을 포함하는 프로젝트에 링크 할 수 있고 Monotouch 또는 Monodroid 등 무엇이든, 모노 터치 지원 프로젝트를 구축 할 때 이것을 컴파일하는 것입니다. –

+0

평소처럼 편집 참조를 사용하십시오 - 프로젝트를 열고 프로젝트 섹션의 참조를 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 참조 편집 ...을 선택하고 대화 상자에서 솔루션의 다른 프로젝트와 같은 적절한 참조를 선택하십시오 또는 외부 .NET 어셈블리 또는 코어 어셈블리 - 패키지. .NET 어셈블리를 선택하는 경우 빌드중인 프로젝트로 컴파일해야하며 프로젝트를 모노로 터치하면 모노 터치 참조 만 추가 할 수 있습니다. –

+0

Unfortunatly, MonoDevelop는 monotouch 프로젝트에 non-monotouch reference를 추가 할 수 없습니다 ... 모든 UI에 대해 "핵심"어셈블리를 원한다면 각각 동일한 코드로 별도의 라이브러리 프로젝트를 만들어야합니까? 이것이 내가 피하려고하는 것입니다 : S –

관련 문제