Share via


Visual Studio 코드명 "Orcas" 2007년 3월 CTP

Somasegar's WebLog : Visual Studio "Orcas" March CTP is available now

이전과 마찬가지로 VPC와 인스톨본 두가지 형태로 제공됩니다: Orcas Related CTP Downloads

Somasegar의 이야기대로 이번에는 처음으로 WPF 디자이너가 포함되었고, LINQ 기능이 향상되었고, Team Foundation Server가 처음으로 공개됩니다. 달라진 점들을 (일부) 번역해보았습니다. 달라진 점이 굉장히 많으니 준비하시고~ :

  • LINQ 
    LINQ 프로젝트: 본 CTP는 LINQ 프로젝트의 중요한 마일스톤입니다. LINQ에 대해서 더 알아보시려면 여기.
    • VB 9.0 언어 지원: 본 CTP는 다음의 언어 기능들을 포함합니다:
      • Query Expressions: 기본적인 쿼리, 필터 그리고 순서(ordering) 지원
      • Object Initializers
      • Extension Methods
      • Local Variable Type Inference
      • Anonymous Types
      • XML literals
      • XML properties
      • New Line and Expression IntelliSense
    • C# 3.0 언어 지원: 본 CTP는 5월 LINQ CTP에 포함되었었던 C# 3.0의 모든 언어 기능을 포함합니다.
      • Query Expressions
      • Object and Collection Initializers
      • Extension Methods
      • Local Variable Type Inference and Anonymous Types
      • Lambdas bound to Delegates and Expression trees
      • Complete design-time support: Intellisense, Formatting, Colorization
    • LINQ to ADO.NET
      • LINQ에 ADO.NET의 지원을 모두 추가하여 다양한 시나리오로 LINQ를 사용할 수 있습니다: LINQ to SQL은 프로그래밍 환경에서 데이타베이스 테이블을 직접 접근하는 기능을 제공하고, LINQ to Entities는 개발자가 EDM 모델로 LINQ를 사용할 수 있게 하며, LINQ to DataSet은 DataSet에 LINQ를 사용할 수 있도록 해줍니다.
      • LINQ to Entities는 개발자가 관계형 데이타베이스를 위해 프로그래밍을 할 경우, 개발하는 응용프로그램에서 사용하는 데이타를 기반 데이타베이스의 구조와 독립적인 형태로 사용할 수 있게 해줍니다. 엔티티 데이타 모델(EDM)의 사용은 개발자가 관계형 데이타베이스에 저장된 데이타를 직접 매핑하여 사용하는 것이 아니라 응용프로그램이 사용하는 컨셉을 따르는 모델을 디자인할 수 있게 해줍니다. LINQ to Entities는 ADO.NET 프로바이더 모델을 사용하여 개발되어 백엔드의 Microsoft SQL Server를 포함한 여러가지 다른 제품의 관계형 데이타베이스들을 지원합니다. 본 CTP는 SQL Server와 SQL Server Compact Edition의 두가지 LINQ to Entities 프로바이더를 제공합니다.
      • LINQ to SQL(이전에는 DLinq)은 2006년 5월 LINQ CTP에 비해 많은 향상이 있었습니다. System.Data.Linq.dll의 System.Data.Linq 네임스페이스에 위치합니다. 이번에 새로운 내용으로 DataContext의 읽기 전용/Serialization에 최적화된 보드의 제공과 DataShape을 사용한 eager loading 기능 그리고 관계(relationship)에 쿼리를 설정할 수 있는 기능입니다.
    • LINQ To SQL 디자이너
      • 디자이너 내에서 저장된 프로시져와 함수로부터 메서드를 생상할 수 있습니다.
    • 데이타베이스 스키마의 처리가 향상되었습니다.
    • 디자이너에서의 상속성 지원이 향상되었습니다.
  • LINQ over XML (XLinq)
    • System.Xml Bridge 클래스 추가 – LINQ to XML 트리에서 XPath와 XSLT, XSLT Transformation를 사용하고 XML 스키마에 맞게 XElement 트리를 validate할 수 있는 extension 메서드들이 추가되었습니다. 
    • Event Model - LINQ to XML 트리가 효율적으로 GUI와 동기화돨 수 있게 합니다. 예) Windows Presentation Foundation 응용프로그램
    • 클래스 hierarchy 변화 - XObject 클래스 추가, XStreamingElement 클래스 (임시로) 제거
    • 여러가지 understandability / usability 향상 – API를 더 깔끔하고 일관되도록 만들기 위해서 내부 리뷰, 사용성 연구, 그리고 외부 피드백으로 여러가지 작은 변화들이 있었습니다.
  • LINQ to Objects API
    • LINQ to Objects API는 배열이나 제네릭 리스크등의 .NET 컬렉션에 쿼리를 할 수 있게해줍니다. 본 API는 System.Core.dll의 System.Linq 네임스페이스에 포함되었습니다.

