Страница: 1 |
Страница: 1 |
Вопрос: Framework 2.0
Добавлено: 25.11.06 11:57
Автор вопроса: Alexandr.R | Web-сайт:
Привет всем!
Как программно узнать путь куда установлен Framework?
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #1
Добавлено: 25.11.06 21:21
C:\WINDOWS\Microsoft.NET\Framework\<VERSION>
Номер ответа: 2
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #2
Добавлено: 26.11.06 01:17
А если у меня системный диск D и папка называется "МАЯ ВИНДА"? Что тогда?
Так что твой способ никуда не годится.. для этих целей есть другая фишка...
Member of: System.Runtime.InteropServices.RuntimeEnvironment
Summary:
Gets the directory where the common language runtime is installed.
Return Values:
A string containing the path to the directory where the common language runtime is installed.
Номер ответа: 3
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #3
Добавлено: 26.11.06 16:33
тада так:
Dim systemFolder As String = System.Environment.GetFolderPath(Environment.SpecialFolder.System)
Dim windowsFolder As String = systemFolder.Substring(0, systemFolder.LastIndexOf("\"c))
Dim frameworkFolder As String
With New System.Text.StringBuilder
.Append(windowsFolder)
.Append("\Microsoft.NET\Framework\<VERSION>"
frameworkFolder = .ToString()
End With
Me.Text = frameworkFolder
End Sub
Номер ответа: 4
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #4
Добавлено: 26.11.06 17:01
во блин гон...
StringBuilder здесь использовть нет смысла - поищи на blogs.gotdotnet.ru было сравнение скорости классов String и StringBuilder, если не ошибаюсь, то до 1000 конкатенаций StringBuilder не дает никакого преимущества.
По самому методу определения - не надо блин херней маяться.
Номер ответа: 5
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #5
Добавлено: 26.11.06 18:41
)) мда уж.. со StringBuilder в данном случае явный перебор! В таком случае надо было хотя бы Path.Combine заюзать! )))
Но опять таки в твоем коде остается одно слабое место - <VERSION>.. Или ты полагаешь, что все его знают наизусть??
Номер ответа: 6
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #6
Добавлено: 26.11.06 19:03
Можешь заюзать System.Environment.Version
)
Номер ответа: 7
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #7
Добавлено: 26.11.06 19:31
Вот тебе в коллекцию самых абсурдных методов определения размещения Framework'а (жаль пальму первенства не поимеет):
Return Location.Substring(0, Location.LastIndexOf("\" + 1)
Номер ответа: 8
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #8
Добавлено: 26.11.06 19:36
Это уж точно! Способ Sacred Phoenix вне конкуренции! Пальма у него! )
Номер ответа: 9
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #9
Добавлено: 26.11.06 21:15
2 Brand: смаил во 2-ом посте видишь? Или ты думаешь, я действительно сурьезна? ))
Пальма моя ))
Номер ответа: 10
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #10
Добавлено: 26.11.06 21:16
тьфу, в 3-ем есессено
Номер ответа: 11
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #11
Добавлено: 26.11.06 21:55
блин, 3-ий пост подряд... Последняя редакция супер-ф-ции!
Select Case (methodIndex)
Case 0 '// By EROS
Return System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory()
Case 1 '// By Brand
Dim asmPath As String = GetType(String).Assembly.Location
Return asmPath.Substring(0, asmPath.LastIndexOf("\" + 1)
Case 2 '// By Sacred Phoenix
Dim systemFolder As String = System.Environment.GetFolderPath(Environment.SpecialFolder.System)
Return String.Format("{0}\Microsoft.NET\Framework\v{1}\", systemFolder.Substring(0, systemFolder.LastIndexOf("\"c)), System.Environment.Version.ToString(3))
Case Else : Throw New System.NotSupportedException()
End Select
End Function
Номер ответа: 12
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #12
Добавлено: 27.11.06 00:00
Sacred Phoenix
Старик, ты маньяк! )))
Номер ответа: 13
Автор ответа:
Alexandr.R
Вопросов: 9
Ответов: 115
Web-сайт:
Профиль | | #13
Добавлено: 27.11.06 20:31
Спасибо всем за исчерпывающие ответы.
Номер ответа: 14
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #14
Добавлено: 28.11.06 21:14