我创建了一个名为Foo
的解决方案。
添加了一个名为Foo.Common
的类库
添加了一个控制台应用程序,用于调用名为ConsoleApp
的库代码。
我引用Foo.Common
中的ConsoleApp
并输入:
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
为什么我会这样做?
发生了什么事?
答案 0 :(得分:6)
确保
ConsoleApp 项目引用 Foo.Common 项目(执行不浏览for Foo.Common.dll),
该文件包含using
指令,用于声明CommonClass
的名称空间,
CommonClass
被声明为public
。
所以你的文件应该是这样的:
CommonClass.cs :
namespace Foo.Common
{
public class CommonClass
{
public CommonClass()
{
}
}
}
Program.cs :
using Foo.Common;
namespace ConsoleApp
{
public class Program
{
public static void Main()
{
CommonClass x = new CommonClass();
}
}
}
答案 1 :(得分:2)
确保在项目设置下,目标框架设置为.NET Framework 4而不是.NET Framework 4 Client Profile。当它被设置为Client Profile时我得到了同样的行为,并且只要我将其设置为常规.NET Framework 4就会得到修复。
答案 2 :(得分:0)
右键单击新的控制台应用程序解决方案/项目和“添加引用”,然后添加包含Foo命名空间的项目
答案 3 :(得分:0)
您是否添加了对库的引用?查看控制台项目中的“参考”。如果不存在,则需要添加它。
答案 4 :(得分:0)
我发布此评论作为评论,但我想在此处进行扩展。可能发生的是它看到使用语句而不是关键字。看起来你有以下内容:
using System;
namespace TestNamespace
{
using Foo.Common;
public Class { }
}
尝试
using System;
using Foo.Common;
namespace TestNamespace
{
public Class { }
}
相反。
答案 5 :(得分:0)
看起来Foo Bar得到了这个错误,因为他的项目的目标框架被设置为客户端配置文件。
只是想我再添加一个'解决方案' - 我创建了一个针对4.5框架的库。我的旧项目是关于4框架。我收到了这个错误。
将旧项目更改为4.5使其正常工作。