My Sharepoint

sharepoint.egloos.com

포토로그 마이가든



SharePoint Tool 과 Visual Studio 2010 SharePoint

Visual Studio 2010 Beta 2 가 드뎌 공개 되었습니다.
사내 멤버들이 벌써 좋은 글들을 게시하고 있군요.

출처 : UMC BLOG


이전에 VSTS 2010 팀블로그에 올렸던 글도 있지만 SharePoint Tool 이 Visual Studio 와 통합될 것이라는것은 어느정도 예견하고 있었습니다. 헌데 이렇게 두눈으로 확인하고 보니 또 새롭더군요. 관련 정보라던가 세부 설치사항은 위의 링크를 참고하시는게 더 좋을것 같고 저는 SharePoint 툴과 관련된 부분만 다뤄 보도록 하겠습니다.

위 그림은 설치할 컴포넌트들에 대한 목록입니다. 항목에 "Microsoft SharePoint Development Tools" 라고 나타납니다. 예전에 WSS Extension Tool 을 매번 설치해야하는 번거로움을 이제야 덜수 있을것 같습니다.

설치가 끝나고 새프로젝트 만들기 에서 나타나는 SharePoint 프로젝트 템플릿 선택창입니다. 많은 항목들이 추가되었군요.
(사실 Visual Studio 2010 Beta 1 에서는 왼쪽 트리뷰에만 SharePoint 라는 항목이 있었고 실제 템플릿은 존재하지 않았었습니다. 이때문에 수많은 MVP 들이 낚였었죠.^^;; 물론 Microsoft 에서 이 시기까지는 비공개로 하고 있었기 때문이었죠.)

헌데 프로젝트 템플릿을 선택해서 OK 버튼을 클릭하면 위와 같은 오류가 납니다. 이유는 바로 SharePoint Server 가 설치되지 않았기 때문이죠. ^^;
그런데 이게 참 난감합니다. 안정된 개발 산출물을 제공하기 위해서는 64 비트 환경에서 개발 및 테스트가 이뤄져야 한다는 점은 동의 하지만 현 시점에서 개발환경을 갖추기란 쉽지 않을것 같습니다. 허나 SharePoint 2010 의 System Requirement 가 기본 64비트에서만 동작할 것이라 맞춰갈 수 밖에 없을것 같긴 합니다. 머 여튼간에 관련 템플릿은 모두 설치되었으니 이래저래 까보면 사용할 수 도 있을듯 하군요. 테스트를 위해 테스트 환경 구축을 한번 해봐야 겠습니다. 

Visual Studio 2010 과 .NET Framework 4.0 에 대한 보다 자세한 내용은 Visual Studio 2010 팀 블로그를 참고 하시기 바랍니다.

워드와 OpenXMLWriter 를 사용하여 FlowDoument 만들기 WPF

근래 FlowDocument 를 만들기 위해서 몇가지 리서치를 해본결과 FlowDocument 편집을 위해서는 두가지 툴을 사용하는 것이 가장 현명한 방법이라는 생각이 들더군요.

첫번째는 OpenXMLWriter 를 사용하는 방법 입니다.
위의 링크에서 EXE 파일과 소스 파일을 함께 제공합니다. 일반적인 RichTextBox 에디터 정도의 기능을 갖고 있습니다. 아쉬운게 있다면 저장기능이 조금 아쉬운데요, 불러운 파일을 바로 저장하는 기능이 없습니다. Save as 를 통해서 덮어쓰기를 하면 가능하겠지만 일반적인 에디터가 가지고 있는 저장기능이 없어서 불편하더군요. 머 아쉬운대로 FlowDocument 를 생성하기에 매우 편리하여 잘 사용하고 있습니다. 정 불편하면 소스를 받아서 수정하면 되긴 하겠지만 ^^;

두번째는 Microsoft Word 를 사용하는 방법입니다.
OpenXMLWriter 가 현재까지 나온(혹은 제가 보았던) FlowDocument 툴중에는 최고지만 아무래도 편집 기능은 딸리죠. 편집기는 워드가 쵝오인듯 싶습니다. 헌데 Word 를 xaml 로 저장할 수는 없죠. 그래서 테스트 해보았던게 워드에서 편집하고 OpenXMLWriter 에 붙여 넣는 방법 이었습니다.

워드에서 편집

OpenXMLWriter 에 붙여 넣기


IE8 에서 저장한 문서를 오픈한 모습

워드에서 붙여 넣은 텍스트라 저장된 FlowDocument 의 소스를 보면 좀 지저분 하긴 하지만 저장한 문서를 Visual Studio 로 다시 열고 열맞추고 쓸데 없는 소스 지우고(머 그냥 둬도 괜찮긴 합니다만~) 하면 FlowDocument 를 손으로 일일이 치는 무식한 수고를 덜수 있습니다.

단! OpenXMLWriter 에서 복사하여 워드로 붙여넣기를 하면 글짜가 아래와 같이 깨지는 현상은 주의 해야할 것 같습니다.


SharePoint 오류 유형 : Event ID 104 SharePoint

왠지 나의 경우에만 국한될 것으로 보이지만 Workaround 를 남긴다.
사실 시나리오는 이랬다.

