web-dev-qa-db-fra.com

Erreur d'analyse lorsque vous déployez une application ASP.NET

J'ai terminé un projet d'application Web asp.net simple, je l'ai compilé et j'ai essayé de tester sur IIS local. J'ai créé un répertoire virtuel, mappé avec un répertoire physique, puis mis tous les fichiers nécessaires, y compris le dossier bin contenant tous les fichiers .dll Dans les paramètres du projet, section de construction, le chemin de sortie est bin\ Alors, quand j'essaie pour parcourir mon application, j'ai:

Server Error in '/' Application.
--------------------------------------------------------------------------------

Parser Error 
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 

Parser Error Message: Could not load type 'AmeriaTestTask.Default'.

Source Error: 


Line 1:  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AmeriaTestTask.Default" %>
Line 2:  
Line 3:  <%@ Register Assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="ajaxToolkit" %>


Source File: /virtual/default.aspx    Line: 1 

enter image description here

J'ai lu des problèmes similaires et la solution consistait à définir le chemin de sortie sur bin \, mais c'est par défaut pour mon projet.

12
igorGIS

J'ai résolu le problème ... La solution consiste à ne pas créer manuellement le répertoire virtuel, puis à copier les fichiers d'application ici, mais à utiliser l'option "Ajouter une application ..." ... .. Voici un message qui m'a aidé http: //social.msdn.Microsoft.com/Forums/en-US/winformssetup/thread/7ad2acb0-42ca-4ee8-9161-681689b60dda/

2
igorGIS

Je sais que je suis trop tard pour répondre, mais cela pourrait aider les autres et gagner du temps.

Après pourrait être d'autres solutions.

Solution 1: Voir Création d'un répertoire virtuel pour votre application pour des instructions détaillées sur la création d'un répertoire virtuel pour votre application.

Solution 2: Le dossier Bin de votre application est manquant ou le fichier DLL de l'application est manquant. Voir Copie de vos fichiers d'application sur un serveur de production pour des instructions détaillées.

Solution 3: Vous avez peut-être déployé dans le dossier racine Web, mais vous n'avez pas modifié certains paramètres du fichier Web.config. Voir Déploiement sur la racine Web pour des instructions détaillées.

Dans mon cas, Solution 2 fonctionne, lors du déploiement sur le serveur, un répertoire DLL's à partir de bin n'a pas été téléchargé avec succès sur le serveur. J'ai ré-uploader tous les DLL à nouveau et ça marche !!

Voici le lien de référence vers résoudre l'erreur asp.net parser .

34
Mayank Modi

J'ai eu le même problème .. Ran 5 ou 6 heures de recherches .. La solution simple semble fonctionner .. Je viens de convertir mon dossier en application à partir d'IIS .. Cela a bien fonctionné. (c'était un scénario où j'avais migré de serveur 2003 vers serveur 2008 R2)

(1) Ouvrez IIS et sélectionnez le site Web et le dossier approprié à convertir. Faites un clic droit et sélectionnez convertir en application. C’est ici .. http://www.windowstechinfo.com/2014/09/solved-an-errorroccocc-during.html

5
Aravinda

Parfois cela arrive si vous soit:

  1. Solution propre/construire ou,
  2. Reconstruire la solution/construire.

Si cela se produit «soudainement» après cela et que votre code a des erreurs build - time, essayez de réparer ces erreurs en premier. 

En effet, lors de la construction de votre solution, les fichiers DLL sont créés et stockés dans le dossier bin du projet. S'il y a une erreur dans votre code pendant la construction, les fichiers DLL ne sont pas créés correctement, ce qui entraîne une erreur.

Une solution rapide serait de corriger toutes vos erreurs ou de les commenter (si elles n'affectent pas les autres pages Web), puis de reconstruire le projet/la solution.

Si cela ne fonctionne pas, essayez de changer: CodeBehind = "blahblahblah.aspx.cs" 

to: CodeFile = "blahblahblah.aspx.cs"

Remarque: remplacez "blahblahblah" par le nom réel des pages.

4

Je l'ai résolu de cette façon.

Allez dans votre fichier de projet, disons projet/nom/bin et supprimez tout ce qui se trouve dans le dossier bin. (cela vous donnera alors une autre erreur que vous pouvez résoudre de cette façon)

ensuite, dans votre Visual Studio, cliquez avec le bouton droit de la souris sur le dossier Références du projet pour ouvrir NuGet Package Manager.

Allez à parcourir et installer "DotNetCompilerPlatform".

2
Mo D Genesis

Essayez de changer CodeBehind="Default.aspx.cs" en CodeFile="Default.aspx.cs"

2
Codeone

Face à la même erreur quand j'ai eu une erreur de programmation dans l'un des fichiers ASHX: il a été créé en copiant un autre fichier et a hérité de son nom de classe dans l'instruction code behind. Aucune erreur ne s'est produite lorsque tous les fichiers ASPX et ASHX ont été exécutés dans IIS Express localement, mais une fois déployés sur le serveur, ils ont cessé de fonctionner (tous).

Une fois que j'ai trouvé cette page ASHX et corrigé le nom de la classe afin de refléter son propre nom de classe, tous les fichiers ASPX et ASHX ont commencé à fonctionner correctement dans IIS.

1
ajeh

Version IIS 7 ou IIS 8 ou 8.5 - si vous effectuez une migration de 2003 à 2012/2008, assurez-vous que le service Web est dans le type d'application à la place du répertoire virtuel 

0
Chandrashekar Gowda

Dans mon cas, j'ai raté la balise de compilation dans le fichier .csproj

<Compile Include="Global.asax.cs">
  <DependentUpon>Global.asax</DependentUpon>
  <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Compile>
0
David

Dans mon cas, il y avait une nouvelle branche de code et une ancienne branche de code était déployée localement dans IIS. Donc, il désignait un ancien code de succursale non disponible. J'avais donc déployé mon code sur IIS avec une nouvelle branche et cela fonctionne maintenant.

0
Jeetendra