2011-12-30 1 views
1

Silverlight 용으로 AvalonEdit을 컴파일하려고하는데 Silverlight 만 사용한 적이 없으므로 WPF 만 사용한 적이 있습니다.Silverlight에 대해 .NET 어셈블리를 컴파일하는 방법은 무엇입니까?

이 컨트롤을 Silverlight 응용 프로그램에 추가하려고 시도했지만 Visual Studio에서 어셈블리가 Silverlight에 대해 컴파일되지 않는다고 불평했습니다.

나는 프로젝트 설정에서 대상 플랫폼 아래에서 Silverlight을 선택해야 할 것이라고 생각했습니다.

아이디어가 있으십니까?

+0

이러한 노력이 성공적 이었습니까? –

+0

아니오 대답을 기반으로 그것은 SL에서 작동하게하는 많은 작업입니다. –

답변

1

Silverlight를 대상으로하는 새 프로젝트 (File - New Project - Silverlight)를 만든 다음 AvalonEdit 소스 코드의 모든 소스 코드를 해당 라이브러리에 추가해야합니다.

편집 :

는 또한 컨트롤이 실버 라이트에서 사용할 수없는 클래스를 사용할 수 있습니다. (2009 년부터)이 컨트롤에 관련된 CodePlex의 토론에서 : 당신이 ICSharpCode.AvalonEdit의 많은 부분을 재 작성해야 할 것이다, 그래서

실버 라이트는 System.Windows.Media.TextFormatting 네임 스페이스가 없습니다. AvalonEdit를 Silverlight로 포팅하려면 네임 스페이스를 렌더링하십시오.

2

Silverlight 및 WPF 어셈블리는 호환되지 않습니다. 따라서 Silverlight 어셈블리에서 참조하는 어셈블리도 모두 Silverlight 어셈블리로 컴파일해야합니다. "프로젝트 설정"에 대한 참조가 어셈블리가 아니라 타사 어셈블리라고 가정합니다.

그러나 Silverlight로 WPF 코드를 컴파일하는 것은 어려울 수 있습니다. Silverlight는 WPF의 기능적 하위 집합이므로 코드에서 Silverlight에서 사용할 수없는 기능을 사용할 수 있습니다.

+0

오픈 소스이기 때문에 감사합니다. –

1

실버 라이트 프로젝트에서는 실버 라이트가 아닌 dll이나 프로젝트를 참조 할 수 없습니다. 그래서이 프로젝트 에서이 프로젝트를 구축하기위한 필수 실버 dll이없는 경우. 이 빌드를 할 수 없습니다.

wfp가 일부 지원되지만 실버 라이트 지원이 다르다면이 점이 다릅니다. 그런 다음이 코드를 사용하지 않거나 프라그 마를 사용하십시오

#if !WPF 
//Todo 
#endif