Есть ли какая-либо переменная или свойство, которое я мог бы использовать в команде msbuild для получения всех ссылок на проект из .csproj?MSBuild, как получить все ссылки на проекты из .csproj
NSwag.exe webapi2swagger /assembly:@(GimmeAllReferencies?) /controller:Namespace.MyController /output:SwaggerFiles/MyControllerSwagger.json
EDIT: Извините за мои неточности. У меня есть проект A, который имеет ссылки на проект B, C, D. Мне нужно знать, где DLL для этого проекта использовать их в моей задаче после сборки. Вот что у меня есть на данный момент:
<Target Name="AfterBuild">
<MSBuild Projects="@(ProjectReference)" Targets="Build" BuildInParallel="true">
<Output TaskParameter="TargetOutputs" ItemName="OutputAssemblies" />
</MSBuild>
<Exec Command="$(SolutionDir)Packages\NSwag.4.0.0\NSwag.exe webapi2swagger /assembly:@(OutputAssemblies,','),$(TargetPath) /controller:Controller1 /output:Swagger1.json" />
<Exec Command="$(SolutionDir)Packages\NSwag.4.0.0\NSwag.exe webapi2swagger /assembly:@(OutputAssemblies,','),$(TargetPath) /controller:Controller2 /output:Swagger2.json" />
<Exec Command="$(SolutionDir)Packages\NSwag.4.0.0\NSwag.exe webapi2swagger /assembly:@(OutputAssemblies,','),$(TargetPath) /controller:Conotrller3 /output:Swagger3.json" /></Target>
(@ (ProjectReference) собрать все ссылки на проекты (B, C, D) в проекте А.)
($ (TargetPath) является путь к dll с проектом A)
Мой вопрос: будет ли это решение строить эти dll снова или он пропустит процесс сборки, потому что они уже были построены?
Вы также должны добавить команду MSBuild (например EXEC) и состояния, что библиотеки должны быть включены ... –
Если вы имеете в виду вы хотите получить содержимое отображаемой группы элементов «Reference», то это так же просто, как добавление цели, которая выполняет «<Текст сообщения =» @ (Ссылка) »/>' – stijn