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

c# – 如何将创建的数据库项目包含在cs项目中创建dacpac,第1张

概述我有一个单独的数据库项目,我想在同一个解决方案中构建,然后引用创建的dacpac.当我尝试添加数据库项目时,它构建正常,并且dll被添加到辅助项目文件,但dacpac不是. 有没有办法让dacpac通过msbuild复制到我的主项目中?我一直认为应该有一种方法来修改sqlproj文件或csproj文件,以便将dacpac作为项目输出之一包含在内.我对msbuild的了解并不广泛,我无法弄清楚. 在 我有一个单独的数据库项目,我想在同一个解决方案中构建,然后引用创建的dacpac.当我尝试添加数据库项目时,它构建正常,并且dll被添加到辅助项目文件,但dacpac不是.

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

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

我尝试做一些像这里引用的东西MSBuild – ItemGroup of all bin directories within subdirectories:

<Target name="AfterBuild">    <Message Text="@(MainAssembly)" />    <!--<DacPacs Include="%(ProjectReference.Directory)**"  />-->    <ItemGroup>      <DacPacs Include="%(ProjectReference.Directory)**/*bin*/*.dac" />    </ItemGroup>    <Message Text="@(ReferencecopyLocalPaths)" />    <Message Text="DacPacs: @(DacPacs)" />    <Message Text="Target Database: $(TargetDatabase)" />  </Target>

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

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

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

<PropertyGroup>  <PreBuildEvent>copy "$(SolutionDir)DatabaseProject\bin$(Configurationname)\DatabaseProject.dacpac" "$(ProjectDir)\DatabaseProject.dacpac"</PreBuildEvent></PropertyGroup>

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

总结

以上是内存溢出为你收集整理的c# – 如何将创建的数据库项目包含在cs项目中创建dacpac全部内容,希望文章能够帮你解决c# – 如何将创建的数据库项目包含在cs项目中创建dacpac所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1230489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存