如何在vb.net中使用嵌入式资源正确使用名称空间?

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一起工作.

AMi*_*ico 1

既然您提到这适用于 C#,那么我怀疑该项目的“根命名空间”正在影响您的“自定义工具命名空间”。

自定义工具命名空间“附加”到项目的根命名空间。您可能没有考虑到这一点。当我怀疑命名空间问题或命名空间构建错误时,我通常会转向“对象浏览器”。

打开“对象浏览器”并检查项目的命名空间。希望命名空间问题是显而易见的。

如果项目的根命名空间是“Reports”并且自定义工具命名空间是“Reports.Analysis.KS4.SubjectSummary”,则完整命名空间是“Reports.Reports.Analysis.KS4.SubjectSummary”。C# 项目没有根命名空间。他们有一个不一样的“默认命名空间”。

要解决此问题,请将自定义工具命名空间更改为“Analysis.KS4.SubjectSummary”或清除项目的根命名空间。我建议更改自定义工具命名空间。