MSBuild не разрешает правильный путь из импортированного файла - PullRequest
0 голосов
/ 07 ноября 2010

У меня проблема с MSBuild 4.0, которая не позволяет правильно определить путь в одном из моих импортированных файлов MSBuild. ProjectOne.csproj в самом начале файла импортирует GenericProject.proj .

GenericProject.proj затем импортирует файл ProjectOne.settings , когда это необходимо, с помощью вызова, структурированного как:

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

Я предполагал, что, когда импорт будет решен, он будет иметь путь, подобный следующему:

/ Корень проекта / Src / ProjectOne / ProjectOne.settings

Но при запуске ProjectOne.csproj через MSBuild я получил путь:

/ Корень проекта / Цели / ProjectOne.settings

Это не имеет смысла, поскольку предполагается, что все пути относительны к главному проекту, в данном случае ProjectOne.csproj .

Так что мне интересно, если кто-то знает, почему это происходит?

Структура папок:

  • Project Root
    • Src
      • ProjectOne
        • ProjectOne.csproj
        • ProjectOne.settings
    • Цели
      • GenericProject.proj

Я не думаю, что это имеет значение, но на всякий случай я использую windows 7 x64

Редактировать: (1: 45-11 / 7/2010) Мне удалось решить проблему, добавив тег $(MSBuildProjectDirectory) перед $(MSBuildProjectName), но я до сих пор не знаю, почему он не решился правильно с самого начала.

1 Ответ

3 голосов
/ 08 ноября 2010

все пути предполагаются относительными [sic] относительно мастер-проекта

Откуда вы взяли эту идею?

<Import> элементы относятся кимпорт файла.

...