Необходимо
программно определить версию ASP.NET, ассоциированную с веб-приложением. Подскажите, пожалуйста, как это можно сделать? Вариант "запустить aspnet_regiis.exe -lk и распарсить выводимые им данные" крайне нежелателен.
13.09.06 13:00: Перенесено модератором из 'Веб программирование' — der Igel
Здравствуйте, UnbrokeN, Вы писали:
UN>Необходимо программно определить версию ASP.NET, ассоциированную с веб-приложением. Подскажите, пожалуйста, как это можно сделать? Вариант "запустить aspnet_regiis.exe -lk и распарсить выводимые им данные" крайне нежелателен.
Вот код, который меняет версию ASP.NET на нужную. Что из этого кода взять, думаю разберетесь.
string site_index = "1"; // siteindex
DirectoryEntry ent = new DirectoryEntry("IIS://localhost/w3svc");
DirectoryEntry siteVDir = new DirectoryEntry();
siteVDir = ent.Children.Find(site_index,"IIsWebServer");
PropertyValueCollection scriptMapVals = siteVDir.Properties["ScriptMaps"];
ArrayList objScriptMaps = new ArrayList();
string frameworkVersion =
ConfigurationManager.AppSettings["frameworkVersion"];
Regex versionRegex = new Regex(@"(?<=\\v)\d{1}\.\d{1}\.\d{1,5}(?=\\)");
//Assuming the version will always be something like n.n.nnnnn
foreach (string scriptMapVal in scriptMapVals)
{
if (scriptMapVal.Contains("Framework"))
{
objScriptMaps.Add(versionRegex.Replace(scriptMapVal, frameworkVersion));
}
else
{
objScriptMaps.Add(scriptMapVal);
}
}
siteVDir.Properties["ScriptMaps"].Value = objScriptMaps.ToArray();
siteVDir.CommitChanges();
And please don't stick Thy servants, Lord, in a Rotissomat.
Сделайте ComVisible .NET класс, который возвращает номер версии .NET и вызывайте его из не-.NET приложения.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Упс... не так понял что именно хочет автор
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение