民间, 寻求社区的帮助。
我必须在顶部的所有aspx / ascx / master页面中添加版权文本。
示例版权文本如下 -
<!-- © 2014 xyz company .. .. . .. ........ ........
.............................
-->
此版权文本需要添加为对文件的评论。 当我尝试使用powershell / macro添加此版权文本时,我的页面编码将更改为ANSI。合并/签入文件时,哪个实习生会遇到麻烦或说麻烦。问题是'©'字符。
Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics
Public Module RecordingModule
Sub IterateFiles()
Dim solution As Solution =
DTE.Solution
For Each prj As Project In solution.Projects
IterateProjectFiles(prj.ProjectItems)
Next
End Sub
Private Sub IterateProjectFiles(ByVal prjItms As ProjectItems)
For Each file As ProjectItem In prjItms
If file.SubProject IsNot Nothing Then
AddHeaderToItem(file)
IterateProjectFiles(file.ProjectItems)
ElseIf file.ProjectItems IsNot Nothing AndAlso file.ProjectItems.Count > 0 Then
AddHeaderToItem(file)
IterateProjectFiles(file.ProjectItems)
Else
AddHeaderToItem(file)
End If
Next
End Sub
Private Sub AddHeaderToItem(ByVal file As ProjectItem)
DTE.ExecuteCommand("view.SolutionExplorer")
If file.Name.EndsWith(".aspx") OrElse file.Name.EndsWith(".ascx") OrElse file.Name.EndsWith(".Master") Then
file.Open()
file.Document.Activate()
AddHeader()
file.Document.Save()
file.Document.Close()
End If
End Sub
Private Sub AddHeader()
Dim cmtHeader As String = "<!-- "
Dim cmtCopyright As String = "Copyright © 2014 xyz company"
Dim cmtFooter As String = " -->"
Dim cmt = "//"
DTE.UndoContext.Open("Header Comment")
Dim ts As TextSelection = CType(DTE.ActiveDocument.Selection, TextSelection)
ts.StartOfDocument()
ts.Text = String.Format(cmtHeader, cmt)
ts.NewLine()
ts.Text = String.Format(cmtCopyright)
ts.NewLine()
ts.Text = String.Format(cmtFooter)
ts.NewLine()
DTE.UndoContext.Close()
End Sub
End Module
上面请提交上面的宏代码。
除此之外,这些文件具有不同的字符编码 - utf-8 和 utf-8与BOM 。所以我应该能够保留编码。
请告诉我您需要更多信息。
答案 0 :(得分:0)
看起来问题是©。所以我将不得不用(c)替换它。这是测试好的。