8 messaggi dal 19 luglio 2018
Buona Sera,
Premetto che sono alle primissime armi. Sto cercando di imparare la programmazione in c# con il pattern mcv, utilizzando VisualStudio come ambiente di sviluppo.
Di recente ho pubblicato un sito su un dominio acquistato on-line. Il sito girava, ma poiché il server non supportava entity framework ho dovuto modificare parte del codice,dovendo accedere al DB con il driver ODBC (Il data base è MySql e l'utilizzo del driver ODBC è dettato dal dominio che uso). Quando ho cancellato il vecchio sito e caricato il nuovo aggiornato, questo non ha più funzionato.
Mi stampa a video il seguente errore: Method not found: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object, System.Object)'.
Facendo una ricerca su internet ho visto che questo errore solitamente compare se si usa una versione del framework precedente alla 4.6
Effettivamente sul mio file web.config io ho queste due righe:

<compilation debug="true" targetFramework="4.0" />
<httpRuntime targetFramework="4.6.1" />

ho dovuto impostare il targetFramework del compilation così perchè se lo setto a 4.6.1 il server mi da errore. Volendo lo avrei potuto impostare su 4.5.2. Il mio problema però non è questo, ma il fatto che il primo sito (quello che utilizzava EntityFramewor) girava, il secondo no pur essendo il codice molto simile (ho modificato solamente le procedure di accesso al DB il resto rimane uguale comprese le due righe del Web.config). Se ricarico il vecchio sito l'errore non me lo da. Entrambe le soluzioni sono funzionanti in localhost.
Qualcuno mi sa dare delucidazioni al riguardo?
Spero di essere stato chiaro.
Grazie mille!
11.068 messaggi dal 09 febbraio 2002
Contributi
Ciao Emanuele e benvenuto nel forum. Abbi pazienza ma hai fornito troppe informazioni tutte insieme e non ho capito nulla.

Per cortesia rispondi a queste domande:
  • Al momento devi usare quale hosting provider? Aruba?
  • Sei in regime di hosting condiviso o hai un server dedicato?
  • Quale versione del .NET Framework è installata nel server?
  • Se apri il sito in questo momento, che errore ti dà?


ciao,
Moreno
Modificato da BrightSoul il 19 luglio 2018 20.29 -

Enjoy learning and just keep making
8 messaggi dal 19 luglio 2018
Ciao Moreno, grazie per la risposta e per il benvenuto.
Ho comprato lo spazio su DominioFaidate che tramite mail mi ha assicurato che supporta la versione 4.6.1 del .NETFramework. Però come dicevo se sul web.config lascio la riga <compilation targetFramework="4.6.1" /> mi da errore.
In ogni caso allo stato attuale se apro il sito l'errore che mi stampa è il seguente:
Method not found: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object, System.Object)'.
[MissingMethodException: Method not found: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object, System.Object)'.]
Microsoft.ApplicationInsights.TelemetryClient.Initialize(ITelemetry telemetry) +0
Microsoft.ApplicationInsights.TelemetryClient.Track(ITelemetry telemetry) +51
Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.OnEndRequest(HttpContext context) +265
Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule.OnEndRequest(Object sender, EventArgs eventArgs) +158
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165

Ho visto tramite ricerca che solitamente il problema in questo caso è la versione del framework. Solo che il precedente sito che avevo caricato questo errore non me lo dava.
Ti ringrazio ancora
11.068 messaggi dal 09 febbraio 2002
Contributi
Ciao,


mi ha assicurato che supporta la versione 4.6.1

Ok, allora accertiamoci di questa cosa in modo che non ci siano più dubbi.
Proprio in fondo alla pagina di errore, quella con sfondi gialli, trovi la riga "Version Information". Per favore copia e incolla qui quella riga.

La pagina a cui mi riferisco è una simile a questa:
https://i.stack.imgur.com/5e2Nr.png
Vedi appunto che in fondo c'è "Version Information" che riporta la "Framework version" e la "ASP.NET version". Mi occorrono queste informazioni.

ciao,
Moreno
Modificato da BrightSoul il 20 luglio 2018 13.43 -

Enjoy learning and just keep making
8 messaggi dal 19 luglio 2018
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.36366

