Visual Studio 2015 - SQL Express 2014 - Crystal Reports.
Un saluto a tutti.
Mi trovo alle prese con un errore che non avevo mai riscontrato:
FileLoadException non è stata gestita
Eccezione non gestita di tipo 'System.IO.FileLoadException' in mscorlib.dll
Ulteriori informazioni: L'assembly in modalità mista è compilato in base alla versione 'v2.0.50727' del runtime e non può essere caricato nel runtime 4.0 senza ulteriori informazioni di configurazione.
Suggerimenti:
Assicurarsi che il file sia un assembly .NET Framework valido
Lo genera quando arriva all'ultima riga del secondo blocco di codice che faccio seguire.
Premetto che questo errore mi viene generato solo in questo programma. Uso lo stesso codice in diversi altri programmi e funziona. Ha sempre funzionato.
Ho controllato le opzioni di compilazione e i riferimenti del progetto e sono identici ad altri programmi.
Ho provato a svuotare le cartelle di debug e release e ricompilare: nulla.
Il Dataset passato c'è ed è compilato. Fra l'altro mi da l'errore in qualsiasi stampa lancio nel programma.
Non so più cosa fare. Spero in un vostro aiuto.
Grazie.
Oscar
Codice:
Public Structure InfoAnteprimaStampa
'''
''' Titolo per la frmAnteprimaStampa
'''
Dim TitoloForm As String
'''
''' Nome del report
'''
Dim NomeReport As String
'''
''' Formule di selezione dei record da stampare
'''
Dim FormulaDiSelezioneRecord As String
'''
''' Dataset contenente i dati eventualmente poi filtrati attraverso la formula di selezione
'''
Dim Dati As DataSet
'''
''' Nome del database coinvolto dalla stampa
'''
Dim NomeDatabase As String
'''
''' Nomi delle tabelle contenute nel Dataset
'''
Dim NomiTabelle As List(Of String)
'''
''' Formule da passare al report (opzionale)
'''
Dim Formule As List(Of InfoDaPassareAlReport)
'''
''' Parametri da passare al report (opzionale)
'''
Dim Parametri As List(Of InfoDaPassareAlReport)
'Dim listaVuota As New InfoDaPassareAlReport(String.Empty, String.Empty, TipoFormula.Testo)
'Sub New(ByVal titoloForm As String, ByVal nomeReport As String, ByVal formulaSelezione As String, _
' byval datiDaPassare As DataSet, Optional ByVal formuleDaPassare As List(Of InfoDaPassareAlReport(String.empty, String.empty, "Testo")), _
' Optional ByVal parametriDaPassare As List(Of InfoDaPassareAlReport))
' Me.TitoloForm = titoloForm
' Me.NomeReport = nomeReport
' Me.FormulaDiSelezioneRecord = formulaSelezione
' Me.Formule = formuleDaPassare
' Me.Parametri = parametriDaPassare
'End Sub
End Structure
Me.Text = mInfoAnteprimaStampa.TitoloForm
Dim i As Integer = 0
Dim mFormule As FormulaFieldDefinitions
Dim mReportDocument As New ReportDocument()
Try
mReportDocument.Load(PercorsoStampe & "\" & mInfoAnteprimaStampa.NomeReport)
'|---------------------------------------------------------------------------------------|
'| IMPORTANTE: assegnare come nome del Dataset lo stesso nome della Tabella del Database |
'|---------------------------------------------------------------------------------------|
For i = 0 To (mInfoAnteprimaStampa.NomiTabelle.Count - 1)
'Imposto le credenziali
Credenziali = mReportDocument.Database.Tables.Item(i).LogOnInfo
Credenziali.ConnectionInfo.ServerName = mServer
Credenziali.ConnectionInfo.DatabaseName = mInfoAnteprimaStampa.NomeDatabase
Credenziali.ConnectionInfo.UserID = mUserId
Credenziali.ConnectionInfo.Password = mPassword
Credenziali.TableName = mInfoAnteprimaStampa.NomiTabelle(i).ToString
mReportDocument.Database.Tables(i).ApplyLogOnInfo(Credenziali)
Next
mReportDocument.SetDataSource(mInfoAnteprimaStampa.Dati)