Что надлежащий путь состоит в том, чтобы определить местоположение приложения?

По словам Scott Myers, Эффективный C++ (3-й редактор) объект 42 (который должен, конечно, быть окончательным ответом) - различие - "ничто".

Совет состоит в том, чтобы использовать "класс", если ожидается, что T всегда будет классом с "именем типа", если другие типы (интервал, символ* безотносительно) могут ожидаться. Считайте его подсказкой использования.

6
задан MGSoto 14 July 2009 в 21:10
поделиться

5 ответов

Если вы имеете в виду, что служба запускает другое приложение, то; параметры:

  • настроить службу с помощью файла конфигурации; укажите путь
  • поместите что-нибудь в реестр во время установки
  • используйте что-то вроде регистрации COM / COM +
  • рассмотрите GAC, если другое приложение является .NET (хотя я не фанат ...)
  • переменная среды?

Лично мне нравится опция файла конфигурации; он прост и удобен в обслуживании и позволяет устанавливать несколько отдельных (параллельно) служб и приложений

6
ответ дан 8 December 2019 в 13:48
поделиться
using System.IO;
using System.Windows.Forms;

string appPath = Path.GetDirectoryName(Application.ExecutablePath)

Это приложение (см. Выше).

для проекта asp.net:

using System.Web;

HttpContext.Current.Server.MapPath( "place arguments here" );
1
ответ дан 8 December 2019 в 13:48
поделиться

Если вам нужно найти папку, в которой установлена ​​ваша служба, вы можете использовать следующий код

this.GetType().Assembly.Location

Если вам нужно найти папку, в которой установлено какое-то другое приложение, вам следует сделать запрос установщик Windows

[DllImport("MSI.DLL", CharSet = CharSet.Auto)]
private static extern UInt32 MsiGetComponentPath(
    string szProduct,
    string szComponent,
    StringBuilder lpPathBuf,
    ref int pcchBuf);

private static string GetComponentPath(string product, string component)
{
    int pathLength = 1024;
    StringBuilder path = new StringBuilder(pathLength);
    MsiGetComponentPath(product, component, path, ref pathLength);
    return path.ToString();
}
8
ответ дан 8 December 2019 в 13:48
поделиться

Я знаю, что BBC довольно широко его использует. См. Блог Дэвида Джойса для получения более подробной информации. http://leanandkanban.wordpress.com/

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

Я думаю, что о бережливом мышлении следует помнить, что вы должны рассматривать поток создания ценности как целое. Хотя вы можете супероптимизировать команду разработчиков, используя такие методы, как Канбан, более важно включить как восходящий поток (управление / анализ), так и нисходящий поток (контроль качества / развертывание / поддержка), чтобы полностью пожинать плоды.

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

Например, рассмотрите следующий сценарий для типичного проекта:

  • Время анализа: 18 месяцев
  • Время разработки: 9 месяцев
  • Контроль качества и время выпуска: 4 месяца
  • Принятие и доработка заказчиком: 12 месяцев

Итого: 43 месяца

Если, применяя бережливое производство в процессе разработки, вы улучшите его на 100%, т. Е. Время разработки составит 4,5 месяца, в результате чего новый результат составит 38,5 месяцев. Тогда вы только увеличили общий поток создания ценности чуть более чем на 10% ... незначительно !!

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

Помните, что бережливое производство - это НЕ процесс разработки, его можно применить ко всем аспектам бизнеса.

Несколько интересных книг о том, как вывести это обсуждение за пределы круга разработчиков;

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

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

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