3.835 messaggi dal 28 gennaio 2003
Salute.
Usando visual studio 2017, framework 4.6, ho creato una applicazione web di prova.

Se creo una directory, ad esempio chiamata Codice, questa direttiva funziona:
Imports o = Oracle.DataAccess.Client

naturalmente ho creato il riferimento alla libreria oracle

se cambio il nome della directory in App_Code, tutto il codice di li dentro non va più

ps. sto tentando di abbandonare vs2010 per vs2017, ma se mi blocco già da adesso la vedo dura.

un aiuto per favore?

ciao

Pietro
10.966 messaggi dal 09 febbraio 2002
Contributi
Ciao Pietro,


ho creato una applicazione web di prova.

Ok, quindi non hai la necessità di creare la cartella App_Code, che è una cartella speciale in cui andava messo il codice per i siti web.
Tuttavia, anche se usi la cartella App_Code in una web application non ci sono problemi: le classi che definirai lì dentro verranno comunque "riconosciute" dal resto dell'applicazione.

Se questo non succede, è perché il file non viene compilato. Dal solution explorer, vai nelle proprietà del file .vb e verifica che l'azione di compilazione sia "Compilazione" anziché "Nessuno".

Se stai migrando un vecchio sito web, convertilo in applicazione web come vedi qui al minuto 3:20.
https://www.youtube.com/watch?v=szYq59KeiLI

Oppure continua a trattarlo come sito web facendo File -> Open -> Website.

ciao,
Moreno
Modificato da BrightSoul il 07 aprile 2018 09.24 -

Enjoy learning and just keep making
3.835 messaggi dal 28 gennaio 2003
Ciao.

La mia idea era di creare una applicazione web semplice del tipo "Ciao Mondo!".
Ora, vs mi permette di creare una directory o una directory asp.net.
E qui il problema: che differenza c'è (in una applicazione web, non in un sito web vecchia maniera) tra una directory "normale" e una Asp.Net?

Perchè una classe messa in App_Code non viene riconosciuta dalla altre pagine?
Perchè una libreria Oracle non gestita, non viene riconosciuta?
E perchè infine, se cambio il nome a questa directory, per esempio AppCode, tutto funziona?


ps. ho notato che vs2017 non crea più siti web ma applicazioni web. E io mi chiedo quali siano i motivi sostanziali per preferire applicazioni web a siti web. ???


comunque, ti ringrazio della risposta. Ciao.

Pietro
10.966 messaggi dal 09 febbraio 2002
Contributi
Ora, vs mi permette di creare una directory o una directory asp.net.

Aggiungi una directory "normale" e dalle il nome che vuoi tu. Metti le classi in quella directory. Puoi anche creare più di una directory per organizzare al meglio il tuo codice. Se hai creato un'applicazione ASP.NET MVC, vedrai che il codice è già organizzato in varie directory. I controller sono nella directory "Controllers", le entità e i viewModel sono nella directory "Models" e il codice di configurazione dell'applicazione nella directory "App_Start".


che differenza c'è (in una applicazione web, non in un sito web vecchia maniera) tra una directory "normale" e una Asp.Net?

Le directory ASP.NET sono directory speciali in cui mettere determinati tipi di contenuto. Ad esempio "App_GlobalResources" è pensata per contenere i file di risorsa delle localizzazioni, nel caso tu stia realizzando un'applicazione multilingua. Se ne parla un po' in questo articolo.
http://www.aspitalia.com/articoli/asp.net/internazionalizzazione-applicazioni-aspnet-mvc.aspx#title_1
Le directory "normali" invece sono pensate per contenere il tuo codice.

Perchè una classe messa in App_Code non viene riconosciuta dalla altre pagine?

Ripeto:
  • Non c'è motivo di chiamare una cartella "App_Code"
  • Vedo che per i progetti VB.NET, Visual Studio imposta "Nessuno" come modalità di compilazione dei file .vb che inserisci in App_Code. Perché succede questo? Non ne ho idea, in progetti C# non succede. Si risolve semplicemente riportando la modalità di compilazione del file su "Compile" o non usando affatto la directory App_Code. Puoi chiamarla "AppCode" ma perché creare una sola directory quando hai la libertà di crearne quante ne voi e dando loro nei nomi più esplicativi?



Perchè una libreria Oracle non gestita, non viene riconosciuta?

Spiega meglio cosa significa "non riconosciuta". Dato che esiste il provider managed, usa quello, così non devi installare manualmente altri requisiti sulla macchina.


ps. ho notato che vs2017 non crea più siti web ma applicazioni web. E io mi chiedo quali siano i motivi sostanziali per preferire applicazioni web a siti web. ???

Già discusso con te 3 anni fa:
http://forum.aspitalia.com/forum/post/407271/Progetto-Sito-Web-Progetto-Application-Form.aspx

ciao,
Moreno

Enjoy learning and just keep making
3.835 messaggi dal 28 gennaio 2003
davvero interessante, ti ringrazio (soprattutto per la pazienza)

ciao.

Pietro

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.