Меню Рубрики

Net framework для linux

Download .NET

Downloads for .NET Framework and .NET Core, including ASP.NET and ASP.NET Core

Not sure where to start? See the Hello World in 10 minutes tutorial to install .NET and build your first app.

.NET Core 3.1

.NET Core is a cross-platform version of .NET for building websites, services, and console apps.

.NET Framework 4.8

.NET Framework is a Windows-only version of .NET for building any type of app that runs on Windows.

.NET Core 3.1

.NET Core is a cross-platform version of .NET for building websites, services, and console apps.

.NET Core 3.1

.NET Core is a cross-platform version of .NET for building websites, services, and console apps.

.NET Core

.NET Core is a cross-platform version of .NET for building websites, services, and console apps.

.NET Framework

.NET Framework is a Windows-only version of .NET for building any type of app that runs on Windows.

Free. Cross-platform. Open source. Supported.

.NET is free. There are no fees or licensing costs, including for commercial use.

.NET is open-source and cross-platform, with free development tools for macOS, Windows, and Linux.

.NET is supported by Microsoft. Microsoft ships official releases that are built and tested on Microsoft-maintained servers in Azure and supported just like any Microsoft product.

Ready to Get Started?

Our step-by-step tutorial will help you get .NET running on your computer.

Источник

Linux контейнер для .NET Framework приложения (когда сложно уйти на .Net Core)

Хочу поделиться с миром достаточно нетипичной, по крайней мере для меня, задачкой и её решением, которое мне кажется вполне приемлемым. Описанное ниже, возможно, не является идеальным выходом из ситуации, но это работает, и работает так, как задумывалось.

Завязка и предпосылки

Появилась по работе задача: нужно на сайт вынести 3D-превьюшки BIM-моделей разного оборудования, материалов, объектов. Нужно что-то легковесное, несложное.

На сайте модели этих объектов хранятся и доступны для скачивания в проприетарных форматах различных САПР и в виде открытых форматов 3D-моделей. Среди них есть и формат IFC. Его-то я и буду использовать, как исходник для решения этого задания.

Один из вариантов исполнения и его особенности

Формально можно было бы ограничиться написанием какого-нибудь конвертера *.ifc во что-то для отображения на web-странице. С этого я и начал.

Для подобного преобразования был избран замечательный тулкит — xBIM Toolkit.

В примерах использования этого инструмента просто и доходчиво описано, как работать с IFC и специализированным для web-форматом *.wexBIM.

Далее полученный файл используется в «плеере» xBIM WeXplorer.

Что ж, поехали. Беру nuget’ы от xBIM. Пишу консольное приложение, которое на вход принимает пачку путей к *.ifc-файлам, рядом с ними складывает пачку *.wexBIM-файлов. Всё, можно выкладывать на сайт.

Но как-то это простенько… Хочется, чтобы эта программа стала неким сервисом, который по событию загрузки *.ifc на портал, сразу создаёт необходимый *.wexBIM, и он сразу отображается в подготовленном контейнере.

Ок, формирую новые требования:

  1. пусть задания на конвертацию приходят от нашего RabbitMQ;
  2. сами задания хочу видеть в виде бинарного сообщения, которое на самом деле будет готовым для десериализации классом, описанным в protobuf-файле;
  3. задание будет содержать ссылку для скачивания исходного *.ifc-файла с нашего Minio;
  4. задание также будет сообщать мне, в какой bucket в Minio складывать результат;
  5. пусть само приложение будет собрано под .net core 3.1 и работет внутри Linux docker-контейнера на нашей «docker-ферме»;

Первые сложности и условности

Описывать подробно первые 4 пункта реализации не стану. Возможно позже.

Заставил приложение слушать очередь заданий и отсылать сообщение с результатом в очередь из CorrelationId сообщения-задания. Прикрутил генерированные классы запрос/ответ из protobuf. Научил скачивать/загружать файлы в minio.

Всё это делаю в проекте консольного приложения. В настройках проекта:

И на моей машине с Windows 10 всё вполне отлаживается и работает. Но при попытке запустить приложение в WSL ловлю ошибку System.IO.FileLoadException:

Recently at work, we were evaluating a few options to render building models in the browser. Building Information Modeling (BIM) in interoperability scenarios is done via Industry Foundation Classes, mostly in the STEP Physical File format. The schema is quite huge and complex with all the things you have to consider, so we were glad to find the xBim open source project on GitHub. They’ve got both projects to visualize building models in the browser with WebGL as well as conversion tools to create the binary-formatted geometry mesh. To achieve that, native C++ libraries are dynamically loaded (so no .Net Core compatibility) which must be present in the bin folder. The C++ libraries are expected either in the same folder as the application binaries or in a x64 (or x86, respectively) sub folder (See here for more details). In regular projects, the xBim.Geometry NuGet package adds a build task to copy the dlls into the build output folder, but this doesn’t work with the new tooling. You can, however, get it to work in Visual Studio 2015 by taking care of supplying the interop dlls yourself.

