Microsoft MVP성태의 닷넷 이야기
.NET Framework: 82. Orcas 1월 CTP에서 Linq 소스 컴파일 방법 [링크 복사], [링크+제목 복사],
조회: 21053
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 


Orcas 1월 CTP에서 Linq 소스 컴파일 방법


개발 환경 설정은 이전에 아래의 토픽에서 이미 설명을 드렸습니다.

LINQ 개발 환경 설정 
; https://www.sysnet.pe.kr/2/0/458

간단하게 정리하면, "1. VS.NET 2005 + Linq Preview" 버전으로 공부하는 방법"2. Orcas Jan CTP" 버전으로 공부하는 방법으로 나뉩니다.

Orcas 1월 CTP 버전으로 공부한다고 해도, "Linq Preview" 버전은 꼭 구해서 테스트 컴퓨터에 설치해 보실 것을 권해 드립니다. 왜냐하면, "Linq Preview" 설치 버전과 함께 다양한 예제 파일 및 문서들이 같이 설치되기 때문입니다. 사실, "Linq Preview" 설치 후에 제공되는 "C:\Program Files\LINQ Preview\Docs\Hands on Labs" 폴더에 담겨진 문서만 차근차근히 따라해 봐도 Linq에 대한 준비는 충분히 되실 거라 봅니다.

"1. VS.NET 2005 + Linq Preview" 버전으로 공부하시는 경우에는 Linq를 위한 프로젝트 템플릿까지 제공되어 편하게 실습을 해볼 수 있습니다. 예를 들어, "C:\Program Files\LINQ Preview\Docs\Hands on Labs"에 담겨진 예제 실습을 위해서 다음과 같이 VS.NET 2005에서 "Linq Console Application"을 선택하게 되면 관련 어셈블리 참조 및 using 문을 포함한 네임스페이스까지 선언된 소스코드가 제공되어 테스트하기가 매우 편리합니다.

[그림 1: Linq 관련 프로젝트 템플릿]
linq_compile_1.png

네임스페이스는 다음과 같이 기본 제공됩니다.

using System;
using System.Collections.Generic;
using System.Text;
using System.Query;
using System.Xml.XLinq;
using System.Data.DLinq;

문제는 "Orcas 1월 CTP" 버전의 경우, "[그림 1: Linq관련 프로젝트 템플릿]"에서 보는 것과 같은 템플릿들이 제공되지 않는다는 것입니다. (아마도 다음 Orcas CTP 버전에서는 제공될 것으로 예상됩니다.) 따라서 "Orcas 1월 CTP"로 공부하시는 분들은 프로젝트 참조 및 using 선언을 별도로 제공해 줘야합니다. 거기다 상황을 더욱 어렵게 만드는 것은, 웹상에 널려진 거의 대부분의 문서들(Linq Preview에 담겨진 것 포함)이 "Linq Preview - 2006년 5월 CTP" 기준으로 작성되어 있기 때문에 그사이 변화된 "Orcas 1월 CTP"에는 적용되지 않는 다는 것입니다.

실제로, 기존 예제들을 빌드하게 되면 다음과 같은 식의 빌드 오류 메시지를 Orcas에서 보게 됩니다.

Error	1	'System.Collections.Generic.List<TestApp.Contact>' does not contain a definition for 'Where'
C:\temp\Program.cs

이것은 Linq 관련 확장 함수들을 담고 있는 어셈블리가 적절하게 참조되어 있지 않기 때문에 나타나는 오류메시지입니다. 이러한 오류 메시지를 피하기 위해서는, - 또한 앞으로 공부하게 될 Linq 관련 예제들을 위해서 - 아예 다음과 같은 어셈블리는 프로젝트마다 기본적으로 참조를 걸어두는 것이 좋겠습니다.

C:\Windows\Microsoft.NET\Framework\v3.5.11209\.NET 3.5
	System.Core.dll
	System.Data.Entity.dll
	System.Data.Linq.dll
	System.Xml.Linq.dll

물론, 소스 파일에는 다음과 같은 using 문을 추가로 포함시켜 둡니다.

