• Help-C#-属性-生成事件:预先生成事件和后期生成事件


    ylbtech-Help-C#-属性-生成事件:预先生成事件和后期生成事件
    1.返回顶部
    1、

    在C#开发中,有时候需要在程序编译之前或之后做一些操作。

    要达到这个目的,可以使用Visual Studio中的预先生成事件和后期生成事件。

    下图是一个简单例子:

    将工程目录中的一些资源文件和库文件拷贝到debug目录下

     

    指定预先生成命令行

    1.  在“解决方案资源管理器”中,右击要为其指定预先生成命令行的数据库项目,再单击“属性”。

    2.  在“项目属性”窗口中单击“生成事件”选项卡。

    3. 执行下列操作之一:

    a.如果已知要执行的命令行,请在“预先生成事件命令行”中键入要在生成数据库项目之前执行的命令行,然后转到步骤 5。

    b.如果要使用生成宏,请单击“编辑预先生成事件”。在“预先生成事件命令行”对话框中,键入要执行的命令行。可以单击列表中的宏并单击“插入”将其插入到命令行中。

    4. 在完成命令行的编辑之后,请单击“确定”。

    5. 在“文件”菜单上,单击“保存选定项”保存对项目属性进行的更改。下次生成数据库项目时,该命令行将在生成数据库项目之前执行。

     

    指定后期生成命令行

    1.在“解决方案资源管理器”中,右击要为其指定后期生成命令行的数据库项目,再单击“属性”。

    2. 在“项目属性”窗口中单击“生成事件”选项卡。

    3.执行下列操作之一:

    c. 如果知道要执行的命令行,请在“后期生成事件命令行”中键入数据库项目生成后要执行的命令行,然后转到步骤 5。

    d. 如果要使用生成宏,请单击“编辑后期生成事件”。在“后期生成事件命令行”对话框中,键入要执行的命令行。可以单击列表中的宏并单击“插入”将其插入到命令行中。

    4. 在完成命令行的编辑之后,请单击“确定”。

    5. 如果希望仅在生成成功时才运行命令行,请在“运行后期生成事件”列表中,单击“成功生成时”。如果希望命令行总是运行(即使生成失败时),请在“运行后期生成事件”列表中,单击“总是”。

    6. 在“文件”菜单上,单击“保存选定项”保存对项目属性进行的更改。下次生成数据库项目时,该命令行将在生成数据库项目之后执行。

    注意:应在运行 .bat 文件的每个后期生成命令之前添加 call 语句。例如,可以添加 call C:MyFile.bat 或 call C:MyFile.bat

     

    部分宏列表

    说明

    $(Configuration)

    当前项目配置的名称(例如,“Default”)。

    $(MSBuildProjectName)

    项目的基名称。

    $(MSBuildProjectExtension)

    项目的文件扩展名。它包括文件扩展名前面的“.”。

    $(PlatformName)

    当前目标平台的名称(例如,“AnyCPU”)。

    $(OutputPath)

    生成的主输出文件的路径名(定义为驱动器 + 路径 + 基名称 + 文件扩展名)。

    $(OutputType)

    项目的输出类型。对于数据库项目,此类型为“database”。

    $(DBProduct)

    目标数据库项目的 Microsoft SQL Server 版本。此结果将为 SQL Server 2000 或 SQL Server 2005。

    $(TargetDatabase)

    目标数据库的名称。

    $(TargetConnectionString)

    用于连接到目标数据库当前驻留(或将驻留)的服务器的连接字符串。

    $(MSBuildBinPath)

    MSBuild 二进制文件的路径(例如,C:WINDOWSMicrosoft.NETFrameworkv2.0.50727)。

    $(DefaultSchema)

    非限定对象的默认架构。

    $(DeploymentCollationPreference)

    如果指定,则为如何处理源和目标排序规则之间冲突的首选项。默认情况下,该首选项为 None。

    $(AnsiNulls)

    有关更多信息,请参见数据库项目设置概述

    $(AnsiPadding)

    有关更多信息,请参见数据库项目设置概述

    $(AnsiWarnings)

    有关更多信息,请参见数据库项目设置概述

    $(ArithAbort)

    有关更多信息,请参见数据库项目设置概述

    $(ConcatNullYieldsNull)

    有关更多信息,请参见数据库项目设置概述

    $(NumericRoundAbort)

    有关更多信息,请参见数据库项目设置概述

    $(QuotedIdentifier)

    有关更多信息,请参见数据库项目设置概述

    $(SolutionDir)

    解决方案的目录(定义为驱动器 + 路径)。此结果包括尾部的反斜杠“”。

    $(SolutionPath)

    解决方案的绝对路径名(定义为驱动器 + 路径 + 基名称 + 文件扩展名)。

    $(SolutionName)

    解决方案的基名称。

    $(SolutionFileName)

    解决方案的文件名(定义为基名称 + 文件扩展名)。

    $(SolutionExt)

    解决方案的文件扩展名。此结果包括文件扩展名前面的“.”。

    $(DevEnvDir)

    Visual Studio 2005 的安装目录(定义为驱动器 + 路径)。此结果包括尾部的反斜杠“”。

     

    参考

    https://msdn.microsoft.com/zh-cn/library/aa833213(v=vs.80).aspx 

    2、
    2.返回顶部

    · mkdir

    mkdir "$(OutDir)logs"
    ·copy

    copy "$(ProjectDir)Content1.txt" "$(TargetDir)1.txt"
    ·xcopy

    xcopy "$(ProjectDir)Content*" "$(TargetDir)"
    ·

    xcopy "$(ProjectDir)ContentAliyunOns*" "$(TargetDir)"
    ··

    if not exist "$(TargetDir)ONSClient4CPP.dll" ( xcopy "$(ProjectDir)ContentAliyunOns*" "$(TargetDir)" /y)
    ·

    xcopy $(TargetDir)*.dll $(ProjectDir)..WebBin /R /Y
    xcopy $(ProjectDir)..Lib*.dll $(ProjectDir)..WebBin /R /Y
    xcopy $(ProjectDir)..Lib*.exe $(ProjectDir)..WebBin /R /Y

    ·
    ·
    ·
    ···
    ·

    3.P&A返回顶部
    ·P1

    严重性 代码 说明 项目 文件 行 禁止显示状态
    错误 命令“xcopy "D:sinopec-tbm源代码1.WebSinopec.TBM.WebContentAliyunOns*" "D:sinopec-tbm源代码1.WebSinopec.TBM.Webin"”已退出,代码为 2。 Sinopec.TBM.Web

    ·A1 进程已被w3wp.exe占用,不允许操作。已存在,则不复制。
    if not exist "$(TargetDir)ONSClient4CPP.dll" ( xcopy "$(ProjectDir)ContentAliyunOns*" "$(TargetDir)" /y)
    ·
    4.返回顶部
     
    5.返回顶部
    ·扩展
    ·
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Java第一课
    bootstrap之google fonts
    bootstrap之clearfix
    Leetcode题解
    python图片爬虫
    [python / selenium]
    使用python
    python
    python
    python爬虫入门新手向实战
  • 原文地址:https://www.cnblogs.com/storebook/p/12608462.html
Copyright © 2020-2023  润新知