~ будет работать только на серверном элементе управления, таком как или.Это говорит ASP.Net, чтобы вставить путь приложения.Иногда это просто "/", но если ваше приложение не является корневым каталогом веб-сайта, оно будет содержать путь, по которому оно находится. Тег img - это просто html, и он не будет изменен ASP.Net, поэтому браузер получает путь"~ / App_Themes / Default / images / two.gif" и не знает, как его читать.
Я не знаю, почему последний пример работает в dev, но не работает.Это может быть связано с тем, что приложение находится в корневом каталоге в dev, но в подкаталоге в рабочем состоянии.