Как разработчик, я просто влюблен в. NET Framework, несмотря на ряд досадных неудобств с версиями. Однако с точки зрения системного администратора есть несколько крупных проблем, связанных с управлением версиями, которые необходимо решить. Кроме того, на мой взгляд, существуют потенциальные проблемы распространения. NET Framework.

Примером неудобств, которые могут принести системным администраторам версии. NET Framework, может служить публикация на сайте StackOverflow, посвященная способам определения установленных версий. NET Framwork и пакетов обновления (http://stackoverflow.com/questions/199080/how-to-detect-what-net-framework-versions-and-service-packs-are-installed). С одной стороны, это настолько удачное и подробное объяснение, что я отметил публикацию закладкой для дальнейшего использования. С другой стороны, удручает, что для ответа на простой вопрос требуется столь сложный ответ. Посмотреть реестр нетрудно, но если внимательно прочитать статью и учесть все обновления и «исключения», то вы увидите, что местоположения в реестре и детали отличаются в разных операционных системах и в различных версиях Framework (или «пакета обновления»). Задачу точного определения версии Framework, присутствующей на данном сервере, нельзя назвать нерешаемой для системных администраторов, но определенно она требует больше работы и усилий, чем можно было бы предположить.

Если вам кажется, что я преувеличиваю серьезность проблемы версий, взгляните на два сценария, из которых ясно, насколько важно правильно разрешить этот вопрос. В первом сценарии разработчики создали приложение службы, требующее. NET Framework 4.5, и должны разместить его на нескольких серверах приложений, успешно справлявшихся с. NET-приложениями в течение нескольких лет. Администраторы, которым нужно развернуть эти приложения, должны убедиться, что установлена версия. NET Framework 4.5 (а не. NET Framework 4.0), но эти две версии Framework выглядят очень похоже, если просто заглянуть в раздел «Установленные программы». Поэтому чтобы выяснить, какая версия Framework установлена на самом деле, вам придется пройти все этапы, описанные в руководстве Stack Overflow. Представьте также, что разработчикам стало известно о критически важной ошибке в. NET Framework 4.6, в результате которой неверные параметры передаются методам при выполнении производственных рабочих нагрузок (https://github.com/dotnet/coreclr/issues/1296). Предположим, что они хотят отключить RyuJIT или предоставить администраторам сделать это в производственных условиях.

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

. NET Framework как потенциальная мишень для вредоносных программ

Другая потенциальная проблема, связанная с. NET Framework, заключается в том, что при современном обилии вредных (или бесполезных, но легальных bundleware) программ. NET Framework используется как полезная нагрузка для бесполезного программного обеспечения. Признаться, я пока не потрудился выяснить, поставляют ли какие-нибудь предприимчивые компании. NET Framework вместе с «полезными решениями и приложениями», но знаю, что загрузки. NET Framework уже создают потенциальную брешь и возможность для установки разнообразных «мусорных» программ.

Несколько недель назад я установил новый сервер приложений, чтобы переместить некоторые приложения в целях масштабирования. Мне потребовалось согласовать версию. NET Framework, установленную на сервере, с новым «масштабированным» сервером. Поэтому (после того, как я точно выяснил, какая версия установлена на основном сервере) я выполнил поиск с ключевыми словами «.NET 4.0.30319», слабо надеясь, что где-нибудь в недрах сайта Microsoft.com удастся найти приличную ссылку для загрузки определенной версии Framework. Любопытно, что в Google (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=.net%

204.0.30319) искомая ссылка отсутствовала среди первых пяти результатов. В итоге я получил ссылки на вопросы о версиях Framework на форумах Microsoft, несколько других ссылок и две ссылки для загрузки нужной версии. NET Framework.

Однако первая из этих ссылок была на сайте CNET (см. экран 1).

 

Ссылка для загрузки Microsoft .NET Framework 4 на сайте CNET
Экран 1. Ссылка для загрузки Microsoft .NET Framework 4 на сайте CNET

Как мы видим, ссылка для загрузки Microsoft. NET Framework 4 находится внизу экрана (он частично скрыт в моем браузере), после всех прочих предложений. Интересно, что почти 1 млн человек прошли этим путем, чтобы загрузить и установить. NET Framework.

Второе местоположение для загрузки выглядело аналогично: ссылка на сайт Softonic (см. экран 2). Однако мне не удалось найти на этих сайтах пункта, на котором можно было бы щелкнуть без опасения «подхватить заразу».

 

Ссылка для загрузки Microsoft .NET Framework 4 на сайте Softonic
Экран 2. Ссылка для загрузки Microsoft .NET Framework 4 на сайте Softonic

Я не заметил, чтобы на каком-то из сайтов. NET Framework «упаковывалась» вместе с каким-нибудь «полезным» установщиком мусорных продуктов, но нет никакой уверенности, что подобное не произойдет в будущем. Аналогично, в лицензии повторного распространения могут быть предусмотрены условия, предотвращающие распространение. NET Framework в пакете с другими программами. Весь замысел, позволяющий сделать. NET Framework повторно распространяемым, нацелен на то, чтобы разработчики могли оптимизировать процесс установки собственных приложений и упростить для пользователей получение. NET Framework вместе с другими приложениями. Поэтому меня не удивит, если какие-нибудь производители «мусорных» программ попытаются найти лазейки для пакетной доставки своей продукции.

Если разработчики создают приложения, требующие платформы. NET Framework, а затем поставляют Framework со своими приложениями, то пользователи, скорее всего, будут избавлены от необходимости самостоятельно искать различные версии. NET Framework. Но данные CNET свидетельствуют, что почти 1 млн человек загрузили. NET 4.0 с этого сайта. Поэтому есть вероятность, что. NET Framework станет потенциальным катализатором для установки вредоносных программ. Не забывайте также, что для системных администраторов очень утомительно определять, какие именно версии. NET Framework установлены на вверенных им серверах, настольных компьютерах, ноутбуках и планшетах. Поэтому системные администраторы — не поклонники. NET Framework вообще. Очень жаль, учитывая, сколь многим разработчикам нравится эта плат­форма.

В долгосрочной перспективе Microsoft, похоже, намерена предпринять дополнительные усилия, чтобы сделать. NET Framework более привлекательной для системных администраторов. Это поможет добиться более широкого признания платформы. Мой внутренний скептик напоминает, что многие проблемы исчезают при размещении приложений в Azure. Но, возможно, скрытое намерение Microsoft — просто избавиться от системных администраторов или, по крайней мере, не тратить времени на облегчение их участи.