Hello Yigal,
C# assemblies are analogous to C/C++/D libs. you can't create a standalone executable in D just by parsing the D source files (for all the imports) if you need to link in external libs. you need to at least specify the lib name if it's on the linker's search path or provide the full path otherwise.
pagma(lib, ...); //?
Same thing with assemblies. you have to provide that meta-data (lib names) anyway both in C# and D. the only difference is that C# (correctly) recognizes that this is the better default.
IMHO the c# way is the /worse/ default. Based on that being my opinion, I think we have found where we will have to disagree. Part of my reasoning is that in the normal case, for practical reasons, that file will have to be maintained by an IDE, thus /requiring/ development to be in an IDE of some kind. In D, that data in can normally be part of the source code, and only in unusual cases does it need to be formally codified.
