一键打开vs中的网站
一键打开ASP.NET WEB网站项目
通常情况下,在开发一个asp.net的WEB网站时,若要打开WEB网站,首先要打开开发平台,选择菜单的“文件”-“打开”-“网站”,然后选择网站的根目录,最后确认后,方可打开这一网站。不像WEB应用程序,有个解决方案(*.sln),双击后可以打开(当然也可以为网站生成一个解决方案),因此以上这种方法还是比较麻烦。如果在某些应用环境中,需要按照如上的方式打开一个站点,本文利用了Visual Studio提供的命令行工具、宏以及系统注册表知识,可以实现一键完成如上操作步骤。以下以windows 2008+visual studio 2010平台为例。
备注:实际上,VS通过上述方式打开网站时,也是在内存中生成了一个sln文件,然后打开这个解决方案的,只是尚未以文件形式保存在磁盘,因此在开发平台中关闭网站时会提示是否保存它的解决方案。这一结论可以通过录制宏来判别出来。
想达到的效果就是如果当需要打开某一网站时,只需在其文件夹上右键,选择一个预先设置好的命令,就能打开VS开发平台,并打开这一文件夹下的网站。因此,涉及到右键调用命令问题以及命令行打开网站的问题。
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\OpenVSWeb]
@="Open Folder As Website"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\OpenVSWeb\command]
@="需要执行的某一命令”
这一注册表命令,首先在右键单击文件夹时候,显示"Open Folder As Website",选择后,去执行某一命令,具体执行什么命令,是下一步的工作。
3.命令行打开网站
VS平台运行时的进程是devenv.exe,好在它也提供了命令行方式,用于打开项目。可以通过在运行中,输入devenv /?来查看具体有哪些参数。可惜的是,从介绍来看,它提供的大部分方法通常是打开一个解决方案文件或项目文件。也就是无法直接打开一个文件夹下的网站。其中有一个命令,是command参数,它用于打开VS平台后去执行某些命令。这让我想到了利用VS平台提供的宏工具,它可以用于完成手动的一些操作。
4.宏命令自动打开web站点
通过查阅,发现VS提供了EnvDTE 命名空间,它可以实现VS的自动化操作。其中的VsWebSite的VSWebPackage提供了OpenWebSite方法来将指定目录作为网站打开。
OpenWebSite("路径位置",VsWebSite.OpenWebsiteOptions.OpenWebsiteOption_None, False)
5.总结
至此,通过注册表执行了devenv,通过devenv执行了宏命令,达到一键打开web站点的目的。下面给出所有代码:
宏文件:(VS2010中编译通过,其他版本如果Imports部分报错,请适当修改或删除Imports即可)
在VS中,菜单选择:工具-宏-新建宏项目,命名为WebsiteMacroProject,为此项目添加vsWebSite.Interop引用,为项目添加一新项,命名为Website,代码:
01
|
Option Strict Off
|
02
|
Option Explicit Off
|
03
|
Imports System
|
04
|
Imports EnvDTE
|
05
|
Imports EnvDTE80
|
06
|
Imports EnvDTE90
|
07
|
Imports EnvDTE90a
|
08
|
Imports EnvDTE100
|
09
|
Imports System.Diagnostics
|
10
|
|
11
|
Public Module Website
|
12
|
|
13
|
Sub OpenWebsite( Optional ByVal path As String = "" )
|
14
|
|
15
|
If ( String .Compare(path, String .Empty) = 0) Then
|
16
|
|
17
|
MsgBox( "文件夹目录无能为空!" , MsgBoxStyle.OkOnly)
|
18
|
|
19
|
Else
|
20
|
Dim webPkg As VsWebSite.VSWebPackage
|
21
|
|
22
|
webPkg = DTE.GetObject( "WebPackage" )
|
23
|
|
24
|
webPkg.OpenWebSite(path, VsWebSite.OpenWebsiteOptions.OpenWebsiteOption_None, False )
|
25
|
|
26
|
End If
|
27
|
|
28
|
End Sub
|
29
|
|
30
|
End Module
|
保存编译后即可。
注册表文件:复制到文本文件中,保存为*.reg(*为任意合法的文件名字符串)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\OpenVSWeb]
@="Open Folder As Website"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\OpenVSWeb\command]
@="devenv /command \\\"Macros.WebsiteMacroProject.Website.OpenWebsite %1\\\""
保存后双击执行导入。
至此,可以在任意文件夹上右键,选择"Open Folder As Website",则系统会自动打开这一文件夹下WEB站点。
安装步骤:
1.将WebsiteMacroProject.vsmacros复制到一个固定位置(默认2008下vs2010的宏均放在c:\document\Visual Studio 2010\Projects\VSMacros80下,当然其他位置也可以,只要不会删除即可)
2.打开VS平台,工具-宏-加载宏项目,选择第一步中位置下的WebsiteMacroProject.vsmacros文件。
3.双击Install.reg,导入到注册表。(适合XP及其以上系统)
使用方法:
在任意文件夹上右键,选择"Open Folder As Website"即可。
卸载:
主要是去除右键的显示,执行Unstall.reg即可。
一键打开vs中的网站相关推荐
- 打开服务器数据库文件,如何打开服务器中的数据库文件
如何打开服务器中的数据库文件 内容精选 换一换 云服务器新增磁盘,开机自动执行磁盘初始化脚本后,Oralce.MySQL和SQL Server等数据库系统日志Msg 823错误 .磁盘初始化脚本Win ...
- 不会编程也能搞定一键打开文件
每天上班打开电脑后的第一件事情就是打开昨天没弄完的文件,然后再打开需要的文档.再打开查阅资料的网站.再打开需要用到的工具软件.等准备工作做完好几分钟就过去了,有时候还会突然找不到要用的文件到底在哪放着 ...
- 通过winform+模拟登录实现快速一键登录到人才招聘网站
之前为了便于人事部门招聘登录网站更简洁高效,免去每天频繁输网址.用户名.密码等相关登录信息,特基于winform+HttpWebRequest实现模拟请求登录,最终达到一键登录到招聘网站后台的效果. ...
- powerbi中python网站数据_Power BI应用实战:批量爬取网页数据
前面介绍PowerBI数据获取的时候,曾举了一个从网页中获取数据的例子,但当时只是爬取了其中一页数据,这篇文章来介绍如何用PowerBI批量采集多个网页的数据. 本文以智联招聘网站为例,采集工作地点在 ...
- 树莓派 + lnmp一键安装包 + thinkphp搭建网站
目录 前言: 一.准备树莓派 二.安装lnmp安装包 三.设置虚拟主机 1.添加虚拟主机 2.上传Thinkphp框架 3.进行一些配置(重要) 前言: 之前零星写了一些环境搭建的问题的解决方法,现 ...
- 在SharePoint 2010中创建网站的权限级别
转:http://www.360sps.com/Item/CreatePermissionLevels.aspx 权限级别是SharePoint 2010新增加的功能,使我们对权限的设置又提高了一个层 ...
- chrome浏览器开发者工具F12中某网站的sources下的源码如何批量保存?
目录 chrome浏览器 开发者工具F12中某网站的sources下的源码如何批量保存 1. 常用保存Sources源码的两种方法 1.1单个文件 1.2 单个页面 2. 问题 3.解决方案 chro ...
- Visual Web Developer 中的网站类型
原文地址 http://msdn.microsoft.com/zh-cn/library/9d9ats98(v=VS.90).aspx 本文内容 概述 文件系统网站 本地 IIS 网站 FTP 部署的 ...
- Azure中配置网络安全组入站规则让外部网络访问VM中的网站
今天在azure中搭建了个虚机,虚机的IIS上搭建了个测试网站,然后在虚机内可以正常访问,但是在外部internet却无法访问. 查看了azure的帮助文档,网上也搜了,得到的答案都是设置终结点,az ...
最新文章
- vs中调试中的命令行参数
- LUA中相同签名函数覆盖
- SAP Knowledge Article TREX search determination
- Jmeter通过CSV Data Set Config参数化
- android点赞动画仿twritter,【点赞动画仿抖音】Android 自定义view动画--酷炫点赞动画...
- java初学者书籍_面向初学者的5本最佳Java核心书籍
- c#二叉树 取叶子节点个数_图文并茂方式轻松掌握数据结构之二叉树和B树!
- Qt_QTableWidget用法 添加、删除、添加控件、获取控件在表格中位置
- android 执行Shell命令
- 阿里云云计算专业认证(ACP)怎么样,怎么学习?
- IPO图(INPUT PROCESS OUTPUT)
- 【Visual C++】游戏开发笔记二十五 最简化的DirectX开发环境的配置
- 神经网络解决XOR(抑或)问题
- [转] 金山CEO求伯君今退休 老一代程序员时代结束
- VUE图片裁剪组件,基于VueCropper
- DevOps 工具链图 汇总
- Java开发手册阅读笔记
- 基于STM32F407的摄像头(不带FIFO的OV7670)图像采集及LCD显示实验-笔记整理
- 真相了,读完研就能找到好工作吗?
- 最新最全!《个人防疫手册》来了!