Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 30
  1. #11
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    30
    prima qualche precisazione:
    la cartella 'bin' devi crearla dentro

    c:\inetpub\wwwroot\mioSito

    scusa per prima :quipy:

    riprova ad eseguire la pagina; immagino che l'url sia
    http://localhost/mioSito/myCustomerPage.aspx

  2. #12
    allora la root del sito è questa:

    C:\Inetpub\wwwroot\giusti

    la directori della cartella bin è:

    C:\Inetpub\wwwroot\giusti\bin

    all'interno della bin si trova Customers.dll, risultato della compilazione di Customers.cs di cui il codice:

    Codice PHP:
    namespace CustomerPhoneBook {
        
    using System;

        
    /// <summary>
        /// Summary description for subscriber.
        /// </summary>

        
    public struct subscriber {
            public 
    long CustomerID;
            public 
    String FirstName;
            public 
    String MiddleName;
            public 
    String LastName;
            public 
    Decimal Balance;
        }

    ho bisogno di richiamare la class da un file default.aspx che si trova in questa cartella:

    C:\Inetpub\wwwroot\giusti\admin

    in testa a questo file inserisco la seguente:

    <%@ Import Namespace="CustomerPhoneBook" %>

    quando provo a far girare la pagina il msg di errore è:

    --------------------------------------------------------------
    Messaggio di errore del compilatore: CS0246: Impossibile trovare il tipo o il nome dello spazio dei nomi 'CustomerPhoneBook'. Probabilmente manca una direttiva using o un riferimento a un assembly
    --------------------------------------------------------------



    comunque, ammesso (ma non concesso) che riesca a farlo funzionare... non c'è un modo per rendere accessibili le mie classi a tutto il server, senza doverle replicare per ogni sito?

    intanto ti offro questa:
    Lupo
    ----

  3. #13
    ok... funziona

    Adesso però rimane l'altra domanda...
    posso evitare di replicare le dll per ogni sito e farle "riconoscere" all'intero server web?
    Sarebbe veramente bellissimo!!!!
    Lupo
    ----

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    30
    grazie della birra eh :gren:

    L'unico modo che conosco per rendere una dll visibile da tutti e' creare una dll pubblica (un shared assembly) e copiarla dentro la GAC (Global Assembly Cache), che e' in 'C:\WINDOWS\assembly', solo che ora non ricordo quali sono i parametri da passare al compilatore... devi creare una chiave pubblica, con un comando 'sn', poi modificare l'AssemblyInfo.cs, poi usare un tool che si chiama 'gacutil'...

    Speriamo che qualche esperto intervenga
    ciao,
    rob

  5. #15
    spero anch'io....
    comunque già quello che ho ottenuto adesso è molto!!!!!

    Sono troppo contento!!

    Adesso, uno per uno, devo re-ingegnerizzare tutti i siti (oltre a sistemare tutte le librerie che per adesso solo file aspx e nulla più). Ma il risultato sarà sicuramente eccezionale!

    Ogni tanto farò un up di questo post per vedere se c'è il modo di creare dll visibili "a livello server".

    Ti ringrazio di nuovo!

    alla birra aggiungo

    Lupo
    ----

  6. #16
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Mi è venuta fame....
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  7. #17
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    30
    mmmmm... proprio buona, e proprio all'ora di pranzo
    mi sa che stanotte, per cena, parliamo dei shared assembly :gren:

    Ciao,
    rob

  8. #18
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    30

    creare un shared assembly

    stavo rivedendo alcune cose...
    dentro la cartella
    'C:\Programmi\Microsoft Visual Studio .NET\FrameworkSDK\Bin'

    dovresti avere un file che si chiama 'sn.exe' (sta per Strong Name)

    esegui il comando
    "sn -k myStrongName.snk"

    che ti crea appunto un file myStrongName.snk;

    Dentro la tua classe, dopo gli 'using', scrivi:

    [assembly: AssemblyKeyFile("percorso_di_myStrongName.snk")]

    e ricompila il tutto. Hai appena creato un shared assembly

    L'ultima cosa da fare e' trascinare la dll creata dentro la GAC, cioe' nella cartella 'C:\WINDOWS\assembly', in modo da renderla pubblica.

    A questo punto sara' visibile ovunque.
    Solo che non so come fare se non hai il file 'sn.exe'...

    Tu che tool stai usando?

    ciao,
    rob

  9. #19
    sono quasi al blocco notes
    ... comunque il file che dici ce l'ho nella cartella...

    C:\Programmi\Microsoft.NET\FrameworkSDK\Bin

    dovrebbe esser lui...
    la soluzione si avvicina...

    ti ribecco al volo e ti chiedo:

    ho compilato con successo alcune "librerie" :gren: :gren:
    adesso però ho un problema (per cambiare).

    dunque ho compilato il file pippo1.cs (è un esempio eh)..

    namespace mylib.pippo1 {
    bal bla bla
    }

    adesso devo compilare il file pippo2.cs che, però, ha bisogno delle classi definite in pippo1.

    ho provato questo:

    using mylib.pippo1;
    namespace mylib.pippo2 {
    bla bla bla
    }

    mi restituisce un errore di compilazione dicendo che è impossibile trovare lo spazio dei nomi pippo1.

    come faccio a farglielo vedere?
    Lupo
    ----

  10. #20
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    30
    mah, io quando voglio annidare i namespace uso questa notazione:

    namespace1{
    namespace2{
    }
    }

    e poi li dichiaro con:
    using namespace1.namespace2

    prova...

    ciao,
    rob

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.