monodevelop не может выполнить проект
Я установил monodevelop и написал программу hello world в консоли C#, но в конфигурации run я установил флажок run in external console и нажал на кнопку run. monodevelop говорит: не удается выполнить "{Project Path}"
Os: Debian, Кали 2
Редактировать: и Console.ReadLine() Не работает в конфигурации запуска по умолчанию.
экран магазина добавил снимок экрана
4 ответа
У меня была такая же проблема, вот мое решение.
ОС: Linux Mint 18.1 Cinnamon 64-битная
Monodevelop: 6.1.2.44 flatpak установка
afaik MonoDevelop требует xterm или gnome-терминала для запуска программы во внешней консоли. Если оба отсутствуют, вы получаете ошибки "Не удается выполнить...".
Журнал MonoDevelop показывает:~/.var/app/com.xamarin.MonoDevelop/cache/MonoDevelop-6.0/Logs/Ide.log
ERROR [2017-01-10 19:47:49Z]: Cannot execute "/home/...exe"
System.InvalidOperationException: Cannot start process because a file name has not been provided.
В моем случае мне пришлось установить xterm и скопировать его и его зависимости во время выполнения flatpak:
sudo apt-get install xterm
cp -v /usr/bin/xterm ~/.local/share/flatpak/runtime/org.freedesktop.Platform/x86_64/1.4/active/files/bin/
cp -v /usr/lib/x86_64-linux-gnu/libXaw* ~/.local/share/flatpak/runtime/org.freedesktop.Platform/x86_64/1.4/active/files/lib/
cp -v /usr/lib/x86_64-linux-gnu/libXmu* ~/.local/share/flatpak/runtime/org.freedesktop.Platform/x86_64/1.4/active/files/lib/
cp -v /usr/lib/x86_64-linux-gnu/libutempter* ~/.local/share/flatpak/runtime/org.freedesktop.Platform/x86_64/1.4/active/files/lib/
cp -v /lib/x86_64-linux-gnu/libpng12* ~/.local/share/flatpak/runtime/org.freedesktop.Platform/x86_64/1.4/active/files/lib/
cp -v /lib/x86_64-linux-gnu/libtinfo* ~/.local/share/flatpak/runtime/org.freedesktop.Platform/x86_64/1.4/active/files/lib/
Возможно, не лучшее решение, но оно работает для меня.
Я нашел несколько способов обойти это:
1. Вместо создания консольного приложения создайте GTK 2.0
проект. Например:
using System;
using Gtk;
namespace Test
{
class MainClass
{
public static void Main(string[] args)
{
/*Application.Init();
MainWindow win = new MainWindow();
win.Show();
Application.Run(); */
Console.WriteLine("Hello World");
}
}
}
И в Application Output pad
, вы увидите "Hello World".
- устанавливать
mono-runtime
(sudo apt-get install mono-runtime
) и перейти кbin/Debug/
каталог. Там вы найдете файл.exe и можете просто выполнить его как./{{NameOfProject}}.exe
У меня была эта проблема на Ubuntu 20.04 (с использованием последней версии monodevelop из PPA)
Это произошло потому, что 20 апреля
gnome-terminal-server
переехал из /usr/lib/gnome-terminal/
к /usr/libexec/
Чтобы решить эту проблему, необходимо обновить Monodevelop.
Мое временное исправление:
cd /usr/lib
sudo mkdir gnome-terminal
sudo ln -s /usr/libexec/gnome-terminal-server
Вот автоматический двухстрочный подход для подхода "copy xterm" (протестирован на Ubuntu 16.04):
ldd `which xterm` | awk '{if ($2 == \"=>\") print $3}' | grep / | xargs -I{} cp -Lnv {} .local/share/flatpak/runtime/org.freedesktop.Sdk/x86_64/1.4/active/files/lib/
cp -nv `which xterm` .local/share/flatpak/runtime/org.freedesktop.Sdk/x86_64/1.4/active/files/bin/
Мне пришлось открыть окно терминала в Linux Mint Sylvia и переключиться на имя проекта, а затем оттуда в папку bin/Debug. Я видел, что был exe, созданный monoDevelop. Я изменил режим exe на исполняемый файл. Затем я запустил exe, набрав его name.exe, и он заработал.