, поскольку ваш текущий проект - B, корнем его является ваша папка ProjectB:
string rootPath = System.Web.Hosting.HostingEnvironment.MapPath ("~");
верните корневую папку ProjectB, а не ваше решение.
вы можете:
myfile.xml стал ресурсом проекта A, поэтому он будет доступен и включен в dll.
укажите свой ProjectA в web.config и прочитайте его там.
пользователь виртуальной папки.
Я бы использовал ресурс, если вам нужен только этот файл, ключ web.config, если вам нужна папка.