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

비밀번호

댓글 작성자
 




... 31  32  33  34  35  36  37  38  39  40  41  42  43  44  [45]  ...
NoWriterDateCnt.TitleFile(s)
12813정성태8/29/202117281.NET Framework: 1109. C# 10 - (11) Lambda 개선파일 다운로드1
12812정성태8/28/202116618.NET Framework: 1108. C# 10 - (10) 개선된 #line 지시자
12811정성태8/27/202116495Linux: 44. 윈도우 개발자를 위한 리눅스 fork 동작 방식 설명 (파이썬 코드)
12810정성태8/27/202115525.NET Framework: 1107. .NET Core/5+에서 동적 컴파일한 C# 코드를 (Breakpoint도 활용하며) 디버깅하는 방법 - #line 지시자파일 다운로드1
12809정성태8/26/202115477.NET Framework: 1106. .NET Core/5+에서 C# 코드를 동적으로 컴파일/사용하는 방법 [1]파일 다운로드1
12808정성태8/25/202117128오류 유형: 758. go: ...: missing go.sum entry; to add it: go mod download ...
12807정성태8/25/202117891.NET Framework: 1105. C# 10 - (9) 비동기 메서드가 사용할 AsyncMethodBuilder 선택 가능파일 다운로드1
12806정성태8/24/202114449개발 환경 구성: 601. PyCharm - 다중 프로세스 디버깅 방법
12805정성태8/24/202116150.NET Framework: 1104. C# 10 - (8) 분해 구문에서 기존 변수의 재사용 가능파일 다운로드1
12804정성태8/24/202116318.NET Framework: 1103. C# 10 - (7) Source Generator V2 APIs
12803정성태8/23/202116811개발 환경 구성: 600. pip cache 디렉터리 옮기는 방법
12802정성태8/23/202117246.NET Framework: 1102. .NET Conf Mini 21.08 - WinUI 3 따라해 보기 [1]
12801정성태8/23/202116834.NET Framework: 1101. C# 10 - (6) record class 타입의 ToString 메서드를 sealed 처리 허용파일 다운로드1
12800정성태8/22/202117206개발 환경 구성: 599. PyCharm - (반대로) 원격 프로세스가 PyCharm에 디버그 연결하는 방법
12799정성태8/22/202117537.NET Framework: 1100. C# 10 - (5) 속성 패턴의 개선파일 다운로드1
12798정성태8/21/202118848개발 환경 구성: 598. PyCharm - 원격 프로세스를 디버그하는 방법
12797정성태8/21/202116217Windows: 197. TCP의 MSS(Maximum Segment Size) 크기는 고정된 것일까요?
12796정성태8/21/202117215.NET Framework: 1099. C# 10 - (4) 상수 문자열에 포맷 식 사용 가능파일 다운로드1
12795정성태8/20/202117556.NET Framework: 1098. .NET 6에 포함된 신규 BCL API - 스레드 관련
12794정성태8/20/202116904스크립트: 23. 파이썬 - WSGI를 만족하는 최소한의 구현 코드 및 PyCharm에서의 디버깅 방법 [1]
12793정성태8/20/202117697.NET Framework: 1097. C# 10 - (3) 개선된 변수 초기화 판정파일 다운로드1
12792정성태8/19/202118833.NET Framework: 1096. C# 10 - (2) 전역 네임스페이스 선언파일 다운로드1
12791정성태8/19/202115644.NET Framework: 1095. C# COM 개체를 C++에서 사용하는 예제 [3]파일 다운로드1
12790정성태8/18/202119574.NET Framework: 1094. C# 10 - (1) 구조체를 생성하는 record struct파일 다운로드1
12789정성태8/18/202118233개발 환경 구성: 597. PyCharm - 윈도우 환경에서 WSL을 이용해 파이썬 앱 개발/디버깅하는 방법
12788정성태8/17/202115777.NET Framework: 1093. C# - 인터페이스의 메서드가 다형성을 제공할까요? (virtual일까요?)파일 다운로드1
... 31  32  33  34  35  36  37  38  39  40  41  42  43  44  [45]  ...