我的解决方案包含多个项目,包括Commons
和TerminatorConsole2
。现在我想从Commons.Constants
文件中引用TerminatorConsole2.Utils.Constants
类:
namespace TerminatorConsole2.Utils
{
class Constants
{
public const string MANAGEMENT_CONSOLE_ADDRESS =
Commons.Constants.USE_EXTRA_WCF_INSTANCE ?
"net.pipe://localhost/xxx" :
"net.pipe://localhost";
但我收到"无法解决符号"在" Commons"。 添加"使用Commons"没有帮助,我收到同样的错误。
为什么一个项目不能使用同一解决方案中另一个项目的类?
UPD 添加Constants
课程。但是我已经从另一个项目中使用它,所以我觉得这个类没问题:
namespace Commons
{
public class Constants
{
public const int MAX_INSTRUMENTS_NUMBER_IN_SYSTEM = 200;
public const bool USE_EXTRA_WCF_INSTANCE = true;
}
}
答案 0 :(得分:1)
默认情况下,类的范围是内部的,意味着可以在该程序集中访问。将该类设置为public以使其可供其他程序集访问。有关 access modifiers 的更多信息还要确保添加了您正在提供的程序集的引用。
更改强>
class Constants
{
public const string MANAGEMENT_CONSOLE_ADDRESS =
Commons.Constants.USE_EXTRA_WCF_INSTANCE ?
"net.pipe://localhost/xxx" :
"net.pipe://localhost";
要强>
public class Constants
{
public const string MANAGEMENT_CONSOLE_ADDRESS =
Commons.Constants.USE_EXTRA_WCF_INSTANCE ?
"net.pipe://localhost/xxx" :
"net.pipe://localhost";
答案 1 :(得分:1)
jeroenh在评论中正确回答了问题...我需要添加引用。
我不需要声明类public
,因为只使用的类应该是公共的。 “使用”的课程不必公开。
答案 2 :(得分:0)
试试这个:将public
添加到课程Constants
namespace TerminatorConsole2.Utils
{
public class Constants
{
public const string MANAGEMENT_CONSOLE_ADDRESS =
Commons.Constants.USE_EXTRA_WCF_INSTANCE ?
"net.pipe://localhost/xxx" :
"net.pipe://localhost";
}
}