И подобные трудности не у одного меня. Многим хочется xBIM под .Net Core.
Не критично, но многое меняет… Всё упирается в невозможность нормально загрузить Xbim.Geometry.Engine64.dll. Нужно иметь на машине vc_redist.x64.exe. Какие у меня варианты?
Первое, что подумалось: «А может виндовый контейнер с полным .Net Framework использовать?
Доставить Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 в этот контейнер, и всё будет ок?» Я это попробовал:

Сменил .Net Core на:

Что ж, это сработало… It’s alive! Но. А как же наша хостовая Linux-машина с docker? Не получится на неё загнать контейнер с образом на Windows Server Core. Надо выкручиваться…

Компромисс и развязка

To make things worse:
All binaries are 32-bits (x86).
Some require visual C++ redistributable runtime components.
Some require the .NET runtime.
Some need a windowing system, even though we only use the command-line interface (CLI).

В посте описывается потенциальная возможность запуска Windows-приложений в wine в Linux-контейнере. Любопытно, решил я.

После некоторых проб, багов и дополнений был получен Dockerfile:

Build идёт небыстро, но заканчивается удачно. Пробую, проверяю. Работает!

Итоги, выводы, размышления

5.2Гб), но вполне быстро стартует и внутри работает консольное Windows-приложени на .Net Framework 4.7, которое слушает RabbitMQ, пишет логи в Graylog, скачивает и загружает файлы на/в Minio. Обновлять само приложение буду по remote docker API.

Решение утилитарной выделенной задачи реализовано. Возможно, и скорее всего, не универсальное. Но меня в принципе устроило. Может быть кому-то тоже пригодится.

Спасибо, что прочли. На Хабр пишу впервые. Увидимся в комментариях.

Источник

Что такое Microsoft.NET Framework. Как скачать и установить

При возникновении ошибки Microsoft.NET Framework нужно установить его свежую версию. Рассмотрю основные особенности платформы и процесс установки.

Версии .NET Framework для Windows, macOS и Linux

Предназначен для создания приложений. Первая версия .NET Framework вышла в 2002 году. Называлась 1.0. Самая свежая по состоянию на 11 декабря 2019 года — 4.8. Эта разновидность .NET — только для Windows.

Для создания и запуска консольных программ, сервисов и веб-сайтов предусмотрена кроссплатформенная версия .NET Core. Предназначена для операционных систем macOS и Linux. После названия отображается актуальная версия. На момент написания статьи — 3.1.

Предназначение .NET Framework

Применяется для разработки приложений, работающих на локальной машине и веб-приложений. На нем могут быть также основаны веб-сервисы. Поддерживает языки программирования, в числе которых: Visual Basic и C#. Предоставляет разработчику выбор языка программирования, который будет использован при создании программы.

Удобство пользователей и разработчиков

С .NET Framework необходимость писать каждую программу «с нуля» отсутствует. Есть готовые фрагменты программного кода. Элементы окон стандартные. Разработчик лишь вставляет текст, формирует меню приложения и определяет, что будет происходит, когда вы нажмете на определенную кнопку.

Не приходится задумываться над особенностями кода, который нужен для поддержки программы операционной системой и для работы с сервисами Майкрософт, к которым относится и магазин приложений Windows Store. Платформа заботится об экономном использовании аппаратных ресурсов компьютера. Поэтому распространенные в начале века ситуации, когда пустяковый на первый взгляд софт загружал оперативную память, стали большой редкостью.

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

Универсальная платформа

Microsoft обеспечивает работу основанного на .NET Framework софта во всех поддерживаемых компанией операционных системах.

Степень обратной совместимости ПО высока. Рассмотрю на примере старых версий. Вам нужна программа, основанная на версии 2.0. Запускаете ее на ноутбуке или настольном ПК с поздней версией. И старый софт будет работать.

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

Для разработчиков предусмотрены инструменты упаковки приложений. Они легко устанавливаются на ПК.

Архитектура .NET Framework

CLI («Common Language Infrastructure») — платформа, на которой выполняются программы. Основные функции CLI:

  • Обработка исключений. К ним относятся ошибки, возникающие при работе программы. Приведу примеры:
    • Приложение пытается открыть на локальном компьютере файл, который отсутствует
    • Приложение обращается к базе данных, а соединение с ней отсутствует
  • Чистка мусора, то есть удаление ресурсов, которые больше не нужны. Проверяется, какие ресурсы не используются и производится их освобождение для выполнения других задач. Примеры фрагментов, которые удаляются в процессе работы без вмешательства пользователя:
    • Дескриптор файла, который больше не требуется
    • В соединении с базой данных больше нет необходимости. Программа завершила все операции с базой данных
  • Работа с различными языками программирования

