Instructions to install and use Monodevelop (http://monodevelop.com/) to edit FieldWorks code.
- 1Install
- 2Troubleshooting
- 3Use Monodevelop with FieldWorks
I'm not using MonoDevelop, but compile projects that have been created in Visual Studio. Since Mono version 5.n I've been using msbuild to compile my projects, but this no longer works in Ubuntu 20.04. In my case, msbuild cannot be found. Trying to install msbuild doesn't fix the issue. – Peter Gloor Apr 25 '20 at 14:07. MonoDevelop is a free and open-source IDE for Mono/.NET. It has support for C# and F# programming languages, with releases 4.x-5.x also including support for C/C projects. It is built using the Gtk# toolkit, is written in C# and is in the official repositories of Fedora. Installation DNF. To install MonoDevelop using DNF run. Monodevelop free download. AntiX-XFCE-noofcial Entorno de escritorio predeterminado: xfce4 Basado en: AntiX Core 19.2 Runit. Gestor De arranque: Ru. Mono is a platform for developing and running cross-platform applications based on the ECMA/ISO Standards. It is a free and open-source implementation of Microsoft’s.NET framework.
Install
Ubuntu 12.04 Precise and Ubuntu 14.04 Trusty
- Install Monodevelop:
- Create Monodevelop launcher:
Troubleshooting
Specified Default Runtime not being used
If running Ubuntu 10.10 Maverick and MonoDevelop 2.8, and running FieldWorks from terminal works but running from MonoDevelop shows a FieldWorks yellow crash dialog box with a message 'Msg: Method not found: 'System.Windows.Forms.Control.IgnoreUpdates', it may be that MonoDevelop (running using a mono in /opt/mono) is using the Mono GAC in /opt/mono rather than the Mono GAC and libraries in /usr/local/mono, even if /usr/local/mono is selected as the Default Runtime.
Seen in the Application Autput window in monodevelop: Loaded assembly: /opt/mono-2.10/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
Set MONO_GAC_PREFIX to /usr/local/lib/mono in the Project/Options/Run/General Environment Variables. This appears to fix the problem.
Use Monodevelop with FieldWorks
Editing code
There is not a global solution file. To edit code in a project, open the csproj project file in monodevelop.
Integrating with VCS
While Monodevelop 2.2.1 successfully uses and edits .csproj files, it seems to delete a few things as well that Visual Studio may find useful. When committing .csproj files with meaningful changes, consider not committing unnecessary <Reference>
reordering or the deletions of sections such as:
If monodevelop makes undesired modifications to all of your open csproj files, you can revert all .csproj file changes by running a command such as
Building
Building projects works from within monodevelop.
You can also build from terminal using nant (see Build_FieldWorks#Subsequent_builds_should_be_built_by_doing:).
If building in monodevelop says something like
then do
and build again.
Debugging
Debugging C# and C++ code works in monodevelop. Sometimes when you debug a GUI program and reach a breakpoint, monodevelop might freeze. To avoid this, you can have the program run inside a Xephyr window. To do this, start Xephyr:
And in monodevelop, right-click the startup project, and click Options. Under Run, click General. In the Environment Variables section, add a Variable 'DISPLAY' and a Value ':2'. Now when you Run or Debug this project, it will display the program in your Xephyr window. Remember not to check in this setting of DISPLAY in the csproj.
Currently (20100412), the debugger in MonoDevelop 2.2.1 does not work with the latest mono in mono-calgary.git (commit 0fc6db6), and gives an error:
To reset your mono-calgary.git back to a mono version that is compatible with the debugger in MonoDevelop 2.2.1, do (note that this will delete any changes you have made in mono-calgary) (Note that this is probably not necessary with the current 20101008 mono-calgary):
When debugging, if Monodevelop freezes, you may be able to get it back. Go to the terminal from which you started Monodevelop. It may say something like
If so, try running:
Unit tests
Unit tests ran be run and debugged using monodevelop. To show the unit tests of your open projects, choose View > Unit Tests.
You can also run unit tests from terminal using nant and nunit (see Build_FieldWorks#Unit_tests).
When running unit tests in monodevelop, if you get the internal error:
or
then for now do
and try again.
If you get the error:
do
If you get the error:
in, say, FwCoreDlgsTests
, then edit the corresponding foo.dll.config
in Output/Debug
, such as Output/Debug/FwCoreDlgsTests.dll.config
and change:
to
This can be done to all of the unit test dll.config files at once by doing:
If running unit tests that derive from BaseTest produce a error such as
- TestFixutreSetUp failed in FwFontDialogTests
then you may not have your default .NET runtime environment set properly. You can change this under Edit > Preferences > Projects > .NET Runtimes. You may have recently rebuilt and reinstalled mono from mono-calgary.git; if so then you will need to setup the mono + mono-real wrapper script again.
Running and debugging FieldWorks in Monodevelop
To run or debug TE or Flex from Monodevelop:
- In the Solution pane, right-click the solution and choose Add ▸ Add Existing Project. Navigate to and open Src/Common/FieldWorks/FieldWorks.csproj
- Right-click the FieldWorks project and choose Options. Under Run click General. In the Parameters box, type '
-proj .../Sena 2.xml -app Flex
', where '.../Sena 2.xml
' is a path toSena 2.xml
. Optionally substitute Flex with TE. - In the Environment Variables area, add a Variable 'DISPLAY' with Value ':2'. Click OK.
- Right-click the FieldWorks project and choose Set As Startup Project.
Now if you Run or Debug, monodevelop will run or debug FieldWorks inside your :2 Xephyr window.
Debug a library
Unlike Visual Studio the project properties in Monodevelop don't have a Debug tab that would allow to specify an external program to start.
However, this can be done in the project properties, General/Custom Commands section. Add a project operation for 'Execute' and select the executable there.
Note that you might have to specify the full path to the executable - at least on my machine a relative path didn't work when I tried to run NUnit as executable.
Debugging into Mono code
If you want to debug into mono code, you have to disable the debugging of project code only: in Monodevelop, go to Edit/Preferences, Debugger/General section and unselect 'Debug project code only'.
Debug broken dependencies
Mono is picky about chaining dependencies, even to DLLs you don't really need. The runtime is more picky than MonoDevelop, so occasionally something that runs fine under MD fails when run stand-alone.
One way to debug this is to use a command line like
MONO_LOG_LEVEL=debug mono Example.exe
Monodevelop Vs Visual Studio
This outputs a lot of debugging information including all the DLLs it loaded and all the places it tried to load ones it could not find.
If you did not migrate your account yet, visit https://idp-portal-info.suse.com/
Cross platform IDE for C#, F# and more
Vendor: Xamarin
Developer: Xamarin
License: LGPLv2 and MIT/X11
Web: http://www.monodevelop.com
Monodevelop Ide
- 2Installation
Features
- Code completion support for C#
- Code templates
- Code folding
- Customizable window layouts
- User defined key bindings
- Integrated Debugger for debugging Mono and native applications
- GTK# Visual Designer
Installation
openSUSE Leap
Version: openSUSE Leap 42.3
Monodevelop Pc
openSUSE Tumbleweed
Download and install Flatpak:
Install from the official FlatPak repository:
Run as a containerized application: