【问题标题】:how to set ASP.NET version for virtual directory using .net如何使用 .net 为虚拟目录设置 ASP.NET 版本
【发布时间】:2010-03-23 06:33:12
【问题描述】:

如何使用 c#.net FROM CODE 为所有 iis 版本设置虚拟目录的 ASP.NET 版本?

【问题讨论】:

    标签: c# .net iis virtual-directory


    【解决方案1】:

    以下代码适合我 字符串物理路径="D:\SVN\Safetypad\SafetyPADUniversal"; System.EnterpriseServices.Internal.IISVirtualRoot vr = new System.EnterpriseServices.Internal.IISVirtualRoot();

            string sError = "";
    
            string VDName = "MY";
    
            vr.Create("IIS://localhost/W3SVC/1/Root", physicalPath, VDName, out sError);
    
    
            if (sError.Trim().Length > 0)
                throw new Exception("Error when creating Virtual Directory:" + Environment.NewLine + sError);
    
            DirectoryEntry deVDir = new DirectoryEntry("IIS://localhost/W3SVC/1/Root/" + VDName);
            deVDir.Properties["Path"].Value = physicalPath;
    
            deVDir.Properties["DefaultDoc"].Value = "Mainscreen1.aspx";
            foreach (PropertyValueCollection val in deVDir.Properties)
            {
                Console.WriteLine(val.PropertyName);
            }
    
    
            PropertyValueCollection vals = deVDir.Properties["ScriptMaps"];
            ArrayList objScriptMaps = new ArrayList();
    
                      objScriptMaps.Add(val.Replace(version,frameworkVersion));
    
    
    
            string _frameWorkDir;
            string _Dir;
            string _FrameWorkVersion = "2.0.50727";
            _Dir = System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory();
            int dirpos = _Dir.Remove(_Dir.Length - 1, 1).LastIndexOf(@"\");
            _frameWorkDir = _Dir.Remove(dirpos, _Dir.Length - dirpos);
            _frameWorkDir = _frameWorkDir + @"\v" + _FrameWorkVersion + @"\";
    
            Process pro = new Process();
            pro.StartInfo.UseShellExecute = false;
            pro.StartInfo.RedirectStandardOutput = true;
            pro.StartInfo.RedirectStandardError = true;
            pro.StartInfo.FileName = _frameWorkDir + "aspnet_regiis";
           pro.StartInfo.Arguments = @"-s " + @"/W3SVC/1/Root/";
    
            pro.Start();
            pro.WaitForExit();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多