Microsoft MVP성태의 닷넷 이야기
.NET Framework: 82. Orcas 1월 CTP에서 Linq 소스 컴파일 방법 [링크 복사], [링크+제목 복사],
조회: 21289
글쓴 사람
정성태 (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

비밀번호

댓글 작성자
 




... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11861정성태4/6/201919611디버깅 기술: 126. windbg - .NET x86 CLR2/CLR4 EXE의 EntryPoint
11860정성태4/5/201923452오류 유형: 527. Visual C++ 컴파일 오류 - error C2220: warning treated as error - no 'object' file generated
11859정성태4/4/201920684디버깅 기술: 125. WinDbg로 EXE의 EntryPoint에서 BP 거는 방법
11858정성태3/27/201921595VC++: 129. EXE를 LoadLibrary로 로딩해 PE 헤더에 있는 EntryPoint를 직접 호출하는 방법파일 다운로드1
11857정성태3/26/201919503VC++: 128. strncpy 사용 시 주의 사항(Linux / Windows)
11856정성태3/25/201919766VS.NET IDE: 134. 마이크로소프트의 CoreCLR 프로파일러 리눅스 예제를 Visual Studio F5 원격 디버깅하는 방법 [1]파일 다운로드1
11855정성태3/25/201921908개발 환경 구성: 436. 페이스북 HTTPS 인증을 localhost에서 테스트하는 방법
11854정성태3/25/201917566VS.NET IDE: 133. IIS Express로 호스팅하는 사이트를 https로 접근하는 방법
11853정성태3/24/201920368개발 환경 구성: 435. 존재하지 않는 IP 주소에 대한 Dns.GetHostByAddress/gethostbyaddr/GetNameInfoW 실행이 느리다면? - 두 번째 이야기 [1]
11852정성태3/20/201919591개발 환경 구성: 434. 존재하지 않는 IP 주소에 대한 Dns.GetHostByAddress/gethostbyaddr/GetNameInfoW 실행이 느리다면?파일 다운로드1
11851정성태3/19/201923355Linux: 8. C# - 리눅스 환경에서 DllImport 대신 라이브러리 동적 로드 처리 [2]
11850정성태3/18/201922350.NET Framework: 813. C# async 메서드에서 out/ref/in 유형의 인자를 사용하지 못하는 이유
11849정성태3/18/201921767.NET Framework: 812. pscp.exe 기능을 C#으로 제어하는 방법파일 다운로드1
11848정성태3/17/201918483스크립트: 14. 윈도우 CMD - 파일이 변경된 경우 파일명을 변경해 복사하고 싶다면?
11847정성태3/17/201922949Linux: 7. 리눅스 C/C++ - 공유 라이브러리 동적 로딩 후 export 함수 사용 방법파일 다운로드1
11846정성태3/15/201921594Linux: 6. getenv, setenv가 언어/운영체제마다 호환이 안 되는 문제
11845정성태3/15/201921757Linux: 5. Linux 응용 프로그램의 (C++) so 의존성 줄이기(ReleaseMinDependency) [3]
11844정성태3/14/201923071개발 환경 구성: 434. Visual Studio 2019 - 리눅스 프로젝트를 이용한 공유/실행(so/out) 프로그램 개발 환경 설정 [1]파일 다운로드1
11843정성태3/14/201918036기타: 75. MSDN 웹 사이트를 기본으로 영문 페이지로 열고 싶다면?
11842정성태3/13/201916369개발 환경 구성: 433. 마이크로소프트의 CoreCLR 프로파일러 예제를 Visual Studio CMake로 빌드하는 방법 [1]파일 다운로드1
11841정성태3/13/201916691VS.NET IDE: 132. Visual Studio 2019 - CMake의 컴파일러를 기본 g++에서 clang++로 변경
11840정성태3/13/201918309오류 유형: 526. 윈도우 10 Ubuntu App 환경에서는 USB 외장 하드 접근 불가
11839정성태3/12/201922217디버깅 기술: 124. .NET Core 웹 앱을 호스팅하는 Azure App Services의 프로세스 메모리 덤프 및 windbg 분석 개요 [3]
11838정성태3/7/201925843.NET Framework: 811. (번역글) .NET Internals Cookbook Part 1 - Exceptions, filters and corrupted processes [1]파일 다운로드1
11837정성태3/6/201939798기타: 74. 도서: 시작하세요! C# 7.3 프로그래밍 [10]
11836정성태3/5/201923357오류 유형: 525. Visual Studio 2019 Preview 4/RC - C# 8.0 Missing compiler required member 'System.Range..ctor' [1]
... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...