Avatar billede jkampmann Nybegynder
08. april 2008 - 09:42 Der er 15 kommentarer og
1 løsning

The type or namespace name 'Linq' does not exist in the namespac

Hej, hvordan kan den være den kommer med denne fejlmeddelse:
The type or namespace name 'Linq' does not exist in the namespace 'System'

I følgende kode:

string FileName = Request.Files[0].FileName;
        string Directory = "App_Uploads";
        string Extension = FileName.Substring(FileName.LastIndexOf('.') + 1).ToLower();
        string[] allowed = { "gif", "jpg", "jpeg", "bmp", "png" };
        int CryptLength = 15;
        FormsAuthenticationTicket p = new FormsAuthenticationTicket(FileName, false, 10);
        string c = FormsAuthentication.Encrypt(p).Substring(0, CryptLength);
        int maxKB = 500;
        int kbSize = Request.Files[0].ContentLength / 1024;

        if (kbSize > maxKB)
        {
            r.Text = "Filen fylder for meget. Den fylder " +
                Convert.ToString(kbSize) + " KB. Den må højest fylde 500 KB.";
            return;
        }

        if (allowed.Contains(Extension))
        {
            Request.Files[0].SaveAs(Request.PhysicalApplicationPath + Directory + "/" + c + "." + Extension);
            r.Text = FileName + " er gemt";
        }

        else
        {
            r.Text = Extension + " er ikke en tilladt tiltype. De gyldige er: gif, jpg, bmp og png.";
        }
Avatar billede jkampmann Nybegynder
08. april 2008 - 10:01 #1
Jeg bruger så følgende usings:

using System;
using System.IO;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Security.Cryptography;
Avatar billede sherlock Nybegynder
08. april 2008 - 10:31 #2
Avatar billede jkampmann Nybegynder
08. april 2008 - 10:35 #3
Hmm - og hvordan includer jeg "System.Core.dll"?
Avatar billede sherlock Nybegynder
08. april 2008 - 10:58 #4
Jeg sidder ikke ved min VS, men prøv "Add reference" i projektets "References". Det bør være på et af fanebladene.
Avatar billede nielle Nybegynder
08. april 2008 - 18:31 #5
Din kode bruger slet ik´ke LINQ ... så hvad med bare at udkommentere de to using?
Avatar billede nielle Nybegynder
08. april 2008 - 18:32 #6
Ok, det gør den jo faktisk ... glem min kommentar. :^|
Avatar billede sherlock Nybegynder
08. april 2008 - 20:25 #7
Højreklik på References i din Solution Explorer
Vælg Add reference
På .Net-tab vælder du System.Core og OK
Avatar billede arne_v Ekspert
09. april 2008 - 02:29 #8
Men koden kunne vel nemt omskrives til ikke at bruge LINQ ...
Avatar billede jkampmann Nybegynder
09. april 2008 - 09:58 #9
Jeg har prøvet at tilføjet referencer, det funker stadig ikke - kommer med samme fejlmeddelser.

Arne_v - Ja, det korrekt, men problemet ligger i, at jeg er ny i asp.net, og de artikler jeg har læst ang. upload, fylder 80 gange så meget som den simple kode dér.
Avatar billede arne_v Ekspert
10. april 2008 - 04:50 #10
Men er LINQ ikke kun brugt til Contains ?

Og som relativt nemt må kunne erstattes af Array.IndexOf ?
Avatar billede nielle Nybegynder
10. april 2008 - 06:51 #11
> Men er LINQ ikke kun brugt til Contains ?

Jo, jeg kan i hvert fald ikke se andre steder. Det må nemt kunner omgås.

@jkampmann> Det er vel under alle omstændigheder et spørgsmål om webhotellet, hvor det skal køres på, overhovedet kører .NET 3.5 endnu. Hvis det ikke gør det, så vil du alligevel ikke kunne bruge LINQ i denne sammenhæng.
Avatar billede jkampmann Nybegynder
10. april 2008 - 17:17 #12
Jeg kører 3.5xxxx :-)
Har prøve IndexOf, det er - hvad jeg ka' huske - kun muligt til strenge og ikke arrays ?
Avatar billede jkampmann Nybegynder
10. april 2008 - 17:30 #13
Har fixet det - problemet var jeg havde smidt koden i page_load og ikke ved button_click, hehe :-)

kast svar, og sikke en dum efjl
Avatar billede arne_v Ekspert
11. april 2008 - 02:10 #14
Det er Array.IndexOf ikke String.IndexOf !

Eksempel:

using System;
using System.Linq;

namespace E
{
    public class Program
    {
        public static void Main(string[] args)
        {
            string[] allowed = { "gif", "jpg", "jpeg", "bmp", "png" };
            Console.WriteLine(allowed.Contains("bmp"));
            Console.WriteLine(allowed.Contains("foo"));
            Console.WriteLine(Array.IndexOf(allowed, "bmp")>0);
            Console.WriteLine(Array.IndexOf(allowed, "foo")>0);
            Console.WriteLine(Array.Exists(allowed, (string s) => s == "bmp"));
            Console.WriteLine(Array.Exists(allowed, (string s) => s == "foo"));
        }
    }
}
Avatar billede jkampmann Nybegynder
29. april 2008 - 10:24 #15
Smid svar hvis i vil have, fandt selv en løsning
Avatar billede jkampmann Nybegynder
08. maj 2008 - 00:35 #16
Lukketid
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester