2 votes

Impossible de référencer Regex dans la méthode d'extension de chaîne de caractères

J'ai rencontré un problème très étrange : J'ai créé une méthode d'extension pour les chaînes de caractères comme ceci :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Vaniv.Mvc
{
    public static class StringHelpers
    {
        public static string ToSeoUrl(this string url)
        {
            // make the url lowercase
            string encodedUrl = (url ?? "").ToLower();
            System.Text.RegularExpressions.Regex rgx = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9 -]");
            encodedUrl = rgx.Replace(encodedUrl, "-");

            return encodedUrl;
        }
    }
}

Et le problème est que pendant l'exécution, je reçois une erreur : CS0246 : Le nom de type ou d'espace de nom 'Regex' n'a pas pu être trouvé (il manque une directive using ou une référence d'assemblage).

Je ne manque pas d'utiliser la directive. Je ne manque pas non plus d'Assemblée (je peux utiliser Regex avec le contrôleur par exemple). J'ai placé ma méthode d'extension dans App_Code, mais je doute qu'elle ait une quelconque connexion,

3voto

Homam Points 8664

Déplacez le fichier cs dans un autre répertoire (hors du dossier App_Code) et placez-le à la racine du projet.

Vérifiez cet article

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X