Используя Visual studio, могу ли я получить имя компьютера во время компиляции? - PullRequest
2 голосов
/ 12 ноября 2010

Я хочу что-то вроде:

let COMP_NAME = %some_type_of_flag%

Чтобы во время компиляции это изменилось на

let COMP_NAME = "MyComputerName"

Редактировать: я вижу, что мой вопрос был неполным. Это приложение Silverlight. Похоже, среда не имеет MachineName. Я использую F #.

Редактировать: я использую Visual Studio 2010 и код в f # (не спрашивайте). Причина, по которой я хочу это сделать, заключается в том, что в нашей среде разработки мы запускаем сервер на локальной машине. Когда кто-то проверяет код, он должен ввести имя своего компьютера в коде. Использование «localhost» работает, когда вы обращаетесь к приложению локально, очевидно, что оно не будет работать при обращении к нему с другого компьютера. Таким образом, решение должно быть во время сборки.

Я не уверен, какой компилятор я использую, какой бы компилятор f # по умолчанию был в VS2010.

Ответы [ 3 ]

3 голосов
/ 12 ноября 2010

Я не знаю способа сделать это проще, чем следующее. Вы хотите настроить шаг предварительной сборки (Проект -> Свойства -> События сборки -> Командная строка события предварительной сборки).

Здесь вы можете настроить программу, которая будет проверять ваши исходные файлы и заменять некоторый определенный токен (%MachineName%) значением Environment.MachineName. Это программа, которую вам придется написать отдельно.

0 голосов
/ 29 декабря 2010

Я нашел решение, которое искал, и он не получает имя компьютера во время компиляции, он получает исходный хост во время выполнения.

let host = Application.Current.Host.Source.Host
let uri = new Uri("https://" + host)
0 голосов
/ 12 ноября 2010

let COMP_NAME = Environment.MachineName

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...