드디어 Visual Studio 2008과 .NET Framework 3.5의 첫 서비스팩이 출시되었습니다. 여러 개발자들의 피드백에 힘입어 추가되고 개선된 부분들이 많아서 Windows Vista SP1이 나왔을 때 만큼이나 반갑습니다. 대강의 내용을 추려보면 이렇습니다.

Visual Studio 2008 Service Pack 1에서 개선되거나 달라진 점

  • WPF 디자이너의 성능 향상
  • SQL Server 2008 지원 추가 (SQL Server 2008의 모든 기능을 이용하려면 반드시 SP1을 설치해야 합니다.)
  • ADO.NET 엔티티 디자이너
  • Visual Basic과 Visual C++을 위한 컴포넌트와 도구들
  • Visual C++의 경우 이전에 커뮤니티를 통하여 소개되었고 국내에서도 몇 차례의 세미나를 통해서 언급된 Visual C++ Feature Pack이 통합되어 TR1 기술은 물론 MFC를 위한 Ribbon UI가 지원됩니다.
  • JavaScript 지원 강화, AJAX와 데이터 도구의 기능 향상, 웹 사이트 배포 기능 향상

.NET Framework 3.5 Service Pack 1에서 개선되거나 달라진 점

  • Windows Presentation Foundation 기반의 응용프로그램을 다시 컴파일하거나 변경하지 않아도 이전보다 최고 45% 이상 더 낳은 성능을 나타냅니다.
  • Windows Communication Foundation의 제어 방법이 더 정교해지고 더 다양해졌습니다.
  • .NET Framework 3.5의 설치가 이전보다 더 쉽고 자연스럽습니다. (Streamlined)
  • ADO.NET 엔티티 프레임워크, 데이터 서비스 및 SQL Server 2008과의 연동을 목표로 데이터 플랫폼 기술들이 더 좋아졌습니다.
  • 클라이언트 전용 런타임을 제공하며 런타임의 크기를 20MB 이내로 줄일 수 있습니다. (이전 .NET Framework 2.0 수준)

이 외에도 Team Foundation Server에 대한 기능이 많이 향상되었으며 좀 더 자세한 내용은 아래 기사를 참고하시기 바랍니다. 조만간 다른 언어 버전 및 Express Edition의 모든 언어 버전에 대한 SP1도 새로 공급될 예정이며, SQL Server 2008 Express Edition 및 SQL Server 2008에 대응되는 Management Studio/Express도 개발될 듯 합니다. 참고로, Visual Studio Shell 엔진도 SP1 코드 기반에 대응되는 버전이 새로 제공되므로 Shell 기반으로 독립 어플리케이션을 만드는 경우에도 새로운 SP1의 기능을 빠뜨리지 말고 가져가시면 도움이 될 것입니다. :-)

Creative Commons License
Creative Commons License
남정현 이 작성.

당신의 의견을 작성해 주세요.

  1. Comment RSS : http://rkttu.com/rkttublog/rss/comment/250
  2. OpenID Logo☆~ 2008/08/16 00:56  편집/삭제  댓글 작성  댓글 주소

    Ribbon UI라는 것이 눈에 띄는군요 @_@;
    2008에 포함 되어 있다는게 그냥 뜬구름인줄 알았습니다 ㅎ;;

    • OpenID Logo남정현 2008/08/16 15:14  편집/삭제  댓글 주소

      원래 VC++ 2008에 없던 내용인데 Feature Pack으로 따로 소개되었었죠. 우리나라에서도 VC++ 세미나를 몇 차례하면서 소개했던 적이 있었을 겁니다. (MSDN 세미나였던걸로 기억나네요.)

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
다운로드: http://www.microsoft.com/downloads/details.aspx?familyid=1ff0b35d-0c4a-40b4-915a-5331e11c39e6&displaylang=en&tm

Visual Studio 2007 (코드네임: Orcas)의 2007년 1월 CTP가 MS 웹 사이트에서 배포 중입니다. Visual Studio 2005가 2005년 말에 나왔고 그로부터 1년 조금 넘게 걸려서 첫 소식이 나온 셈입니다.

아직 Visual Studio 2007은 Windows Vista와의 호환성은 고려하지 않고 배포 중인 것 같습니다. 기존 시스템에 영향을 주지 않고 테스트할 수 있도록 얼마전에 무료화된 Microsoft Virtual PC 2004와 무료 가상 서버 플랫폼인 Microsoft Virtual Server 2005 R2에서 돌려볼 수 있는 OS를 포함한 전체 가상 PC 이미지도 같이 제공하고 있습니다.

VIsual Studio 2007은 대강 이런 기능들을 새로 선보인다고 하네요.

