0

我遇到了 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)但我仍然不知道为什么它一开始就没有正确解决。

4

1 回答 1

3

所有路径都假设 [原文如此] 是主项目的相对路径

你从哪里得到这个想法的?

<Import>元素是相对于导入文件的。

于 2010-11-07T21:30:08.680 回答