手把手教你修改IIS目錄的ASP.NET版本
如果機(jī)子上裝有兩個(gè)版本以.NetFrameWork,在創(chuàng)建時(shí)將使用IIS中默認(rèn)使用的版本,而默認(rèn)的版本又不是你需要的,那怎么辦?在部署后手動(dòng)修改?還是在部署時(shí)直接使用程序修改呢?
一個(gè)用于修改虛擬目錄的ASP.NET版本方法
ASP.NET IIS注冊(cè)工具
使用ASP.NETIIS注冊(cè)工具(Aspnet_regiis.exe)可以方便地更新ASP.NET應(yīng)用程序的腳本映射,使其指向與該工具關(guān)聯(lián)的ASP.NET版本.
關(guān)于ASP.NETIIS注冊(cè)工具的更詳細(xì)的內(nèi)容,請(qǐng)參考MSDN.
在控制臺(tái)上我們使用下面的命令可以修改一個(gè)虛擬目錄的Asp.Net版本:
Aspnet_iis.exe–spath
我們知道了如何來修改一個(gè)虛擬目錄的版本,現(xiàn)在的問題就是如何使用程序來實(shí)現(xiàn)它了.
以下代碼基于.NetFrameWork2.0在WindowsXpsp2中編譯通過:
- //創(chuàng)建一個(gè)虛擬目錄
 - DirectoryEntrydirRoot=newDirectoryEntry("IIS://localhost/W3SVC/1/Root");
 - DirectoryEntriesdirs=dirRoot.Children;
 - DirectoryEntryvirtualDir=dirs.Add("VirtualChange",dirRoot.SchemaClassName);
 - object[]objs=newobject[]{true};
 - virtualDir.Invoke("AppCreate",objs);
 - virtualDir.Properties["AppFriendlyName"][0]="VirtualChange";
 - virtualDir.Properties["Path"].Value="C:\\VirtualChange";
 - virtualDir.CommitChanges();
 - //啟動(dòng)aspnet_iis.exe程序
 - stringfileName=Environment.GetEnvironmentVariable("windir")+@"\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe";
 - ProcessStartInfostartInfo=newProcessStartInfo(fileName);
 - //處理目錄路徑
 - stringpath=virtualDir.Path.ToUpper();
 - intindex=path.IndexOf("W3SVC");
 - pathpath=path.Remove(0,index);
 - //啟動(dòng)aspnet_iis.exe程序,刷新教本映射
 - startInfo.Arguments="-s"+path;
 - startInfo.WindowStyle=ProcessWindowStyle.Hidden;
 - startInfo.UseShellExecute=false;
 - startInfo.CreateNoWindow=true;
 - startInfo.RedirectStandardOutput=true;
 - startInfo.RedirectStandardError=true;
 - Processprocess=newProcess();
 - process.StartInfo=startInfo;
 - process.Start();
 - process.WaitForExit();
 - stringerrors=process.StandardError.ReadToEnd();
 - if(errors!=string.Empty)
 - thrownewException(errors);
 - Console.WriteLine(process.StandardOutput.ReadToEnd());
 
修改IIS目錄的ASP.NET版本成功
【編輯推薦】















 
 
 








 
 
 
 