Student or Learner
" I've been working on this project for a long time.''
" I've been working at this project for a long time."
Difference between "work on" and "work at" ?
Normally one says the sentence using the preposition on but if one wants to emphasise that one has been working hard at it then one uses the preposition at.
I've been working at this project for a long time."
Working "on" a project is more natural. "At" tends to imply a location. I might say "I am working at the construction site."
Click on that link ostap77; it does a comparative search of the two expressions in the BNC. You'll notice that the second column ('work at') usually has a collocation that gives a time, place or a way of working ('work at a pace', etc). By contrast 'work on' is usually about developing something. So a construction worker would work on an office block, and a clerk would work at the same block (after the building work was done).
I tend to interpret these sentence as in my following explanations. I'd be happy if I get confirmations from the native-speakers.