Ban*_*ord 6 .net vb.net build embedded-resource crystal-reports
我在将一些Crystal Reports组织成VB.Net winforms项目中更易于管理的结构时遇到了麻烦.
报告都默认为根命名空间(在本例中为"Reports"),然后具有"analysisKS3SubjectSummary.rpt","analysisKS4SubjectSummary.rpt"等名称.
为了整理这一点,我为报告类设置了名称空间,并在报告的"自定义工具命名空间"属性上设置了名称空间.这些结构如下:
Reports.Analysis.KS3.SubjectSummary
Reports.Analysis.KS4.SubjectSummary
命名空间工作正常,但如果报告具有与上面相同的名称.该项目不会构建,说明两个嵌入的资源不能具有相同的名称.
然后它显示"Reports.SubjectSummary"作为错误描述,但没有这样的资源.看起来它试图在构建期间将它们放回根命名空间.
知道如何强制嵌入式资源使用给定的命名空间吗?
PS显然这适用于C#,无需修改.但我需要它与VB一起工作.
既然您提到这适用于 C#,那么我怀疑该项目的“根命名空间”正在影响您的“自定义工具命名空间”。
自定义工具命名空间“附加”到项目的根命名空间。您可能没有考虑到这一点。当我怀疑命名空间问题或命名空间构建错误时,我通常会转向“对象浏览器”。
打开“对象浏览器”并检查项目的命名空间。希望命名空间问题是显而易见的。
如果项目的根命名空间是“Reports”并且自定义工具命名空间是“Reports.Analysis.KS4.SubjectSummary”,则完整命名空间是“Reports.Reports.Analysis.KS4.SubjectSummary”。C# 项目没有根命名空间。他们有一个不一样的“默认命名空间”。
要解决此问题,请将自定义工具命名空间更改为“Analysis.KS4.SubjectSummary”或清除项目的根命名空间。我建议更改自定义工具命名空间。