msbuild を使用して Web デプロイ用のパッケージを作成しようとすると、プロジェクト dll のみが含まれます。パッケージの zip ファイルまたは一時ディレクトリに、参照されているプロジェクトの dll が含まれていません。
私はこの投稿を見てきましたが、それは私の問題ではありません。私は間違いなく、展開パッケージを作成しているメイン プロジェクトの参照プロジェクトのコードを使用しています。
MSBUILD 4 を使用してパッケージを作成しています。
まったく同じプロジェクト ファイルを使用して VS2010 を使用してパッケージを作成すると、正常に動作します。参照されているすべてのプロジェクトの dll は、package.zip ファイルに含まれています。
_PackageTempDir の場所を変更しようとしましたが、それでも問題は解決しませんでした。
ExcludeFilesFromDeployment プロパティを取り出し、PackageAsSingleFile 設定を false に設定して、結果が変わるかどうかを確認しました。
これが私のパッケージのターゲットです。すべての正規表現は、検索パスの末尾からプロジェクト ファイル名を取得し、その名前を出力フォルダーの名前と zip ファイルの名前に使用できるようにするためのものです。PackageOutputDir は、インポートするプロパティです。
<Target Name="Package">
<MSBuild Projects="@(PackageProject)" Targets="Package" Properties="Platform=$(Platform);
Configuration=$(Configuration);
DeployOnBuild=true;
DeployTarget=Package;
PackageLocation=$(PackageOutputDir)\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2])\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2]).zip;
PackageAsSingleFile=true;
ExcludeFilesFromDeployment=Web.config;
_PackageTempDir=$(PackageOutputDir)\temp;">
</MSBuild>
</Target>
参照されているプロジェクトの dll が含まれていない理由について何か考えはありますか?