It's been some time (months!) I've been trying to create a Portable MonoDevelop installation with Mono included, so that I can develop, debug and run .NET applications on machines for which I don't have an Administrator account. I finally did it, and thought would share the effort.
It is no easy task, but it is certainly possible. Also, I've managed to build MonoDevelop from Xamarin Studio, on Windows, using Mono as the toolchain. It worked fairly well, considering MonoDevelop is such a big project. It would be a shame if Xamarin removes support for the Mono toolchain on Windows, as suggested by Michael Hutchinson on this comment https://forums.xamarin.com/discussion/comment/71504/#Comment_71504 .
Free sharpdevelop 4.0 portable download software at UpdateStar - #develop (short for SharpDevelop) is a free IDE for C#, VB.NET and Boo projects on Microsoft's.NET platform. SharpDevelop Portable [MF] SharpDevelop. Wiki Nota: al descargar el contenido deslindas cualquier resposibalidad al creador de post y servidores del blogger y mediafire. (solo es para programas de pago los demas pueden descargarlos ).
The motivation is that in my current job I am stuck with Visual Studio 2008. Due to being a big company (100,000+ employees) and NOT an IT company, the bureaucracy to get anything done is overwhelming (inb4 get another job: it's not an option right now, I am sorry). So I mainly survive by using Cygwin and portableapps.com . Mono and MonoDevelop, being free software and 'disconnected' from Windows, could offer this flexibility which 'official' .NET cannot.
For someone looking to do the same, here are the main steps I took:
First, on a machine you have Administrator account:
0) Cygwin not required, but recommended to automate some boring tasks
1) Get ZIP-packaged Mono binaries here: codeproject.com/Articles/815565/How-to-build-Mono-on-Windows and unzip them to C:
2) Correct all the '.bat' files in the bin/ folder of this Mono environment, so they point to the right executables (it's hardcoded in them)
3) Clone monodevelop from GitHub (I've cloned it into C:monodevelop)
4) Install Xamarin Studio
5) Add the Mono installation from step 1 as a Runtime into Xamarin , set it as default, and add the following folders to search for assemblies:
{mono-prefix}libmonogtk-sharp-2.0
{mono-prefix}libmonomonodoc
{mono-prefix}libmono
Change {mono-prefix} to the folder where you unzipped the mono binaries in step 1.
{mono-prefix}libmonogtk-sharp-2.0
{mono-prefix}libmonomonodoc
{mono-prefix}libmono
Change {mono-prefix} to the folder where you unzipped the mono binaries in step 1.
6) Open the Main.sln solution in Xamarin Studio. Choose 'DebugWin32' configuration.
7) In the Properties of ALL projects, Disable MSBuild build engine, and disable XML documentation generation
8) Disable projects that depend on WCF, and also projects whose name contains 'MSBuild.dotnet'
9) The 'po.mdproj' project will not load, don't worry, it works without it.
10) In the project MonoDevelop.Core, it complains about BuildVariables.cs missing. I just copied BuildVariable.in.cs and put in the version numbers from version.config manually.
11) Choose Build All.
12) After built, Run it. It may complain about the lack of 'TipsOfTheDay.xml' file. Copy them manually.
Now, just copied the Mono binaries folder and the monodevelop folder and I can run it on other computers, without installing nothing at all.
What I've tested and works:
- Console Applications, including Debugging
- Web Forms, including the built-in xsp2 server.
Nuget is not working yet, something with decompressing the gzip HTTP stream, I will try to see if I can make it work.
Lately I’ve been messing around with SharpDevelop.Mainly because I think I’m going to pick Boo as my one new programming language each year.As part of my research I’ve discovered that it can be used as a Portable App.That is, it can be run directly from a USB thumb drive without an install.In it’s simplest form all that is needed is to copy the files from the install directory to the thumb drive and away you go.However if you are using the PortableApps Suite and want SharpDevelop to show up in you menu it’s a little harder.
First the PortableApss Suite expects all its applications to exist in folders that end in “portable”.This isn’t hard to do just create a ShpapDevelopPortable folder under the PortableApps directory and copy the files there.Now, the second hurtle is that the Suite menu expects the executable to be in that root folder; SharpDevlop is not, it’s in a bin folder.You could probably move the assemblies to the root directory but it would probable create problems with some of the resource dependences.So, I decided to create a proxy exe that would call the real one.Here is the entire source code.
/*
* Created by SharpDevelop.
* User: Trevor Michealson
* Date: 6/13/2007
* Time: 11:17 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Diagnostics;
namespace SharpDevelop
{
class MainClass
![Sharpdevelop Sharpdevelop](/uploads/1/2/5/8/125845473/498523706.jpg)
{
public static void Main(string[] args)
{
string apploc = @'/bin/SharpDevelop.exe';
Process SharpDev = new Process();
if (System.IO.File.Exists(apploc))
SharpDev.StartInfo.FileName = apploc;
else
SharpDev.StartInfo.FileName =
@'/PortableApps/SharpDevelopPortable/' + apploc;
SharpDev.Start();
}
}
}
The if statement determines if you are running from the menu or if you’ve run the exe directly, it gets a different working directory in both.
Note: when I brought it to work it ran in completely different working directory.I’m not sure if this is Windows 2000 or a profile setting but this code did work on both my Home PC (running XP) and my Laptop(running Server 2003).