5. D.
Let $A C=B D=m, C D=n$.
By the Angle Bisector Theorem, we have
$$
\frac{2016}{m}=\frac{m}{n} \Rightarrow m=12 \sqrt{14 n} \text {. }
$$

Since $m$ and $n$ are integers, we have $n=14 k^{2}$ (where $k$ is a positive integer).
Thus, $m=168 k$.
By the triangle inequality, we have
$$
\left\{\begin{array}{l}
(m+n)+m>2016, \\
m+2016>m+n, \\
2016+(m+n)>n .
\end{array}\right.
$$

Substituting $m=168 k, n=14 k^{2}$ into the above inequalities, we solve to get
$$
6 \sqrt{5}-6<k<12 \text {. }
$$

Therefore, $k$ can take the values $8,9,10,11$.
5. Given that $A D$ is the angle bisector of $\triangle A B C$, the three sides of $\triangle A B C$ are all integers, $A B=2016, A C=B D$. Then the number of $\triangle A B C$ that meet the conditions is ( ).
(A) 1
(B) 2
(C) 3
(D) 4