【问题标题】:Build output files have the db name prepended to them; don't want that构建输出文件前面有 db 名称;不想要那个
【发布时间】:2024-01-16 02:03:01
【问题描述】:

我有 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 以查找这些文件;我希望这些文件不包含对表名的引用,因为这样使用相同的构建输出将数据库部署到不同的表会更容易。

为什么我的输出文件被这样命名,我必须做些什么来阻止这种行为?

【问题讨论】:

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


    【解决方案1】:

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

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

    但无法弄清楚 .sqlcmdvars 文件,也没有时间查看@其他人。

    你最好复制文件并去掉我认为的名字。

    【讨论】:

    • 我最终完全按照你的建议做了:我只是重命名了文件。
    最近更新 更多