ADO.NET

  • Extended, more powerful data APIs with the ADO.NET Entity Framework
    • With the ADO.NET Entity Framework developers will be able to model the view of the data that is appropriate for each one of the applications they are building, independently of the structure of the data in the underlying database. The use of the Entity Data Model (EDM) enables developers to design models that follow the concepts built into the application, instead of having to map them to constructs available in relational stores. Once the model is in place, the powerful ADO.NET Entity Framework API is used to access and manipulate the data as .NET classes or as rows and columns, whatever is appropriate for each application.
  • Added paging and stored procedures for update (“update customization”) for ADO.NET Entity Framework:
    • Paging: the paging support in the ADO.NET Entity Framework allows developers to “page” over data in a database by indicating the start row and number of rows to be included in the result. Paging is available through Entity SQL (using the LIMIT AND SKIP keywords) and through the query-builder methods in the ObjectQuery <T> class (Top and Skip). In a future CTP the feature will also be enabled to be used in LINQ queries by means of the standard Take and Skip LINQ operators.
    • Stored-procedures for update customization: the Entity Framework by default automatically generates SQL statements for insert, update and delete operations when processing changes to entities in memory to be sent to the database. With the stored-procedures update customization feature developers have the option to override the automatic SQL generation and instead provide stored-procedures that will perform the insert, update and delete operations, which the system will call during entity change processing. Among other things, this enables scenarios where direct access to tables is restricted in the database and the only way to make changes to the data is through stored-procedures.
  • Microsoft Synchronization Services for ADO.NET
    • Provides an application programming interface (API) to synchronize data between data services and a local store. The Synchronization Services API is modeled after the ADO.NET data access APIs and gives you an intuitive way to synchronize data. It makes building applications for occasionally connected environments a logical extension of building applications where you can depend on a consistent network connection. For details please visit https://go.microsoft.com/fwlink/?LinkId=80742 .

Web

  • 이번 CTP에서 웹 개발을 위해서 달라진 점들:
    • XHTML과 CSS를 지원하는 새로운 ASP.NET 웹폼 디자인
    • ASP.NET AJAX와 브라우저 DOM을 위한 JScript intellisense
    • website와 web application에서 .NET Framework 2.0, 3.0 그리고 3.5를 지원하는 멀티타게팅
    • website와 web application에서 사용할 수 있는 LINQ to SQL 디자이너

Client App-Level Services

  • 클라이언트 응용프로그램 개발자가 웹 응용프로그램과 동일한 유저 프로필과 로그인 서비스를 사용할 수 있게 해줍니다. 이것으로 사용자는 응용프로그램의 종류와 상관없이 사용자 개인화와 인증에 백엔드 스토리지를 사용할 수 있습니다.

C# Workflow Rules

  • Workflow Rules는 사용자가 코드와 비슷한 형태로 룰을 지정할 수 있게 합니다.
    • 룰에 C#의 새로운 Extension 메서드 기능을 사용할 수 있습니다.
    • 룰에 연산자 오버로딩과 new 연산자를 사용할 수 있습니다.

XML

  • XML Tools: XSLT 디버거
    • Enables Input Data Breakpoints allowing the user to break the execution of the style-sheet whenever a certain node in input document is hit.
  • XML 에디터 성능 향상
    • Performance in the Xml Editor for Intellisense, schema validation etc is improved by implementing incremental parsing of the XML Document.
  • XML 에디터와 XSD 디자이너간의 부드러운 전환 
    • Improves the experience a user has when working with an XML Schema in textual and graphical mode at the same time.

