如何在解决方案输出路径中包含构建中的dacpac文件

时间:2017-09-10 18:46:01

标签: c# visual-studio-2015 msbuild sql-server-data-tools dacpac

工具:Visual Studio 2015,SSDT

我有一个Visual Studio SQL项目,它可以自行运行。我按照预期运行我的构建和dacpac文件在debug \ bin \ * .dacpac中。

问题是这个SQL项目是WinForms解决方案的一部分。

我已将SQL项目作为项目参考包含在Winforms项目中。

看起来Visual Studio只将dll从项目引用bin文件夹复制到输出路径bin \ debug文件夹中。

如何配置Visual Studio以将dacpac文件复制到winform项目的bin \ debug文件夹(outputpath)?

使用项目本身包含的其他文件,这很容易。我可以编辑文件属性以始终复制到输出路径。对于BIN输出,您不能这样做,因为dacpac文件是构建输出,而不是项目本身的一部分。

1 个答案:

答案 0 :(得分:5)

  

如何配置Visual Studio以将dacpac文件复制到winform项目的bin \ debug文件夹(outputpath)?

您可以在SQL项目的Pre-build event中的Winforms Project Post-build event中添加复制任务。

SQL 项目中的

构建后事件

xcopy /y "$(ProjectDir)$(OutDir)*.dacpac" "$(SolutionDir)YourWindowsFormsProjectName\$(OutDir)"
Winform 项目中的

预建活动

xcopy /y "$(SolutionDir)YourSQLProjectName\$(OutDir)*.dacpac" "$(ProjectDir)$(OutDir)"

以下是一些常用的xcopy开关:

/I - treat as a directory if copying multiple files
/Q - Do not display the files being copied.
/S - Copy subdirectories unless empty.
/E - Copy empty subdirectories.
/Y - Do not prompt for overwrite of existing files.
/R - Overwrite read only files.

希望得到这个帮助。