Re: C# GAC assembly problem
GAC is for run-time. Compiler doesn't look for assemblies in it. For compile-time, you have to have local copy of the assembly, althought for run-tim, you can distribute the application without it if you can be sure, that it is present in GAC on the machine where the application will run.
If you want to avoid specifying the path on command line (but if you look at temporary files produces by VS, you could see that there are full paths), you can edit the file csc.rsp in framework's home dir and append a /r: switch here, or you create your own .rsp file and pass it to csc.exe with @filename as command line parameter.