Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [vb2010] RectangleShape, XP e Framework 2.0

    Ho inserito in un form, trascinandoli dalla casella degli strumenti, alcuni RectangleShape. Come opzione di compilazione avanzata sono settate le Framework 2.0.

    Con Seven (cioè la partizione dove è installato VisualStudio e dove edito il programma) non c' è problema, ma se faccio girare il compilato sulla partizione con XP ottengo questo errore:

    codice:
    Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché questa finestra
    sono riportate in fondo al messaggio.
    
    ************** Testo dell'eccezione **************
    System.InvalidOperationException: Errore durante la creazione del form. Per informazioni dettagliate vedere Exception.InnerException. Errore: Impossibile caricare il file o l'assembly 'Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' o una delle relative dipendenze. Impossibile trovare il file specificato. ---> System.IO.FileNotFoundException: Impossibile caricare il file o l'assembly 'Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' o una delle relative dipendenze. Impossibile trovare il file specificato.
    Nome file: 'Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
       in MyProgram.frmOpzioni.InitializeComponent()
       in MyProgram.frmOpzioni..ctor()
    
    AVV: la registrazione dell'associazione di assembly è disattivata.
    Per attivare la registrazione degli errori di associazione di assembly, impostare il valore del Registro di sistema [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) su 1.
    Nota: alcune penalità di prestazione sono associate alla registrazione degli errori di associazione di assembly.
    Per disattivare la funzionalità, rimuovere il valore del Registro di sistema [HKLM\Software\Microsoft\Fusion!EnableLog].
    
       --- Fine dell'analisi dello stack dell'eccezione interna ---
       in MyProgram.My.MyProject.MyForms.Create__Instance__[T](T Instance)
       in MyProgram.My.MyProject.MyForms.get_frmOpzioni()
       in MyProgram.frmMain.frmMain_Load(Object sender, EventArgs e)
       in System.EventHandler.Invoke(Object sender, EventArgs e)
       in System.Windows.Forms.Form.OnLoad(EventArgs e)
       in System.Windows.Forms.Form.OnCreateControl()
       in System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       in System.Windows.Forms.Control.CreateControl()
       in System.Windows.Forms.Control.WmShowWindow(Message& m)
       in System.Windows.Forms.Control.WndProc(Message& m)
       in System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       in System.Windows.Forms.ContainerControl.WndProc(Message& m)
       in System.Windows.Forms.Form.WmShowWindow(Message& m)
       in System.Windows.Forms.Form.WndProc(Message& m)
       in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    
    
    ************** Assembly caricati **************
    mscorlib
        Versione assembly: 2.0.0.0
        Versione Win32: 2.0.50727.3623 (GDR.050727-3600)
        Base di codice: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    MyProgram
        Versione assembly: 1.4.4.8
        Versione Win32: 1.4.4.8
        Base di codice: file:///C:/Programmi/MyProgram/MyProgram.exe
    ----------------------------------------
    Microsoft.VisualBasic
        Versione assembly: 8.0.0.0
        Versione Win32: 8.0.50727.3053 (netfxsp.050727-3000)
        Base di codice: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System
        Versione assembly: 2.0.0.0
        Versione Win32: 2.0.50727.3620 (GDR.050727-3600)
        Base di codice: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Windows.Forms
        Versione assembly: 2.0.0.0
        Versione Win32: 2.0.50727.3623 (GDR.050727-3600)
        Base di codice: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
        Versione assembly: 2.0.0.0
        Versione Win32: 2.0.50727.3053 (netfxsp.050727-3000)
        Base di codice: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Configuration
        Versione assembly: 2.0.0.0
        Versione Win32: 2.0.50727.3053 (netfxsp.050727-3000)
        Base di codice: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Xml
        Versione assembly: 2.0.0.0
        Versione Win32: 2.0.50727.3082 (QFE.050727-3000)
        Base di codice: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Runtime.Remoting
        Versione assembly: 2.0.0.0
        Versione Win32: 2.0.50727.3053 (netfxsp.050727-3000)
        Base di codice: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------
    MyProgram.resources
        Versione assembly: 1.4.4.8
        Versione Win32: 1.4.4.8
        Base di codice: file:///C:/Programmi/MyProgram/it/MyProgram.resources.DLL
    ----------------------------------------
    mscorlib.resources
        Versione assembly: 2.0.0.0
        Versione Win32: 2.0.50727.3623 (GDR.050727-3600)
        Base di codice: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    Microsoft.VisualBasic.resources
        Versione assembly: 8.0.0.0
        Versione Win32: 8.0.50727.3053 (netfxsp.050727-3000)
        Base di codice: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic.resources/8.0.0.0_it_b03f5f7f11d50a3a/Microsoft.VisualBasic.resources.dll
    ----------------------------------------
    System.Windows.Forms.resources
        Versione assembly: 2.0.0.0
        Versione Win32: 2.0.50727.3053 (netfxsp.050727-3000)
        Base di codice: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_it_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------
    Insomma, se ho ben capito manca un qualcosa senza la quale i RectangleShape non possono essere disegnati...

    Impossibile caricare il file o l'assembly 'Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' o una delle relative dipendenze. Impossibile trovare il file specificato.
    Nome file: 'Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
    in MyProgram.frmOpzioni.InitializeComponent()
    in MyProgram.frmOpzioni..ctor()

    ma dove lo trovo??? E perché non è lo stesso VB2010 a fare tutto lui?? Eppure, non creandoli a Runtime ma avendoli presi dalla casella degli strumenti VB2010 lo sa bene che nel form ci sono dei RectangleShape!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Semplicemente non hai copiato nella macchina di destinazione l'assembly che contiene il componente utilizzato RectangleShape.

    Non è chiaro cosa debba essere fatto in automatico: se tu crei un eseguibile che dipende da assembly installati sulla tua macchina, lo prendi e lo copi su un'altra, non c'è nulla ovviamente che interviene per copiare anche gli assembly da cui dipende e che è tuo dovere copiare o distribuire.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Allora, ci sono arrivato girovagando per il web..

    Occorre lanciare il file:

    G:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\VBPowerPa cks\it\VisualBasicPowerPacksSetup.exe

    che si trova ovviamente nella cartella di installazione di Seven.

    La cosa funge, ma la cosa è ESTREMAMENTE fastidiosa, non tanto perché dovrei allegarlo all' installer e lanciarlo, quanto perché nel lanciarlo appare una finestra di installazione specifica del PowerPack che c' entra come i cavoli a merenda.

    A questo punto la domanda diviene: c' è modo di disegnare dei rettangoli di colore a piacere (che sennò altrimenti avrei utilizzato semplicemente delle labels, ma il bordo disponibile è solamente nero) senza ricorrere a Power Packs???

    Più in breve: c' è qualche controllo "normale" di VB coi bordi di colore programmabile?

    Alla disperata potrei forse mettere due labels l' una dentro l' altra........ un lavoraccio ma il risultato "estetico" dovrebbe essere quello.... e senza Power Pack...

    Qualche idea più intelligente?
    .

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Ma perché semplicemente non copi gli assembly (DLL) nella cartella del programma sulla macchina di destinazione?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    ehm, scusa ma.... da dove lo capisco quale CAVOLO di nome hanno gli assembly DLL che dovrei caricare e quanti in realtà sono??

    Cioè, l' unico nome di cui dispongo è Microsoft.VisualBasic.PowerPacks.Vs... ma se cerco una dll con quel nome o con parte di quel nome non trovo nulla....

    L' unica cosa che trovo è un "qualcosa" nella cartella Windows\Assembly ma non è un file, non posso copiarlo e incollarlo da qualche altra parte... se faccio click destro posso solo disinstallarlo



    .

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da eziogsv
    ehm, scusa ma.... da dove lo capisco quale CAVOLO di nome hanno gli assembly DLL che dovrei caricare e quanti in realtà sono??
    Osserva il progetto nella finestra Solution Explorer, al nodo References.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Fatto... più semplice di così

    Approfitto della gentilezza per chiedere:

    Nella cartella dove si trova la dll c' è anche una cartella "it" con un resource.dll ed un xml... sembra non servano... o no??

    Posso rinominare la dll a mio piacimento e dire direttamente nei riferimenti di andarla a cercare sempre nella cartella di installazione del programma? Come fare?

    Cioè, qualsiasi percorso io inserisca nei riferimenti alla dll rinominata (fosse anche una cartella che non esiste nel PC in cui il programma andrà ad essere installato) comunque per prima cosa la cerca nella cartella di installazione... o no?

    ty

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da eziogsv
    Nella cartella dove si trova la dll c' è anche una cartella "it" con un resource.dll ed un xml... sembra non servano... o no??
    Non lo so. Dipende da chi le utilizza e perché...

    Originariamente inviato da eziogsv
    Posso rinominare la dll a mio piacimento e dire direttamente nei riferimenti di andarla a cercare sempre nella cartella di installazione del programma? Come fare?
    In genere gli assembly non andrebbero mai rinominati, quindi la DLL deve conservare sempre lo stesso nome con cui è stata compilata.

    Originariamente inviato da eziogsv
    Cioè, qualsiasi percorso io inserisca nei riferimenti alla dll rinominata (fosse anche una cartella che non esiste nel PC in cui il programma andrà ad essere installato) comunque per prima cosa la cerca nella cartella di installazione... o no?
    Sì. Il deploy delle applicazioni .NET è denominato "x-copy", in quanto spesso è sufficiente copiare le librerie affinché l'applicazione in generale funzioni; poi, se vi sono dipendenze esterne di altro tipo (es. OCX) o altre risorse necessarie, queste vanno viste separatamente.

    E' ovvio che sulla macchina deve essere forzatamente presente il .NET Framework.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Ok, si impara sempre qualcosa, ty

    Comunque per non saper né leggere né scrivere e non rischiare errori di importazione, dopo aver scartabellato sul web ho risolto sostituendo i maledetti RectangleShape con dei comuni Controlli Panel, per ognuno dei quali ho dichiarato

    codice:
        Private Sub Panel1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint
    
            ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, Color.DarkGray, ButtonBorderStyle.Solid)
    
        End Sub
    il tutto funziona perfettamente.

    E come dice l' onorevole Ceto Laqualunque.... in c**o i controlli RectangleShape

    .

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.