这一直是我的桌面应用程序中的解决方案。假设您有一个单独的资源文件存储在应用程序的同一文件夹中,并使用名为Reports.resx的 resx 文件创建并命名为Resources.dll并具有公共访问权限
第1步
设置本地报告的权限(每次重置后都应重复此操作)
<YourReportViewer>.LocalReport.SetBasePermissionsForSandboxAppDomain(new PermissionSet(PermissionState.Unrestricted))
第2步
在您的 rdlc 报告中添加以下代码(在报告属性下或手动编辑 rdlc 文件,在<Report>/<Code>标签下添加代码)
Private Shared Resources As Type = Reflection.Assembly.LoadFile(IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources.dll")).GetType("Resources.Reports")
Default Public ReadOnly Property Item(name As String) As String
Get
Return Resources.GetProperty(name, Reflection.BindingFlags.Static Or Reflection.BindingFlags.Public).GetValue(Nothing).ToString()
End Get
End Property
第 3 步
在您的报告中,您可以使用如下表达式引用资源中的字符串:
=Code!<NameOfYourResource>