Well Nor vcenter or vsphere c# Client can't be installed on the domain controller.
Many reason behind this.
1) In Case of vCenter management/upgrade the domain controller will be down too. which will outcome with the dns outage which can occur errors while vmotion and HA.The main reason for this is the infrastructure services they provide that your VMware environment depends on - particularly DNS and authentication. Getting things going again in case of a major outage can be a bit of a dependency nightmare, especially if your documentation and procedures are less than ideal.
2) Same case with DC management/upgrade the venter db will down which again comes with the same picture .
Both are critical and can't be tolerate to make them down along with. So they should be always in different machines.
vCenter depends on an active directory environment to operate. As stated above you can find yourself with 2 critical components being offline at the same time while one of them is trying to connect to the other.
I'm old school and don't put anything on domain controllers ever. Many a headaches have been avoided by this practice in my experience. Having a problem with a DC is painful enough let alone adding some other app to the mix. IMHO.
