Как уже отмечалось, результатом проекта, написанного на C# и скомпилированного в Visual Studio 2008, является сборка (assembly), которая содержит IL-код проекта и манифест, полностью описывающий сборку. Сборка может быть создана на одном компьютере, на одной платформе, а выполняться на другом компьютере с другим типом процессора, с другой операционной системой. Для выполнения сборки необходимо и достаточно установки на целевом компьютере соответствующей версии Framework .Net, представляющего надстройку над операционной системой.
Когда мы говорим о сборках, язык программирования, на котором создавался исходный код, уже не имеет значения, его особенности никак не отражаются в сборке. Сборки, созданные на VB или C++ с управляемыми расширениями, неотличимы от сборок, которые созданы на C# или других языках, включенных в состав Visual Studio 2008 и использующих каркас Framework .Net при компиляции управляемого кода.
С другой стороны, понятно, что в состав Visual Studio 2008 могут включаться языки, не применяющие Framework .Net, не создающие сборки с управляемым кодом, а использующие собственные библиотеки и собственные каркасы приложений (Framework Applications). В частности, на языке С++ в рамках Visual Studio 2008 можно писать проекты, работающие с библиотеками MFC и ATL, ориентированные исключительно на С++ и создающие в результате компиляции проекта обычные exe-файлы.
Сегодня на всех компьютерах, работающих под управлением любой из версий Windows, установлена соответствующая версия Framework .Net, так что на таких компьютерах могут выполняться и сборки, и обычные exe-файлы. Поскольку Framework .Net, так же как и C#, стандартизован и является свободно распространяемым программным продуктом, его можно встретить и на тех компьютерах, где нет Windows.
На рис. 1.1 показана схема функционирования компьютера, позволяющего выполнять как сборки - управляемый код, так и обычные exe-файлы - неуправляемый код.
Рис. 1.1. Управляемый и неуправляемый код
Заметьте: два мира программ, выполняемые по-разному, могут взаимодействовать друг с другом - из управляемого кода возможен вызов программ с неуправляемым кодом и наоборот. В проектах, написанных на C#, можно управлять офисными приложениями - документами Word и Excel. Офисные документы - это COM-объекты, принадлежащие миру неуправляемого кода, а проекты C# - это сборки, жители страны с управляемым кодом.
4. Проекты C# в Visual Studio 2008
При запуске Visual Studio 2008, которая, надеюсь, уже установлена на Вашем компьютере, открывается стартовая страница. В окне "Recent Projects" стартовой страницы есть две скромные, непрезентабельного вида ссылки - "Open Project…" и "Create Project…".
Они задают две основные функции, которые может выполнять разработчик в Visual Studio 2008, - он может открыть существующий проект и работать с ним или создать и работать с новым проектом. В большинстве случаев после открытия стартовой страницы щелчком по одной из ссылок мы переходим к созданию или открытию проекта. Вид стартовой страницы показан на рис. 1.2.
увеличить изображение
Рис. 1.2. Вид стартовой страницы
Стартовая страница, помимо перехода к выполнению основных задач разработчика, предоставляет важные дополнительные возможности. Во-первых, здесь расположен список текущих проектов, позволяющий сразу же перейти к работе с нужным проектом из этого списка.
Для компьютера, подключенного к интернет, стартовая страница автоматически связывается с сайтом, содержащим текущую информацию по C# и Visual Studio 2008, - по умолчанию показываются новости с сайта msdn. Выбрав соответствующий пункт из раздела Getting Started (Давайте Начнем), можно получить информацию из центра разработчиков C#, можно подключиться к одному из трех форумов по языку C#, можно получить нужную справку в режиме "on line".
На стартовой странице, помимо вкладки "StartPage", расположена вкладка "Главная страница MSDN", позволяющая перейти к соответствующему сайту. На рис. 1.3 показана страница, открытая при выборе этой вкладки.
увеличить изображение
Рис. 1.3. Вид главной страницы MSDN
Коль скоро речь зашла о получении текущей информации и справок по языку C#, упомяну несколько полезных ресурсов:
- http://forums.msdn.microsoft.com/en-us/forums/ - англоязычный сайт предоставляет доступ к различным форумам, в том числе форумам по языку С#;
- http://msdn.microsoft.com/ru-ru/default.aspx - русскоязычный сайт msdn;
- http://msdn.microsoft.com/en-us/vcsharp/default.aspx - англоязычный сайт по языку C# на msdn;
- http://csharpfriends.com/ - англоязычный сайт, где можно найти нужную информацию, задать вопросы и получить ответы от сообщества разработчиков.