In my game I have the camera 45 degrees rotated around x axis, looking down at game area.
I have gun turret and it fires bullet prefabs created from 2D sprites.
Sprite image is as shown below.

I get the direction vector to the target,
direction = (target - startPosition).normalized;
But I can’t get the bullet sprite to rotate to the correct orientation.
Can anyone provide some help?
What about lookAt?
bullet.transform.LookAt(target);
This is an ugly rotation problem. Assuming you are using the built-in plane to display the bullet, this might work:
bullet.transform.right = -(target - startPosition);
var q = Quaternion.FromToRotation(bullet.transform.up, -Camera.main.transform.forward);
bullet.transform.rotation = q * bullet.transform.rotation;