gap*_*gap 3 c# msbuild visual-studio-2012
我们有一个VS2012解决方案,其中包含十几个C#项目.其中一个C#项目使用了一个文本文件,该文件由我们编写的单独的C#工具转换为SQL.我们希望在TXT文件发生更改(发布和调试版本)时,在构建期间自动调用此TXT-2-SQL文件转换.
此外,我们希望Debug构建能够将SQL加载到本地DB中; 即,调用我们现有的批处理文件之一populate_db.bat,将SQL文件名作为参数(这只是包装mysql客户端的调用并导致执行SQL).
最好的方法是什么?
根据我自己的研究,我发现了以下选择:
目标+执行 - 将自定义目标节点添加到现有的csproj:
<Target Name ="TXT2DB"AfterTargets ="Build"Condition ="'$(Configuration)'=='Debug'"Inputs ="MyTextFile.txt"
Outputs ="MySqlFile.sql"Label ="TXT2DB"> <Exec Command ="$(ProjectDir)\ Tools\txt2sql\txt2sql.exe MyTextFile.txt MySqlFile.sql"/> <Exec Command ="populate_db.bat MySqlFile.sql"/> </ Target>
后期构建事件 - 使用后期构建事件.提到完整性,但丢弃的b/c它在调试和发布中都会发生,并且似乎对TXT文件更改不敏感.
目前,我们选择#4作为最容易实现和维护解决方案,并满足所有要求.
| 归档时间: |
|
| 查看次数: |
1888 次 |
| 最近记录: |