Lorsque j'essaie de créer un paquet pour le déploiement web en utilisant msbuild, il inclut seulement la dll du projet. Le fichier zip du paquet ou le répertoire temporaire n'inclut pas les dll du projet référencé.
J'ai regardé ce poste et ce n'est pas mon problème. J'utilise bien le code des projets référencés dans mon projet principal pour lequel je crée le paquet de déploiement.
J'utilise MSBUILD 4 pour créer le paquet.
Lorsque je crée le paquet en utilisant VS2010 en utilisant exactement le même fichier de projet, cela fonctionne bien. Tous les projets référencés ont leurs dlls incluses dans le fichier package.zip.
J'ai essayé de changer l'emplacement du _PackageTempDir et cela n'a pas résolu le problème non plus.
J'ai essayé de supprimer la propriété ExcludeFilesFromDeployment et de définir le paramètre PackageAsSingleFile sur false pour voir si cela changeait les résultats.
Voici mon objectif pour le paquet. L'expression rationnelle me permet d'extraire le nom du fichier de mon projet à la fin d'un chemin de recherche et d'utiliser ce nom pour le nom du dossier de sortie et le nom du fichier zip. Le PackageOutputDir est une propriété que j'importe.
<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>
Une idée sur la raison pour laquelle il n'inclut pas les dlls de mon projet référencé ?