3

Nous semblent avoir un problème lors de l'exécution de notre projet de déploiement en ce que lors de la compilation, il semble manquer nos pages principales de la sortie.pages Master manquantes à partir du Web Déploiement sortie projet

Est-il possible de « forcer » le projet d'inclure .master fichiers, soit par la modification du fichier .wdproj, ou par une autre méthode?

Aussi, j'ai lu sur le projet MSBuildTasks community, et ai suivi certains des sample documentation mais cela ne semble pas fonctionner. Le projet n'exclut pas les fichiers que je sélectionne et ne semble pas non plus compresser. Est-ce que quelqu'un d'autre a essayé cette extension qui peut fournir des commentaires/des conseils?

Un grand merci à l'avance

Mise à jour:

Je fixe en créant un ItemGroup et faire une copie.

<ItemGroup> 
    <MasterFiles Include="$(SolutionDir)\MVC\Views\Shared\Templates\**\*.master" /> 
</ItemGroup> 

<Target Name="AfterBuild"> 
    <Copy SourceFiles="@(MasterFiles)" DestinationFiles="$(OutputPath)\Views\Shared\Templates\%(RecursiveDir)%(Filename)%(Extension)" /> 
</Target> 

Répondre

2

Un problème que je l'ai remarqué avec le déploiement Web projets est qu'il suppose que votre application Web a déjà été construit. Vous devez donc le construire avant d'appeler le fichier .wdproj lui-même. Je ne suis pas sûr si c'est votre problème si. A propos des fichiers exclus, vous devrez ouvrir le fichier .wdproj, qui est juste un fichier MSBuild. Pour exclure des fichiers, ajoutez-les à l'élément ExcludeFromBuild. Par exemple, pour vous assurer que votre fichier de projet ne sont pas inclus INTHE déploiement, vous devez ajouter une déclaration comme:

<ItemGroup> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)*.csproj"/> 
    <!-- Below excludes svn folders --> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)**\.svn\**\*"/> 
</ItemGroup> 

Sayed Ibrahim Hashimi

Mon livre: Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build

+1

Sayed, Merci pour votre réponse. J'ai trouvé l'indicateur ExcludeFromBuild, mais cela semble copier tout notre projet web, les répertoires svn et tout le reste, et ensuite travailler dessus. Avant, il fallait juste tout compiler et générer une poignée de répertoires. –

+0

Salut, je viens d'éditer l'exemple pour montrer comment exclure les dossiers .svn. BTW J'ai pris ces directement de mon livre, il y a presque un chapitre entier sur les projets de déploiement Web là. –

-1

Êtes-vous à l'aide d'un « projet de déploiement web » - le cas échéant, vous pouvez inclure « Sortie primaire » ET « Fichiers de contenu » ou spécifiquement inclure le fichier .master.

+0

Merci pour votre réponse! J'utilise Web Deployment Project, oui. Comment puis-je définir ces drapeaux? Et cette fonctionnalité me permet-elle également d'exclure des fichiers/répertoires? –

+0

Lorsque vous créez le projet de déploiement Web pour la première fois, vous cliquez normalement sur le projet de déploiement avec le bouton droit de la souris et sélectionnez "Ajouter une sortie de projet" - choisissez le projet et sélectionnez "Sortie principale" et "Fichiers de contenu". – Fenton

+0

Sohnee, il n'y avait pas d'option pour cela, j'ai peur. –

0

Je fixe en créant un Itemgroup et faire une copie.

<ItemGroup> 
    <MasterFiles Include="$(SolutionDir)\MVC\Views\Shared\Templates\**\*.master" /> 
</ItemGroup> 

<Target Name="AfterBuild"> 
    <Copy SourceFiles="@(MasterFiles)" DestinationFiles="$(OutputPath)\Views\Shared\Templates\%(RecursiveDir)%(Filename)%(Extension)" /> 
</Target> 

Un grand merci

Questions connexes