我目前使用的是Manjaro Linux 20.2
,官方版本为JetBrains Toolbox
我已经安装了这个软件包package screenshot
当我在我的终端写“mono”时,它运行。文件位置看起来也很好。
当我在Rider中打开我的环境选项卡时,我看到了. Environment Tab
我可以使用.NET CORE
创建和运行/执行/调试任何项目
但是我根本不能使用这个框架。像New Project Window这样的简单应用程序
还有这里...
在我的设置中-〉构建和执行-〉我有这些参数path settings
我不知道该怎么做以及如何修复这个错误。尝试了很多次卸载/重新安装Mono软件包。但它总是一样。也许我应该在骑士设置中更改Mono路径?但我不知道在哪里..在usr/lib和usr/bin中有这么多这样的文件
请帮助我,我不知道下一步该怎么做,如何解决这个问题..我只知道肯定.这是可能的运行单声道UNIX
.
**UPD 1:**我发现,要在Linux上运行Mono。我应该安装一个不同的包“monodevelope”
但是根据GitHub的说法,这个包不能在Linux上构建(只能在MacOS上)x1c 0d1x
我发现了这个“dotdevelop”软件包.. https://github.com/dotdevelop/dotdevelop但是我不知道,它看起来对我也不起作用。或者也许我只是把一个错误的文件放进了我的骑士单声道路径设置中。
**UPD 2:**如果我从容器内部使用.NET FRAMEWORK,也许我还有希望。https://hub.docker.com/_/microsoft-dotnet-framework
我知道如何使用Docker。它可以在我的骑士中使用吗?我不明白。
2条答案
按热度按时间f2uvfpb91#
这个答案基本上就是你要找的。在最近的一些发行版的mono包中有一个问题,导致Rider没有正确的引用mono库。
JetBrains Rider not detecting mono or Unity API
我已经在Debian 11上试过了,它和预期的一样工作。我也使用Ubuntu机器,我不需要这样做。我不完全确定为什么,我所知道的是一些发行版需要覆盖设置才能工作。我使用KDE Plasma,并使用他们设置环境变量的方法。有一百万种方法可以做到这一点,检查Majaro的文档,看看什么对你的系统最好。
至于另一个评论说Linux上没有. NET Framework,这并不完全正确。Mono是Linux和macOS上的. NET Framework实现。它支持Windows版本中存在的大部分. NET Framework,但它也有一些缺点。
例如,winforms只得到部分支持,而且极其bug。wpf根本不会工作。
ASP.NET可以通过插件在Apache下运行,但是它并不支持你在Windows上可以使用的所有框架。对于在非Windows平台上的现代. NET Web开发,应该使用. NET 5+。
另一个奇怪的地方是,Console.Beep()方法工作不可靠,Console.Beep(int frequency,int duration)方法在macOS上也完全不起作用。
除了这些例子,还有其他的东西不能工作,主要是直接依赖于Windows API的东西,尽管在WINE下运行. NET是可能的。这是不推荐的。任何使用COM的东西都不能工作。它也几乎不可能使用打印机,所以可能已经过时了。
您可以查看https://www.mono-project.com/docs/about-mono/compatibility/以获得更好的支持和不支持的列表。
对于控制台应用程序来说,单声道工作得相当不错,只是要注意,并不是所有的东西都能工作。
祝你好运!
balp4ylt2#
您应该通过选择“.NET核心”下的“控制台应用程序”来创建控制台应用程序。
我想知道为什么Rider的人决定在.NET下显示项目,把事情搞砸了。像你这样的初学者不会很容易知道它们是什么,以及如何在非Windows机器上运行它们。