构建输出文件的前缀为db名称;不要那样

时间:2010-07-21 19:28:50

标签: sql-server-2008 visual-studio-2010 msbuild

我有STFW,文档,并通过我自己的构建脚本,无法找到答案;甚至通过“诊断”构建日志阅读还没有揭示我在寻找什么。

当我构建包含四个项目的VS2010 / MSSQL 2008解决方案时,每个项目的输出如下:

__target/$Arch_$Config/sql/$projectName/$projectName.dbschema
__target/$Arch_$Config/sql/$projectName/$projectName.deploymanifest
__target/$Arch_$Config/sql/$projectName/$databaseName_Database.sqlcmdvars
__target/$Arch_$Config/sql/$projectName/$databaseName_Database.sqldeployment
__target/$Arch_$Config/sql/$projectName/$databaseName_Database.sqlsettings
__target/$Arch_$Config/sql/$projectName/$databaseName_Script.PostDeployment.sql
__target/$Arch_$Config/sql/$projectName/$databaseName_Script.PreDeployment.sql

关注我的是最后五个文件 - 我无法分析表名被附加到这些输出文件的方式/时间/位置,并且正在修改.deploymanifest以查找这些文件;我宁愿这些文件不包含对表名的引用,因为使用相同的构建输出将数据库部署到不同的表会更容易。

为什么我的输出文件被这样命名,我该怎么做才能阻止这种行为?

1 个答案:

答案 0 :(得分:0)

我快速看了这个,就像你说的那样,似乎没有一种简单的方法可以控制所有这些。对于第一对,我发现您可以定义以下属性。

<PropertyGroup>
  <DbSchemaFileName>CustomNameHere</DbSchemaFileName>
  <DeployManifestName>CustomManifest</DeployManifestName>
</PropertyGroup>

但无法找出.sqlcmdvars文件,没有时间看看其他人。

最好复制文件并删除我认为的名称。