`
pumaboyd
  • 浏览: 248610 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AssemblyInfo信息的批量修改(.NET 宏)

阅读更多

有这个问题,主要是几个原因

1:最近发现在项目引用中,出现引用了DEBUG版本的DLL,所以我需要区分一个DLL是Release、还是Debug版本(方法

2:有了方法,就要改AssemblyInfo信息了。这里是没办法用查找、替换的方式来实现。最后用了宏,来完成对AssemblyDescription这个标签的批量修改。


<!---->Public Module RecordingModule
    
Sub TemporaryMacro()
        DTE.ExecuteCommand(
"Edit.FindinFiles")
        DTE.Windows.Item(
"{CF2DDC32-8CAD-11D2-9302-005345000000}").Activate() '查找和替换
        DTE.Find.FilesOfType = "Assemblyinfo.cs"
        DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
        DTE.Find.FindWhat 
= "[assembly: AssemblyDescription("""")]"
        DTE.Find.Target 
= vsFindTarget.vsFindTargetFiles
        DTE.Find.MatchCase 
= False
        DTE.Find.MatchWholeWord 
= False
        DTE.Find.MatchInHiddenText 
= True
        DTE.Find.PatternSyntax 
= vsFindPatternSyntax.vsFindPatternSyntaxLiteral
        DTE.Find.SearchPath 
= "整个解决方案"
        DTE.Find.SearchSubfolders 
= True
        DTE.Find.FilesOfType 
= "Assemblyinfo.cs"
        DTE.Find.ResultsLocation 
= vsFindResultsLocation.vsFindResults1
        DTE.Find.Action 
= vsFindAction.vsFindActionFindAll
        
If (DTE.Find.Execute() = vsFindResult.vsFindResultNotFound) Then
            
Throw New System.Exception("vsFindResultNotFound")
        
End If

        System.Threading.Thread.Sleep(
1000)

        
Dim reg As New Regex("匹配文件: (\d*)")
        
Dim match = reg.Match(DTE.StatusBar.Text)
        
If match.Success Then

            
For i = 1 To Convert.ToInt32(match.Groups(1).Value)

                DTE.Windows.Item(Constants.vsWindowKindFindResults1).Activate()
                DTE.ExecuteCommand(
"Edit.GoToFindResults1NextLocation")
                DTE.Windows.Item(
"AssemblyInfo.cs [只读]").Activate() '如果你没有使用VSS版本控制直接修改成 DTE.Windows.Item("AssemblyInfo.cs")
                DTE.ActiveDocument.Selection.EndOfLine(True)
                DTE.ActiveDocument.Selection.DeleteLeft()
                DTE.ActiveDocument.Selection.Text 
= "#if DEBUG"
                DTE.ActiveDocument.Selection.NewLine()
                DTE.ActiveDocument.Selection.Text 
= "[assembly: AssemblyDescription(""Debug"")]"
                DTE.ActiveDocument.Selection.NewLine()
                DTE.ActiveDocument.Selection.Text 
= "#else"
                DTE.ActiveDocument.Selection.NewLine()
                DTE.ActiveDocument.Selection.Text 
= "[assembly:AssemblyDescription(""Release"")]"
                DTE.ActiveDocument.Selection.NewLine()
                DTE.ActiveDocument.Selection.Text 
= "#endif"
            
Next

        
End If

    
End Sub
End Module
分享到:
评论

相关推荐

    批量修改vs解决方案下的文件

    批量修改文件的场景通常是由于软件发布的新版本需要更新各个配置文件中的版本信息,如AssemblyInfo.cs文件中的AssemblyVersion和 AssemblyFileVersion属性。这些属性对程序的识别和版本追踪至关重要。在VS2010中,...

    取得系统的版本号

    当你使用C#编程语言时,可以利用.NET Framework提供的各种类库来获取操作系统的信息,包括版本号。以下是一个详细的阐述: 首先,我们需要引入`System`命名空间,因为获取系统信息的相关类和方法都包含在这个命名...

    .net 读取项目AssemblyInfo.cs属性值

    在.NET框架中,`AssemblyInfo.cs`文件是一个特殊文件,用于存储有关程序集的各种元数据信息,如程序集的名称、版本、版权信息、描述等。这些信息在编译时被嵌入到生成的DLL或EXE文件中,用于标识和描述程序集的功能...

    用PowerShell 命令批量修改文件C#文件版本号文件

    这些信息通常在.csproj文件中定义,与项目关联的AssemblyInfo.cs文件中也可以找到。 PowerShell是Windows操作系统内置的脚本环境,它允许我们执行高级操作,如文件系统操作、批处理任务等。为了批量修改文件中的...

    NET6+WPF+MVVM

    内容概况: ... 主要实现了是仿360软件下载类似功能的界面设计,主要是下载进度条的动态化。 适合人群: ...下载并编译,并尝试修改 相关界面: https://blog.csdn.net/u010186391/article/details/125601226

    如何实现进度条-VB.net_vb.net_

    - `AssemblyInfo.vb`:程序集信息文件,包含版本、版权等元数据。 - `进度条.vbproj`:项目文件,定义了项目的构建设置。 - `BIN`:可能是一个文件夹,用于存放编译后的可执行文件和其他输出。 总的来说,这个...

    Lucene.Net2.3源码,最新版

    这是 .NET 编译器用来生成程序集信息的元数据文件,包含版本信息、版权、公钥标记等。在 Lucene.Net 中,它可能用于定义库的版本号和其他属性。 5. **SharpZipLibAdapter.cs** SharpZipLib 是一个流行的 .NET 库...

    .Net Webservice Studio (Build on .net 4.5) source code

    10. **AssemblyInfo.cs**: 这个文件包含了程序集元数据,如版本信息、版权信息、公共密钥等,用于标识和管理.NET程序集。 11. **状态文件(.gpState)**: WebServiceStudio.gpState可能保存了用户在Visual Studio中...

    VB.NET的OPC源程序

    - `AssemblyInfo.vb`文件包含了关于程序集的信息,如版本、版权和安全性设置,可以在这里添加OPC库的引用。 - 使用VB.NET的`Type`对象来实例化OPC服务器,并调用其方法进行数据读写。 - `Simple VB .NET OPC ...

    VB.NET扫描条形码软件

    7. `AssemblyInfo.vb`:这个文件包含了关于程序集的信息,如版本、版权和描述。 综上所述,这个VB.NET条形码扫描软件利用VB.NET编程语言和可能的第三方库,通过串口通信与条形码扫描器交互,捕获条形码图像,并进行...

    FCKeditor 2.64 ejiyuan修改版 for .net2.0

    综合以上信息,我们可以推断这个修改版的FCKeditor不仅增强了多媒体处理能力,还对中文文件名的支持进行了优化,使得在.NET 2.0环境下使用富文本编辑器时,用户体验得到了显著提升。对于开发者来说,这意味着更便捷...

    AutoUpdater.NET:AutoUpdater.NET是一个类库,允许.NET开发人员轻松地将自动更新功能添加到其经典的桌面应用程序项目中

    AutoUpdater.NET从您的服务器下载包含更新信息的XML文件。 它使用此XML文件来获取有关软件最新版本的信息。 如果软件的最新版本大于用户PC上安装的软件的当前版本,则AutoUpdater.NET将向用户显示更新对话框。 如果...

    对ldap操作进行封装成DLL(.net)

    `AssemblyInfo.cpp`是.NET程序集信息的源文件,它定义了DLL的元数据,包括版本信息、版权、公共密钥和安全性设置。此文件对于确保正确引用和部署DLL至关重要。 `ldap_net.h`是头文件,包含了对外部调用的接口声明。...

    VB.NET 抽奖程序

    7. **程序集信息**:`AssemblyInfo.vb` 文件包含程序的元数据,如版本号、版权信息和编译选项等。这些都是.NET框架的一部分,用于管理和组织程序集。 通过以上这些知识点的组合,开发者可以构建出一个完整的抽奖...

    .net新闻系统(开源学习版)

    5. `AssemblyInfo.cs`:这是.NET程序集信息文件,包含了关于编译后的程序集的元数据,如版本信息、版权信息和公共密钥等。 通过研究这些文件,初学者可以学习到如何在.NET环境下构建动态网页,包括页面生命周期管理...

    asp.net实用登录验证源码

    `Weblogin.csproj` 是ASP.NET项目的元数据文件,它描述了项目结构、引用的库和其他构建信息。这个文件用于Visual Studio这样的开发环境,帮助管理项目构建和部署。 7. **类库信息:AssemblyInfo.cs** `...

    .NET自己写的游戏 连连看

    6. **AssemblyInfo.cs**:这是.NET项目的元数据文件,包含版本信息、版权声明等。 7. **AllBlock.cs**:可能表示所有游戏元素或棋盘区块的类,用于管理游戏状态。 8. **BackSound.cs**:背景音乐相关的类,负责...

    C#.net实现网络蚂蚁下载网站

    9. AssemblyInfo.cs:这是.NET程序集信息文件,包含了版本、版权、描述等元数据。 10. TestSpider.cs:测试类,用于验证和调试程序的各个部分。 通过这个项目,开发者可以深入理解如何利用C#和.NET Framework来实现...

    ASP.NET经典案例源码之入门源码

    4. **AssemblyInfo.cs**:这是程序集信息文件,定义了类库的一些元数据,如版本信息、版权信息、编译条件等。它也用于定义特性,如ComVisible、CLSCompliant等。 5. **Welcome.csproj**:这是项目的项目文件,用于...

    导出excel(vb.net-asp.net).

    `AssemblyInfo.vb`则是项目属性的元数据,包含版本信息、版权信息等。 通过这些文件,我们可以构建一个完整的ASP.NET Web应用程序,实现在用户请求时动态生成并导出Excel文件。这个过程涉及到VB.NET编程、ASP.NET...

Global site tag (gtag.js) - Google Analytics