Я могу использовать отражение для нахождения мусорного ведра / папка [Configuration] в ASP.NET вместо asp временная папка

У меня есть веб-сайт ASP.NET, и я хочу найти, что / мусорное ведро / папка [Configuration] использует внешний инструмент (EXE-файл). Когда я использую отражение для получения местоположения блоков вызова, оно возвращает что-то подобное:

C:\Windows\Microsoft.NET\Framework\\...\Temporary ASP.NET Files\a1388a5e\\...\my.dll

Так как каждый dll имеет свой собственный каталог под временными Файлами ASP.NET, которые это приводит к сбою для меня.

Как я могу получить местоположение скомпилированной двоичной папки, где dll's и .exe (т.е. мусорное ведро/) вместо временного кэша asp.net?

Примечания

  • Этот код находится в библиотеке поддержки, которую можно назвать с веб-сайтов ASP.NET или другой консоли/приложений Windows.
6
задан vfilby 11 March 2010 в 21:21
поделиться

3 ответа

Вы можете попробовать (взято из Как получить: получить каталог приложений ):

Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);

Я установил быстрый тест с:

  • Проект веб-приложения, работающий на сервере VS dev (скомпилированный сайт, каталог / bin и т. Д.).
  • Проект библиотеки классов, на который ссылается WA.
  • В веб-приложении я создал страницу, которая вызвала следующий метод из проекта библиотеки:

     using System.IO; 
    using System.Reflection; 
     
    пространство имен TestHelpers {
    открытый класс ClassHelpers {
    общедоступная статическая строка PathToBin () {
    return Path.GetDirectoryName (
    Assembly.GetExecutingAssembly (). GetName (). CodeBase) ; 
    } 
    } 
    } 
     

Это привело к следующему выводу на странице:

файл: \ C: \ Users \ Имя пользователя \ Documents \ Visual Studio 2008 \ Websites \ Решение \ Проект \ bin

Этого я и ожидал.

13
ответ дан 8 December 2019 в 13:45
поделиться

Server.MapPath ("~ \ bin")

4
ответ дан 8 December 2019 в 13:45
поделиться

Есть ли причина не просто делать

Server.MapPath("~/bin");

?

0
ответ дан 8 December 2019 в 13:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: