Vb.net 在crystal report中显示图像

Vb.net 在crystal report中显示图像,vb.net,crystal-reports,datatable,dataset,barcode,Vb.net,Crystal Reports,Datatable,Dataset,Barcode,我想在VB.net中使用crystal report来显示包含条形码的图像。但是,当我运行应用程序时,在加载报告之前,我遇到了以下异常,尽管我已将crdb_adoplus.dll的引用添加到我的项目中 异常:无法加载文件或程序集“crdb_adoplus,版本=9.1.3300.0,区域性=中性,PublicKeyToken=692fbea5521e1304”或其依赖项之一。强名称验证失败。(HRESULT的例外:0x8013141A) 这是我的代码: Private Sub Frm_Repor

我想在VB.net中使用crystal report来显示包含条形码的图像。但是,当我运行应用程序时,在加载报告之前,我遇到了以下异常,尽管我已将crdb_adoplus.dll的引用添加到我的项目中

异常:无法加载文件或程序集“crdb_adoplus,版本=9.1.3300.0,区域性=中性,PublicKeyToken=692fbea5521e1304”或其依赖项之一。强名称验证失败。(HRESULT的例外:0x8013141A)

这是我的代码:

Private Sub Frm_Reporting_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        CrystalReportViewer1.ReportSource = Nothing
        Dim rptbarcode As RptPacking
        rptbarcode = New RptPacking
        Dim xrep As DataSet1
        xrep = New DataSet1
        Dim row As DataRow
        Dim MyImg As Image = Nothing
        Try
            btnEncode(MyImg, BarcodeText)
            row = xrep.Tables("DataTable1").NewRow
            Dim ms As New MemoryStream()

            MyImg.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)

            Dim ii As Byte()

            ii = ms.ToArray()

            xrep.Tables("DataTable1").Rows.Add(ii)

            rptbarcode.Load("GSMProduction.RptPacking.rpt")
            rptbarcode.SetDataSource(xrep.Tables("DataTable1"))
            CrystalReportViewer1.ReportSource = rptbarcode

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub


    Private Sub btnEncode(ByRef pic As Image, ByVal txtData As String)
        Dim W As Integer = 160
        Dim H As Integer = 110
        Dim b As BarcodeLib.Barcode
        Dim type As BarcodeLib.TYPE = BarcodeLib.TYPE.UNSPECIFIED
        type = BarcodeLib.TYPE.CODE128
        b = New BarcodeLib.Barcode()
        Try
            If type <> BarcodeLib.TYPE.UNSPECIFIED Then
                b.IncludeLabel = True

                '===== Encoding performed here ===== 
                pic = b.Encode(type, txtData, W, H)
                'CType(Frm, frm_submitentery).pic_img.Image = pic.Image
                '=================================== 


            End If

        Catch ex As Exception
            'try 
            MessageBox.Show(ex.Message)
            'catch 
        End Try

    End Sub
Private Sub Frm_Reporting_Load(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
CrystalReportViewer1.ReportSource=无
与RPT包装相同的条形码
rptbarcode=新的RptPacking
Dim xrep作为数据集1
xrep=新数据集1
将行变暗为数据行
将MyImg设置为图像暗显=无
尝试
btnEncode(MyImg、条形码文本)
row=xrep.Tables(“DataTable1”).NewRow
将ms变暗为新内存流()
保存(ms,System.Drawing.Imaging.ImageFormat.Jpeg)
Dim ii作为字节()
ii=托雷女士()
xrep.表格(“DataTable1”).行添加(ii)
rptbarcode.Load(“GSMProduction.RptPacking.rpt”)
rptbarcode.SetDataSource(xrep.Tables(“DataTable1”))
CrystalReportViewer1.ReportSource=rptbarcode
特例
MessageBox.Show(例如Message)
结束尝试
端接头
专用子btnEncode(ByRef pic作为图像,ByVal txtData作为字符串)
尺寸W为整数=160
尺寸H为整数=110
将b调为条形码库。条形码
尺寸类型为BarcodeLib.type=BarcodeLib.type.UNSPECIFIED
type=BarcodeLib.type.CODE128
b=新的条形码库。条形码()
尝试
如果类型BarcodeLib.type.UNSPECIFIED,则
b、 IncludeLabel=True
'====此处执行的编码=====
pic=b.Encode(类型,txtData,W,H)
'CType(Frm,Frm_submitery).pic_img.Image=pic.Image
'=================================== 
如果结束
特例
“试试看
MessageBox.Show(例如Message)
“接住
结束尝试
端接头

我非常感谢您提前提出的建议。

如果您在VS2010中运行.Net 4,则可能需要将以下内容添加到.config文件(配置部分):



b.Encode的返回类型是什么?它是一个图像,您可以在方法'Private Sub btnEncode'的签名中找到它(ByRef pic作为图像,ByVal txtData作为字符串)`
<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>