在 MonoDevelop 中,我创建了一个新的解决方案(C# 控制台应用程序)。它给了我一个简单的 hello world 程序。我按下运行按钮。我看到“构建成功”终端出现并显示:
Cannot open assembly '/home/beauxq/MonoProjects/cstest/cstest/bin/Debug/cstest.exe': No such file or directory.
Press any key to continue...
我查看了 bin/Debug 目录,它是空的。
构建输出:
Building: cstest (Debug|x86)
Build started 7/28/2016 9:29:40 AM.
__________________________________________________
Project "/home/beauxq/MonoProjects/cstest/cstest/cstest.csproj" (Build target(s)):
Target PrepareForBuild:
Configuration: Debug Platform: x86
Target GenerateSatelliteAssemblies:
No input files were specified for target GenerateSatelliteAssemblies, skipping.
Target GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because its outputs are up-to-date.
Done building project "/home/beauxq/MonoProjects/cstest/cstest/cstest.csproj".-- FAILED
Build FAILED.
0 Warning(s)
---------------------- Done ----------------------
Build successful.
当我从菜单中选择“构建”时,也会发生同样的情况。“构建成功”,但目录为空。
答案1
我也刚刚遇到了这个问题。清理、构建、重建都报告成功,但实际上什么也没发生。
要解决此问题,您必须安装包mono-devel
,该包也位于推荐标签中
推荐:libglade2.0-cil-dev、libgtk2.0-cil-dev、mono-devel
也许您使用选项安装了 monodevelop --no-install-recommends
,或者APT::Install-Recommends "false";
在您的 apt.conf(.d) 中的某个地方有,就像我一样。
也可以看看如何不安装推荐和建议的软件包?关于推荐套餐和no-install-recommends
。
答案2
我也遇到过同样的问题。就我而言,所有必需的软件包都已安装,因此我不得不进一步查看。
我所要做的就是在构建/调试项目之前执行“全部清理”。
这可能是由于 MonoDevelop 项目是在另一台机器上启动的,并且安装了相当旧版本的 MonoDevelop。
希望这可以帮助处于同样境况的人。
答案3
我遇到了这个问题,但无法通过“项目选项”中的“输出”类别进行诊断,因为“输出”类别不存在(通常会说明在哪里创建程序集以及命名方式)。问题是,当我使用 MonoDevelop 创建解决方案时,我意外地选择了“库”类别中的“共享项目”(在“跨平台”下),出于某种原因,这是默认的项目类型。
为了解决这个问题,我创建了一个新的解决方案,并从“其他”下的项目类型之一(例如 .NET 类别)中选择,然后添加我的 cs 文件(和 resx 文件 - 您必须右键单击它们,对于 Build,设置为 EmbeddedResource,然后将默认命名空间更改为与调用资源的 cs 文件相同,以避免丢失资源异常)。这为我解决了这个问题。