using System.Data.DLinq;
using System.Xml.XLinq;
using System.Xml.Linq;
using System.Linq;
using System.Linq.Expressions;

그럼... ^^ 재미있는 공부하시길 바랍니다.



[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/5/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13843정성태12/13/20244393오류 유형: 938. Docker container 내에서 빌드 시 error MSB3021: Unable to copy file "..." to "...". Access to the path '...' is denied.
13842정성태12/12/20244538디버깅 기술: 205. Windbg - KPCR, KPRCB
13841정성태12/11/20244866오류 유형: 937. error MSB4044: The "ValidateValidArchitecture" task was not given a value for the required parameter "RemoteTarget"
13840정성태12/11/20244440오류 유형: 936. msbuild - Your project file doesn't list 'win' as a "RuntimeIdentifier"
13839정성태12/11/20244879오류 유형: 936. msbuild - error CS1617: Invalid option '12.0' for /langversion. Use '/langversion:?' to list supported values.
13838정성태12/4/20244609오류 유형: 935. Windbg - Breakpoint 0's offset expression evaluation failed.
13837정성태12/3/20245075디버깅 기술: 204. Windbg - 윈도우 핸들 테이블 (3) - Windows 10 이상인 경우
13836정성태12/3/20244633디버깅 기술: 203. Windbg - x64 가상 주소를 물리 주소로 변환 (페이지 크기가 2MB인 경우)
13835정성태12/2/20245076오류 유형: 934. Azure - rm: cannot remove '...': Directory not empty
13834정성태11/29/20245309Windows: 275. C# - CUI 애플리케이션과 Console 윈도우 (Windows 10 미만의 Classic Console 모드인 경우) [1]파일 다운로드1
13833정성태11/29/20244984개발 환경 구성: 737. Azure Web App에서 Scale-out으로 늘어난 리눅스 인스턴스에 SSH 접속하는 방법
13832정성태11/27/20244922Windows: 274. Windows 7부터 도입한 conhost.exe
13831정성태11/27/20244383Linux: 111. eBPF - BPF_MAP_TYPE_PERF_EVENT_ARRAY, BPF_MAP_TYPE_RINGBUF에 대한 다양한 용어들
13830정성태11/25/20245206개발 환경 구성: 736. 파이썬 웹 앱을 Azure App Service에 배포하기
13829정성태11/25/20245183스크립트: 67. 파이썬 - Windows 버전에서 함께 설치되는 py.exe
13828정성태11/25/20244452개발 환경 구성: 735. Azure - 압축 파일을 이용한 web app 배포 시 디렉터리 구분이 안 되는 문제파일 다운로드1
13827정성태11/25/20245106Windows: 273. Windows 환경의 파일 압축 방법 (tar, Compress-Archive)
13826정성태11/21/20245342닷넷: 2313. C# - (비밀번호 등의) Console로부터 입력받을 때 문자열 출력 숨기기(echo 끄기)파일 다운로드1
13825정성태11/21/20245680Linux: 110. eBPF / bpf2go - BPF_RINGBUF_OUTPUT / BPF_MAP_TYPE_RINGBUF 사용법
13824정성태11/20/20244753Linux: 109. eBPF / bpf2go - BPF_PERF_OUTPUT / BPF_MAP_TYPE_PERF_EVENT_ARRAY 사용법
13823정성태11/20/20245305개발 환경 구성: 734. Ubuntu에 docker, kubernetes (k3s) 설치
13822정성태11/20/20245176개발 환경 구성: 733. Windbg - VirtualBox VM의 커널 디버거 연결 시 COM 포트가 없는 경우
13821정성태11/18/20245096Linux: 108. Linux와 Windows의 프로세스/스레드 ID 관리 방식
13820정성태11/18/20245254VS.NET IDE: 195. Visual C++ - C# 프로젝트처럼 CopyToOutputDirectory 항목을 추가하는 방법
13819정성태11/15/20244499Linux: 107. eBPF - libbpf CO-RE의 CONFIG_DEBUG_INFO_BTF 빌드 여부에 대한 의존성
13818정성태11/15/20245307Windows: 272. Windows 11 24H2 - sudo 추가
1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...