0

我正在尝试在 Report Builder 2.0 中使用自定义程序集。我已通过 Report Properties > References 将程序集添加到报告中。当我尝试在程序集中调用公共静态方法时,我收到以下消息:

“ExtractTag”不是“ReportsClassLibrary.ReportsClassLibraryTools”的成员。

我试图用来调用该方法的表达式是:

=ReportsClassLibrary.ReportsClassLibraryTools.ExtractTag("ID", "ID:incorrect", false)

程序集中的方法签名是:

public static string ExtractTag(string tagToFind, string tags, bool caseSensitive)

该方法在ReportsClassLibrary命名空间和ReportsClassLibraryTools类中。

我不知道由于某种原因,我的报告是否正在查找没有此方法的旧版本的程序集,或者问题是否出在其他问题上。我尝试从报告中删除程序集,重建程序集并将其重新添加到报告中。

编辑:看起来像一个更深层次的问题。我的程序集可以编译,但是在运行调用该方法的测试用例时,测试失败并出现 System.MissingMethodException。猜猜我遇到了装配问题,而不是报表生成器问题......

4

1 回答 1

0

原来这是Vista中全局程序集缓存的问题。我的程序集的旧版本已被缓存,因此新方法ExtractTag不是程序集的一部分。我不得不跑:

"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\gacutil.exe" /i bin\Debug\ReportsClassLibrary.dll 
于 2009-12-04T20:43:30.463 回答