0

カスタム MSBuild スクリプトを使用して WCf プロジェクトをビルドしようとしています。

私が持っているPropertyGroupで

 <DeployServicesRoot>$(MSBuildProjectDirectory)\$(Configuration)\Services</DeployServicesRoot>
 <IntermediateRoot>$(DeployServicesRoot)\obj</IntermediateRoot>
 <DevelopmentSymbols>DEVELOPMENT;DEBUG</DevelopmentSymbols>

アイテムグループで

<Solution Include="..\..\src\WCFProj\WCFProj.csproj" />
<DeployFiles Include="$(DeployServicesRoot)\**\*.*" />
<IntermediateFiles Include="$(IntermediateRoot)\**\*.*" />

および MSBuild タスク:

<MSBuild Projects="@(Solution)" Properties="DefineConstants=$(DevelopmentSymbols);OutputPath=$(DeployServicesRoot)\bin\;BaseIntermediateOutputPath=$(IntermediateRoot)\Services\;DeployOnBuild=true;DeployTarget=Package"/>

問題は、展開されたパッケージが bin ではなく obj サブディレクトリにあることです。ビンには *.dll ファイルのみがあり、WCF *.svc と変換された web.config はありません。MSBuild タスクに出力パッケージ パスを設定するために使用できる追加のパラメーターはありますか? コピー タスクでできることはわかっていますが、他の (もっと簡単な) 解決策はありますか?

4

1 に答える 1

0

MSBuild プロパティで、DeployTarget の後に _PackageTempDir=$(DeployServicesRoot)" を追加する必要がありました。

于 2012-11-14T08:18:59.320 に答える