Если вы создадите следующий код, то при перетаскивании файла на значок exe аргумент [0] будет иметь путь в качестве аргумента:
(Я добавил утверждение if, что если вы запустите программу, не перетаскивая ничего
не должно разбиться)
class Program
{
static void Main(string[] args)
{
if (args.Length > 0)
{
Console.WriteLine(args[0]);
}
Console.ReadLine();
}
}