如果使用了表达式即出错,提示找不到Microsoft.VisualBasic.dll,不使用表达式则没问题。本人想直接将Microsoft.VisualBasic.dll放到目录下,然后引用。不知可行否?

解决方案 »

  1.   

    是C# .错误信息如下:
    Microsoft.Reporting.WinForms.LocalProcessingException: An error occurred during local report processing. ---> Microsoft.Reporting.DefinitionInvalidException: The definition of the report 'Main Report' is invalid. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: An unexpected error occurred while compiling expressions. Native compiler return value: ‘[BC2000] compiler initialization failed unexpectedly: Unable to find required file 'Microsoft.VisualBasic.dll'.’.说明,本人打包了.NET框架,客户可以选择是否安装。
      

  2.   

    贴上你的表达式看一下.需要将Microsofot.VisualBasic添加到你的程序集引用中
    举个例子,如果你要加个用个换行应该写完整的带命名空间的表达式
    =Parameters!ABC.Value+System.Environment.NewLine
      

  3.   

    只要是个表达式就出错,如
    =Fields!a.Value & Fields!b.Value而这样=Fields!a.Value则没问题
      

  4.   

    如果是字符串连接,你用+,不要用VB里的&
    如果你是想做与操作,用And
      

  5.   

    =Fields!xm.Value.ToString + Fields!xh.Value.ToString这么做还是一样出错。这种错误在安装了.net的电脑上没有出现。
      

  6.   

    ToString() 不是 ToString
    另外Framework当然要装,不装ReportViewer怎么可能跑得起来.
      

  7.   

    =Fields!xm.Value.ToString + Fields!xh.Value.ToString
    =Fields!xm.Value.ToString() + Fields!xh.Value.ToString()
    在rdlc报表里,上面的二个效果好像一样的,二种写法在开发的电脑上均能通过。放到另一台电脑上就不行。我的想法是在C#中直接引用Microsoft.VisualBasic.dllFramework不用安装也可以跑,就像飞信
      

  8.   

    Microsoft.ReportViewer.Common.dll
    Microsoft.ReportViewer.ProcessingObjectModel.dll
    Microsoft.ReportViewer.WinForms.dll只要引入这三个dll,不用安装ReportViewer查看器一样行