LINUX.ORG.RU

C# получение директории пользователя


0

3

Пишу утилиту на сишарпе (моно), так вот, там для решения одной задачи, нужно получить путь к домашней директории пользователя который запустил программу.
Вроде все легко, для этого есть спец-метод:

System.Environment.GetFolderPath(System.Environment.SpecialFolder.UserProfile)
Но проблема в том, что этот метод платформозависимый, в линуксе не работает. Как решить проблему?



Последнее исправление: raycast (всего исправлений: 3)

Ответ на: комментарий от malbolge

(ибо dev environment <> test environment, понимаешь же). В то же время как их .net-коллеги, кодящие в похожих условиях под Win с аналогичными задачами справляются ну-у, как-то легче и шустрее.

не понимаю - если у них env разное, на их бубунтах всякая НЁХ по типу апстарта и systemd вклячена, а на их серверах эта НЁХ ещё не вклячена, то разве они не ССЗБ? А вот env что на WinServer, что на WinDesktop очевидно совершенно одинаковое. И в чём проблема?

И таких большнство что под линем, что под виндой, если уж по справедливости.

практика показывает, что под Linux таких значительно меньше. Например поставить в один Linux ПО совершенно для другого Linux в этом линуксе - обычное дело. А вот в венде такой задачи нет в принципе - приложение из прошлого века отлично находит и юзает «диск A:», а в линуксе не работает даже прошлогодний бинарник.

drBatty ★★
()
Ответ на: комментарий от raycast

- а я сынок, эх, пользовался популярностью на лоре, и в молодости у меня было много линуксов.

- папа, а это круче или нет?

в биологическом смысле папой будет очевидно васин папа (:

drBatty ★★
()
Ответ на: комментарий от anonymous

Синьор, сдается мне что именно так и выглядит ваше будущее.

неа. Я уже 20+ лет смотрю на монитор, и только последние несколько лет он стал более-менее нормальным. И ничего, зрение 100%. Знаю одну знакомую, которая всего 2 года назад прознала про вконтакт и компьютер, да и сейчас не более 60 минут в день там висит, а зрение уже -7, и это при том, что она моложе мну на 10 лет. Так то.

drBatty ★★
()
Ответ на: комментарий от drBatty

Например поставить в один Linux ПО совершенно для другого Linux в этом линуксе - обычное дело.

Парсер сломался.

olibjerd ★★★★★
()
Ответ на: комментарий от Reset

Дебил, умеющий компилять ядро и делать make install всё равно останется дебилом. Гений, возюкающий мышью в винде, всё равно останется гением.

как всегда 4.2 и демагогия. Первое утверждение про дебила с ядром безусловно истинно, однако ты «забыл» указать во первых на то, что компилять ядро с помощью make install НЕ НУЖНО НИ В ОДНОМ дистре Linux'а, исключая маргинальный LFS, который дебил всё равно не осилит, соберёт, но не осилит. Во вторых, из первой истинной фразы никак НЕ СЛЕДУЕТ истинности второй. Ибо,

1. если имеем гениального ГСМа, то он очень быстро нафотожабит себе на нормальный аппарат, который начинается на «i», и к венде НЕ имеет никакого отношения. С примерами знаком лично.

2. а гениальный НЕ ГСМ свои гениальные труды со своими гениальными формулами будет ваять отнюдь не в ворде, а в специально предназначенном для гениев ТеХ'е. Вот только ставить и работать в ТеХ в венде - времязатратное и садисткое занятие. Потому такой гений поставит себе ОС, в которой этот ТеХ в коробке(да хоть та же ненавидимая тобою слака), а освободившиеся время и деньги потратит на книги и обучение (ибо у НЕ ГСМ проблема велосипедов актуальна, всё уже придумано до нас, и гениальный велосипед никому не нужен. А значит требуется изучить ВСЕ велосипеды, которые уже придуманы).

drBatty ★★
()
Ответ на: комментарий от AIv

И отваливается.

этто фигня. Я как-то ставил дрова для ADSLмодема, и нажал на «отмена». Эффект удивительный - модем не работает, потому-что не установлен, но при попытке установить программа инсталляции считает, что таки установлен, запускает деинсталл, и тот отваливается с справедливым сообщением «не могу убить то, чего нет». Ну да ладно, ищем в реестре следы установки, дабы убедить инсталлятор, что модем не установлен. Почистили, поставили, перезагрузили (надо), получили BSOD.

Чудеса автоматизации...

В итоге пришлось переустанавливать. Сразу надо было, вместо «отмена» жать на ресет и ставить - быстрее было-бы.

drBatty ★★
()
Ответ на: комментарий от Reset

Работа в командной строке учит думать гораздо больше, чем тыкание мышой по кнопкам.

это заблуждение

тебе, неосилятору, откуда это знать?

drBatty ★★
()
Ответ на: комментарий от raycast

Ладно там бетховен, в чем то гениален ибо глухой напрочь а мелодию каким то образом делал.

он оглох только к старости, если вы этого не знаете, вам должно быть стыдно. К тому-же его отец был певцом, и с детства заставлял этого маленького мальчика петь и играть на разных инструментах. ИЧСХ - не получилось. Вы бы хоть с педовикой сверились, прежде чем демонстрировать своё невежество...

drBatty ★★
()
Ответ на: комментарий от raycast

Счастья вам в поклонении всем убогим, лоб только берегите, не ровен час набьете шишку :)

