Monodevelop на Xubuntu отсутствует ASP.NET

Я использую XUbuntu 16.04, и я установил mono-complete и monodevelop. Однако когда я запускаю Monodevelop, я не могу создать веб-проект. Похоже, ASP.NET не установлен.

Как я могу установить ASP.NET? Благодаря

4
задан 10 May 2016 в 17:27

2 ответа

У меня также была эта проблема. Как в стороне, MonoDevelop (с дополнением ASP.NET) все еще хорошо работает в Ubuntu 14.04 и 14.10, таким образом, я не уверен, что изменилось, чтобы заставить его не работать в Ubuntu 16.04.

В моем случае этого было достаточно для продвижения меня от Ubuntu и к Fedora (с серверами CentOS для моего Моно приложения / приложения ASP.NET). Fedora 23 выполняет MonoDevelop с ASP.NET и NUnit отлично, прямо из поля.

Я нашел вопрос об этом на Переполнении стека несколько недель назад, и я отмечаю, что оно только что имело ответ от кого-то утверждающего, что они нашли разрешение: https://stackoverflow.com/questions/36101232/asp-net-template-not-found-after-installed-monodevelop-ide-on-ubuntu-16-04

ОБНОВЛЕНИЕ: существует подтвержденное разрешение к этой проблеме в ТАК ссылка выше. Я создал пошаговое разрешение (благодаря Abu для исходного сообщения), который будет вести Вас через него.

ОБНОВЛЕНИЕ 2: Я описал это как сообщение в блоге на моем веб-сайте, таким образом, надо надеяться, это привлекает дальнейшее внимание к этой проблеме, которой действительно не должно происходить в LTS. Полное сообщение в https://brendaningram.com/article/how-to-fix-monodevelop-on-ubuntu-16-04/

Это - то, как решить вопрос:

Во-первых, установка с помощью следующих команд, которые являются согласно официальным Моно инструкциям по установке, но с изменением от хрипящего до альфы.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF  
echo "deb http://download.mono-project.com/repo/debian alpha main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list  
sudo apt-get update  

Затем установите Моно самостоятельно:

sudo apt-get install mono-devel mono-complete ca-certificates-mono mono-xsp4

Затем для установки определенной версии MonoDevelop, который дает Вам рабочее дополнение ASP.NET:

sudo apt-get install monodevelop=5.10.0.871-0xamarin2

Я не абсолютно доволен этим решением, очевидно. Основное распределение, такое как Ubuntu (и особенно их текущий LTS) не должно иметь этих видов проблем регрессии. Однако у нас, по крайней мере, есть разрешение к проблеме.

Знаменитый то, что Рабочая станция Fedora 23 имеет рабочую Моно/моноразрабатывать/ASP.NET среду прямо из поля. В то время как я ранее был пользователем Debian/Ubuntu, этой проблемы было достаточно для продвижения меня через к Fedora, где я счастливо работал далеко без единственной ошибки или другой проблемы. Я останусь с Fedora? Это сомнительно, но это, конечно, было удовольствие найти приятную и стабильную альтернативу Ubuntu.

6
ответ дан 11 May 2016 в 03:27
  • 1
    Вы пытались войти в свое меню начальной загрузки BIOS или UEFI? Это может быть аппаратная проблема, если Вы можете ' t используют Вашу клавиатуру даже перед меню личинки. – Legolas 23 October 2017 в 05:57

Лучший способ состоит в том, чтобы скомпилировать MonoDevelop из источника, когда официальные 6 дистрибутивов работают в песочнице плоского корпуса. Если Вы разрабатываете материал, который не должен работать в песочнице, это плохо. Вот очень хорошее учебное руководство, как создать из источника, который работает:

Вот шаги от этого сообщения в блоге, которое имеет полное изложение:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list

(не волнуйтесь о названии репозитория - сообщение характерно для Ubuntu 16.04 и позже),

sudo apt update && sudo apt upgrade

Получите зависимости

sudo apt install -y autoconf automake cmake fsharp git gnome-sharp2 gtk-sharp2 libssh2-1-dev mono-complete referenceassemblies-pcl zlib1g-dev

Теперь cd к каталогу, где Вы хотите установить, например, ~/Apps/MonoDevelop и клонируйте источник в него

git clone https://github.com/mono/monodevelop.git --branch monodevelop-6.1.2.44 --depth 1 6.1.2.44

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

Последняя опция в команде является названием каталога, где исходный код будет расположен. Так, после выполнения этой команды новый каталог назвал 6.1.2.44, появится. Эта структура каталогов позволит нам использовать несколько версий MonoDevelop одновременно. Например:

~/Apps/MonoDevelop/6.1.2.44
~/Apps/MonoDevelop/6.2.0.1499

cd к каталогу с версией MonoDevelop, который Вы собираетесь создать, например

cd ~/Apps/MonoDevelop/6.1.2.44

Настройте сборку

./configure --profile=stable --enable-release

Сборка MonoDevelop:

make

Иногда, сборка может перестать работать, потому что некоторые пакеты NuGet не могут быть найдены. Ошибка может выглядеть подобной этому:

mono .nuget/NuGet.exe restore
Unable to find version '2.8.2' of package 'NuGet.CommandLine'.
Unable to find version '2.6.4' of package 'NUnit.Runners'.
Makefile:1124: recipe for target 'restore-packages' failed

В этом случае восстанавливают пакеты NuGet:

mono main/external/nuget-binary/nuget.exe restore main/Main.sln

И попробуйте еще раз

Предполагая, что сборка завершилась успешно, мы можем теперь выполнить MonoDevelop из каталога с

make run

См. ссылку (или другие сообщения здесь) для шагов для создания a .desktop файл для легкого запуска. Образец .desktop содержание файла:

[Desktop Entry]
Type=Application
Terminal=false
Icon=/home/USER/Apps/MonoDevelop/6.1.2.44/main/theme-icons/GNOME/monodevelop-48.png
Name=MonoDevelop
Exec=make --directory /home/USER/Apps/MonoDevelop/6.1.2.44 run

X-Ayatana-Desktop-Shortcuts=6.1.2.44;6.2.0.1499

[6.1.2.44 Shortcut Group]
Name=6.1.2.44
Exec=make --directory /home/USER/Apps/MonoDevelop/6.1.2.44 run

[6.2.0.1499 Shortcut Group]
Name=6.2.0.1499
Exec=make --directory /home/USER/Apps/MonoDevelop/6.2.0.1499 run
2
ответ дан 11 May 2016 в 03:27
  • 1
    Это наконец была аппаратная проблема. Я открыл устройство и видел, что соединение с клавиатурой было немного грязно и убрало его. – IndexOutOfBoundsException 23 October 2017 в 17:32

Другие вопросы по тегам:

Похожие вопросы: