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