【发布时间】:2014-03-11 18:46:30
【问题描述】:
我在同一解决方案(一个常规项目和一个用于单元测试的测试项目)中跨多个项目使用模块时遇到问题。我正在尝试遵循 http://msdn.microsoft.com/en-us/library/ms182532(v=vs.110).aspx 中的示例代码(但使用 VB.NET 而不是 C#)。
所以我有 2 个项目,ZBank 和 ZBankTests。 ZBankTests 引用了 ZBank。 ZBank 有一个类 clsAccount(命名空间 BankAccount)和一个模块 modConstants(命名空间 BankConstants)。 clsAccount 导入 ZBank.BankConstants 并可以使用其常量变量。
ZBankTests 有一个类 clsAccountTests(命名空间 ZBank.BankAccount.Tests),它导入 ZBank.BankAccount 和 ZBank.BankConstants。我可以很好地使用 BankAccount 类,但它会出错:
"'DebitAmountExceedsBalanceMessage' is not declared. It may be inaccessible due to its protection level."
我也将模块编译成 DLL,但是在添加对它的引用后,两个项目都无法导入它或使用它的变量(阅读后尝试:Using the same modules in multiple projects)。
模块代码:
Namespace BankConstants
Module modConstants
Public DebitAmountExceedsBalanceMessage As String = "Debit amount exceeds balance"
Public DebitAmountLessThanZeroMessage As String = "Debit amount less than zero"
End Module
End Namespace
【问题讨论】:
标签: vb.net project-reference access-levels