服务器上 IIS 实现 VS 的发布功能
求详解,做了个小工具,想实现 在服务器 IIS 上实现 VS 的发布功能, 并能在IIS 创建虚拟目录,用户可以直接访问。最好可以贴出代码
--------------------编程问答-------------------- 是否可以把需求再说详细一点
是已经做好了一个小工具?
是希望VS可以直接发布程序在IIS上么?做一个安装程序?
还是想做一个小工具,实现制作在IIS上发布的安装程序? --------------------编程问答-------------------- v求详解,做了个小工具,想实现 在服务器 IIS 上实现 VS 的发布功能, 并能在IIS 创建虚拟目录,用户可以直接访问。
最好可以贴出代码 --------------------编程问答-------------------- VS2008下IIS网站的发布
主菜单->生成->发布->目标位置框右边的[...]按钮->本地IIS->默认站点->打开->发布
如果你的IIS不支持ASP.Net,只需要在开始菜单->Visual Studio 2008->命令提示符->执行 aspnet_regiis -i -enable
直接在普通命令提示符下执行不了的,换台机器需要安装.Net的SDK, 然后还是在开始菜单的SDK里的那个命令提示符-> aspnet_regiis -i -enable,(不过如果先装IIS,再装.Net,IIS自动支持ASP.Net的),至于发布,把网站根目录(默认的Default.aspx所在目录)全部复制到IIS的根目录下,默认是C:\inetpub\wwwroot
例如:
1.
我把D:\Visual Studio 2008\Projects\WebApplication1\WebApplication1下的所有文件复制到C:\inetpub\wwwroot下
2.
IIS启动(开始->运行->iis.msc->本地计算机->网站->默认网站->右键->启动),
3.
打开IE,打开http://localhost/Default.aspx
--------------------编程问答-------------------- 使用DirectoryService命名空间,可以操作IIS --------------------编程问答--------------------
Using System.DirectoryServices;
private void btnCreateDirectory_Click(object sender, EventArgs e)
{
string strSchema = “IIsWebVirtualDir“;
string strRootSubPath = “/W3SVC/1/Root” ;
// you can specify any server name , “localhost” is for example
DirectoryEntry deRoot =
new DirectoryEntry(“IIS://” + “localhost” + strRootSubPath);
try
{
deRoot.RefreshCache();
DirectoryEntry deNewVDir =
deRoot.Children.Add(“Name of Virtual Directory“, strSchema);
deNewVDir.Properties["Path"].Insert(0, “Path for Virtual Directory“);
deNewVDir.CommitChanges();
deRoot.CommitChanges();
// Create a Application
if (strSchema == “IIsWebVirtualDir“)
deNewVDir.Invoke(“AppCreate“, true);
// Save Changes
deNewVDir.CommitChanges();
deRoot.CommitChanges();
deNewVDir.Close();
deRoot.Close();
lblResult.Text = “Virtual Directory ”
+ (“Name of Virtual Directory“+ “(” + “Path for Virtual
Directory” + “) has been created“;
}
catch (Exception ex)
{
lblResult.Text = ex.Message;
}
}
参考:
http://chiragrdarji.wordpress.com/2007/06/04/create-virtual-directory-in-iis-using-c/
这里有创建/删除/查看的源代码
http://chiragrdarji.wordpress.com/2007/06/20/createdeleteview-virtual-directory-or-website-in-iis-using-c/ --------------------编程问答-------------------- 顶起这个帖子 --------------------编程问答-------------------- 详细需求: 我有一个 VS 的工程,想做一个工具,工具可以选中这个工程的目录和IIS发布的目录,选好后,直接点击生成按钮,这个工程就自动编译好了,自动发布到IIS上了 --------------------编程问答-------------------- 晕倒,这些东西vs都提供了,你要重复造轮子? --------------------编程问答-------------------- VS2008下IIS网站的发布
主菜单->生成->发布->目标位置框右边的[...]按钮->本地IIS->默认站点->打开->发布
如果你的IIS不支持ASP.Net,只需要在开始菜单->Visual Studio 2008->命令提示符->执行 aspnet_regiis -i -enable
直接在普通命令提示符下执行不了的,换台机器需要安装.Net的SDK, 然后还是在开始菜单的SDK里的那个命令提示符-> aspnet_regiis -i -enable,(不过如果先装IIS,再装.Net,IIS自动支持ASP.Net的),至于发布,把网站根目录(默认的Default.aspx所在目录)全部复制到IIS的根目录下,默认是C:\inetpub\wwwroot
例如:
1.
我把D:\Visual Studio 2008\Projects\WebApplication1\WebApplication1下的所有文件复制到C:\inetpub\wwwroot下
2.
IIS启动(开始->运行->iis.msc->本地计算机->网站->默认网站->右键->启动),
3.
打开IE,打开http://localhost/Default.aspx
--------------------编程问答-------------------- 主要是为了不需要在打开VS 的情况下实现一键发布,从而加快开发速度 --------------------编程问答--------------------
同感~ --------------------编程问答-------------------- 是的,不过,是通过IIS来实现,里面涉及到权限问题,难解决
补充:.NET技术 , C#