Visual Studio 2015

di il
49 risposte

49 Risposte - Pagina 2

  • Re: Visual Studio 2015

    08/03/2023 - oregon ha scritto:


    Ascolta Vale … ho in produzione da più di una decina d'anni una mia applicazione C++ MFC in campo industriale.

    In tanti forum, per decine d'anni ho contribuito a fornire indicazioni a centinaia di utenti su come risolvere problemi C/C++ native e ho tante volte criticato la versione C++.NET (anche C++/CLI) di Microsoft in quanto la ritengo un obbrobrio. Quindi penso di sapere di cosa si parla.

    Adesso, che tu arrivi, scrivi un thread molto confuso e mi dica che ti contraddico “senza cognizione di causa” e di “imparare qualcosa” meriterebbe solo una risposta che, se scrivessi adesso, sarebbe causa di ban.

    Buona festa della donna.

    Allora se mi sono espressa male bastava chiedere e non iniziare a dire che avevo scritto mingh*ate..con “senza congnizione di causa” intendevo che voi non siete qui con me a programmare quindi è inutile fare i malfidati e credere che abbia fatto un'altra cosa

  • Re: Visual Studio 2015

    08/03/2023 - Alka ha scritto:


    08/03/2023 - vale88 ha scritto:


    Allora..visto che sono stata contraddetta più volte ,senza cognizione di causa

    “Senza cognizione di causa” non direi proprio, visto che le persone a cui ti riferisci sanno perfettamente sia cos'è un'applicazione MFC, sia cos'è un app .NET.

    08/03/2023 - vale88 ha scritto:


    ho rifatto il progetto ex novo utilizzando visual studio 2022 per avvalorare la mia tesi

    Finora, per avvalorare la tua tesi, hai creato progetti a caso, in due versioni di Visual Studio differenti, tentando di migrare da una versione più nuova a una più vecchia un progetto nel quale hai cercato di selezionare un framework sebbene quel progetto non possa fare uso di quel framework.

    08/03/2023 - vale88 ha scritto:


    io , e non intendo più ripeterlo, ho scelto “APP MFC” e poi ho aggiunto una libreria c#

    Di nuovo, temo che dovrai ripeterti, in quanto dai maggior rilievo all'arroganza che all'uso corretto dei termini tecnici: cosa vuol dire “ho aggiunto una libreria C#”? Aggiunto dove? E in che modo?

    Per esemplificare,
    1) hai aggiunto un progetto C# alla Solution che già conteneva il progetto dell'app MFC, quindi affiancandola a quest'ultimo?
    oppure
    2) hai aggiunto la libreria C# come riferimento effettivo (o dipendenza) del progetto dell'app MFC?

    Oppure hai fatto entrambe le cose?

    La domanda non è scontata in quanto se l'alternativa è la 1), non ci vedo niente di strano: un conto è aggiungere dei progetti a una soluzione, un conto è utilizzare l'uno nel contesto (nel codice) dell'altro.

    08/03/2023 - vale88 ha scritto:


    potreste provare anche voi e imparare qualcosa invece di contraddire chi ha già provato ed è riuscito

    Se hai provato e l'intento è riuscito, tanto che stai spiegando la cosa a noi che dovremmo imparare, allora che senso hanno le due discussioni che hai aperto?

    Avevi un problema da risolvere, o sbaglio? Scrivi per chiedere aiuto, o per farci formazione?

    Invece di inalberarti perché si continua a dire qualcosa o chiedere dettagli che non fornisci, prova a concentrarti sulla domanda e a rispondere nel merito, invece di rispondere fuori dalle righe e con toni alti.

    infatti la mia domanda era un'altra…il progetto in visual studio 2022 funziona perfettamente..avevo dei problemi con visual studio 2015..ma penso a questo punto che dovrò sbrigarmela da sola

  • Re: Visual Studio 2015

    08/03/2023 - migliorabile ha scritto:


    Suvvia, “diversamente ziovini” ;-) 

    Non ha senso ‘indispettirsi’! 

    La Donzella ha usato termini in modo non corretto, va bene, ci può stare.

    Sta' a noi, che abbiamo lustri di esperienza, capire che cosa sta' combinando.

    @vale88 anche dal canto tuo non devi ‘indispettirti’ : non vediamo quello che stai facendo, quindi e' possibile (anzi certo) che hai fatto ‘qualcosa’ che non ci hai indicato mettendoci nella condizione di immaginare un ‘contesto’ che non e' il tuo.

    Quando capitano queste cose, nel 99.999% dei casi e' un banale problema di ‘comunicazione’, risolvibile parlando ;-) (o in questo caso, scrivendo)

    Nota: ho provato, ma non trovo nessun template ‘App MFC’. Guardero' meglio, magari c'e' qualcosa da installare.

    Ma VS2022 QUANTO spazio disco gli serve.? 

    Sono arrivato a 20GB! Vabbe che ho 6.5TB, ma per la pupattola! ;-) 

    ma io ero tranquillissima ma subito si è iniziato con la polemica..come se non sapessi cosa avessi fatto..mi sembra un po' arrogante come atteggiamento..comunque..se installi visual studio 2022 c'è l'opzione “APP MFC”

  • Re: Visual Studio 2015

    08/03/2023 - Alka ha scritto:


    08/03/2023 - vale88 ha scritto:


    Allora..visto che sono stata contraddetta più volte ,senza cognizione di causa

    “Senza cognizione di causa” non direi proprio, visto che le persone a cui ti riferisci sanno perfettamente sia cos'è un'applicazione MFC, sia cos'è un app .NET.

    08/03/2023 - vale88 ha scritto:


    ho rifatto il progetto ex novo utilizzando visual studio 2022 per avvalorare la mia tesi

    Finora, per avvalorare la tua tesi, hai creato progetti a caso, in due versioni di Visual Studio differenti, tentando di migrare da una versione più nuova a una più vecchia un progetto nel quale hai cercato di selezionare un framework sebbene quel progetto non possa fare uso di quel framework.

    08/03/2023 - vale88 ha scritto:


    io , e non intendo più ripeterlo, ho scelto “APP MFC” e poi ho aggiunto una libreria c#

    Di nuovo, temo che dovrai ripeterti, in quanto dai maggior rilievo all'arroganza che all'uso corretto dei termini tecnici: cosa vuol dire “ho aggiunto una libreria C#”? Aggiunto dove? E in che modo?

    Per esemplificare,
    1) hai aggiunto un progetto C# alla Solution che già conteneva il progetto dell'app MFC, quindi affiancandola a quest'ultimo?
    oppure
    2) hai aggiunto la libreria C# come riferimento effettivo (o dipendenza) del progetto dell'app MFC?

    Oppure hai fatto entrambe le cose?

    La domanda non è scontata in quanto se l'alternativa è la 1), non ci vedo niente di strano: un conto è aggiungere dei progetti a una soluzione, un conto è utilizzare l'uno nel contesto (nel codice) dell'altro.

    08/03/2023 - vale88 ha scritto:


    potreste provare anche voi e imparare qualcosa invece di contraddire chi ha già provato ed è riuscito

    Se hai provato e l'intento è riuscito, tanto che stai spiegando la cosa a noi che dovremmo imparare, allora che senso hanno le due discussioni che hai aperto?

    Avevi un problema da risolvere, o sbaglio? Scrivi per chiedere aiuto, o per farci formazione?

    Invece di inalberarti perché si continua a dire qualcosa o chiedere dettagli che non fornisci, prova a concentrarti sulla domanda e a rispondere nel merito, invece di rispondere fuori dalle righe e con toni alti.

    Sì ma ho iniziato io ad assumere atteggiamenti arroganti? penso che la pazienza abbia un limite..se mi sono espressa male bastava chiedere spiegazioni e non arrivare alla conclusione che io non sapessi nemmeno che cosa avessi fatto

  • Re: Visual Studio 2015

    @vale88, sfortunatamente devo confermare quanto hanno detto i miei illustri predecessori: 

    QUANDO hai creato un'applicazione “MFC App” hai creato un'applicazione in C++ NATIVO, NON in C++.NET.

    Una “VS solution” e' composta da PIU' moduli, ed ogni modulo puo' essere scritto in un linguaggio di programmazione differente.

    Quindi tu puoi anche aggiungere una libreria .NET, o creare un modulo .NET, magari anche scritto in C++.NET

    MA

    i due non si possono parlano direttamente. E' impossibile. Sono “due mondi” incompatibili.

  • Re: Visual Studio 2015

    08/03/2023 - migliorabile ha scritto:


    @vale88, sfortunatamente devo confermare quanto hanno detto i miei illustri predecessori: 

    QUANDO hai creato un'applicazione “MFC App” hai creato un'applicazione in C++ NATIVO, NON in C++.NET.

    Una “VS solution” e' composta da PIU' moduli, ed ogni modulo puo' essere scritto in un linguaggio di programmazione differente.

    Quindi tu puoi anche aggiungere una libreria .NET, o creare un modulo .NET, magari anche scritto in C++.NET

    MA

    i due non si possono parlano direttamente. E' impossibile. Sono “due mondi” incompatibili.

    Nel senso che ciò quindi è possibile in VS 2022 e non in VS 2015? non ho quindi nessuna possibilità di risolvere? :-(

  • Re: Visual Studio 2015

    Sentite, questo è un forum dove ci si da una mano a risolvere problemi e dove si discute in armonia e cordialità. Non è un luogo per i battibecchi, per quelli hanno inventato i social.

    Invito tutti a postare commenti sereni, diversamente chiuderò la discussione.

  • Re: Visual Studio 2015

    08/03/2023 - vale88 ha scritto:


    infatti la mia domanda era un'altra…il progetto in visual studio 2022 funziona perfettamente..avevo dei problemi con visual studio 2015..ma penso a questo punto che dovrò sbrigarmela da sola

    Ho risposto al tuo messaggio ponendoti domande mirate per capire cosa hai fatto, visto che sono stato accusato di arroganza e riluttanza all'imparare, ma ovviamente non mi hai risposto.

    Evidentemente, lo sbrigartela da sola non è una cosa che “devi” fare, ma una cosa che vuoi fare.

    Per quanto mi riguarda, visto il tempo già perso inutilmente e l'ingratitudine ricevuta, non ho problemi ad accontentarti: mi asterrò ben volentieri da questo momento in poi dall'intervenire in questa e altre discussioni che aprirai in futuro.

    Buona fortuna e buon lavoro.

  • Re: Visual Studio 2015

    08/03/2023 - Alka ha scritto:


    08/03/2023 - vale88 ha scritto:


    infatti la mia domanda era un'altra…il progetto in visual studio 2022 funziona perfettamente..avevo dei problemi con visual studio 2015..ma penso a questo punto che dovrò sbrigarmela da sola

    Ho risposto al tuo messaggio ponendoti domande mirate per capire cosa hai fatto, visto che sono stato accusato di arroganza e riluttanza all'imparare, ma ovviamente non mi hai risposto.

    Evidentemente, lo sbrigartela da sola non è una cosa che “devi” fare, ma una cosa che vuoi fare.

    Per quanto mi riguarda, visto il tempo già perso inutilmente e l'ingratitudine ricevuta, non ho problemi ad accontentarti: mi asterrò ben volentieri da questo momento in poi dall'intervenire in questa e altre discussioni che aprirai in futuro.

    Buona fortuna e buon lavoro.

    mi riferivo a oregon

  • Re: Visual Studio 2015

    mi riferivo a oregon

    Ottima la precisazione.

    Ovviamente sono d'accordo con Alka e aggiungo solo, sbrigatela da sola.

  • Re: Visual Studio 2015

    08/03/2023 - vale88 ha scritto:


    mi riferivo a oregon

    Sì, ma hai quotato il mio messaggio. Rimane comunque il punto della questione.

    08/03/2023 - vale88 ha scritto:


    Nel senso che ciò quindi è possibile in VS 2022 e non in VS 2015? non ho quindi nessuna possibilità di risolvere? :-(

    Se si parla di aggiungere i progetti alla Solution, sia in VS2022 che in VS2015 puoi inserire progetti “misti” che usino linguaggi e piattaforme differenti, come App MFC e librerie C#.

    Se si parla di referenziare la libreria C# dall'App MFC, o viceversa, questo non si può fare né in VS2015 né in VS2022.

    L'applicazione e la libreria si basano su framework differenti e sono “internamente” diverse, non compatibili, né in una versione di Visual Studio precedente né in una nuova, a quanto mi risulta.

    MFC è una tecnologia che non ha nulla a che vedere con il .NET Framework (di qualsiasi versione), quindi progetti basati sull'uno o sull'altro possono stare nella stessa Solution, ma non possono parlare tra di loro (salvo l'uso di strumenti e canali specifici).

    Questo vale sia per VS2015 sia per VS2022.

    Se in VS2015 non riesci ad aprire un progetto, qualora si tratti del progetto MFC potrebbe mancare qualche “workload” (il pacchetto di VS installato per poter gestire questo progetto), qualora si tratti di un progetto .NET probabilmente il framework o il progetto è troppo nuovo (se migrato da 2022) per essere aperto in una versione precedente, poiché ciascuna versione di VS nuova è retrocompatibile, ma non vale l'inverso.

    Più chiaro di così direi che non si può essere. Se ci sono dubbi o riscontri diversi, posta dettagli o screenshot per chiarire (e non rimbrotti).

  • Re: Visual Studio 2015

    08/03/2023 - Alka ha scritto:


    08/03/2023 - vale88 ha scritto:


    mi riferivo a oregon

    Sì, ma hai quotato il mio messaggio. Rimane comunque il punto della questione.

    08/03/2023 - vale88 ha scritto:


    Nel senso che ciò quindi è possibile in VS 2022 e non in VS 2015? non ho quindi nessuna possibilità di risolvere? :-(

    Se si parla di aggiungere i progetti alla Solution, sia in VS2022 che in VS2015 puoi inserire progetti “misti” che usino linguaggi e piattaforme differenti, come App MFC e librerie C#.

    Se si parla di referenziare la libreria C# dall'App MFC, o viceversa, questo non si può fare né in VS2015 né in VS2022.

    L'applicazione e la libreria si basano su framework differenti e sono “internamente” diverse, non compatibili, né in una versione di Visual Studio precedente né in una nuova, a quanto mi risulta.

    MFC è una tecnologia che non ha nulla a che vedere con il .NET Framework (di qualsiasi versione), quindi progetti basati sull'uno o sull'altro possono stare nella stessa Solution, ma non possono parlare tra di loro (salvo l'uso di strumenti e canali specifici).

    Questo vale sia per VS2015 sia per VS2022.

    Se in VS2015 non riesci ad aprire un progetto, qualora si tratti del progetto MFC potrebbe mancare qualche “workload” (il pacchetto di VS installato per poter gestire questo progetto), qualora si tratti di un progetto .NET probabilmente il framework o il progetto è troppo nuovo (se migrato da 2022) per essere aperto in una versione precedente, poiché ciascuna versione di VS nuova è retrocompatibile, ma non vale l'inverso.

    Più chiaro di così direi che non si può essere. Se ci sono dubbi o riscontri diversi, posta dettagli o screenshot per chiarire (e non rimbrotti).

    Allora adesso spiego bene cosa ho fatto per essere più chiara con tutti i passaggi:

    1) ho utilizzato visual studio 2022 scegliendo l'opzione “APP MFC”

    2) ho creato una libreria c# che ho aggiunto ai riferimenti del progetto in c++, l'ho inoltre aggiunto alle dipendenze di compilazione del progetto c++;

    3) ho aggiunto la dll della libreria c# alla cartella contenete l'esegubile del progetto in c++

    4)nel progetto c++ ho richiamato la libreria così : #using “CSharpLib.dll”

    5) nella dialog del progetto c++ ho scrtto questo pezzo di codice per richiamare la libreria c#:

    void CMFCwithCSharpDlg::OnBnClickedBtnAdd()
    {
        CSharp::CSharpMath^ mathClass = gcnew CSharp::CSharpMath();
        int result = mathClass->Add(2, 6);
    
        char buf[200];
        sprintf_s(buf, "result: %d", result);
        MessageBoxA(GetSafeHwnd(), buf, "Message", MB_OK);
    }

    tutto ciò ho visto che non posso farlo con vs 2015, però stavo vedendo che potrei utilizzare clr empty project..avete qualche consiglio da darmi? grazie

  • Re: Visual Studio 2015

    Forse sfugge il piccolo particolare di avere usato lo switch /clr per il codice misto, cosa fattibile anche col 2015

  • Re: Visual Studio 2015

    @vale88, il codice che hai postato risolve al 99% la questione:

    void CMFCwithCSharpDlg::OnBnClickedBtnAdd()
    {
        CSharp::CSharpMath^ mathClass = gcnew CSharp::CSharpMath();
        int result = mathClass->Add(2, 6);
    
        char buf[200];
        sprintf_s(buf, "result: %d", result);
        MessageBoxA(GetSafeHwnd(), buf, "Message", MB_OK);
    }

    CSharp::CSharpMath^ mathClass = gcnew CSharp::CSharpMath();

    Questa e' sintassi C++.NET  NON  C++ nativo

    inoltre ti importi CSharpLib. DLL che e' Assembly C#.

    Anche se ha estensione DLL, NON E' una libreria che puoi usare con il C++ nativo! 

    Tu avrai ANCHE creato un'applicazione APP MFC, ma in pratica strai sviluppando in C++.NET.

    E si ritorna alla considerazione precedente, che una “soluzione” puo' contenere moduli scritti in linguaggi di programmazione diversi.

    C++.NET e' una “”variante"" del C++ standard ISO, modificata da Microsoft per poter essere usata con il framework .NET.

    Una delle caratteristiche e' che C++.NET SUPPORTA nativamente il Garbage Collector, cosa che il C++ non fa (a meno di non utilizzare una libreria esterna).

    Quindi, fondamentalmente, ha fatto “un gran pasticcio” ;-)

    (Ma quando fai il “gran pasticcio” a quanti strati lo fai???? ;-))

    E' anche ragionevole: in entrambi i casi si usano le DLL, la sintassi e' simile. 

    Se uno non e' ‘avvezzo’ ai pasti vi che fa Microsoft, e' facile confondersi

    Consiglio:

    SE vuoi sviluppare in C++, SVILUPPA in C++ nativo, NON C++.NET.

    SE vuoi sviluppare in .NET, USA C#, linguaggio di riferimento per questa piattaforma.

    La CONSIDERAZIONE da tenere presente e':  I DUE MONDI (mondo “nativo” e .NET) NON SI POSSONO PARLARE !

    Per essere piu' precisi, si possono anche parlare MA bisogna applicare tecniche di programmazione DECISAMENTE complicate.
    Lo si fa 1 volta su un milione.

  • Re: Visual Studio 2015

    08/03/2023 - migliorabile ha scritto:


    @vale88, il codice che hai postato risolve al 99% la questione:

    void CMFCwithCSharpDlg::OnBnClickedBtnAdd()
    {
        CSharp::CSharpMath^ mathClass = gcnew CSharp::CSharpMath();
        int result = mathClass->Add(2, 6);
    
        char buf[200];
        sprintf_s(buf, "result: %d", result);
        MessageBoxA(GetSafeHwnd(), buf, "Message", MB_OK);
    }

    CSharp::CSharpMath^ mathClass = gcnew CSharp::CSharpMath();

    Questa e' sintassi C++.NET  NON  C++ nativo

    inoltre ti importi CSharpLib. DLL che e' Assembly C#.

    Anche se ha estensione DLL, NON E' una libreria che puoi usare con il C++ nativo! 

    Tu avrai ANCHE creato un'applicazione APP MFC, ma in pratica strai sviluppando in C++.NET.

    E si ritorna alla considerazione precedente, che una “soluzione” puo' contenere moduli scritti in linguaggi di programmazione diversi.

    C++.NET e' una “”variante"" del C++ standard ISO, modificata da Microsoft per poter essere usata con il framework .NET.

    Una delle caratteristiche e' che C++.NET SUPPORTA nativamente il Garbage Collector, cosa che il C++ non fa (a meno di non utilizzare una libreria esterna).

    Quindi, fondamentalmente, ha fatto “un gran pasticcio” ;-)

    (Ma quando fai il “gran pasticcio” a quanti strati lo fai???? ;-))

    E' anche ragionevole: in entrambi i casi si usano le DLL, la sintassi e' simile. 

    Se uno non e' ‘avvezzo’ ai pasti vi che fa Microsoft, e' facile confondersi

    Consiglio:

    SE vuoi sviluppare in C++, SVILUPPA in C++ nativo, NON C++.NET.

    SE vuoi sviluppare in .NET, USA C#, linguaggio di riferimento per questa piattaforma.

    La CONSIDERAZIONE da tenere presente e':  I DUE MONDI (mondo “nativo” e .NET) NON SI POSSONO PARLARE !

    Per essere piu' precisi, si possono anche parlare MA bisogna applicare tecniche di programmazione DECISAMENTE complicate.
    Lo si fa 1 volta su un milione.

    però la mia domanda è questa..con visual studio 2022 mi è andata bene collegare c++ e c#..con visual studio 2015 potrei fare una cosa simile utilizzando un empty project clr e non mfc?

Devi accedere o registrarti per scrivere nel forum
49 risposte