msbuildコマンドで.csprojからすべてのプロジェクト参照を取得するための変数またはプロパティがありますか?MSBuild、.csprojからすべてのプロジェクト参照を取得する方法
NSwag.exe webapi2swagger /assembly:@(GimmeAllReferencies?) /controller:Namespace.MyController /output:SwaggerFiles/MyControllerSwagger.json
編集: 私の不正確さのために申し訳ありません。私はプロジェクトB、C、Dへのプロジェクト参照を持つプロジェクトAを持っています。私が知る必要があるのは、このプロジェクトの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を集める)プロジェクトAに)
($(TargetPathが)はへのパスですプロジェクトAのDLL)
私の質問は:このソリューションはこれらのDLLをもう一度ビルドするのか、ビルドプロセスをスキップするのですか?
あなたも含まれるべきかのdllのMSBuildコマンド(例えばEXEC)や状態を追加する必要があります... –
あなたが意味する場合'Reference' ItemGroupの内容を表示したいのですが、' 'を実行するターゲットを追加するのと同じくらい簡単です。 –
stijn