Mam plik programu Excel, który ma działanie kompilacji content
w bibliotece klas. Do biblioteki odwołuje się zarówno aplikacja ASP.NET WebForms, jak i aplikacja konsoli, a plik Excel jest używany przez obie. Czy istnieje sposób, w jaki można programowo uzyskać ścieżkę do pliku tego pliku?Jak uzyskać ścieżkę do pliku zawartości w bibliotece klas
wiem w ASP mogę to zrobić:
Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)
praca Ci, ale zastanawiam się, czy nie lepiej, konsolidowane:
HttpContext.Current.Server.MapPath(@"bin")
I w aplikacji konsoli mogę to zrobić sposób na znalezienie pliku ze złożenia i zwrócenie ścieżki.
Osadzony zasób nie będzie działał zbyt dobrze, ponieważ musimy współdziałać z plikiem excel (ugh) i potrzebować go na dysku. Miałem nadzieję uniknąć 'MapPath' lub' Path.Combine' w katalogu 'bin' i znaleźć plik, ale może nie być inaczej ... –
Zawsze można zapisać plik z osadzonego zasobu w katalogu tymczasowym a następnie wykonaj tam interop. Zapobiegnie to również problemom, jeśli wiele procesów dotknie plik lub program Excel z jakiegoś powodu zawiesza się i nie zwalnia pliku. –