If you were given a new computers with Windows ( XP or Vista ) and had to install a development system for C# which used as little as it could of stuff created at Microsoft, how would you do it?
PS:
I want to make clear ( since it seems I initially didn't ), I do not mean an IDE.
I mean a system. Suppose I install XP or Vista without installing .Net.
What "components" ie compilers, runtimes and libraries do I have to install to make develop in C# and how can i do it using as few Microsoft products as I can.
The question is, Why aren't you using Microsoft products for a product created by Microsoft?
If the answer is cost then have a looksee at the free version of the C# IDE and Compiler, Visual Studio Express.
If there are other reasons, then you can always use your own text editor, download Mono and get the Mono C# compiler and compile everything yourself. If you're looking for an alternative IDE, SharpDevelop is available.
In terms of development IDE one of your best bets would be SharpDevelop
If you want to go a step further and not even use the Microsoft compiler you can use Mono (C# only).
The .NET Framework itself comes with a compiler and build system (csc/msbuild, the equivalent of gcc/make) built in. It's in C:\Windows\Microsoft.NET\v3.5. All you really need to build .NET code is a copy of Notepad (or preferably, Vim)
CSharpBuilder
Sharp Develop
Mono
I have heard about Sharp develop
You could use Eclipse, Mono and a C# plugin. For the more complex stuff you could use the command line for compiling.
I had used ASP.Net Web Matrix to develop some web site in c#1.0 years ago. Its free, lite & easy to use.
Related
Been reading about C#/Visual Studio and beginning programming. Some of the features, like built in library of methods (.Net) and comment template creation for user created methods (///) seems fantastic. I know of Xcode and Eclipe but is there anything available on Mac like this for creating a variety of apps, i.e. web and windowed?
Thanks
There is Mono Develop which is an IDE for Win/Linux/Mac that primarily lets developers create desktop (C#, VB.NET, C/C++, Vala) or ASP.NET applications.
I personally, however, haven't had much luck getting some of my C# desktop applications to run on linux (Mono 2.10.6) because certain namespaces/classes aren't fully implemented (the ones that come to mind are some System.Net classes related to NetworkInterfaces, and understandably, deployment is not ported to linux).
You can use Mono and MonoDevelop
Mono is a open source implementation of C# and CLR. You can see here how complete is implementation, and quote from that link is:
"The easiest way to describe what Mono currently supports is: Everything in .NET 4.0 except WPF, EntityFramework and WF, limited WCF."
I'm looking into Mono and .NET C# and we'll be needing to run the code on Linux Servers in the future when the project is developed. At this point I've been looking at ASP.NET MVC and Mono.
I run an Ubuntu distro and want to do development for a web application, some of the other developers use Windows and run other .NET items with Visual Studio.
What does Mono not provide that Visual Studio does?
If running this on Linux later shouldn't we use MonoDevelop?
Are there some third party tools or add-ins that might be an issue with Mono later?
What does Mono not provide that Visual Studio does?
MonoDevelop is presumably what you mean here. MonoDevelop offers cross platform development on Linux, Mac OS X, Windows based on GTK. However it is not as polished as Visual Studio for obvious reasons - it's 3 people making it, not hundreds. It has some nice features, especially its source control plugin architecture. However as Visual Studio Express is free there aren't many advantages on Windows to using it.
It uses the same .csproj and .sln format as Visual Studio, however the XML docs format is different.
If running this on Linux later shouldn't we use MonoDevelop ?
As I mentioned above, the project formats are inter-operable.
Are there some third party tools or add-ins that might be an issue with Mono later?
Unlike Visual Studio, there aren't a huge wealth of add-ins for Monodevelop. The ones that you use in Monodevelop won't effect your .csproj files at all, as anything Visual Studio cannot read it generally ignores.
As people have said don't confuse Mono for MonoDevelop. MonoDevelop is an IDE for Mono that originally came from (forked) SharpDevelop.
Mono is the cross platform framework that 'apes' the Microsoft CLR and framework libraries.
I don't have much experience in this area but...
The Mono Project Roadmap has an overview of features that are new, upcoming, and not present in Mono compared to MS.NET. Even where Mono has the same classes as .NET, note that compatibility is not 100% (although that is generally their goal). I'm not sure if there exists a comprehensive list of things missing in Mono.
MonoDevelop is now available on both Windows and Linux so you're probably best off using it. However, MonoDevelop does appear to use the same project file format as Visual Studio and SharpDevelop, so you could make an attempt at mixing IDEs.
Of course, when using 3rd-party .NET libraries, note that many of them have not been tested with mono, and in particular anything that uses P/Invoke will not work on Mono for Linux. However, most incompatibilities with mono are minor, and if you stick with open-source libraries you can always fix any incompatibilities you run into.
You might also take a look at Mono Tools for Visual Studio. It lets your visual studio developers target and test with the mono platform.
You're aiming to always have support, and/or primarily use the software on Linux, correct? This is actually a question I asked the Mono developers at a conference a little while back, and it basically boiled down to what you want to do with it.
If you want it to always work on Linux, then use Mono. If you only care about Windows, then use Visual Studio.
If you're using Mono, then use MonoDevelop across all developers. It'll just make life a lot easier later on, and it'll make sure that whatever you write in the one will work for everyone.
Unfortunately, I do not know the answer to the exact limits/advantages of Mono vs. .NET, aside from .NET being further ahead, and Mono playing catch-up, nor about different addons.
If none of your developers need to develop on Mono for certain features, I suggest you all use Visual Studio on Windows. Then test the applications on Mono via
Mono Tools for Visual Studio
manually copy the binaries over
check out the code on Linux and build in MonoDevelop.
Personally I experienced a lot of small troubles when I tried out the third way, but luckily I am capable of finding workarounds.
It is only when you touch Mono, you know which part of your application needs to be tuned.
http://www.mono-project.com/Start
If you can help it, it'd recommend avoiding the Mono implementation of Remoting. There seem to be some unexpected hiccups and debugging it is not straight-forward.
We had a very Remoting heavy product that we tried to port to Mono so we could support Linux. Due to being unable to resolve the Remoting issues, we eventually had to abandon our attempts at supporting Linux altogether.
Caveat: my experiences may be outdated. See comments below
You don't need MonoDevelop in order to run ASP.NET program in Linux, make a shared folder on your development server (VMWare'd or real one), test often so you can easily work-around what's missing from Mono
That's the same approach I'm using in my .NET Remoting program I host on Ubuntu server. But I do the reverse, since I'm a solo programmer, I make a shared folder on my Windows development machine, then access that shared folder on my Ubuntu test server (vmware'd). On ASP.NET stuff, if the changes don't reflect on your Ubuntu test server, in Terminal just touch the Web.Config file in your Ubuntu test server. i.e. touch Web.Config, then refresh the page
Mono has a fully functional implementation of ASP.NET. This includes full support for ASP.NET Web Forms and Web Services. This essentially means that more or less any ASP.NET application that you have developed using with the .NET Framework will work with Mono. Obviously there might be changes needed, such as data access changes, removal of any
reliance on .NET Framework BCL types . Mono- Oracle users-.Net Programming C# : ubuntu 11.04
I'm very newbie to Ubuntu OS and I have my solution developed in visual studio 2008.
I want my application to run in both windows and Linux(ubuntu).
I've few questions in my mind.
Does mono support visual debugger .
If I start development using
mono.Is it possible to run same in
.net framework (windows) ?? or do I
need to write the NSI script to
download the libraries during
installation from internet and
install.
What is the best way to
achieve platform independence.
Thanks in advance.
Yes, Mono has a debugger - see MonoDevelop.
Assuming you don't use any Mono-specific libraries, or ship them alongside your app, it should just work in Windows against the Microsoft .NET implementation - although of course you'd want to test it.
A lot of achieving platform independence is a matter of the libraries you use: make sure whatever you want to call is either already available in both platforms or can be shipped alongside your app. Beyond that, there are obvious things like not assuming a particular path/directory separator, potentially not assuming a particular endianness (although that's rarely an issue in C# in my experience) - and regular testing, both manual and automated as far as possible.
There is an Mono add-in for Visual Studio that warns you when building your app if you use something that Mono doesn't support yet.
Don't remember the name, thought.
I'm looking to create a very -tiny- application(s) in Windows 7. I'm looking for a programming language like C# and a simple framework that
Makes the application very light weight
Doesn't require any libraries or modules (only the *.exe and works on a newly installed Win7)
The IDE (Or the compiler) let me easily implement windows 7 features (like the menu, the graphics...)
The point: I want to create a small application (light weight so it can be easily transported), that focus mainly on Windows 7 graphic design and features.
I don't know if such IDE exists but also asking how will you solve it, mean if you have to create a tiny application (gadget like) how will you proceed?
Lightweight and regarding dependencies: Well, since you want kind of C#, you have the .NET Framework. That's not exactly lightweight, unless you're sure that the target system has it available. Be sure to check which .NET version comes preinstalled with Seven. Addendum: Now that 7 is out, it seems it comes preinstalled with .NET 3.5 SP1 (full framework, not client profile). That's a good thing.
Have a look at the Windows API Code Pack for Windows 7 for access to Windows 7 features. Like tvanfosson, I'd also stick with Visual Studio and .NET.
Personally, I'd stick with Visual Studio. You might want to get a utility like NuGenUnify, which makes it easy to use ILMerge to combine any extra libraries into the main exe if you want to distribute as a single file.
So far I haven't seen any other IDE that beats Visual Studio for windows app development. Especially soon after a Windows release. I'd be surprised if I am proved to be wrong.
Yes, I know there is MonoDevelop. But what if I want to use Textmate instead?
So my question here is aimed at the .Net developer who has developed some C# applications using Textmate. I'm curious as to what their process/workflow is with this setup.
What is the best C# bundle out there for syntax/language grammar?
How do you build your project? (easy to build app for 2.0, 3.0, and/or 3.5 framework?)
Can you easily start a C# application in Visual Studio, and then continue to use TextMate in it's place?
Are there too many pitfalls here in thinking I could do this, and am I just taking crazy pills?
To be honest I still do my actual C# building through a Virtual Machine running Windows, but I edit anything that I can through Textmate.
I use the ASP.Net VB.Net tmbundle and I actually just discovered a C# tmbundle.
I am planning on switching to building in MonoDevelop if I can, but right now I work with teams that only use Windows so to be safe I'm still stuck building in Visual Studio.
I know this is an old question, but I found it along the way when trying to find a C# bundle for TextMate.
The C# bundle has moved from the macromoates svn repos into github at https://github.com/wintermi/csharp-tmbundle.
Hopefully this helps other people looking for the bundle.