日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一键打开vs中的网站

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一键打开vs中的网站 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一鍵打開ASP.NET WEB網站項目

作者:lerit??來源:博客園??發布時間:2011-02-16 09:22??閱讀:214 次??原文鏈接?? [收藏]??

通常情況下,在開發一個asp.net的WEB網站時,若要打開WEB網站,首先要打開開發平臺,選擇菜單的“文件”-“打開”-“網站”,然后選擇網站的根目錄,最后確認后,方可打開這一網站。不像WEB應用程序,有個解決方案(*.sln),雙擊后可以打開(當然也可以為網站生成一個解決方案),因此以上這種方法還是比較麻煩。如果在某些應用環境中,需要按照如上的方式打開一個站點,本文利用了Visual Studio提供的命令行工具、宏以及系統注冊表知識,可以實現一鍵完成如上操作步驟。以下以windows 2008+visual studio 2010平臺為例。

備注:實際上,VS通過上述方式打開網站時,也是在內存中生成了一個sln文件,然后打開這個解決方案的,只是尚未以文件形式保存在磁盤,因此在開發平臺中關閉網站時會提示是否保存它的解決方案。這一結論可以通過錄制宏來判別出來。

?

1.思路

想達到的效果就是如果當需要打開某一網站時,只需在其文件夾上右鍵,選擇一個預先設置好的命令,就能打開VS開發平臺,并打開這一文件夾下的網站。因此,涉及到右鍵調用命令問題以及命令行打開網站的問題。

2.右鍵調用命令

右鍵上去調用某一命令,這是注冊表的事,這個比較簡單:

[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,代碼:

01Option Strict Off
02Option Explicit Off
03Imports System
04Imports EnvDTE
05Imports EnvDTE80
06Imports EnvDTE90
07Imports EnvDTE90a
08Imports EnvDTE100
09Imports System.Diagnostics?
10??
11Public 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??
30End 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即可。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的一键打开vs中的网站的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。