【发布时间】:2010-11-07 06:22:08
【问题描述】:
我遇到了一个问题,即 MSBuild 4.0 无法正确解析我导入的一个 MSBuild 文件中的路径。文件开头的 ProjectOne.csproj 导入 GenericProject.proj。
GenericProject.proj 然后在需要时通过如下结构的调用继续导入 ProjectOne.settings 文件:
<Import Project="$(MSBuildProjectName).settings" />
我曾假设,当导入解决时,它的路径如下:
/Project Root/Src/ProjectOne/ProjectOne.settings
但是当通过 MSBuild 运行 ProjectOne.csproj 时,我得到了一条路径:
/Project Root/Targets/ProjectOne.settings
这没有意义,因为考虑到所有路径都假定是主项目的相对路径,在本例中为 ProjectOne.csproj。
所以我想知道是否有人知道为什么会这样?
文件夹结构:
- 项目根目录
- 源
- ProjectOne
- ProjectOne.csproj
- ProjectOne.settings
- ProjectOne
- 目标
- GenericProject.proj
- 源
我认为这并不重要,但以防万一我运行的是 Windows 7 x64
编辑: (1:45-11/7/2010) 我能够通过在 $(MSBuildProjectName) 前面添加 $(MSBuildProjectDirectory) 标记来解决问题但我仍然不知道为什么它一开始就没有正确解决。
【问题讨论】:
标签: msbuild msbuild-4.0