2014-05-14 3 views
0

VS2012에서 .NET 용 ProtoBuf를 성공적으로 사용하고 있습니다. Xamarin Studio에서 개발 한 라이브러리를 가져올 때 Intellisense는 ProtoBuf 네임 스페이스에서 작동하지 않습니다. OK를 컴파일하지만 intellisense가 인식하지 못하는 모든 멤버에 대해 빨간색 하이라이트가 코드에 표시됩니다. ProtoBuf는 intellisense를 지원하기 위해 xml 파일을 제공하지만 Xamarin Studio의 XML 스키마에로드하려고하면 아래 오류가 발생합니다.Xamarin Studio의 ProtoBuf Intellisense

xml 헤더에 네임 스페이스를 포함하여 파일을 처리하려고합니다. 모노 (풀 버전)에 제공된 protobuf-net.xml 파일을 사용하고 있지만 MonoDevelop의 경우에는 그 파일을 사용합니다. Xamarin Studio에서 즉시 사용할 수있는 제품이 있습니까? 나에게는 Xamarin Indie 라이센스가 있으므로 모바일 개발을 위해 VS를 사용하지 마십시오. VS에 연결하여 내 모바일 앱에 연결하기위한 TCP 서버를 작성하고 ProtoBuf를 사용하여 애플리케이션 프로토콜의 직렬화를 처리합니다.

아마도 나는 멍청한 상태이며 제공된 Intellisense XML 파일을 올바르게 사용하지 않을 것입니다. XML 스키마에 추가하지 않아도된다면 Xamarin Studio 인텔리 센스 작동을 위해 어떻게 사용합니까? Marc Gravel ...이 질문에 대해서는 당신이 MAN이라고 확신합니다 ...

Xamarin Studio 버전 4.2.5 (빌드 0), protobuf-net r668.

은 ------ 편집 -------

내 솔루션 파일을 편집하고 프로젝트의 순서를 변경하여이 문제를 해결했다. Xamarin Studio는 VS와 같은 방식으로 빌드 순서를 지원하지 않기 때문에 종속성 문제가 발생했습니다. 올바른 순서로 수동으로 컴파일해도 문제는 해결되지 않지만 intobiSense는 protobuf-net.xml 파일을 가져 오지 않고 마술처럼 작동합니다. 그림보기 ...

감사합니다. Marc Gravell은 ProtoBuf의 훌륭한 제품입니다!

------ XML ​​스키마에서 편집 ------

출력 추가

System.Xml.Schema.XmlSchemaException :에 XmlSchema 오류가 : 최고 수준의 스키마 네임 스페이스 http://www.w3.org/2001/XMLSchema이 있어야합니다 at System.Xml.Schema.XmlSchema.Read (System.Xml.XmlReader 판독기, System.Xml.Schema.ValidationEventHandler validationEventHandler) [0x000e7] in /private/tmp/source/bockbuild-mono-3.2.6/profiles/mono -mac-xamarin/build-root/mono-3.2.6/mcs/class/System.XML/System.Xml.Schema/XmlSchema.cs : 744 at MonoDevelop.XmlEditor.Completion.XmlSchemaCompletionData.ReadSchema (System.Xml. XmlReader 판독기) [0x00010] i n /Users/builder/data/lanes/845/95ac543f/source/monodevelop/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs:465 at MonoDevelop.XmlEditor.Completion.XmlSchemaCompletionData.ReadSchema (System.String baseUri, System.IO.TextReader reader) [0x00016] /Users/builder/data/lanes/845/95ac543f/source/monodevelop/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion//Users/builder/data/lanes/845/95ac543f/source /에있는 [0x00067] XmlSchemaCompletionData.cs : 481 at MonoDevelop.XmlEditor.Completion.XmlSchemaCompletionData..ctor (System.String baseUri, System.String fileName, Boolean lazyLoadFile) MonoDevelop.XmlEditor.Completion.XmlSchemaCompletionData..ctor (System.String baseUri, System.String fileName)의 에서 100 0x16000에서 [0x00000]의 MonoDevelop.png/add/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs :/Users/bu MonoDevelop.XmlEditor.Completion.XmlSchemaCompletionData..ctor (System.. ::. System /.)에서 의 MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/data/lanes/845/95ac543f/source/monodevelop/main/src/String fileName) [0x00000] in /Users/builder/data/lanes/845/95ac543f/source/monodevelop/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs:80 at MonoDevelop.XmlEditor .Gui.XmlSchemasPanelWidget.addRegisteredSchema (System.Object 보낸 사람, System.EventArgs args) /Users/builder/data/lanes/845/95ac543f/source/monodevelop/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui의 [0x00022] /XmlSchemasPanelWidget.cs:379

+0

음, 이상합니다. 인텔리 센스 파일은 단지 규칙적인 인텔리 센스입니다. 나는 그것이 무엇인지 전혀 몰랐지만, 잘 사용하도록 빛나는 Xamarin 라이센스를 가지고 있습니다. 내 목록에 추가 ... –

+0

Xamarin Studio의 XML 스키마 목록에 Protobuf XML 파일을 추가하는 작업은 코드 완성을 위해 필요하지 않습니다. XML 스키마를 XML 스키마 목록에 추가하면 XML 편집기에서 XML 파일을 작성할 때 코드 완성에 사용할 수있는 스키마에만 영향을줍니다. Xamarin Studio는 .dll 옆에있는 경우 어셈블리 .xml 파일을 선택해야합니다. 그래서 아마 당신의 경우에 효과가없는 이유에 대한 더 많은 정보가 필요할 것입니다. Protobuf NuGet 패키지를 사용하는 간단한 프로젝트의 경우 코드 완성은 괜찮은 것 같습니다. –

답변

0

dll 파일 옆에 xml 파일이 있습니까? 난 그냥 새 콘솔 프로젝트 NuGet을 통해 "protobuf - 그물을"추가 생성이 결과 : 난 아무데도 모든 XML을 추가하지 않은

MonoDevelop with intelisense example

. 또한 XamarinStudio와 MonoDevelop의 차이점은 XamarinStudio가 몇 가지 추가 모바일 AddIns ("플러그인")과 함께 번들로 제공되지만 기능은 동일하므로 (동일한 소스 코드) 동일한 차이점 만 있습니다.

관련 문제