Уровни .NET Framework

Выделяются три уровня:

  1. Языки программирования. Часто используемые: VB.NET и C#
  2. Компиляторы. Для каждого языка программирования предусмотрен отдельный компилятор. Для VB.NET — один, для C# — другой
  3. Интерпретатор «Common Language Interpreter» используется для запуска приложения, написанного на любом языке программирования. Поэтому компилятор отравит программу в него для последующего запуска приложения

Библиотеки

.NET Framework включает в себя набор стандартных библиотек классов: методов и функций. Например, есть библиотека классов для обработки всех операций на уровне файлов. Есть метод чтения текста из файла и есть метод записи текста в файл.

Типы основанных на платформе приложений

ПО, которое может работать на основе .NET Framework:

  • WinForms: программы, которые будут работать на компьютере пользователя. Пример клиентского приложения: текстовый редактор «Блокнот»
  • ASP.NET применяется для разработки веб-приложений, которые станут работать в любом браузере, в том числе: Chrome, Edge, Firefox. При этом:
    • Веб-приложение будет обрабатываться на сервере, на котором установлены информационные службы интернета (IIS)
    • IIS — это компонент Microsoft, который применяется для запуска приложения ASP.NET
    • Результат выполнения отправляется на компьютер пользователя и отображается в браузере
  • Технология ADO.NET применяется для создания приложений, предназначенных для работы с базами данных, такими как Microsoft SQL Server и Oracle

Установка

Устанавливать среду выполнения вручную нужно только в тех случаях, когда версия на вашем ПК устарела и не позволяет запускать нужные пользователю программы. Обновляется автоматически, с помощью обновлений Windows, но вручную вы можете установить версии 4.x в Windows 7.

Скачайте .NET Framework с сайта Майкрософт.

Какие версии .NET Framework применяют в 2019 году

На 14 декабря 2019 года для загрузки предлагаются следующие версии:

Майкрософт рекомендует использовать самую свежую версию платформы.

Пользователям, не занимающимся созданием ПО, понадобится среда выполнения (Runtime). Инструментарий разработчика (Developer Pack) необходим программистам.

Прокрутите страницу. Выберите язык и перейдите по соответствующей ссылке. Скачивание стартует автоматически.

.NET Framework 3.5 в Windows 10

Перед установкой на ноутбук убедитесь, что батарея заряжена и подключен кабель питания.

Скачайте 3.5 SP1. Запустите загруженный исполняемый файл с расширением EXE. Чтобы началась установка, пользователю придется позволить ПО вносить изменения на компьютере.

Необходимо дополнительно загрузить и поставить в систему .NET 3.5 (в комплекте: .NET 2.0 и 3.0).

На экране отображается прогресс выполнения загрузки, время которой зависит от скорости интернет-соединения.

Следующий этап — установка компонентов операционной системы осуществляется автоматически. Не требует вмешательства пользователя.

Для завершения установки нужно перезагрузить компьютер. Нажмите соответствующую кнопку (выделена на иллюстрации).

Не выключайте компьютер во время работы с обновлениями. Прогресс выполнения задачи динамически отображается на экране (в процентах).

Чтобы включить поддержку версии 3.5 в «десятке»:

  • Нажмите кнопку со значком-лупой на Панели задач
  • В строке напечатайте: «Включение или отключение компонентов Windows»
  • Щелкните по выведенному в качестве результата поиска параметру Панели управления

Щелчком мыши включите компонент, если его поддержка отключена. Отключено: белый квадрат слева от названия пуст. Включено: в нем располагается черный квадратик.

Обратите внимание, что поддержка версии 3.5, необходимой для совместимости со старым софтом, является дополнением к версии 4.x.

Нужна ли версия 3.5 в 2019 году

Старые программы могут понадобиться в таких случаях:

  • Им нет подходящей замены
  • Пользователь не желает изучать особенности нового интерфейса
  • Новые версии и аналоги требовательны к аппаратным ресурсам ПК и мощности устройства недостаточно для их работы

На сайте Майкрософт отмечено, что версия .NET Framework 3.5 SP1 актуальна до 10 октября 2028 года.

Не нужно устанавливать компонент без необходимости. Если все нужные пользователю программы корректно работают и известно, что старое ПО не применяется, достаточно свежей версии.

Ставить версию надо:

  • Если пользователю известно, что применяемый софт нуждается в ней
  • Возникают сбои программ и предположительной причиной является отсутствие совместимой версии .NET Framework

Какие программы не запускаются без .NET Framework 3.5?

Авторизуясь, вы даете согласие на обработку персональных данных.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Лучший переводчик для mac os
  • Лучший ноутбук для mac os
  • Лучший клиент ftp для mac os
  • Лучший дневник для mac os
  • Лучший видеоредактор для mac os