PreBuildEvent没有反映在项目依赖项中

时间:2014-08-29 17:45:00

标签: c# msbuild csproj

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

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

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


ProjectLib.csproj

  • TextFile1.txt
    • 构建操作:内容
    • 复制到输出目录:如果更新则复制

PreBuildEvent:

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 \ Debug?

1 个答案:

答案 0 :(得分:0)

为什么要设计构建系统以使两个单独的项目覆盖关键依赖项?