无法从名称空间前缀访问.dll中的静态类

时间:2017-08-23 15:58:09

标签: c# namespaces class-library

我有一个类库项目,其定义如下:

namespace MyNamespace
{
    public static class MyClass
    {           
        public static string GetString()
        {                
             return "test";
        }
    }
}

当我在我的另一个项目/解决方案中引用此项目的内置.dll时,我可以像MyClass那样访问类MyNamespace.MyClass.GetString()但我无法通过在c#之上引用命名空间来访问文件。实施例

using MyNamespace;
namespace ProjectNameSpace
{
    public class TestClass
    {
        public void TestRun()
        {
            string result = MyClass.GetString(); // Getting error: are you missing an assembly reference?
        }
    }
}

这可能是一个愚蠢的问题,但我不明白为什么会发生这种情况。对此有任何帮助对我很有帮助。

1 个答案:

答案 0 :(得分:0)

确定,名称空间的名称与库中类的名称不同吗?我刚遇到一个与此类似的问题,经过几分钟的试验,我意识到这是问题所在。
Here's an image showing the existance of the problem.请注意,testLib在引用中,并且也在使用中。
这是库的代码

title: ""
output: 
   bookdown::word_document2:
      reference_docx: "template.docx"
bibliography: references.bib
csl: "environmental_entomology.csl"
link-citations: true


这是测试人员类的代码

namespace testLib
{
    public class Class1
    {
        public Object getMe()
        {
            return this;
        }
    }
    public static class Class2
    {
        public static int getRandomNumber()
        {
            return 7;
        }
    }
    public class testLib
    {
        public static void testMe()
        {
            Console.WriteLine("working just fine...");
        }
    }
}