菜鸟教程小白 发表于 2022-12-12 16:05:52

CodeRunner 2 中的 C# 汇编


                                            <p><p>
我正在使用 <a href="https://coderunnerapp.com" rel="noreferrer noopener nofollow">CodeRunner 2</a> (2.0.3),我无法在 C# 中编译代码。我收到警告:</p>

<pre><code>/Users/Username/Library/Application Support/CodeRunner/Languages/C#.crLanguage/Scripts/compile.sh: line 25: gmcs: command not found

In order to run C# code, you need to have Mono installed. You can get it at http://mono-project.com
</code></pre>

<p>我安装了<a href="http://www.mono-project.com/download/" rel="noreferrer noopener nofollow">Mono</a> ,我安装了<a href="http://xamarin.com" rel="noreferrer noopener nofollow">Xamarin Studio</a>并通过它进行了尝试。一些基本的东西有效,所以我知道<a href="http://www.mono-project.com/download/" rel="noreferrer noopener nofollow">Mono</a>在那儿。我已经重新启动了我的计算机,重新启动了 CodeRunner 等。我在其他 StackOverflow 答案中做了一些事情,但仍然无法正常工作。我正在尝试从 <a href="https://support.microsoft.com/en-us/kb/307023" rel="noreferrer noopener nofollow">THIS</a> 运行一个简单的 URL 请求。例子。任何帮助表示赞赏。</p>

<p>提前谢谢你!</p>

<p><strong>~解决了~</strong>
谢谢 <a href="https://stackoverflow.com/users/44322/clay-fowler" rel="noreferrer noopener nofollow">@clay-fowler</a> </p>

<p><strong>1.</strong> 打开 CodeRunner</p>

<p><strong>2.</strong>将语言设置为C#</p>

<p><strong>3.</strong>粘贴:</p>

<p></p>

<pre><code>using System;
class Untitled
{
    static void Main(string[] args)
    {
      Console.Write (&#34;Hello&#34;);
    }
}
</code></pre>

<p><strong>4.</strong> 转到 CodeRunner -> 首选项 -> 语言 -> C#</p>

<p><strong>5.</strong>在设置选项卡下,点击编辑脚本...</p>

<p><strong>6.</strong> 将 gmcs 更改为 mcs(第 25 行)</p>

<p><strong>7.</strong> 现在应该如下所示:</p>



<pre><code>compname=`echo &#34;$CR_FILENAME&#34; | sed &#39;s/\(.*\)\..*/\1/&#39;`.exe
mcs &#34;$CR_FILENAME&#34; &#34;${@:1}&#34;
status=$?
if [ $status -eq 0 ]
then
echo $compname
exit 0
elif [ $status -eq 127 ]
then
echo -e &#34;\nIn order to run C# code, you need to have Mono installed. You can get it at http://mono-project.com&#34;
fi
exit $status
</code></pre>

<p><strong>8.</strong>运行程序</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这个错误意味着 CodeRunner 找不到 Mono 的二进制文件之一,它应该在你的 $PATH 上找到它:</p>

<pre><code>gmcs: command not found
</code></pre>

<p>gmcs 是 Mono C# 编译器,但它是旧版本的旧名称,而不是当前发布的版本。现代 Mono 总是使用名为“mcs”的编译器。 gmcs 应该只是一个运行 mcs 以实现向后兼容性的 shell 脚本。它也是从/usr/bin 到它真正存在的/Library/Frameworks 的符号链接(symbolic link)。像这样:</p>

<pre><code>/usr/bin/gmcs -&gt; /Library/Frameworks/Mono.framework/Commands/gmcs
</code></pre>

<p>但是,在最近的一些 Mono 发行版中,这并没有在 Mac OS X 上正确部署。就我而言,/Library/Frameworks/Mono.framework/Commands/gmcs 不存在!也许对你来说也是。</p>

<p>因此,为了简单地解决这个问题并让事情自己运行,您可能只想将符号链接(symbolic link)更改为指向 mcs?</p>

<pre><code>sudo ln -s /usr/bin/gmcs /Library/Frameworks/Mono.framework/Commands/mcs
</code></pre>

<p>这有点难看,会使您的系统变脏。只修改 CodeRunner 的 compile.sh 以使用 mcs 而不是 gmcs 就不会那么难看了。这不是<em>完全</em>等效的,因为 gmcs shell 脚本实际上使用一些可选参数调用 mcs,使其表现得像一个旧的编译器,但对于你做 CodeRunner 东西的情况,它可能是无害的。</p ></p>
                                   
                                                <p style="font-size: 20px;">关于CodeRunner 2 中的 C# 汇编,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/32144847/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/32144847/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: CodeRunner 2 中的 C# 汇编