如何将创建的数据库项目包含在cs项目中创建dacpac

我有一个单独的数据库项目,我想在同一个解决方案中构建,然后引用创建的dacpac。 当我尝试添加数据库项目时,它构建正常,并且dll被添加到辅助项目文件,但dacpac不是。

有没有办法让dacpac通过msbuild复制到我的主项目中? 我一直认为应该有一种方法来修改sqlproj文件或csproj文件,以便将dacpac作为项目输出之一包含在内。 我对msbuild的了解并不广泛,我无法弄清楚。

在我看来,我需要添加dacpac以某种方式说’@(ReferenceCopyLocalPaths)’项目,但我无法弄明白。 任何提示或建议将不胜感激。

我试着做一些像MSBuild那样引用的东西- 子目录中所有bin目录的ItemGroup :

  <!---->        

这对DacPacs没有任何作用(添加通配符时)。 此外,我尝试引用sqlproj文件中的一个项目组,但它是空的:

在项目属性中,您可以添加预构建事件命令行以获取dacpac文件的副本。

预构建事件以复制dacpac

或者你可以在csproj中添加它:

  copy "$(SolutionDir)DatabaseProject\bin\$(ConfigurationName)\DatabaseProject.dacpac" "$(ProjectDir)\DatabaseProject.dacpac"  

这仅在首先构建数据库项目时才有效,因此您应该添加依赖项。 右键解决方案并选择Project Dependencies... ,然后选择主项目并检查它是否依赖于Database项目。

在此处输入图像描述