2016-10-20 71 views
0

我已经安装monodevelop并在C#控制台编写hello世界程序,但是在运行配置时我选择在外部控制台运行复选框并单击运行按钮monodevelop说:无法执行“{Project Path}”monodevelop无法执行项目

Os:Debian,Kali 2

编辑:和Console.ReadLine()在默认运行配置中不起作用。

屏幕店添加 screen shot

+0

会帮助提供一些代码来展示你正在努力完成的任务。 –

+0

发布截图请 – knocte

回答

9

我有同样的问题,这是我的解决方案。

操作系统:Linux薄荷18.1肉桂64位

MonoDevelop中:6.1.2.44 flatpak安装

AFAIK MonoDevelop中需要xterm或侏儒末端用于在外部的控制台运行的程序。如果两者都丢失,你会得到“无法执行...”的错误。

的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/ 

也许不是最好的解决办法,但这个对我有用。

+0

适合我,在基本操作系统上安装monodevelop(现在基本上是Ubuntu 16.04)。 - 2017年6月29日 –

3

我发现这周围几个方面:

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-runtimesudo apt-get install mono-runtime) 并转到bin/Debug/目录。你会发现有一个.exe文件,你可以简单地执行它作为./{{NameOfProject}}.exe
  • +0

    我尝试了几种解决方案,但这似乎是最简单的一种。不知道上面提供的那个(Reinhard Gunacker)也是如此。我没有检查,但我不明白为什么我需要xterm或其他终端来使控制台应用程序工作......我以为我有一个终端(我相信MATE终端)? – Igor

    +0

    xterm解决方案有效 –

    4

    这里是一个自动化二衬为“复制的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/ 
    
    相关问题