MSBuild

  • 병렬/멀티프로세서 빌드
    • 병렬화할 프로젝트의 의존성(dependency) 정보를 사용하여 최대한 동시에 여러개의 프로젝트를 빌드
    • 빌드시 사용할 프로세서의 갯수를 지정할 수 있는 기증을 제공하여 개발자/빌더가 병렬성을 제어할 수 있도록 허용.

관리되는 빌드 프로세스의 UAC 매니페스트

  • 빌드 과정에서 최종 실행파일에 포함되는 메니페스트를 지원

IDE

    • 다음을 지원하는 Windows Presentation Foundation (WPF) 디자이너 (코드명 “Cider”) & 응용프로그램 툴:
      • WPF 프로젝트를 생성/수정/빌드/실행 그리고 디버깅
      • WPF 디자이너:
        • 디자이너에서 사용자 정의 컨트롤과 형식을 포함한 아무 XAML파일을 프리뷰
        • Window, Page, UserControl들을 디자인
        • Grid로 기본적인 레이아웃 작업 실행
        • 새 프로퍼티 브라우저로 기본적인 속성 수정
        • Document Outline으로 문서의 구조를 쉽게 이해하고 네비게이트
        • 디자이너의 변화를 바로 XAML에서 볼 수 있음.
      • XAML 에디터:
        • XAML을 intellisense와 함께 수정
        • XAML의 변화를 디자이너에서 바로 볼 수 있음
        • WPF 컨트롤을 위한 디자인 타임 빌드
    • 윈도우 비스타 응용프로그램을 위한 IDE내 UAC 매니페스트
      • 윈도우 비스타 개발자가 쉽게 UAC 매니페스트를 임베디드 리소스로 포함

CLR

  • URI관련 클래스에 IRI 지원 (RFC 3987) 추가
    • 이로 인해서 리소스 식별자로 모든 언어를 지원하는 문자 집합을 사용할 수 있다.
  • Socket 클래스의 새로운 비동기 모델 지원
    • 새로운 비동기 모델로 현재의 I/O 모델에 비해서 I/O 오버헤드가 감소
  • Peer Networking 클래스
    • peer-to-peer network API들로 개발자가 협업 기능들을 기존의 응용프로그램에 쉽게 확장 가능.
  • WMI.NET Provider Extension 2.0
    • WMI.NET Provider Extension 2.0 simplifies and enhances the development of WMI providers in the .Net framework to enable the management of the .NET applications while minimizing the impact on the development time.
      • Delivers equivalent access to WMI features and functions available to native code providers.
      • Exposes property updates and methods to managed code.
      • Improved scalability for large collections of WMI entities.

Office

  • Enable ClickOnce deployment for Microsoft Office applications
  • Developers now have an easy to use and version resilient security model for their applications that will exist for future versions of Visual Studio and Office. With full support for ClickOnce deployment of all Office 2007 customizations and applications, developers and administrators now have the right tools and framework for easy deployment and maintenance of their Office solutions.

Team Architect

  • Top-down service design
    • Top-down system design allows an application architect/lead developer to perform the design of a business solution without having to be confronted with technology decisions. It enables the user to progressively refine a high-level system design, designing new sub-systems and applications in the context of the system in which they are to be used.
  • Architectural Roles on System, Applications and Endpoints
    • Enables an architect, while working on the high-level design of a system’s architecture using the System Designer, to introduce elements into the design that play a specific pre-defined architectural role(s) within architectural patterns.

Team Developer

  • Profiler Support for WCF Applications
    • Enable profiling of WCF based applications to improve application performance
  • Customize and extend code correctness policies
    • Code Analysis Check-in Policy improvements to communicate to a developer why the check-in policy failed and to provide guidance on how to pass the policy requirements.
  • Customize and extend code correctness policies
    • Code Analysis Check-in Policy improvements to communicate to a developer why the check-in policy failed and to provide guidance on how to pass the policy requirements.
  • Performance tune an enterprise application
    • Enables developers to run profiling during load and test procedures for a system, to see how it behaves, and use integrated tools to profile, debug and tune. This also enables performance base-lining, so that users can save a baseline profile and then, if the performance degrades, compare up-to-date traces to identify the source of the regression

