Невозможно получить доступ к ссылочным константам проекта
У меня проблема с использованием модуля для нескольких проектов в одном решении (обычный проект и тестовый проект для модульных тестов). Я пытаюсь следовать примеру кода с 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, но после добавления ссылки на него ни один из проектов не может импортировать его или использовать его переменные (пробовал после прочтения этого: использование одних и тех же модулей в нескольких проектах).
Код для модуля:
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
1 ответ
Module
уровень доступа Friend
по умолчанию. Вы должны явно объявить это как Public
если вы хотите использовать его за пределами границ проекта.
Public Module modConstants
' your constants
End Module
Увидеть Module
документация для получения дополнительной информации.