精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

壓縮備份C#工程

開發 后端
這里介紹壓縮備份C#工程,雖然有源代碼管理,但本著所有重要的計算機文件都要備份的原則,但我們仍然需要時常將程序整體備份。

壓縮備份C#工程

雖然有源代碼管理,但本著所有重要的計算機文件都要備份的原則,但我們仍然需要時常將程序整體備份,一般的程序備份就是將程序目錄整個的復制打包,里面可能存在很多垃圾文件,而且是手工操作,比較麻煩,于是我們程序員就想到編個小程序來備份程序了。為了使用方便這個程序還能掛靠到集成開發環境,方便隨時調用。

一般的我們都是用VS.NET作為開發環境,因此這個小程序就要成為VS.NET的擴展程序。但編寫VS.NET的擴展程序不是很方便,于是我們就想到更方便的擴展VS.NET的方法,那就是VBA.NET。

VBA.NET是擴展VS.NET的方法,是Office的VBA在VS.NET中的延續。使用方便,和VS.NET緊密結合,而且是解釋運行,調試方便,而且其中的函數能綁定到VS.NET的工具條和菜單上面,調用方便。

現在說說壓縮備份C#工程的流程。以下以VS.NET2003為例子進行說明,本文中的代碼也只能處理VS.NET2003的C#工程。用記事本打開一個VS.NET2003的C#工程文件(擴展名為 .csproj ),可以看到這是一個XML文件,但這個XML文件沒有XML聲明頭"<?xml version='1.0' encoding='編碼格式' ?>",但它的編碼格式是GB2312,而.NET框架加載XML文件時若沒有找到XML聲明頭則使用的默認編碼格式是UTF8,因此不能直接使用 System.XML.XmlDocument.Load 加載該文件。在此程序將使用GB2312編碼格式(該編碼格式在.NET中的代碼為936)把C#工程文件當作一個文本文件讀取其中所有的文本內容,然后使用System.Xml.XmlDocument.LoadXml 加載XML文檔。

C#工程XML文檔中,從根節點出發,路徑 VisualStudioProject/CSHARP/Build/Referencds/Reference 是指明工程使用的引用,也就是使用的DLL的文件名。而路徑 VisualStudioProject/CSHARP/Files/Include/File 則列出了工程中包含的所有的文件。程序將利用這兩個信息來獲得要拷貝的文件。此時程序拷貝所得的是干凈的C#項目,包含在C#項目目錄下的其他文件就不拷貝了。

程序把文件拷貝到一個臨時目錄后就調用WinRar的命令行程序來壓縮工程文件。如此完成壓縮備份C#工程。

點擊VS.NET的菜單項目"工具->宏->宏IDE",打開了VS.NET的VBA.NET的集成開發環境,編寫代碼,然后切換到VS.NET的IDE,在工具條上右擊彈出快捷菜單,選擇最下面的"自定義"菜單項目,切換到"命令"頁面,在左邊的列表中選擇"宏",在右邊的列表中選中剛剛寫好的VBA.NET的函數,然后將其拖拽到VS.NET的工具條上,即可完成工具條按鈕和VBA.NET函數的綁定,此后你只有點擊這個按鈕就能壓縮備份你當前編輯的C#工程了,實在是太方便了.以下就是操作過程的演示錄像.

