簡體   English   中英

未找到命名空間!

[英]namespace not found!

我創建了一個名為Foo的解決方案。 添加了一個名為Foo.Common的 class 庫添加了一個控制台應用程序以從名為ConsoleApp調用庫代碼。

我從ConsoleApp引用了Foo.Common並輸入:

using Foo.Common;
public class Program
{
    CommonClass c = new CommonClass();            

    static void Main(string[] args)
    {
    }
}

把這個拿回來:

Error 1 The type or namespace name '**Foo**' could not be found (are you missing a using directive or an assembly reference?) Z:\Foo\Solution1\ConsoleApplication1\Program.cs 3 11 ConsoleApplication1

為什么我會得到這個?

這是怎么回事?

確保

  • ConsoleApp項目有對Foo.Common項目的引用(不要瀏覽 Foo.Common.dll),

    截屏

  • 該文件包含聲明CommonClass的命名空間的using指令,並且

  • CommonClass被聲明為public

所以你的文件應該是這樣的:


Foo.Common項目中的CommonClass.cs

namespace Foo.Common
{
    public class CommonClass
    {
        public CommonClass()
        {
        }
    }
}

ConsoleApp項目中的Program.cs

using Foo.Common;

namespace ConsoleApp
{
    public class Program
    {
        public static void Main()
        {
            CommonClass x = new CommonClass();
        }
    }
}

確保在您的項目設置下,目標框架設置為 .NET Framework 4 而不是 .NET Framework 4 Client Profile。 當它設置為客戶端配置文件時,我得到了同樣的行為,一旦我將它設置為常規的 .NET 框架 4,它就得到了修復。

看起來 Foo Bar 出現了這個錯誤,因為他的項目的目標框架設置為客戶端配置文件。

只是想我會再添加一個“解決方案”——我創建了一個針對 4.5 框架的庫。 我的舊項目正在啟動 4 框架。 我得到了這個錯誤。

將舊項目更改為 4.5 使其工作。

右鍵單擊新的控制台應用解決方案/項目並添加引用並添加包含 Foo 命名空間的項目

您是否添加了對庫的引用? 在控制台項目的“參考”下查看。 如果它不存在,則需要添加它。

我將此作為評論發布,但我想在這里擴展它。 可能發生的情況是它看到 using 作為語句而不是關鍵字。 看來您有以下內容:

using System;
namespace TestNamespace
{
  using Foo.Common;
  public Class { }
}

嘗試

using System;
using Foo.Common;
namespace TestNamespace
{
  public Class { } 
}

反而。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM