2

Windows Phone 응용 프로그램을 Metro로 이식하는 데는 많은 내용이있을 것입니다.하지만 처음부터 시작하여 두 플랫폼 모두에서 실행되는 응용 프로그램을 작성하려면 어떻게해야합니까?Windows 8 Metro 및 Windows Phone 용 프로젝트/솔루션을 설정하는 가장 좋은 방법은 무엇입니까?

내가 알고 있듯이 Windows Phone dev는 Win7에서 VS2010을 사용하지만 Metro 개발자는 Win8에서 VS2012 RC가 필요합니다. 동시에 둘 다 작업 할 수있는 방법이 있습니까? Windows Phone SDK가 Windows 8의 VS2012에서 정상적으로 실행됩니까?

하나의 솔루션에서 두 앱 (및 공유 코드 용 별도 프로젝트 - 휴대용 클래스 라이브러리)을 사용할 수 있습니까?

답변

2

본인 스스로 할 수있는 환경이 없기 때문에 인터넷 연구를 기반으로 한 부분적인 답변과 내 관련 경험에 대한 경험이 적절할 것입니다.

this and other sources에 따르면 VS2012 RC는 현재 Windows Phone SDK (VS2010이 계속 필요함)와 함께 사용할 수 없습니다. 예외는 (언급 한대로) Portable Class Libraries이며 Windows Phone 7+과 호환되는 라이브러리를 만들 수있는 것 같습니다. 그러나 이들을 사용하려면 실제 WP7 응용 프로그램에서 VS2010의 적절한 WP 프로젝트에서 참조해야합니다. 따라서 PCL만으로는 충분하지 않고 VS6012만으로는 옵션이 될 수 없습니다.

그러나이 이야기에 관심이있을 수 있으며 도움이 될만한 자료가 몇 가지 더 있습니다.

첫 번째는 VS2012가 solution and project backward compatibility 인 것입니다. VS 솔루션은 사용중인 VS 버전에서로드 할 수없는 경우에도 프로젝트를 포함 할 수 있습니다. 즉, VS2012 Metro 프로젝트와 VS2010 WP7 프로젝트가 동시에 포함될 솔루션을 구성 할 수 있습니다. 두 경우 모두, 사용중인 도구의 버전에 따라 프로젝트가로드되지 않습니다.

이 코드가 여전히 유용한 이유는 휴대용 클래스 라이브러리가 아니더라도 코드베이스가 정상적으로 호환되지 않는 프로젝트 유형으로 컴파일되도록 코드를 공유하는 프로젝트를 만들 수 있기 때문입니다.

작동 방식은 프로젝트와 독립적으로 또는 지정된 유형의 프로젝트를 기준으로 코드 파일을 만든 다음 코드 파일을 다른 프로젝트로 연결하는 것입니다. 이 경우 두 버전 모두이 프로젝트를 열 수 있으므로 VS2010 WPF 또는 Silverlight 5 프로젝트가 필요할 수 있습니다. 그런 다음 Metro와 WP7 프로젝트를 코드와 함께 처음에 만들어보십시오. 그런 다음 솔루션 탐색기의 기존 항목 추가 대화 상자를 사용하여 기본 프로젝트에서 파일을 선택합니다 (단, 추가는 아직 클릭하지 않음). 추가 버튼 옆에있는 아래쪽 화살표를 클릭하면 원하는대로 링크로 추가 옵션이 나타납니다.

두 프로젝트에서이 프로세스를 반복하면 한 버전에서 개발 한 코드 나 자산을 다른 프로젝트로 넘길 수 있습니다. 또한 기준 파일을 수정하거나 디버깅해야하는 경우 기준 프로젝트가 동일하게 작동하기 때문에 두 버전의 VS에서 수행 할 수 있습니다.

이 기사의 마지막 부분은 조건부 컴파일 기호와 #if 전처리 지시문을 사용하여 대상에 따라 발산해야하는 공유 코드를 추가로 조정할 수 있다는 것입니다. 그러나 이것은 모든 사람의 온건함을 위해 드물게 사용되어야합니다.

저는 실제로 WP7, Silverlight 및 기타 프로젝트간에 VS2010에서 이와 같은 방식으로 코드를 공유했으며 필요시 아주 잘 작동합니다.

그렇다면 여전히 Metro 응용 프로그램과 WP 응용 프로그램을 컴파일하고 배포 할 수 있도록 IDE를 전환해야하지만 이론 상으로는 실제로 현재의 형식에서도 VS를 압축 할 수있는 많은 시너지 효과가 있다고 생각합니다 .

샌프란시스코에서 윈도우 폰 정상 회의 오늘의 신규 정보 오늘

는, 마이크로 소프트는 비주얼 스튜디오 2012는 윈도우 폰 7.5/8 윈도우 8을 대상으로 애플리케이션을 쓸 수있을 것이라고 발표했다. 이것은 위에 주어진 정보를 변경하고 명백하고 쉬운 해결책을 제공하는 것처럼 보일 것입니다. 그래서 당신은 아직 이것을 가지고 있지 않지만 장래에 그것을 지켜보십시오.

0

at least one open source project에서 사용되는 것과 같은 한 가지 방법은 링크 된 소스 파일을 사용하고, 공유 할 수있는 것을 공유하고, 변경해야하는 것을 분기하는 것입니다. 이는 단순한 접근 방식처럼 보이며 모든 플랫폼에서 유지 관리가 가능합니다.

관련 문제