Penso sia questa la riga che intendevi. Comunque ci tengo a precisare il fatto che il primo sito che ho caricato funzionava. Ha smesso di funzionare quando l'ho cambiato. E l'ho cambiato perché DominioFaidate non supporta Entity Framework. Ci tengo a precisarlo perchè, se fosse stato un problema di versione, secondo il mio modesto parere, non avrebbe dovuto funzionare neanche il primo sito. Ancora adesso se cancello l'attuale sito e metto quello vecchio, la index viene caricata. Da errore solo se vengono fatte azioni sul DB.
Comunque il link al mio sito è http://www.piccoliprogetti.it
Nel caso in cui di potesse essere utile guardare l'errore.
11.068 messaggi dal 09 febbraio 2002
Contributi
Ok, il prossimo passo è chiamare l'assistenza di DominioFaidate e chiedere: "Come mai nel mio sito è in uso ASP.NET 4.0.30319.36366 quando invece mi avevate detto che la versione era la 4.6? Potete verificare e correggere il problema per piacere?"

Fammi sapere che rispondono.

ciao,
Moreno

Enjoy learning and just keep making
8 messaggi dal 19 luglio 2018
L'email che mi è stata mandata dall'assistenza:

Le confermo che il server supporta

.NET Framework 4
.NET Framework 4 Client Profile
.NET Framework 4.5
.NET Framework 4.5.1
.NET Framework 4.5.2
.NET Framework 4.6
.NET Framework 4.6.1

La versione 4 include tutte le versioni successive . Dunque anche se Lei legge 4.0, in realtà in essa è presnte la 4.6 . Il numero di versione 4 si riferisce al Common Language Runtime ( CLR ) .

Maggiori informazini :
https://docs.microsoft.com/it-it/dotnet/framework/migration-guide/versions-and-dependencies

Ciao,
Emanuele
11.068 messaggi dal 09 febbraio 2002
Contributi
Ciao Emanuele, ok.
Ricordati però che le versioni sono due, così come indicato al link che ti hanno inviato.
  • Versione del CLR Runtime (è corretto che sia la 4)
  • Versione del .NET Framework, che deve essere 4.6.1 come hanno dichiarato


Loro ti hanno scritto:

Dunque anche se Lei legge 4.0, in realtà in essa è presente la 4.6

Beh, è una risposta un po' frettolosa perché la versione 4.6 non è nascosta, ma viene fuori nel "Version Information" che ti ho fatto controllare a fondo pagina. Ad esempio, se io provo a lanciare un'applicazione web sul mio PC di sviluppo, ecco il Version Information che viene fuori:


Informazioni di versione: Versione di Microsoft .NET Framework:4.0.30319; Versione di ASP.NET:4.7.3056.0


Nel mio caso la versione è la 4.7.3056 e questa informazione è presa direttamente dalla specifica versione del .NET framework che ho installato sul mio PC ed è indipendente da cosa ho scritto nel web.config. Nel mio caso, il web.config riporta:
<compilation debug="true" targetFramework="4.5.2"/>
<httpRuntime targetFramework="4.5.2"/>


Ma nonostante la mia disposizione di rivolgermi alla versione 4.5.2, a fondo pagina appare comunque la 4.7 come è normale che sia. Rieccola di nuovo:

Informazioni di versione: Versione di Microsoft .NET Framework:4.0.30319; Versione di ASP.NET:4.7.3056.0


Qui c'è qualcosa che non torna. A me sembra che su quel server non sia installato il Framework 4.6.1 come sostengono. Se fosse installato, dovresti vedere correttamente la versione 4.6.1 come in questa immagine di esempio:
https://msdnshared.blob.core.windows.net/media/2017/10/image126.png

Comunque, prima di metterli in discussione farei questo semplice test (se puoi farlo). Fai un backup in locale di tutto il contenuto che hai caricato nella cartella FTP, puoi svuotala completamente così possiamo escludere qualsiasi tipo di interferenza. Lasciaci solo un file Default.aspx che ha solo questa riga di contenuto.
<% Throw New Exception("Errore") %>

A questo punto visita http://www.piccoliprogetti.it e vedi cosa dice il Version Information a fondo pagina. Se continua a darti 4.0 per entrambi le versioni, allora credo proprio che il 4.6 non sia installato su quello specifico server.

A quel punto io ti consiglio di insistere con l'assistenza e casomai mandagli il link a questa discussione per dargli maggiore completezza d'informazione.
Soprattutto spiega bene il fatto che nel Version Information sono riportate entrambe le versioni, non solo quella del CLR.

ciao,
Moreno
Modificato da BrightSoul il 21 luglio 2018 11.22 -

Enjoy learning and just keep making

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.