Après avoir terminé l'application Web et l'avoir publiée en ligne, peu importe les tentatives que j'effectue, l'erreur continue à apparaître, sachez qu'elle fonctionne localement comme il se doit ...
Message d'erreur de l'analyseur: Impossible de charger le type 'webmarketing'.
J'ai parcouru cette solution, bien que je sois censé faire la même chose, mais je suis toujours confronté au même problème ...
Erreur d'analyse ASP.NET Impossible de charger le code derrière
Voici le code derrière:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace webmarketing
{
public partial class Masterpage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
string admin = (string)Session["Admin"];
if (string.IsNullOrEmpty(admin))
{
logout.Visible = false;
}
else
{
}
}
}
}
J'ai eu le même problème avant de changer CodeBehind à CodeFile et cela a fonctionné. Je me souviens que cela fonctionne en local, mais j'ai eu ce problème après le téléchargement.
Cela se produit normalement lorsque vous copiez des fichiers d'un projet d'application Web vers un projet de site Web.
Lorsque vous créez une application Web, la directive Page est CodeBehind pour les pages Web.
Si vous créez votre application en tant que site Web, la directive Page est alors CodeFile
Ainsi, si vous copiez depuis une application Web sur un site Web, l'espace de noms et la directive de page ne changeront pas automatiquement, vous devez le faire manuellement pour corriger cette erreur.
J'ai eu ce message d'erreur. Le problème était que mes fichiers .cs et aspx n’étaient pas ajoutés au projet. Ils étaient dans le dossier, mais n'ont pas été ajoutés. Je l'ai résolu en les ajoutant au projet (clic droit, Ajouter). Et ensuite, après avoir construit le projet, il a été compilé dans une DLL dans le dossier bin. Il n'était pas nécessaire de changer le texte de CodeBehind en CodeFile.
en ce qui concerne les héritages, il doit refléter l’espace de nom complet avec le nom de classe tel que x.y.webmarketing
, et non le nom de classe ou le nom de fichier. pour l'envelopper, il devrait ressembler à ci-dessous
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage.Master.cs" Inherits="Lync_Billing.ui.MasterPage" %>
ce que j’ai fait pour résoudre mon problème en donnant le même message a été d’aller dans IIS et de vérifier s’il est configuré en tant qu’application ou simplement en tant que répertoire virtuel. L'icône de l'application n'était qu'une icône de dossier. Alors j'ai fait un clic droit dessus et Gérer le répertoire virtuel> Paramètres avancés> convertir en application a changé l'icône du répertoire virtuel en une icône terre verte. Bien entendu, l’application ciblait le framework 4.5, elle a donc changé le pool d’applications en pool 4.0, qui existait auparavant. Cela a résolu le problème pour moi.
Mais certaines choses que je n'ai pas dites, 1. Je l'exécute localement sur IIS 6.1. 2. J'accède avec des informations d'identification de domaine et non avec une authentification «pass through». J'espère que cela t'aides
Si votre application fonctionne au niveau local, mais échoue lors du déploiement sur le serveur, ce problème est probablement lié à vos paramètres IIS .
Pour résoudre ce problème, assurez-vous que la propriété «Activer l'application 32 bits» du pool d'applications cible dans IIS est définie sur «VRAI» .
Je pense que vous trouvez que le problème est que vous devez mettre à jour les fichiers du dossier BIN . Lorsque vous exécutez l’application, elle recompile également les fichiers du dossier BIN. Copiez-les sur le site Web et cela devrait résoudre le problème, cela a été fait pour moi. Cela est particulièrement vrai si vous créez une nouvelle page qui n'était pas déjà là, ce qui était mon cas.
J'utilise "Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version 1.0.8. Lors de la reconstruction, il y avait un avertissement sur l'impossibilité de copier des fichiers dans bin\roslyn
. J'ai donc arrêté IISExpress, supprimé le dossier bin
et reconstruit le projet. Il n'y a pas eu d'avertissement de construction et l'application a bien fonctionné.
À l’aide de VS2015, j’ai coché la case "Supprimer tous les fichiers existants avant la publication" sous Options de publication de fichier dans le menu contextuel "Publier sur le Web" et le problème a disparu.
Aucune des réponses mentionnées n'a fonctionné pour moi.
Mon erreur était la même mais j'ai commis l'erreur et publié la version Debug et non la version. Assurez-vous donc qu'avant de publier votre projet, basculez vers la version, le nettoyage et la reconstruction de la solution et de la génération!
Si vous faites face à cette erreur après l'hébergement de votre site Web sur le serveur, assurez-vous de créer le répertoire. Et/ou allez sur Serveur d'hébergement -> Gestionnaire de site -> Point de départ de l'application, sélectionnez le chemin ou dossier approprié de votre dossier publié téléchargé.
Cela résoudra le même problème, j'espère que cela vous aidera également.
Si vous rencontrez ce problème lors du débogage de votre Visual Studio s'exécutant sur un système d'exploitation 64 bits et que votre application est une version 32 bits, définissez votre gestionnaire de configuration sur x86 (32 bits). Cela correspond à la réponse précédente à l'ensemble IIS d'activer l'application 32 bits sur 64 bits.
Pour moi, je reconstruis les projets individuels, puis la solution complète… .. Cela a fonctionné pour moi. Construire simplement la solution risque de ne pas fonctionner… .. Je pense que lorsque vous "nettoyez" les solutions qui résoudront le problème.