блаженны нищие духом, ибо их есть царствие небесное...

drBatty ★★
()
Ответ на: комментарий от anonymous

Дизайнер фрилансер об искусстве. Жжешь сотона! Но самое интересное посмотреть в глаза человеку который у тебя заказал работу. Я бы не дал ни копейки.

ИМХО у него хватит хитрожопости не рассказывать заказчику о своём невежестве...

drBatty ★★
()
Ответ на: комментарий от jtootf

гомоморфный, извиняюсь, чему?

сам к себе. Очевидно же!

drBatty ★★
()
Ответ на: комментарий от drBatty

тебе, неосилятору, откуда это знать?

Вообще то, ЕМНИП, Reset в теме;-)

гомоморфный, извиняюсь, чему?

сам к себе. Очевидно же!

Подумал на свежую голову... С# не гомоморфный конечно, гомофильный!;-)

AIv ★★★★★
()

System.Environment.GetFolderPath(System.Environment.SpecialFolder.UserProfile)

Тру-энтерпрайзный язык! `echo $HOME`, как я бы сделал в руби, просто курить в сторонке.

Alve ★★★★★
()
Ответ на: комментарий от AIv

Вообще то, ЕМНИП, Reset в теме

не. не в теме. я знаю, что он _вынужден_ юзать командную строку, и от этого жутко страдает, как от поедания кактуса. Очевидно он неосилятор, раз жрёт этот кактус, а не наслаждается, как я текилой. Особенную пикантности составляет тот факт, что на самом деле в текиле нет никаких кактусов (:

Подумал на свежую голову... С# не гомоморфный конечно, гомофильный!

ну может быть... Название «моно» кагбэ намекает...

drBatty ★★
()
Ответ на: комментарий от unC0Rr

Компилятор опечатку поймает. Хотя так-то в хаскеле есть getHomeDirectory на этот случай.

ну вот видишь! А как можно очепятаться в HOME мне не очень ясно.

drBatty ★★
()
Ответ на: комментарий от Reset

я работаю практически исключительно в командной строке

см. выше. Это не говорит, что ты её осилил.

drBatty ★★
()
Ответ на: комментарий от Alve

Тру-энтерпрайзный язык! `echo $HOME`, как я бы сделал в руби, просто курить в сторонке.

можно ещё проще в shell

$HOME

drBatty ★★
()

Но проблема в том, что этот метод платформозависимый, в линуксе не работает. Как решить проблему?

Перейти на C++/Qt и не морочить себе и окружающим голову. C# в линуксе не заживет полноценной жизнью. В этом столетии точно.

trex6 ★★★★★
()
Ответ на: комментарий от drBatty

не. не в теме. я знаю, что он _вынужден_ юзать командную строку, и от этого жутко страдает, как от поедания кактуса

4.2

Reset ★★★★★
()
Ответ на: комментарий от aldayneko

Это же ЛОР, а не какой-нибудь технофорум.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от aldayneko

сей тред яркий пример как кучка «специалистов» обсуждают что-то в чем они «разбираются»

некоторые(например я) даже готовы признаться в своей «компетенции» в C#, и в своём желании эту «компетенцию» «расширять». (:

drBatty ★★
()
Ответ на: комментарий от drBatty

Во-первых, не максимальная, а во-вторых, я уже сто раз объяснял, что использую её на десктопе потому что работает она быстрее и стабильнее любого современного линукс дистрибутива, а разницы где работать в командной строке нет вообще никакой.

Reset ★★★★★
()
Ответ на: комментарий от Reset

Таже фигня. Линукс только на сервере. На ноуте мак ось, на десктопе семера. Если не секрет под виндой пользуешься cygwin или mingw?

anonymous
()
Ответ на: комментарий от Reset

Во-первых, не максимальная, а во-вторых, я уже сто раз объяснял, что использую её на десктопе потому что работает она быстрее и стабильнее любого современного линукс дистрибутива

про максимальную - так, к слову :)

