I wrote a program in c# .net 4.5 that doesn't execute unless I turn off my anti-virus (avast) or add the path of it into the anti-virus whitelist.
Is there any way to ask permissions in code to let the anti-virus loose off my program?
No . It is not possible and all the modern anti virus doesn't have such an api. The only thing you can do is send your file to anti-virus provider site to analyse if they accept and didn't detect any malicious effort then they will send the clients a white-list signature (of your file).
Here is some example for you to send your file for analyse :
1 . Avg Avg White-list service
2 . Read how to do it on Avast Avast white-list
3 . Kaspersky white-list
4 . Eset Nod32 White-list
and etc . that you can googling about it.
Hope it helps