Page MenuHomeSolus

MonoDevelop unable to build
Open, Needs More InfoPublic

Description

I've been trying to get MonoDevelop to work under Solus Budgie. When I start a new project, and try to do an initial build/run, I get an error telling me that:

/home/jerry/.cache/MonoDevelop/7.0/MSBuild/2950_1/Microsoft.CSharp.CurrentVersion.targets(5,5): Error MSB4019: The imported project "/home/jerry/.cache/MonoDevelop/7.0/MSBuild/2950_1//Microsoft.CSharp.Core.targets" was not found. Confirm that the expression in the Import declaration "\Microsoft.CSharp.Core.targets" is correct, and that the file exists on disk. (MSB4019) (LogFiles)

Event Timeline

WetGeek created this task.Jun 10 2020, 9:46 PM
JoshStrobl edited projects, added Software; removed Lacks Project.Jun 11 2020, 3:06 AM
JoshStrobl added subscribers: livingsilver94, JoshStrobl.

A quick Googling presented this issue. Is the solution provided in the last comment of that applicable to this? Worth noting that our monodevelop is pretty old and in need of a dedicated maintainer that is experienced and motivated to improve and update it. I know @livingsilver94 did some work around Mono and others have tinkered with msbuild related stuff on Solus before, so maybe they can help or if you're interested, we could give you some guidance.

JoshStrobl triaged this task as Needs More Info priority.Jun 11 2020, 3:07 AM
WetGeek added a comment.EditedJun 17 2020, 4:40 PM

This input is marked "Add Action...", but I'm hoping I can use it to answer Josh's comment. (It's my first time for using this service.)

I don't know any more about this than the error message that I've already provided. What more info would you like from me?

Assuming "Set Sail for Adventure" means "submit".

EDIT: I found out that it does.

silke added a subscriber: silke.Jul 14 2020, 4:24 PM

The following worked for me (from the issue @JoshStrobl found):

Search under the settings, create and disable the point "create with MSBuild instead of xbuild".
For old projects the procedure is similar: but there you should delete the folder ".vs" in the project folder first (better make a backup copy first! ;) )

However, it seems that MonoDevelop is pretty much unmaintained for Linux: the latest releases cannot be built and there seem to be no releases for Ubuntu 20.04 LTS either. I have also attempted to update MonoDevelop to 7.8.4.1 (released on 2019-05-12), but I am unable to build it because of missing dependencies. Perhaps it's time deprecate/drop MonoDevelop?

As far as I'm concerned, there's no longer any reason to pursue this farther. I was interested in mono because for about the last 20 years I've been programming in C#. I thought I could easily modify some of my applications and utilities to work on Linux distros using mono.

However, I've recently been introduced to Vala, and it is very much like working in C#. Similar syntax, similar keywords, and similar operator precedence, with some nice additional features. So I'm still able to experiment with 'almost C#' on Linux, without the complication and incompatibilities of mono.

There's probably good reason why mono seems to be so poorly supported lately.

I'm investigating.

livingsilver94 added a comment.EditedSep 26 2020, 12:59 PM

By searching the MSB4019 error code, it seems that msbuild version and the IDE version (VS, or Monodevelop in our case) should be compatible with each other. Probably our Monodevelop is too old as @JoshStrobl said.

I tried to update Monodevelop but I'm facing same @silke's errors: I cannot build it because the build script wants to download nuget packages that have been moved/removed from the expected URL. So we either *try* to update Monodevelop to a release not marked as stable (meaning one of the recent git tags), or we deprecate it.

silke added a comment.Sep 26 2020, 1:24 PM

@livingsilver94: I don't think there's a more recent tag that actually builds (see monodevelop #8006). Note that the 8.x releases are described as 'Visual Studio for Mac'. There is a fork in the works (dotdevelop, but I don't think that has any working builds.