А вот «быстрее и стабильнее любого» - скажи спасибо Поттерингу, и «любым», которые с его федорки слизывают впереди паровоза. В Slackware нет таких проблем, хотя я помню, что твои религиозные взгляды её запрещают (:

а разницы где работать в командной строке нет вообще никакой.

единственное, что мну импонирует, так это то, что ты как-то научился вставлять текст как текст, а не как картинки - 99.99999% маздайщиков этого не только не умеют, но и считают особым шиком запостить какой-то нечитаемый скриншот на какой-нибудь говнохостинг.

drBatty ★★
()
Ответ на: комментарий от drBatty

В Slackware нет таких проблем, хотя я помню, что твои религиозные взгляды её запрещают (:

Слака — примитив из 90х. С ней геморроя и траха гораздо больше чем с той же федорой.

Reset ★★★★★
()
Ответ на: комментарий от Reset

Слака — примитив из 90х

ага. только с современным ПО. впрочем, какая разница, какое ПО в дистрибутиве для фанатега?

С ней геморроя и траха гораздо больше чем с той же федорой.

блаженны верующие...

drBatty ★★
()
Ответ на: комментарий от drBatty

про по мы уж е неоднократно спорили и ты каждый раз сливал со стандартной красноглазой фразой «не нужно»

Reset ★★★★★
()
Ответ на: комментарий от Reset

про по мы уж е неоднократно спорили и ты каждый раз сливал со стандартной красноглазой фразой «не нужно»

А, ну да. Ты про ПО, нужное 3.5 задр0тов. Я помню. Кстати, в твоём маздае уже есть все эти лиспы хаскели? А почему?

drBatty ★★
()
Ответ на: комментарий от drBatty

Кстати, в твоём маздае уже есть все эти лиспы хаскели?

Конечно есть, setup.exe с сайта разработчиков.

Reset ★★★★★
()
Ответ на: комментарий от Reset

А можно полюбопытствовать, чем так стабильность работы линукса не угодила? Вот у меня ноут с 6м дебианом - перегружаю раз в месяц наверное (когда забываю зарядить и он из спящего режима выключается. Да, иногда браузер глючит, приходиться килять, так под виндой у коллег сплошной мат стоит, особенно когда какой нить банер ловят;-)

Про сервера и ПК на работе вообще молчу - их перегружают раз в неск месяцев, сервера обычно по поводу отключения внешнего питания.

Про производительность - я давно с мастдаем не сталкивался, но лет 7 назад он сливал по всем параметрам вчистую. У меня на ноуте (PIII 500Мгц) винда вообще толком не грузилась, а под альт-линуксом я на нем кандидатскую посчитал. У ребенка и евойной мамы на ноуте винда была - сплошные тормоза и глюки. Перешли в итоге на бубунту, с их то консервативностью и уровнем «продвинутый пользователь ПК», и вполне довольны.

Не то что я Вас убеждаю в чем то, просто интересно;-)

AIv ★★★★★
()
Ответ на: комментарий от trex6

Перейти на C++/Qt и не морочить себе и окружающим голову

Ладно ты сам говноед, но зачем другим советовать?

anonymous
()
Ответ на: комментарий от trex6

Перейти на C++/Qt и не морочить себе и окружающим голову. C# в линуксе не заживет полноценной жизнью. В этом столетии точно.

На плюсах я писал и пишу, только предпочтение не qt а wxwidgwts, но в данном проекте, плюсы только сложностей создадут, питон тоже, плохо но один раз приходилось писать на нем, но в данном проекте питон тоже не подходит, так как проект больше ориентирован на винды, нежели линукс, на виндах нетфреймворк по дефолту в семерочках максимальных, по этому выбор пал таки на сишарп. Java не знаю, по этому ее как то в голову не пришло использовать.

raycast
() автор топика
Ответ на: комментарий от AIv

А можно полюбопытствовать, чем так стабильность работы линукса не угодила?

Всё очень, очень плохо. Несколько месяцев назад в толксах я жаловался, что даже видео нормально в online посмотреть невозможно — всё либо аццки тормозит либо аццки артефачит.

Про сервера и ПК на работе вообще молчу - их перегружают раз в неск месяцев, сервера обычно по поводу отключения внешнего питания.

С серверами всё проще. На них работает максимум десяток программ, нет графики и зоопарка как на десктопе, поэтому и аптаймы по несколько лет и нет проблем со стабильностью.

Про производительность - я давно с мастдаем не сталкивался, но лет 7 назад он сливал по всем параметрам вчистую.

С 12309 я на винде не сталкивался, а на линухе постоянно, если занимаешься разработкой.

Reset ★★★★★
()
Последнее исправление: Reset (всего исправлений: 1)
Ответ на: комментарий от Reset

У меня ноут старенький проц core2duo - видео нормально смотрится, в т.ч. онлайн.

12309 - если это то, о чем я думаю, то оно бывает раз в месяц. Тока разработкой и занимаюсь;-) Но оно мне не сильно мешает...

ЧЯНТД?

AIv ★★★★★
()
Ответ на: комментарий от AIv

У меня ноут старенький проц core2duo - видео нормально смотрится, в т.ч. онлайн.

hd? не верю, зайди на ivi.ru

Reset ★★★★★
()
Ответ на: комментарий от Reset

А нафига мне онлайн hd O_O? Мне вообще то несколько не до таких глупостей...

У меня макефайл занимает в среднем 5 строк, для кода на С++ и питоне, код переносится на кластер 1:1 и запускается там без проблем. А под мастдай портировал - все вообще проклял, как там люди работают в энтих эмуляторах командной строки осталось совершеннейшей загадкой...

AIv ★★★★★
()
Ответ на: комментарий от AIv

А нафига мне онлайн hd O_O? Мне вообще то несколько не до таких глупостей...

так я и думал, пошел в ход классический аргумент — не нужно

У меня макефайл занимает в среднем 5 строк, для кода на С++ и питоне, код переносится на кластер 1:1 и запускается там без проблем.

я использую cmake, который гораздо проще и работает _везде_ в том числе и в «мастдае»

Reset ★★★★★
()
Ответ на: комментарий от anonymous

Если сравнивать с моной, то даже говнокути — прелесть :)

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.