Относительные пути для элементов ItemGroup в файлах msbuild .targets - PullRequest
1 голос
/ 02 июля 2011

У меня есть .dll и .targets файл в одном каталоге.Внутри этого файла .targets я хотел бы добавить .dll к элементу ItemGroup.Однако, если я просто добавлю его, как показано ниже:

<Example Include="Example.dll" />

Путь к Example.dll, по-видимому, разрешается относительно .csproj, который включает файл .targets.Как я могу добавить элементы в ItemGroup в файле .targets с относительным путем, подобным этому?

Например, предположим, у меня есть:

C:\lib\Example.dll
C:\lib\Example.targets
C:\src\Example.csproj

При включении Example.dll изнутриВ файле .targets полный путь разрешается до C:\src\Example.dll, что неверно, я хочу C:\lib\Example.dllУ кого-нибудь есть предложения?

1 Ответ

7 голосов
/ 02 июля 2011

Внутри файла .targets используйте это,

<Example Include="$(MSBuildThisFileDirectory)\Example.dll" />

... это зарезервированное свойство будет преобразовано в каталог, в котором находится файл .targets, а не в файл проекта, импортирующий файл .targets,по умолчанию для относительного разрешения пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...