2013-06-22 4 views
5

Я читаю о WinRT (Windows Runtime) в C# 5.0 в двух словах, и я нашел некоторые фундаментальные термины в .NET-разработке: эталонная сборка и справочный профиль. Итак, у меня есть сомнение в отношении последнего термина: что такое ссылочный профиль и его цель?Что такое ссылочный профиль и его назначение?

Кроме того, я вставляю весь абзац, описывающее перекрытие между библиотеками Framework .NET и библиотекой WinRT (я думаю, что это описывает необходимость создания ссылочного профиля):

Поддержка, WinRT библиотеки новый пользовательский интерфейс Metro (для записи захватывающих приложений touch-first), особенности для мобильных устройств (датчики, текстовые сообщения и т. д.) и ряд основных функций, которые перекрываются с частями .NET Framework. Из-за этого перекрытия Visual Studio включает в себя ссылочный профиль (набор сборников ссылок .NET) для проектов Metro, которые скрывают части .NET Framework, которые перекрываются с WinRT. Этот профиль также скрывает большие части .NET Framework, которые считаются ненужными для приложений планшета (например, для доступа к базе данных). Хранилище приложений Microsoft, которое контролирует распространение программного обеспечения на потребительские устройства, отклоняет любую программу, пытающуюся получить доступ к скрытому типу.

ответ

2

Как говорится в книге, ссылочный профиль - это всего лишь коллекция эталонных сборок. Например, существуют отдельные профили для приложений WinRT и для обычных приложений .Net 4.5.

Ссылка сборка представляет собой сборку, которая содержит определение типов и их членов, но не содержит никакого кода. Эти ссылочные сборки используются на этапе времени компиляции, но во время выполнения используется сборка времени выполнения, которая содержит код методов.

Например, эталонная сборка mscorlib для WinRT не будет содержать метод Type.GetMethod(), потому что делать это отражение в WinRT не допускается. Но во время выполнения как приложения WinRT, так и обычные приложения .Net будут использовать ту же самую компоновку времени выполнения mscorlib, которая содержит этот метод .

Целью всего этого является наличие одного набора сборок, а также различные «представления», которые ограничивают некоторые функции. Это полезно, если вы хотите создать ограниченный профиль (например, WinRT) или когда вы хотите обновить сборки выполнения с новыми функциями, сохраняя при этом возможность настраивать только старые файлы (например, вы обновляете сборки времени выполнения с .Net 4.0 до .Net 4.5, но у вас все еще есть сборки ссылок .Net 4.0, поэтому вы можете работать над проектами .Net 4.0, не случайно заражая их вещами из .Net 4.5).

+0

так что вы говорите, что эталонная сборка похожа на пакет, который содержит типы, которые полезны для интеграции в другие приложения? Благодарю. – InfZero

+0

@ JuanOrtizOrdoñez Я не уверен, что интеграция связана с этим. Ссылочная сборка в основном представляет собой сборку без каких-либо тел методов. – svick

+0

Ссылочные сборки по существу означают файлы * .winmd в мире WinRT. Эти файлы * .winmd содержат ограниченный набор типов и элементов, необходимых для приложений WinRT. Это позволяет разработчикам устанавливать полную .Net Framework на своих машинах при кодировании проектов WinRT, как если бы они имели только подмножество. Файлы * .Winmd соответствуют точному формату метаданных, используемому сборками .Net, поэтому Visual Studio не имеет проблем с получением информации из нее. * .winmd файлы можно найти по следующему пути - 'C: \ Windows \ System32 \ WinMetadata' на машинах Windows 8 и 8+. – RBT

Смежные вопросы