gpt4 book ai didi

c# - 如何在 dotnet pack nuget 包中包含来自构建输出 (dacpac) 的非 dll 文件?

转载 作者:行者123 更新时间:2023-12-04 10:59:56 26 4
gpt4 key购买 nike

我目前有一个 .NET Standard 2.0 库,它是一个针对 sql 数据库的存储库。我在该特定数据库的相同解决方案中也有一个 .sqlproj 项目。存储库库使用 2.2 cli 上的 dotnet pack 命令从我们的构建服务器 (Azure DevOps) 构建、打包并推送到我们的 nuget 存储库。我想将数据库项目中的 dacpac 作为存储库 nuget 包的一部分包含在内,以便该包的使用者发布的版本可以部署 dacpac 更改。我计划确保被覆盖的版本晚于部署时的包版本。

我可以使用 before 构建目标将 dacpac 文件添加到存储库项目的构建输出中
<Target Name="mydb" AfterTargets="Build">
<Exec Command="XCOPY /Y /R ..\db\bin\$(ConfigurationName)\mydb.dacpac $(TargetDir)" />
</Target>

我目前的问题是,虽然文件复制,但它不包含在生成的 nuget 文件中dotnet pack repository.csproj

最佳答案

我在 MS 文档的深处找到了答案:
除了目标之外,我还需要添加一个 Content 以包含我刚刚复制的文件。

<ItemGroup>
<Content Include="$(TargetDir)\mydb.dacpac" >
<Pack>true</Pack>
<PackagePath>\dacpacs\</PackagePath>
</Content>
</ItemGroup>

https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli

关于c# - 如何在 dotnet pack nuget 包中包含来自构建输出 (dacpac) 的非 dll 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58880039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com