博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS中的预先生成事件和后期生成事件
阅读量:4676 次
发布时间:2019-06-09

本文共 2241 字,大约阅读时间需要 7 分钟。

原文:

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:\WINDOWS\Microsoft.NET\Framework\v2.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 

 

posted on
2015-12-09 14:05 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/5032653.html

你可能感兴趣的文章
ABAP字符串操作 截取字符长度 取位数
查看>>
Python3安装目录介绍
查看>>
17第一发之蓝桥暴力思维(特殊回文)
查看>>
webapp开发时问题2-选点子和选创意与坚持
查看>>
uva11806cheerleaders容斥原理,二进制
查看>>
Android核心分析之二十四Android GDI之显示缓冲管理
查看>>
~(取反操作符)的探索
查看>>
C++学习随笔之八:抽象与建模----类的设计技术
查看>>
博客系列
查看>>
会放弃的人生才会更洒脱
查看>>
dubbo 使用 filter 报错解决
查看>>
NOIP2018:The First Step
查看>>
asp.net mvc网站的发布与IIS配置
查看>>
JS创建Ajax的XMLHttpRequest对象的通用方法
查看>>
postgresql全文检索语法
查看>>
语音转写平台-非实时语音分割
查看>>
collections 模块常用方法学习
查看>>
HDU 5832 A water problem 大数取余
查看>>
微软官方中文新书《Windows Phone 7应用开发指南 》出版
查看>>
Python实现无向图最短路径
查看>>