Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: [C#] .NET Framework

  1. #1

    [C#] .NET Framework

    buongiorno a tutti...

    mi chiedevo come funzionasse di preciso il .net framework per ovviare ad alcuni problemi che sono sopraggiunti.
    Io ho progettato un'applicazione in C#, e l'ho testata su alcuni computer, vale a dire che ho trasportato su queste macchine l'eseguibile .exe che ho trovato nella cartella Bin\debug, e ho lanciato solo questo file.
    Sul mio computer l'eseguibile funziona perfettamente. Sul computer di un mio amico, l'esecuzione non è neppure iniziata perchè "il componente non è stato inizializzato correttamente", mentre sulla macchina di un'altro mio amico ancora, il programma era funzionante parzialmente, vale a dire che il programma ha proseguito correttamente la sua durata, le connessioni e le varie cose che avevo inserito sembravano funzionare tutte correttamente, tranne la textBox principale, dove tramite un metodo Append() aggiungevo delle stringhe, le quali non venivano visualizzate correttamente, poichè all'ultimo carattere di ogni linea veniva aggiunto un "carattere nn codificato" ( così li chiamo io anche se nn so precisamente cosa sono), comunque un carattere con la classica forma del rettangolino.

    Dalle prove fatte ho dedotto che l'eseguibile .exe non viene eseguito dalle cpu e dai vari sistemi operativi (vista, vista, xp) in modo sempre uguale.
    Se la mia deduziona è giusta, credo di ricordare, se nn sbaglio, che i linguaggi dell'ambiente .net framework, vengono compilati in un linguaggio comprensibile al .net Framework, e sarà poi compito del .net framework interpretatre ( o meglio ricompilare) questo linguaggio nel linguaggio macchina adattando le istruzioni alla cpu e al sistema risiedente sulla macchina in questione.

    Cosa posso dunque fare per ovviare questi problemi? devo per forza generare un wizard installer con visual studio e poi installare il mio programma sulle macchine di cui ho bisogno?
    Siccome questo metodo non è il più adatto per il mio problema ( vorrei rendere il mio eseguibile portabile sulle varie macchine anche senza setup), esistono altri metodi? cosa mi consigliate? cosa nn ho capito, o secondo voi nn mi è chiaro?

    Grazie!
    Programmazione .NET
    http://www.samueletosatto.tk

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Assolutamente non è colpa del framework..

    Intanto bisognerebbe controllare la versione del framework in compilazione del progetto e quella nei vari pc.. compilando con un framework "successivo" a quello dei pc possono verificarsi problemi..

    Il caso della textbox può essere dovuto alla codifica usata dal tuo programma e quella del pc.. magari sono differenti..

    Nel primo caso sembra un messaggio di assenza del framework o di un componente essenziale di esso..

    Conta che io faccio funzionare i miei programmi compilati con il framework 2.0 su 15 macchine del tutto differenti e pure sul mio linux di casa con mono senza nessun problema..

  3. #3
    ma trasporti i programmi già compilati su quelle macchine o li compili su di esse, perchè penso che la cosa sia differente..
    eppure, come dici te, C# come tutti i prodotti che sfruttano .net framework dovrebbero essere altamente portabili.
    E riguardo invece il problema della textBox, è molto strano, perchè nn ho usato assolutamente caratteri speciali... la cosa è molto strana, perchè credo che almeno per i caratteri ascii xp e vista nn siano così differenti.. non ci dovrebbero essere differenze di questo tipo no?
    Programmazione .NET
    http://www.samueletosatto.tk

  4. #4
    e poi scusa, dimenticavo di chiederti...
    ma se io trasporto l'eseguibile... che c'entra il .net framework?
    in tutto questo di preciso che funzione ha il .net framework? è solo l'insieme di librerie?
    Oppure svolge anche una funzione di compilatore per compilare da un linguaggio intermedio?
    Ho sempre sentito parlare di linguaggio intermedio ma nn ho mai capito bene che c'entra..
    Programmazione .NET
    http://www.samueletosatto.tk

  5. #5
    Originariamente inviato da tossam
    ma trasporti i programmi già compilati su quelle macchine o li compili su di esse, perchè penso che la cosa sia differente..
    Credo che lui, come tutti, trasporti semplicemente i programmi già compilati.
    E riguardo invece il problema della textBox, è molto strano, perchè nn ho usato assolutamente caratteri speciali... la cosa è molto strana, perchè credo che almeno per i caratteri ascii xp e vista nn siano così differenti.. non ci dovrebbero essere differenze di questo tipo no?
    Mostra il codice con cui aggiungi le righe.
    ma se io trasporto l'eseguibile... che c'entra il .net framework?
    in tutto questo di preciso che funzione ha il .net framework? è solo l'insieme di librerie?
    Oppure svolge anche una funzione di compilatore per compilare da un linguaggio intermedio?
    È l'una e l'altra cosa; parte del .NET Framework (la CLR) è composta dalle librerie usate dalle applicazioni .NET, mentre un'altra parte si occupa di JIT-compilare gli eseguibili .NET, che di loro non sono realmente compilati ma piuttosto pseudo-compilati in un linguaggio intermedio (MSIL).
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    quali componenti e/o riferimenti a dll ci sono nella tua applicazione?
    Saluti a tutti
    Riccardo

  7. #7
    Ah dunque dite che io non devo trasportare un file .EXE, ma bensì un .NET? E dove caspio lo trovo io il file .NET? (scusate l'ignoranza ma ho iniziato solo da poco più di un mese a lavorare con questo ambiente...)...
    comunque posto il codice per la riga, ma vi assicuro che è un normalissimo append:

    chatTxt.AppendText("Client: " + mex.Text + '\n');

    mex è un'altra casella di testo...
    e le scritte presenti in chat.Txt finivano tutte con un carattere non codificato tipo... nn so spiegarmi, e nn so dove pescarlo.. ma il solito rettangolino bianco, nn so se avete presente
    dai speriamo di risolvere..

    ah e tanto per curiosità.. windows xp e windows vista hanno già preinstallato il .NET Framework?

    grazie
    Programmazione .NET
    http://www.samueletosatto.tk

  8. #8
    Ah e dimenticavo una cosa... non ho riferimenti esterni.. uso solo librerie del .net framework.
    Se vi interessa proprio il tipo di librerie che uso tra quelle contenute nel system
    utilizzo quelle relative alla grafica (form ecc) e poi soket e net per l'utilizzo del protocollo tcp ip...

    ciaooo!
    Programmazione .NET
    http://www.samueletosatto.tk

  9. #9
    Originariamente inviato da tossam
    Ah dunque dite che io non devo trasportare un file .EXE, ma bensì un .NET? E dove caspio lo trovo io il file .NET? (scusate l'ignoranza ma ho iniziato solo da poco più di un mese a lavorare con questo ambiente...)...
    I file .exe generati dai compilatori .NET sono eseguibili .NET; non devi cambiare niente.
    comunque posto il codice per la riga, ma vi assicuro che è un normalissimo append:

    chatTxt.AppendText("Client: " + mex.Text + '\n');

    mex è un'altra casella di testo...

    e le scritte presenti in chat.Txt finivano tutte con un carattere non codificato tipo... nn so spiegarmi, e nn so dove pescarlo.. ma il solito rettangolino bianco, nn so se avete presente
    dai speriamo di risolvere..
    Cambia in
    codice:
    chatTxt.AppendText("Client: " + mex.Text + Environment.NewLine);
    .
    ah e tanto per curiosità.. windows xp e windows vista hanno già preinstallato il .NET Framework?
    Windows XP mi pare di no, mentre Vista credo proprio di sì.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134

    tossam scusa se mi intrometto

    ma mi sembra (o forse non ho letto bene le risposte) che nessuno ti abbia detto esplicitamente che per far girare un programma scritto e compilato in .NET, sia esso in C# o VB.NET, sulla macchina deve essere presente appunto il .NET Framework... consideralo come la Java Virtual Machine... insomma nei pc dove devi eseguire il tuo programma deve essere presente il .Net Framework installato (la versione cn cui tu hai compilato)... cmq su Vista, ad esempio, dovrebbe funzionare xkè il framework è già incorporato (così mi risulta e così ho verificato in prima persona su alcuni pc)....
    cmq puoi scaricare il ".Net Redistributable package" dal sito microsoft... è una versione che consente di eseguire i programmi scritti in .Net... una sorta di runtime (nn contiene l'SDK qndi)....
    saluti...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.