DiGuru said:
I can't find that anywhere. Does it matter that I'm using C#?
With Visual Studio, open the solution or project. In the Solution Explorer, open the references, right-click on the assembly, open properties, set Copy Local to true.
Note: It's not necessary to do this for the System assemblies, since they are part of the runtime anyway. But for third-party assemblies that install themselves into the GAC it makes xcopy deployment possible.
DiGuru said:
If, for example, I use a reference to ADO DB -> Jet4.0 (to do SQL against an Access database), does that mean that it will place those DLL's in my output dir and I don't need to have all that installed (in the correct version) on the target computer? Or the XML reference that requires XP SP2 and IE 6.x? That would be great!
Your problem is that you mix native and .Net components. Why don't you use ADO.NET instead of ADO DB? As for the XML stuff, why don't you use the classes from the System.XML namespace? They work on all plattforms where the runtime is installed.
DiGuru said:
Btw, what is the deal with J#? Is that C# that uses the Java-compatible libraries on .NET?
J# is the successor to VisualJ, which was basically Microsofts Java 1.1 Development environment. Back then they added a few things here and there. J# will let you run your old VisualJ applications on the CLR, which litte if any changes.
Let me tell you something. I really had my share of Java, I wrote several megabytes of source code for it. I started using it right when version 1.0 came out. I suffered through the numerous iterations of JDK 1.1, which was one of the worst pieces of software I ever encountered. (I was using VisualJ and Microsoft Java VM that time because it really was the only stable development environment at that time, Microsoft Java was much less buggy and they had a compiler that produced fast and correct code unlike Sun's which, from time to time, would not compile syntacially correct code and even produce incorrect code). Java 2 aka JDK 1.2 was a huge step ahead, but it was so buggy that you really could not use it until version 1.2.2. There are 10 bug-fix versions of Java 1.1, 17 for Java 1.2, 15 for Java 1.3, 9 for Java 1.4 and 4 for Java 5. Some of these versions fix very serious errors and security vulnerabilities. Now compare that to the number of .Net Serivce Packs. Notice the difference? And don't get me started on documentation. In the early versions of Java some of the documentation was so bad, I just started to skip the docs and looked straight at the source code. And finally there is no development environment for Java that comes close to Visual Studio, especially VS 2005.
I'm not saying that all is wonderful in .Net land, because it isn't. There are some things about .Net that I don't like. ASP.NET for instance can be a real pain in the ass. But still .Net is a much more mature, stable and productive plattform than Java is.