Я пытаюсь получить абсолютный путь к определенным файлам в классе C #. Server.MapPath
конечно отлично работает для ASPX и их страниц кода программной части, но этого не существует в другом файле класса. Я пробовал HostingEnvironment.MapPath()
, но жалуется, что относительный виртуальный путь не разрешен. Есть предположения?
System.Web
уже импортирован.
Вы также можете использовать:
если
недоступен
источник
Разве вы не можете просто добавить ссылку,
System.Web
а затем использоватьServer.MapPath
?Изменить: в настоящее время я бы рекомендовал использовать
HostingEnvironment.MapPath
метод :Это статический метод в
System.Web
сборке, который сопоставляет виртуальный путь с физическим путем на сервере. Он не требует ссылкиHttpContext
.источник
ЕСЛИ файл, который вы пытаетесь получить, является местом сборки для типа. Но если файлы относятся к месту сборки, вы можете использовать это с
System.IO
пространством имен, чтобы получить точный путь к файлу.источник
Я тоже этим пользуюсь:
источник
Теперь, когда вы вызываете метод из выделенного кода
например :
таким образом ваш код будет простым, и с помощью одного метода вы можете использовать несколько путей для каждого вызова :)
источник
Это помогло мне
источник
Независимо от того, работаете ли вы в контексте ASP.NET или нет, вы должны иметь возможность использовать HostingEnvironment.ApplicationPhysicalPath
источник
Server.mappath ("") будет работать на странице aspx, если вы хотите получить абсолютный путь из файла класса, вы должны использовать это -
источник