2
我遇到了棘手的MSBuild问题。有一个包含多个网站的解决方案文件。每个网站都需要一个共同项目的MVC视图和其他网站内容的副本。该共同项目从共享组织空间复制文件。这里有一个例证:MSBuild中的PreBuildEvent和项目依赖关系
Site A OrgShared <- Common <- Site B Site C
文件副本通过.csproj
文件的PreBuildEvent执行。问题是PreBuildEvent命令在检测到依赖关系的构建事件触发之前运行。所以下面是事件序列:
1. Site A is build a. Prebuild step is executed (copy files from Common) b. Common is built i. Prebuild step is executed (copy files from OrgShared) ii. Build & postbuild is executed c. Build & postbuild are executed 2. Site B is built a. Prebuild step is executed (copy files from Common) b. Build & postbuild are executed
该问题发生在步骤1a。由于Common prebuild步骤尚未执行,因此站点A不会收到间接来自OrgShared的文件。
如何在不依赖站点A,B & C直接从OrgShared中直接复制的情况下有效解决此依赖性问题?