Team Test

  • Unit Test Generation Improvements
    • Improvements to unit test generation provide an easy way for the user to specify what methods to test, and generate test methods and helper code to do unit testing, as well as providing unit test support for generics.
  • Web Test Validation Rule Improvements
    • Web Test rules improvements enable testers to create more comprehensive validation rules for the application being tested. These improvements include the following functions:
      • Stop test on error
      • Search request and response
      • Add validation rule for title
      • Redirect validation
      • Provide test level validation rules
      • Expected HTTP code
      • Warning level for errors on dependents
  • Better Web Test Data Binding
    • This feature allows users to data bind .CSV and XML files, as well as databases to a web test, using a simple databinding wizard.
  • Improved Load Test Results Management
    • With this feature user can open or remove an existing load test result from the load test repository. User can also import and export load test results files.

Team Foundation Server

  • Team Build
    • Support multi-threaded builds with the new MSBuild.
    • Continuous Integration – There are many components to this, including build queuing and queue management, drop management (so that users can set policies for when builds should be automatically deleted), and build triggers that allows configuration of exactly how when CI builds should be triggered, for example – every checkin, rolling build (completion of one build starts the next), etc.
    • Improved ability to specify what source, versions of source, etc to include in a build.
    • Improved ability to manage multiple build machines.
    • Simplified ability to specify what tests get run as part of a build
  • Version Control support
    • Destroy- The version control destroy operation provides administrators with the ability to remove files and folders from the version control system. The destroyed files and folders cannot be recovered once they are destroyed. Destroy allows administrators to achieve SQL server disk space usage goals without constantly needing to add more disks to the data tier machine. Destroy also facilitates removing versioned file contents that must be permanently removed from the system for any other reason.
    • Annotate - Annotate is a feature that allows developers to inspect a source code file and see at line-by-line level of detail who last changed each section of code. It brings together changeset data with difference technology to enable developers to quickly learn change history inside a source file.
    • Folder Diff - Team Foundation Server now supports compare operations on folders, whereby the contents of the folder are recursively compared to identify files that differ. Folder diff can compare local folders to local folders, local folders to server folders, and server folders to server folders. It’s a great way of identifying differences between branches, files that you’ve changed locally, and files that have changed between two points in time.
    • Get Latest on Checkout - As an optional setting on a team project or on an individual basis, you can have Team Foundation Server always download the latest version of a file when you check it out. This helps ensure that you don’t have to merge your changes with somebody else’s when you check the file back in.
  • Performance and Scale
    • This release includes numerous improvements in performance and scalability of Team Foundation Server.

Visual C++

  • 네이티브 C++ 응용프로그램에 윈도우 비스타 "룩앤필"을 쉽게 추가
    • Developers can use Visual Studio to build ISV applications that exhibit the Windows Vista “look & feel”. A number of the Windows Vista “look & feel” features are available simply by recompiling an MFC application. Deeper integration that requires more coding or design work on the part of the developer is also simplified with Visual Studio’s integrated support for the Windows Vista native APIs.

Windows Communication Foundation and Workflow Foundation

  • WF 디자이너와 디버거의 통합
  • WF & WCF 통합:
    • 새로운 WCF Send/Receive 액티비티
    • 향상된 Workflow와 Service 호스팅
  • WF Rules 향상:
    • 연산자 오버로딩 기능 추가
    • "new" 연산자의 지원을 추가하여 사용자가 WF Rules에서 객체와 배열을 new 할 수 있음
    • extension 메서드 지원으로 사용자가 WF Rules에서 extension 메서드를 호출하는 경험이 C#에서 코딩하는 방식과 비슷하도록 함
  • BasicHttpBinding사용시 WCF의 Partial Trust 지원
  • WCF의 향상된 REST/POX 지원
  • RSS와 Atom 프로그래밍 모델
  • Atlas 통합으로 WCF 서비스에서 AJAX 스타일의 웹 응용프로그램을 제작시 end-to-end 프로그래밍 모델 제공
  • OASIS specifications 지원: WS-AtomicTransaction 1.1, WS-Coordination 1.1, WS-ReliableMessaging 1.1, WS-SecureConversation 1.3, WS-Trust 1.3
  • WCF 서비스 Authoring을 위한 새로운 템플릿