不能从同一解决方案的另一个项目引用类

时间:2012-10-06 09:00:20

标签: c#

我的解决方案包含多个项目,包括CommonsTerminatorConsole2。现在我想从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;
}

}

3 个答案:

答案 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";
    }
 }