MSBuild,如何从.csproj获取所有项目引用
在msbuild命令中是否有任何变量或属性可用于从.csproj获取所有项目引用MSBuild,如何从.csproj获取所有项目引用,msbuild,msbuild-task,nswag,Msbuild,Msbuild Task,Nswag,在msbuild命令中是否有任何变量或属性可用于从.csproj获取所有项目引用 NSwag.exe webapi2swagger /assembly:@(GimmeAllReferencies?) /controller:Namespace.MyController /output:SwaggerFiles/MyControllerSwagger.json 编辑: 对不起,我的不精确。我有一个项目A,其中有对项目B、C、D的项目引用。我需要知道的是这个项目的DLL在哪里,以便在我的后构建任务
NSwag.exe webapi2swagger /assembly:@(GimmeAllReferencies?) /controller:Namespace.MyController /output:SwaggerFiles/MyControllerSwagger.json
编辑:
对不起,我的不精确。我有一个项目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>
(@(项目参考)收集项目A中的所有项目参考(B、C、D)
($(TargetPath)是指向带有项目A的dll的路径)
我的问题是:这个解决方案是会再次构建这些dll,还是会跳过构建过程,因为它们已经构建好了 根据我在代码中使用的问题Targets=“GetTargetPath”
如何实际检查此生成操作是否不再执行?对于当前版本,您可以在程序集路径中定义通配符,如:
../**/bin/$(Configuration)/*.dll
您还应该添加msbuild命令(例如exec)并说明应该包括哪些DLL…如果您的意思是希望显示
引用
项组的内容,那么只需添加一个目标即可