2

Projet de déploiement Web de Visual Studio 2008 Création d'une erreur ASPPARSEErreur de génération d'équipe de projet de déploiement Web

Je semble avoir un problème commun; celui qui se présente mais n'a pas de solution claire.

J'ai une structure de projet Visual Studio 2008 qui contient plusieurs projets qui sont des bibliothèques de classes, un projet d'application Web et un projet de déploiement Web récemment ajouté. J'ai entendu parler de ce problème avec les configurations MVC. De plus, les solutions que j'ai vues supposent que MVC est utilisé.

J'ai vérifié que la construction fonctionne correctement à partir de l'IDE. Je n'ai pas modifié les paramètres par défaut du projet de déploiement Web à l'exception du nom de l'assembly qu'il produit à la suite de la fusion d'assembly unique.

J'ai défini ma solution pour créer le projet de déploiement Web uniquement lorsque la solution est conçue pour «Release». J'ai un script de construction personnalisé qui saisit cette branche de code et une branche de développement de code. Le script de génération génère correctement la version finale de ce code et la version de débogage de la branche de développement.

Le problème survient lors de la création de la version finale. Tous les projets se construisent avec succès à l'exception du projet de déploiement Web. TFS Créer des erreurs lors de la construction de ce projet avec l'erreur suivante:

/xx.csproj/global.asax(1): error ASPPARSE: Could not load type 'xxx.xx.Global'. 

Le xx.csproj est le projet d'application web et le « xxx.xx.Global » est le code global.asax derrière classe. D'après mes lectures, il semble qu'il y ait un problème de copie avec TFS Build. J'ai lu plusieurs réponses ici concernant MVC. Ce n'est pas une configuration MVC, mais je crois que c'est un problème similaire. Je ne suis pas sûr où un code de copie devrait aller. J'ai essayé de placer du code suggéré dans ma cible AfterBuild dans le fichier TFSBuild.proj mais le code trouvé n'a pas changé cette erreur.

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
     Other similar extension points exist, see Microsoft.WebDeployment.targets. 
    <Target Name="BeforeBuild"> 
    </Target> 
    <Target Name="BeforeMerge"> 
    </Target> 
    <Target Name="AfterMerge"> 
    </Target> 
    <Target Name="AfterBuild"> 
    </Target> 
    --> 

Le code ci-dessus apparaît dans le fichier de projet mis en commentaire. Je pense que la cible 'BeforeMerge' me permettrait de copier les binaires nécessaires. Je ne sais pas écrire un script pour le faire. J'ai consulté quelques livres TFS mais aucun d'eux ne contient d'informations sur les projets de déploiement Web. (À mon grand regret, il semble que je ne trouve pas non plus beaucoup d'informations de Microsoft sur cette question). Voyant que je n'ai vu que des solutions qui référencent les solutions MVC, je devrais dire que j'ai regardé faire des choses dans la cible AfterBuild. Le script de construction ci-dessus provient directement de deploy_csproj où je l'ai essayé dans le script TSBuild. Y a-t-il une différence à essayer de copier des binaires dans l'un ou l'autre emplacement?

Quelqu'un peut-il expliquer ce qui se passe? Dois-je écrire des scripts de construction individuels pour chaque projet afin qu'ils copient leurs binaires dans le bon répertoire pour l'exécution de la fusion?

Répondre

Questions connexes