2012-09-05 47 views
1

由于我已将其更新为VS2010格式,因此我的报告存在一些问题。RDLC 2005转换为RDLC 2008:自定义代码不再“已见”

尽管我已经修改了对于Microsoft.ReportViwer.Common和Microsoft.ReportViewer.WinForms从v9到10的引用,当我尝试键入代码时。在一个字段中,“代码”之后是什么。总是用红色加下划线,我打印报告时得到了#ERROR而不是我想要的值。我知道它是区分大小写的,我多次检查拼写。

此外,我不知道为什么,但我与领域的错误!句法;我似乎必须使用Fields()。值来让它们工作(在我不需要调用自定义代码的地方)

这些报告在转换之前运行良好(超过20个报告以此方式转换)但现在不要。似乎自定义函数并未被报表设计器“看到”。我试图让他们公开,分享;我所有的都是同样愚蠢的#ERROR显示。

我希望他们能在VS2010工作,以避免总是不得不修改它们在VS2008,然后回去VS2010

这是一个与框架3.5

什么可能导致的任何想法,什么是WinForm应用程序是补救措施?

非常感谢

尼科

回答

0

有一对夫妇的方式来使用自定义代码在SSRS。首先,您可以直接在窗口下方输入VB到 报告 - >报告属性 - >代码

另一种方法是编写自定义DLL(当然可以用任何.NET语言完成),然后需要被复制到你的开发机器和生产报告服务器。 然后,您需要使用创建的项目到集引用: 报告 - >报告属性 - >参考(我假定你知道这一点)。

如果您没有使用自己的自定义程序集,并且只使用对您机器上的引用,那么服务器上可能会出现一些混淆,以至于在哪里可以找到dll。您可能需要的DLL复制到文件夹下面的KB链接指出:

http://support.microsoft.com/kb/920769

当您将一个字段到表矩阵或文本框,并看看值表达式,它使用Fields!Fieldname.Value语法?对SSRS来说,这种语法是很自然的,所以如果这不起作用,它听起来像是在你的visual studio 2010中严重破坏的东西。我认为你安装了visual studio 2010来创建web应用程序。你没有解释的是你正在使用哪个版本的BIDS或SSDT。如果您正在开发SSRS 2008 R2或更早版本的报告,那么这些报告与Visual Studio 2010不兼容。那里没有妥协。

如果您正在开发SSRS 2012,那么您自己使用SSDT(安装Visual Studio 2010的外壳版本),或者如果您已经安装了Visual Studio 2010,则需要安装VS2010的Service Pack 1,然后从SQL Server 2012光盘安装SSDT。

http://msdn.microsoft.com/en-us/library/hh500335(v=vs.103).aspx