Björn Graf:Yes, all will work and no, and assembly should work (with the limitation of: if you do not want to run on the 360 and if you do not want to include Content Pipeline assets in the libraries).
To clarify this last point, the issue with external assemblies on the Xbox is assembly references. Even though mscorlib.dll and friends, as well as the XNA Framework assemblies, are named the same on Windows and Xbox, they are
not the same and the CLR will not treat them as the same! To the runtime environment, the Windows and Xbox versions of these assemblies are completely different, with the Windows versions only being available on Windows and the Xbox versions only being available on Xbox. Imagine you have an assembly MyAssembly1.dll that you want to use in an XNA project. Chances are this assembly comes from a Windows project and references the Windows versions of mscorlib.dll, System.dll, etc.. If you reference this assembly in an Xbox XNA project (without re-compiling), the Xbox CLR will not be able to find mscorlib.dll, System.dll, etc. for this assembly since it is referencing the Windows versions. Chances are the compiler will also complain about duplicate references, though I cannot remember if it's the C# or C++ (for C++/CLI) compiler that complains, or both.
What does this mean for you? As long as your have the source code for the .NET library you wish to use, you're fine. You can create a new Xbox Game Library target for the project and re-compile. If you only have a Windows binary, you cannot use the library on Xbox, at least not without some serious reference hacking.
Now if you are only interested in Windows, then there is no issue. You can use whatever .NET libraries you wish. Remember that XNA Game Studio is just a set of .NET libraries and some fancy Visual Studio integration.