views:

130

answers:

3

I am mainly a java programmer, using linux/os x for as long as i remember. I am extremely comfortable in emacs and usually prefer doing things through command line.

I need to create a internet explorer addon for our next project. I need to intercept url ie is about to download and if they meet certain criteria pass it to our application.

So my questions are,

  • How can i build a c# project through command line so i can integrate it with our current build process.
  • Current i have windows 2k installed in a virtual machine that i use for testing. Is there going to be any compatibility problems.
  • I am assuming i am going to be creating a dll and inject it to ie to intercept url's. Am i on the right track?
+3  A: 

Here are responses to your questions:

Be aware, though, that you'll have a more difficult time if you avoid using Visual Studio (or some other IDE). There is no reason not to use VS, especially since you can use the Express Edition for free. If you're doing that, you can use msbuild instead of csc directly, and it will simplify your build process (even if you build from the command line).

However, the productivity gains from a good IDE will come in handy, especially for C#.

Reed Copsey
i am much more faster/comfortable in emacs. After 10 years in emacs IDE's just slow you down. It is not a cost related decision.
Hamza Yerlikaya
@Hamza: Reed is right, even if you're more comfortable using command line interface like me, you should consider using the IDE. it's really easier as it simplifies a lot. one of the examples is to use a template-project you can start from. don't think you have that with the command line tools. visual studio is really a good piece of development tool... regards
Atmocreations
@Hamza: I'd still consider it. Try setting up Visual Studio in Emacs mode, before you discount it. Having access to the project management, resource handling, msbuild, and refactoring tools makes it work the effort, IMO. http://msdn.microsoft.com/en-us/library/ms165509%28VS.80%29.aspx
Reed Copsey
A: 

Responses to your questions:

  • If you use Ant maybe this will help. If you use Maven, maybe this will help. Otherwise, I'd just use MSBuild or NAnt.
  • Can't say for sure. I would guess that the IE API would be the same on each of the platforms. YMMV.
  • I'm busy writing an IE addon at work and I'm using SpicIE. It's very straightforward and simplifies the IE API drastically.

I've read in the comments elsewhere that you're not a fan of VS. I would probably use it (or MonoDevelop/SharpDevelop if they can create .csproj) to create the .csproj that can be used as an input to MSBuild. It might save you time rather than having to learn the syntax of the file.

Richard Nienaber
A: 

If you give up the IDE, you give up one of the best debuggers on the planet and the best code-completion I've ever seen. Other than the fact that it will be a new system to you, there is no reason to claim that you can develop faster in EMACS. Everything you need is in the IDE, and there are keyboard shortcuts to mostly everything.

If you computer can handle the work load, I really see no good reason not to use Visual Studio.

edit: the newest version of visual studio won't run on anything less than XP sp2, to my recollection. This is most likely because the new versions of .NET won't run on anything lower than that... which would be a huge compatibility problem.

San Jacinto
actually there are lots of reasons but lets not turn this in to a emacs vs IDE war. that has been done to the death. i am just looking for a way to compile my stuff without resorting to VS.
Hamza Yerlikaya
Have you USED visual studio 2005+ ? As I said, you don't know VS. This is your only hangup to being much more productive in Microsoft-land. This particular IDE will speed your development time significantly, as you spend less time looking up arguments to methods and the little things like indenting your code. You also lose the debugger, which in and of itself is a sufficient reason to use VS. Use it, and you will change your mind. I am not saying you'll prefer it to EMACS. I am saying you will find it the optimal dev. environment for C#/.NET.
San Jacinto
Additionally, a downvote isn't very polite when I told you of a compatibility problem that exists if you want to run newer versions of .NET. 3.0 is only available for XP SP2+
San Jacinto