PreBuildEvent未反映在项目依赖项中

本文关键字:依赖 项目 PreBuildEvent | 更新日期: 2023-09-27 18:19:58

我有两个C#项目,其中一个库包含一个在PreBuildEvent期间修改的数据库文件。其内容已正确更新,并可在此库项目的bin''Debug文件夹中使用。

出现此问题的原因是,在另一个项目UI应用程序中,数据库文件与我在PreBuildEvent中更改之前相同。

在下面的例子中,我将使用一个文本文件(它的行为相同):


ProjectLib.csproj

  • 文本文件1.text
    • 生成操作:内容
    • 复制到输出目录:如果更新则复制

预构建事件:

echo test > $(TargetDir)TextFile1.txt

ProjectLib''bin''Debug:中TextFile1.txt的内容

test

Application.csproj

Application''bin''Debug:中TextFile1.txt的内容

"empty"

从哪里提取数据库文件?从$(ProjectDir)还是$(TargetDir)编辑:数据库文件从$(ProjectDir)中选取。您可以看到它使用msbuild执行构建。在末尾有一个名为_CopyOutOfDataSourceItemsToOutputDirectory的目标,这显示源为$(ProjectDir)

有没有办法修改PreBuildEvent中的文件(库bin''Debug中的文件),并将其正确输出到应用程序bin''Debbug?

PreBuildEvent未反映在项目依赖项中

为什么要将构建系统设计为让两个独立的项目覆盖一个关键的依赖项?