完整的VBA.NET源代碼為

  1. Public Sub CreateCSProjectRAR()  
  2. If CheckCSProject() = False Then  
  3. Return  
  4. End If  
  5. Dim strPath As String  
  6. Dim myPrj As EnvDTE.Project = DTE.ActiveWindow.Project  
  7.  
  8. strPath = System.IO.Path.GetFileNameWithoutExtension(myPrj.FullName)  
  9.  
  10. Dim strFileName As String  
  11. //設置要保存生成的文件的目錄  
  12. strPath = System.IO.Path.Combine
    ("D:\SourceBack", strPath & "[" & System.DateTime.Now.ToString("yyyy-MM-dd") & "]")  
  13. strFileName = strPath & ".rar"  
  14.  
  15. If System.IO.File.Exists(strFileName) Then  
  16. System.IO.File.Delete(strFileName)  
  17. End If  
  18. Dim iCount As Integer = CopyCSProjectFiles(strPath)  
  19. If System.IO.File.Exists(strFileName) Then  
  20. System.IO.File.Delete(strFileName)  
  21. End If  
  22. If iCount > 0 Then  
  23. DTE.StatusBar.Text = "正在生成壓縮文件" 
  24. Dim start As New System.Diagnostics.ProcessStartInfo  
  25. //此處指定 WinRar 壓縮軟件的可執行文件名,若 WinRar安裝在其他的目錄則修改此文件名  
  26. start.FileName = "C:\Program Files\WinRAR\WinRAR.exe" 
  27. start.Arguments = "a -r -df -ep1 " & strFileName & " " & strPath  
  28. Dim p As SystemSystem.Diagnostics.Process = System.Diagnostics.Process.Start(start)  
  29. p.WaitForExit()  
  30. DTE.StatusBar.Text = "已生成壓縮文件 " & strFileName  
  31. MsgBox("已生成壓縮文件 " & strFileName, MsgBoxStyle.Information, "系統提示")  
  32. End If  
  33. End Sub  
  34.  
  35. //將當前編輯的VS.NET2003的C#工程整體復制到用戶指定的目錄下,不支持VS.NET2005  
  36. Public Sub CopyCSProject()  
  37.  
  38. //檢查是否是C#工程  
  39. If CheckCSProject() = False Then  
  40. Return  
  41. End If  
  42. //讓用戶輸入目錄  
  43. Dim strPath As String = InputBox("請輸入輸出目錄名稱", "輸入")  
  44. If strPath Is Nothing Then  
  45. Return  
  46. End If  
  47. If strPath.Length = 0 Then  
  48. Return  
  49. End If  
  50. //復制文件  
  51. Dim iCount As Integer = CopyCSProjectFiles(strPath)  
  52.    
  53. MsgBox("共拷貝 " & iCount & " 個文件")  
  54.    
  55. End Sub  
  56.    
  57. //復制當前VS.NET2003的C#工程的所有包含的文件到指定的目錄下,不支持VS.NET2005  
  58. //不復制項目中使用絕對路徑引用的文件  
  59. Public Function CopyCSProjectFiles(ByVal strPath As String) As Integer  
  60.    
  61. If CheckCSProject() = False Then  
  62. Return -1  
  63. End If  
  64.    
  65. If System.IO.Directory.Exists(strPath) = False Then  
  66. System.IO.Directory.CreateDirectory(strPath)  
  67. End If  
  68. Dim myPrj As EnvDTE.Project = DTE.ActiveWindow.Project  
  69.    
  70. //加載項目文件  
  71. Dim myFile As New System.IO.StreamReader
    (myPrj.FullName, System.Text.Encoding.GetEncoding(936))  
  72. Dim myDoc As New System.Xml.XmlDocument  
  73. myDoc.LoadXml(myFile.ReadToEnd())  
  74. myFile.Close()  
  75.    
  76. Dim ThisPath As String = System.IO.Path.GetDirectoryName(myPrj.FullName)  
  77.    
  78. //復制項目定義文件本身  
  79. CopyFile(myPrj.FullName, strPath)  
  80.    
  81. Dim FileCount As Integer  
  82. Dim myElement As System.Xml.XmlElement  
  83. Dim strFileName As String  
  84. Dim strNewFileName As String  
  85. //復制引用的文件  
  86. For Each myElement In myDoc.SelectNodes
    ("VisualStudioProject/CSHARP/Build/Referencds/Reference")  
  87. strFileName = myElement.GetAttribute("HintPath")  
  88. If System.IO.Path.IsPathRooted(strFileName) = False Then  
  89. CopyFile(ThisPath, strPath, strFileName)  
  90. FileCountFileCount = FileCount + 1  
  91. End If  
  92. Next  
  93.    
  94. //復制項目文件  
  95. For Each myElement In myDoc.SelectNodes
    ("VisualStudioProject/CSHARP/Files/Include/File")  
  96. strFileName = myElement.GetAttribute("RelPath")  
  97. If Not strFileName Is Nothing Then  
  98. If System.IO.Path.IsPathRooted(strFileName) = False Then  
  99. CopyFile(ThisPath, strPath, strFileName)  
  100. FileCountFileCount = FileCount + 1  
  101. DTE.StatusBar.Text = FileCount & " 正在復制文件 " & strFileName  
  102. End If  
  103. End If  
  104. Next  
  105. Return FileCount  
  106. End Function  
  107.  
  108.  
  109. //檢查當前編輯的工程是不是C#工程  
  110. Public Function CheckCSProject() As Boolean  
  111. Dim myPrj As EnvDTE.Project = DTE.ActiveWindow.Project  
  112. If UCase(System.IO.Path.GetExtension(myPrj.FullName)) <> ".CSPROJ" Then  
  113. MsgBox("當前工程不是 C# 工程", MsgBoxStyle.Information, "系統提示")  
  114. Return False  
  115. End If  
  116. Return True  
  117. End Function  
  118.  
  119. //創建指定的目錄  
  120. Public Sub CreateDirectory(ByVal strDir As String)  
  121. If System.IO.Directory.Exists(strDir) = False Then  
  122. System.IO.Directory.CreateDirectory(strDir)  
  123. End If  
  124. End Sub  
  125.  
  126. //將指定目錄下的指定相對路徑的文件復制到另一個目錄,保持相對路徑不變  
  127. Public Sub CopyFile(ByVal strPath1 As String, 
    ByVal strPath2 As String, ByVal strFilePath As String)  
  128. Dim strName1 As String = System.IO.Path.Combine(strPath1, strFilePath)  
  129. Dim strName2 As String = System.IO.Path.Combine(strPath2, strFilePath)  
  130.  
  131. Dim dir1 As String = System.IO.Path.GetDirectoryName(strName1)  
  132. If System.IO.Directory.Exists(dir1) = False Then  
  133. System.IO.Directory.CreateDirectory(dir1)  
  134. End If  
  135.  
  136. Dim dir2 As String = System.IO.Path.GetDirectoryName(strName2)  
  137. If System.IO.Directory.Exists(dir2) = False Then  
  138. System.IO.Directory.CreateDirectory(dir2)  
  139. End If  
  140.  
  141. System.IO.File.Copy(strName1, strName2, True)  
  142.  
  143. End Sub  
  144.  
  145. //復制指定的文件到指定的目錄下  
  146. Public Sub CopyFile(ByVal strFileName As String, ByVal strNewPath As String)  
  147. System.IO.File.Copy(strFileName, System.IO.Path.Combine
    (strNewPath, System.IO.Path.GetFileName(strFileName)), True)  
  148. End Sub  