* ADO .NET 엔티티 프레임워크
* LINQ와 완전히 통합된 ADO .NET API (LINQ는 프로그래밍 언어 수준에서 SQL과 유사한 질의를 사용할 수 있는 언어 확장 기술)
* 문서로만 떠돌던 C# 3.0을 처음으로 정리한 C# 3.0 컴파일러 및 IDE 내장
* LINQ 자체도 ADO .NET 외에 일반적인 컬렉션, 제네릭 컬렉션에 대해서 작동할 수 있도록 확장됨
* ClickOnce 기능의 업그레이드
* 강력한 암호화 기술을 위한 Elliptic Curve Diffie Hellman 및 Elliptic Curve Digital Signature Algorithm 구현 추가
* 오피스 2007 개발 지원
* 향상된 객체 수명 주기 관리 및 응용프로그램 도메인 관리 기능 추가
* ASP .NET을 위한 향상된 로그인/로그아웃/역할 모델 메카니즘 도입
* Windows Vista의 ETW 시스템과 연동되는 이벤트 추적 Listener 지원
* ASP.NET AJAX를 위한 확장된 JScript 인텔리센스 기능 구현
* System.Numeric 네임스페이스가 새로 추가되고 기존의 System.Int64 및 System.UInt64보다 훨씬 넓은 범위의 수를 다룰 수 있으며 이런 범위의 수에 대해 효율적으로 작동하는 전용 수학 알고리즘 대거 추가
* 이번 버전에 포함된 LINQ의 경우 특별히 XML에 관한 기능까지 사용할 수 있게 됨 (XML을 XPath 이외의 방법으로 질의하거나 데이터의 삽입 및 수정이 가능해짐)
* SSCE (SQL Server Compact Edition) 번들링

다운로드: http://www.microsoft.com/downloads/details.aspx?familyid=1ff0b35d-0c4a-40b4-915a-5331e11c39e6&displaylang=en&tm

VMware Workstation이나 VMware Player에서 아직 구동해보지는 않았습니다만 가상 PC 마이그레이션을 통하여 실행하는 것도 가능할 듯 싶습니다. :-)
Creative Commons License
Creative Commons License
남정현 이 작성.

당신의 의견을 작성해 주세요.

  1. Comment RSS : http://rkttu.com/rkttublog/rss/comment/146
  2. charlz 2007/02/04 22:26  편집/삭제  댓글 작성  댓글 주소

    1월 빌드가 아니고 1월 CTP(커뮤니티 기술 프리뷰)랍니다.^^ 베타 버젼은 아직 나오지 않았지만, 곧 나오지 않을까 생각되네요.
    http://blogs.msdn.com/bkchung/archive/2007/01/11/visual-studio-orcas-2007-1-ctp.aspx

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

IDataReader 인터페이스는 Database Command 객체로부터 데이터 결과 집합을 반환받을 때 주로 사용하는 ExecuteReader 함수의 결과 객체이다. 하지만 이 객체는 "커서"의 개념을 사용하고 있어서 디버거에서 사용하기가 매우 불편하다. 내용을 한꺼번에 살펴볼 수 있는 방법이 없어서 디버거나 NUnit에서 불편했던 적이 많다. 이런 점을 해결하기 위해서 개인적으로 IDataReader 뷰어 폼을 만들어보았다. 참고로 이것은 Windows Forms를 위한 것이다.

public partial class DataReaderViewer : Form
    {
        public DataReaderViewer()
            : this(null)
        {
        }

        public DataReaderViewer(IDataReader oReader)
        {
            this.m_oReader = oReader;
            this.InitializeComponent();
        }

        private IDataReader m_oReader;

        private void DataReaderViewer_Load(object sender, EventArgs e)
        {
            this.RefreshDataView();
        }

        [Browsable(true)]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
        public IDataReader Reader
        {
            get { return this.m_oReader; }
            set
            {
                this.m_oReader = value;
                this.RefreshDataView();
            }
        }

        public bool RefreshDataView()
        {
            if (this.m_oReader != null && !this.m_oReader.IsClosed)
            {
                DataTable oTable = new DataTable();
                oTable.Load(this.m_oReader);
                this.oViewer.DataSource = oTable;
                return true;
            }

            return false;
        }

        public static DialogResult ShowViewer(IDataReader oReader)
        {
            return (new DataReaderViewer(oReader)).ShowDialog();
        }
    }

위의 코드에서 oViewer라고 하는 이름의 컨트롤을 추가하여 디자인하는 것은 실제로 적용할 때의 몫이 되겠다. 하지만 개략적인 원리는 간단하며, 디버거에서 사용하기 편리하게 하기 위하여 ShowViewer라고 하는 정적 함수를 두었다. 또한, 필요하다면 네임스페이스를 따로 두지는 말자. 직접 실행창이나 디버거에서 네임스페이스를 인식할 수 업는 상황도 자주 오기 때문이다.

Creative Commons License
Creative Commons License
남정현 이 작성.

당신의 의견을 작성해 주세요.

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다