相关疑难解决方法(0)

使用MSBuild在ItemGroup中创建文件夹列表

我正在尝试在MSBuild脚本中构建一个ItemGroup,该脚本包含直接位于给定"Root"文件夹下的文件夹列表.所以 - 在这个例子中......

+ Root folder
---- Sub Folder 1
-------- Sub-Sub Folder 1
-------- Sub-Sub Folder 2
---- Sub Folder 2
---- Sub Folder 3
Run Code Online (Sandbox Code Playgroud)

...我希望我的ItemGroup包含"子文件夹1","子文件夹2"和"子文件夹3".

层次结构中的任何位置都可能有许多文件,但我只对文件夹感兴趣.

任何人都可以帮忙!?

msbuild

32
推荐指数
4
解决办法
2万
查看次数

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

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

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

在我看来,我需要以某种方式添加 dacpac 来说出“@(ReferenceCopyLocalPaths)”项目,但我一直无法弄清楚。任何提示或建议将不胜感激。

我尝试做一些类似于这里引用的事情MSBuild - ItemGroup of all bin directory of all 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>
Run Code Online (Sandbox Code Playgroud)

这对 DacPacs 没有任何帮助(添加通配符时)。我还尝试从 sqlproj 文件中引用项目组之一,但结果为空:

c# msbuild sqlproj

6
推荐指数
1
解决办法
1092
查看次数

标签 统计

msbuild ×2

c# ×1

sqlproj ×1