【編輯推薦】

  1. 淺析C# ArrayList
  2. C#對象初始化學習總結
  3. 使用C#正則表達式匹配相關字符串
  4. C#改寫方法學習筆記
  5. 概述C#加框和消框
責任編輯:佚名 來源: csdn
相關推薦

2009-08-28 13:03:55

C#壓縮Access數

2009-08-28 16:29:02

C#類庫工程

2010-05-31 10:56:48

MySQL數據庫

2012-12-26 09:31:44

C#Winform

2009-08-25 17:15:50

C#隱藏C#重寫C#重載

2009-09-02 17:10:45

C#語言入門

2009-08-25 17:21:31

C#索引

2017-02-27 19:57:02

Linux備份壓縮命令

2009-08-27 16:11:03

C# delegateC# event

2009-08-25 17:59:49

C#入門

2009-08-13 17:04:09

C#語言C#程序

2009-08-10 18:00:30

C#數據庫備份及還原

2009-08-26 10:34:15

C#類型C#變量

2009-08-24 11:02:52

C#接口映射

2009-08-18 10:30:30

C#枚舉

2009-08-19 16:50:32

Visual C#C#語言特性

2009-08-24 09:55:26

C#接口轉換

2016-10-13 13:33:41

反射特性c#

2009-08-28 10:14:45

C#內存泄露

2009-09-02 10:58:02

C#動態數組
點贊
收藏

51CTO技術棧公眾號

