【问题标题】:monodevelop cannot execute projectmonodevelop 无法执行项目
【发布时间】:2016-10-20 15:54:56
【问题描述】:

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

操作系统:Debian、Kali 2

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

已添加屏幕截图 screen shot

【问题讨论】:

  • 提供一些代码来显示您想要完成的工作会有所帮助。
  • 请发截图

标签: c# debian monodevelop


【解决方案1】:

我在 Ubuntu 20.04 上遇到了这个问题(使用来自 PPA 的最新 monodevelop)

这是因为在 20.04,

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

【讨论】:

    【解决方案2】:

    我找到了几种解决方法:

    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”。

    1. 安装mono-runtime (sudo apt-get install mono-runtime) 并转到bin/Debug/ 目录。在那里你会找到一个 .exe 文件,你可以简单地以./{{NameOfProject}}.exe 执行它

    【讨论】:

    • 我尝试了几种解决方案,但这似乎是最简单的一种。不确定上面提供的(由 Reinhard Gunacker 提供)是否也有效。我没有检查,但我不明白为什么我需要 xterm 或其他一些终端来使控制台应用程序工作......我以为我有一个终端(我相信 MATE 终端)?
    【解决方案3】:

    我遇到了同样的问题,这是我的解决方案。

    操作系统:Linux Mint 18.1 Cinnamon 64 位

    Monodevelop:6.1.2.44 flatpak 安装

    afaik MonoDevelop 需要 xterm 或 gnome-terminal 在外部控制台中运行程序。如果两者都缺失,则会出现“无法执行...”错误。

    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/
    

    也许不是最好的解决方案,但它对我有用。

    【讨论】:

    • 为我工作,在基本操作系统上安装了monodevelop(到目前为止基本上是ubuntu 16.04)。 - 2017 年 6 月 29 日
    【解决方案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/
    

    【讨论】:

      【解决方案5】:

      我必须在 Linux Mint Sylvia 中打开一个终端窗口,然后切换到项目名称,然后从那里切换到 bin/Debug 文件夹。我看到有一个由 monoDevelop 创建的 exe。我将exe的模式更改为可执行。然后我通过输入它的 name.exe 来运行 exe,它运行了。

      【讨论】:

        猜你喜欢
        • 2016-11-02
        • 2016-02-25
        • 2020-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多