MSBuild不是';t从导入的文件解析正确的路径

MSBuild不是';t从导入的文件解析正确的路径,msbuild,msbuild-4.0,Msbuild,Msbuild 4.0,MSBuild 4.0在导入的某个MSBuild文件中未正确解析路径时出现问题。ProjectOne.csproj在文件开头导入GenericProject.proj 然后,GenericProject.proj在需要时通过调用导入ProjectOne.settings文件,其结构如下: <Import Project="$(MSBuildProjectName).settings" /> 我曾假设,当导入被解析时,它会有如下路径: /项目根/Src/ProjectOne/Pr

MSBuild 4.0在导入的某个MSBuild文件中未正确解析路径时出现问题。ProjectOne.csproj在文件开头导入GenericProject.proj

然后,GenericProject.proj在需要时通过调用导入ProjectOne.settings文件,其结构如下:

<Import Project="$(MSBuildProjectName).settings" />

我曾假设,当导入被解析时,它会有如下路径:

/项目根/Src/ProjectOne/ProjectOne.settings

但在通过MSBuild运行ProjectOne.csproj时,我得到了以下路径:

/项目根目录/Targets/ProjectOne.settings

这是没有意义的,因为考虑到所有路径都假定是相对于主项目的,在本例中是ProjectOne.csproj

所以我想知道是否有人知道为什么会这样

文件夹结构:

  • 项目根
    • Src
      • 项目一
        • ProjectOne.csproj
        • ProjectOne.settings
    • 目标
      • GenericProject.proj
我认为这无关紧要,但以防我运行的是Windows7x64

编辑:(1:45-11/7/2010)我可以通过在
$(MSBuildProjectDirectory)
标记前面添加
$(MSBuildProjectName)
来解决这个问题,但我仍然不知道为什么它一开始不能正确解析

假设所有路径[sic]都与主项目相关

你从哪里得到这个主意的

元素与导入文件相关

假设所有路径[sic]都与主项目相关

你从哪里得到这个主意的

元素与导入文件相关