1. SharePoint 사이트가 죽었다.
2. DataBase 는 모두 살아 있었기에 구성 마법사를 돌려본다.
3. Argument Exception 이 발생하며 구성 마법사가 실패된다.
4. Event Log 를 보니 104 오류가 발생한다.

정리해보자면 아래와 같은데...

현상 : 손상된 SharePoint 사이트로 부터 복구를 수행하기 위하여 이전에 추가되었던 Configratuion Database 혹은 Content Database 를 연결하려고 할경우 발생하는 오류.
복구방법
- Stsadm 툴을 이용하여 SharePoint DataBase 의 스키마 업그레이를 수행하면 된다.
    - stsadm -o upgrade -inplace -url http://siteurl -forceupgrade

    - psconfig -cmd upgrade -inplace b2b -force -wait
- 혹은 SharePoint Service Pack 2 를 재설치한다.

복구방법은 단순하긴 하지만 위의 케이스가 내경우에만 해당될것 같다고 얘기한것은 다름이 아니라 SharePoint 가 죽기전에도 분명 SP2 는 이미 설치되어 있었다는 이야기다. 중간 이야기를 빼먹었지만 중앙관리가 살아났었지만 여전히 사이트 컬렉션은 살아나지 않았었다. 특정 사이트 컬렉션의 컨텐츠 데이터베이스만 스키마가 달랐다는 이야기인가?~ 흠... 아무래도 복구 순서를 잘못했었던듯 싶다.



에러로그

Blend 3 에서 XAML 파일의 디자인 모드가 활성화 되지 않는 경우 WPF

 간혹 WPF Application 을 개발하다 보면 개발자가 전해준 XAML 코드를 디자이너가 Blend 의 디자인 모드에서 열지 못하는 경우가 있습니다. 이러한 경우는 크게 두가지로 나눠질 수 있는데요. Visual Studio Blend 간의 버전차이로 발생하는 문제가 첫번째 입니다. 이경우는 chaoskcuf's lab 님의 블로그에 잘 설명이 되어 있습니다.

두번째의 경우는 개발자가 WPF 프로젝트 타입이 아닌 형태로 만든 프로젝트를 디자이너에게 넘겨주었을 경우 입니다. 예를 들면 클래스라이브러리 형태로 만든 프로젝트를 디자이너에게 넘겨주었을 경우입니다. 이런 경우도 위와 마찬가지로 프로젝트 속성에 아래 부분을 추가해 주면 정상적으로 Blend 에서 디자인 모드가 열리게 됩니다.

 

<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

 


silverlight 3 오류 2104

지난달 초에 Silverlight 3 정식 버전과 SDK 가 출시된데 이어 한글 버전의 Silverlight 3 SDK 도 다운로드가 가능해 졌습니다.
홈페이지도 업데이트 할게 있어서 다운로드 후 테스트 해보았습니다.
Silverlight 3.0 SDKVisual Studio 2008 SP1용 Microsoft® Silverlight™ 3 Tools 를 설치한 후 2.0 버전으로 만든 Silverlight Applicatin 을 오픈 하면 자동으로 Upgrade 를 합니다. 테스트 해본 결과 업그레이드는 성공적입니다. ^^

이전 프로젝트 파일과 비교를 해보니 크게 변한것은 없고 버전만 v3.0 을 바꾸고 있습니다.

- Silverlight 2.0 Application
 <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v2.0\Microsoft.Silverlight.CSharp.targets" />
- Silverlight 3.0 Application
 <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v3.0\Microsoft.Silverlight.CSharp.targets" Condition="" />

그리고 빌드를 해보았는데 저같은 경우에는 아래 오류가 발생하더군요.


아래 오류에 대한 원인을 찾아보니 Silverlight Applicatin 에서 XAP 파일을 웹 애플리케이션의 ClientBin 폴더에 복사를 해주지 못하고 있었습니다. 사실 XAP 파일이야 빌드이벤트에 걸어주면 해결되긴 하는데 매번 그럴수는 없고.. 참.. ㅡㅡ;

해서 외국에 사례를 찾아보니 아래와 같은 내용이 있더군요.
"ClientBin empty after installing Blend 3 RC"

헌데 제 경우에는 Blend 3 와 관련된 프로그램은 설치되어 있지도 않았습니다.
다만 Silverlight 3 설치와 관련해서 특이하다면 특이할만 했죠.
제가 Silverlight 3 를 설치했던 순서는 다음과 같았습니다.

1. Silverlight 3 SDK 설치
2. Visual Studio 2008 SP1용 Microsoft® Silverlight™ 3 Tools 설치

위의 2번을 설치할 것이라면 굳이 1번을 할필요는 없었는데 머 이전에 설치한 SDK 가 있길래 그냥 놔뒀는데 이게 무슨 상관관계가 있었는지... 흠...

여튼 Silverlight 3 와 SDK 그리고 VS 2008 Tool 을 모두 삭제한 다음 VS 2008 Tool 만 다시 설치해주니 정상 동작 하는군요.
혹시나 저와 유사한 Workaround 가 있을까해서 포스팅해 봅니다.


1 2 3 4 5 6 7 8 9 10 다음