Compilateur Message d'Erreur: CS0103: Le nom de "BusinessLogic" n'existe pas dans le contexte actuel

Comme beaucoup de gens, j'ai obtenu CS0103 problème, mais je n'en ai pas trouvé une bonne solution sur les thèmes existants lorsque vous travaillez avec IIS7.5

La chose étrange est:

  • Le site est fonctionne bien sous IIS5.1 /XP (au moins, il n'y a pas ce problème)
  • Le site fonctionne bien sous IIS7.5 Express /XP (lors de l'exécution de Visual Studio 2010)
  • Le site est fonctionne bien sous IIS7.5 Express /W7 (lors de l'exécution de Visual Studio 2010)
  • Mais j'ai cette erreur lors de l'utilisation de IIS7.5 /W7

La classe impliquée dans cette erreur est dans BusinessLogicWrapper.cs, dans le dossier App_Code (qui icône est grise dans Visual Studio. Est-ce à dire qu'il n'est pas pris en compte? Ou c'est seulement parce que c'est un dossier spécial?).

J'ai essayé d'ajouter au début de SessionProcessing.ashx un include BusinessLogic; mais il n'a pas de travail: le compilateur juste s'arrêter à la 3e ligne, au lieu de les 30, disant qu'il ne sait pas ce qu'il a à comprendre...

Je vous remercie pour votre aide,


Plus d'informations:

  • Je suis en cours d'exécution une version Compilée du site
  • Au début il a été conçu pour IIS5.1

Partielle d'une solution de contournement a été de mettre le dossier bin de mon répertoire virtuel dans le répertoire racine.

Remarque que je n'ai pas de serveur "erreurs" (au moins pour le moment), mais que le site ne fonctionne toujours pas (je pense qu'il y a des problèmes avec chemin d'accès aux différents fichiers...).

Ce n'est pas une réponse définitive (à partir de moi-même à moi-même et les autres), mais peut-être qu'il pourrait donner des idées aux plus expérimentés!


L'erreur 500 indiqué par le site:

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS0103: The name 'BusinessLogic' does not exist in the current context

Source Error:


Line 28:                                 (context.Request.HttpMethod == "POST" && context.Request.Params["action"] == "DELETE"))
Line 29:                 {
Line 30:                     BusinessLogic.Wrapper.WRITE_TRACE(BusinessLogic.TraceLevel.MEDIUM, "SessionProcessing.ashx End session", "sid:" + sid);
Line 31:                     int res = BusinessLogic.Wrapper.removeSession(sid);
Line 32: 

Source File: c:\Users\blabla\PrecompiledWeb\Web2\SessionProcessing.ashx    Line: 30 

Le début de la SessionProcessing.ashx:

<%@ WebHandler Language="C#" Class="getsession" %>

using System;
using System.Web;
using System.Text;

public class getsession : IHttpHandler, System.Web.SessionState.IReadOnlySessionState
{

    public void ProcessRequest (HttpContext context) {
        context.Response.Clear();
        context.Response.TrySkipIisCustomErrors = true;

        String sid = context.Request.Params["sessionid"];

        try
        {
            if (sid != null)
            {
                //###############################################
                //###############################################
                if (context.Request.HttpMethod == "DELETE" ||
                                (context.Request.HttpMethod == "POST" && context.Request.Params["action"] == "DELETE"))
                {
                    BusinessLogic.Wrapper.WRITE_TRACE(BusinessLogic.TraceLevel.MEDIUM, "SessionProcessing.ashx End session", "sid:" + sid);
                    int res = BusinessLogic.Wrapper.removeSession(sid);

Et enfin l'image de l'arbre: http://i.stack.imgur.com/szbhA.png


App_Code/BusinessLogicWrapper.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.Runtime.InteropServices;

namespace BusinessLogic
{
    ///<summary>
    ///Summary description for BusinessLogicWrapper
    ///</summary>
    public class Wrapper
    {
        //Init
        [DllImport("BusinessLogicLib.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
        public static extern int init(string loginFilePath, string remoteServerName, string[] itemsConnection, int cItems);

web.config (En réalité, il y a 9 règles de réécriture)

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0"/>
    <httpCookies domain="localhost"/>
  </system.web>
  <system.webServer>
    <!-- add support for ogg files-->
    <staticContent>
      <mimeMap fileExtension=".oga" mimeType="audio/ogg"/>
      <mimeMap fileExtension=".spx" mimeType="audio/ogg"/>
      <!-- <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/> -->
    </staticContent>
    <!--Disable gzip compression (otherwise server pushed data is cut when arriving on the client) -->
    <urlCompression doStaticCompression="true" doDynamicCompression="false"/>
    <rewrite>
      <rules>
        <rule name="COW API session creation">
          <match url="^session$"/>
          <action type="Rewrite" url="SessionProcessing.ashx"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

OriginalL'auteur Pitouli | 2013-03-15