亚洲综合999| 久久久夜精品| 日韩午夜av电影| 欧美黑人经典片免费观看| 黄色片在线看| 国产高清精品久久久久| 91福利视频网| 国产免费美女视频| 日韩福利视频一区| 在线播放欧美女士性生活| 亚洲女人的天堂| 中文字幕亚洲图片| 制服.丝袜.亚洲.中文.综合懂| 国产剧情av在线播放| 中文文精品字幕一区二区| 成人91视频| 免费在线不卡av| 亚洲高清网站| 久久精品视频导航| 日韩精品卡通动漫网站| 精品一区二区三区四区五区| 一本一道综合狠狠老| 国产成人生活片| www.久久热.com| 99久久精品免费看| 91在线精品观看| 在线免费一级片| 一本久道久久综合婷婷鲸鱼| 欧美精品日韩三级| 9.1片黄在线观看| 久久亚洲黄色| 精品久久久久久久久久久久久久久久久 | 超碰在线观看99| 日韩精品三区四区| 国内精品小视频在线观看| 欧洲美女女同性互添| 欧美一区电影| 亚洲人午夜色婷婷| 日本少妇毛茸茸| 99re8这里有精品热视频8在线 | 国产成人精品亚洲精品色欲| 奇米影视一区二区三区小说| 日韩美女在线播放| 麻豆久久久久久久久久| 黄色工厂这里只有精品| 精品视频9999| 欧美日韩中文字幕在线观看| 91精品国产91久久综合 | 日韩另类在线| 专区另类欧美日韩| 日本黄色播放器| 香蕉视频免费在线播放| 国产精品人妖ts系列视频| 日韩影院一区| 婷婷在线视频| 中文字幕中文字幕一区二区| 亚洲一二区在线| 3d成人动漫在线| 国产精品久久久久久久久搜平片 | 国产日韩在线一区二区三区| 刘玥91精选国产在线观看| 国产91精品久久久久久久网曝门| 亚洲自拍小视频| 精品久久国产视频| 成人夜色视频网站在线观看| 国产一区二区三区高清视频| 天堂中文网在线| 久久亚洲影视婷婷| 视频一区免费观看| h片在线播放| 一个色在线综合| 18禁免费观看网站| 原纱央莉成人av片| 欧美三级欧美一级| 午夜视频在线网站| 97精品久久| 精品一区精品二区| 天堂资源在线视频| 自由日本语亚洲人高潮| 97视频在线播放| 丰满人妻老熟妇伦人精品| 免费看欧美美女黄的网站| 91亚洲精品久久久| 亚洲伦理在线观看| 久久久国产精品午夜一区ai换脸 | 伊人久久综合| 国产精品福利在线| a在线观看免费| 99国产一区二区三精品乱码| 五月天色一区| 欧美理论电影| 在线观看av一区| 日本高清免费在线视频| 亚洲欧美成人vr| 神马久久桃色视频| 日本熟妇乱子伦xxxx| 免费看日韩精品| 国产午夜精品一区| 在线视频三区| 精品福利在线视频| 亚洲精品视频三区| 日韩一级电影| 久热精品视频在线观看一区| 伊人手机在线视频| 国产麻豆成人传媒免费观看| 欧美重口乱码一区二区| 尤物yw193can在线观看| 日本高清成人免费播放| 五月天丁香社区| 日韩在线观看| 日本电影亚洲天堂| 亚洲乱码在线观看| 国产精品美女久久久久久久网站| 日韩av在线播放不卡| 色成人综合网| 亚洲色图17p| 国产极品在线播放| 久久66热re国产| 日本一区二区三区视频在线观看 | 26uuu国产| 少妇久久久久| 国产综合在线视频| 999精品国产| 国产精品免费看片| 午夜视频在线瓜伦| 蜜臀av一区| 久久久久久久久久久久av| 91国内精品久久久| 国产偷国产偷亚洲高清人白洁 | 欧美精品久久久久性色| 久久福利视频一区二区| 五月天亚洲综合情| 澳门av一区二区三区| 精品亚洲夜色av98在线观看 | 国语精品一区| 91在线高清视频| 黄色成年人视频在线观看| 欧美性xxxxxxxx| 在线小视频你懂的| 久久资源在线| 欧美一区1区三区3区公司| 在线天堂资源| 亚洲久久久久久久久久| 看片网址国产福利av中文字幕| 成人毛片视频在线观看| 久久亚洲a v| 91麻豆精品激情在线观看最新 | a在线视频观看| 欧美日韩大片免费观看| 97久久超碰福利国产精品…| 色婷婷在线视频| 五月天一区二区三区| 中文字幕精品久久久| 亚洲黄色av| 久久av二区| 亚洲承认视频| 在线一区二区日韩| 一级片在线观看视频| 日韩一区在线播放| 亚洲区 欧美区| 亚洲日产国产精品| 久久综合福利| 日韩欧美一区二区三区免费观看| 少妇高潮 亚洲精品| 欧美一级黄视频| 亚洲欧洲制服丝袜| 在线中文字日产幕| 免费日韩av| 亚洲人成77777| 国产一区二区三区免费在线| 久久久久亚洲精品| 久久久久久女乱国产| 欧美日韩在线播放三区| www.毛片com| av在线一区二区| 玩弄japan白嫩少妇hd| 国产精品久久久乱弄| 国产精品我不卡| 欧美黑人巨大xxxxx| 久久精品国产91精品亚洲 | 91视频亚洲| 欧美国产日韩一区| 九色在线免费| 欧美高清视频不卡网| 国语对白一区二区| 国产视频一区二区在线观看| √天堂资源在线| 亚洲永久网站| 99热这里只有精品7| 青青草久久爱| 成人免费黄色网| 欧美极品videos大乳护士| 中文字幕日韩综合av| 丰满少妇高潮在线观看| 欧美亚男人的天堂| 久草免费新视频| 国产精品高潮久久久久无| 欧美xxxxx少妇| 麻豆精品新av中文字幕| 男人添女荫道口图片| 成人激情开心网| 久久九九视频| 日韩精品一区二区三区中文字幕| 国产成人在线一区| 黄页网站在线观看免费| 最近免费中文字幕视频2019| 亚州精品国产精品乱码不99按摩| 欧美日韩国产免费一区二区 | 久久午夜精品视频| 99久久99久久精品免费观看| 天天看片天天操| 日日摸夜夜添夜夜添亚洲女人| 国产肉体ⅹxxx137大胆| 四虎8848精品成人免费网站| 欧美精品免费观看二区| 日韩一区二区三区精品| 国产精品一区二区久久久 | 国产综合色香蕉精品| 在线成人av观看| 国模吧一区二区三区| 精品视频在线一区二区| 中文日韩电影网站| 欧美性孕妇孕交| 亚洲国产成人久久综合| www.五月天激情| 91麻豆精品国产91久久久资源速度| 日韩美一区二区| 欧美性xxxxxxxxx| 精品在线播放视频| 亚洲mv在线观看| 久久精品国产亚洲AV无码麻豆| 亚洲情趣在线观看| 在线看的片片片免费| 国产精品美女www爽爽爽| 久久av无码精品人妻系列试探| 99精品国产热久久91蜜凸| 手机免费看av片| 成人免费视频一区二区| 国产成人精品一区二区在线小狼| 黄色小说综合网站| 污污的视频免费观看| 久久成人18免费观看| 国产无遮挡猛进猛出免费软件| 美女精品一区二区| 青青草原国产在线视频| 激情欧美一区二区三区在线观看| 中文字幕国产免费| 久久99久久精品| 色综合五月婷婷| 国产伦精一区二区三区| 少妇极品熟妇人妻无码| 波多野结衣一区二区三区 | 国产高清第一页| 欧美大胆人体bbbb| 亚洲男人第一天堂| 日韩精品在线观看视频| 九九在线视频| 日韩亚洲精品视频| 成年人网站在线| 久久久久久久久久久91| 亚洲一二三四| 国产精品999999| 成人自拍视频| 国产精华一区二区三区| 国内自拍欧美| 欧美资源一区| 中文字幕人成人乱码| 欧美国产日韩激情| 久久精品日韩欧美| 日本中文字幕二区| 成人动漫精品一区二区| 欧美狂猛xxxxx乱大交3| 国产精品美女久久久久久2018| 久久久久久久久久97| 亚洲图片有声小说| 国产精品欧美综合| 日韩欧美中文字幕公布| 五月天婷婷在线观看| 最新69国产成人精品视频免费| 最新黄网在线观看| 日本aⅴ大伊香蕉精品视频| 另类一区二区三区| 国产精品一区二区不卡视频| 国产一区二区三区四区| 法国空姐在线观看免费| 亚洲影院免费| 成人三级做爰av| 久久品道一品道久久精品| 熟女av一区二区| 姬川优奈aav一区二区| 亚洲综合五月天婷婷丁香| 精品国产乱码久久久久久久久| 欧美白人做受xxxx视频| 插插插亚洲综合网| 欧美黑人粗大| 成人91免费视频| 欧美电影《睫毛膏》| 99在线免费视频观看| 蜜臀av国产精品久久久久 | 国产精品久久一级| 97免费在线观看视频| 欧美精品三级日韩久久| 深夜福利视频一区| 欧美成人三级视频网站| 日韩不卡免费高清视频| 岛国一区二区三区高清视频| 欧美亚洲在线日韩| 一区二区传媒有限公司| 国模娜娜一区二区三区| 国产精品成人无码免费| 午夜私人影院久久久久| 国产www免费观看| 色婷婷综合久久久久| 欧美天堂视频| 黄色小网站91| 狠久久av成人天堂| 日日干日日操日日射| 国产欧美日本一区视频| 欧美一级视频免费观看| 日韩一区二区电影在线| 欧美性videos| 国产精品久久久久久久9999| 色吊丝一区二区| 久久久性生活视频| 国产成人av电影免费在线观看| 91麻豆精品成人一区二区| 欧美色欧美亚洲另类二区| 青青草免费在线| 6080yy精品一区二区三区| 成人在线视频你懂的| 9191国产视频| 国产成人精品免费网站| 免费看一级大片| 欧美一区二区三区播放老司机| 欧美a免费在线| 国产精品一区二区三区成人| 日韩电影免费网站| 亚洲 欧美 另类人妖| 国产欧美一区二区精品婷婷 | 欧美卡一卡二卡三| 欧美一区二区国产| 色操视频在线| 国产精品免费在线播放| 亚洲成人在线| 亚洲av片不卡无码久久| 欧美日韩国产区| 欧美欧美欧美| 国产精品揄拍500视频| 日韩成人影院| 佐山爱在线视频| 亚洲在线中文字幕| 天堂成人在线视频| 日av在线播放中文不卡| 国语产色综合| 污污网站免费观看| 亚洲丝袜制服诱惑| www.久久综合| 91国产精品91| 免费观看久久av| 性猛交ⅹ×××乱大交| 亚洲三级在线看| 黑人精品一区二区| 日本久久久久久久久久久| 不卡在线一区二区| 中文字幕国产高清| 亚洲成人你懂的| 国产一区精品| 91久久久久久久一区二区| 欧美午夜不卡| 亚洲精品成人无码熟妇在线| 欧美性受xxxx黑人xyx| 超碰超碰在线| 久久久久久a亚洲欧洲aⅴ| 日韩经典一区二区| 日韩在线观看视频一区二区| 日韩成人久久久| 九九久久国产| 男的插女的下面视频| 国产日韩欧美激情| www.五月天激情| 国产精品白嫩美女在线观看| 亚洲乱码精品| 女人被狂躁c到高潮| 欧美剧在线免费观看网站| 成年网站在线视频网站| 日韩免费电影一区二区| 国产xxx精品视频大全| 嫩草影院一区二区三区| 九九热r在线视频精品| 最新国产精品视频| 特种兵之深入敌后| 91成人在线精品| 国产色婷婷在线| 午夜精品区一区二区三| 成人亚洲一区二区一| 一级aaaa毛片| 奇米影视亚洲狠狠色| 欧美福利电影在线观看| 亚洲自拍偷拍图| 亚洲国产日韩欧美在线99|