我在 VS 2008 中有一个解决方案,它有一个 Web 项目和 3 个类库作为 3 个不同的项目。一个项目用于 DataAccess,一个项目用于 BusinessLogic。
我在 DataAccessLayer 中有一个类。从那里,当我尝试访问 BusinessLogic 类库(项目)的类时,当我键入时它不会出现在 IntelliSense 中。我在两个项目中使用了相同的命名空间。还是一样的结果。
我是否需要为第一个项目创建 DLL 并添加作为对第二个项目的引用?
您需要在您的灵魂中的另一个项目中添加对此项目的引用。Visual Studio 可以选择添加项目作为参考,因此您不必直接添加程序集文件
您需要在其他项目中引用该库。
为此,请右键单击解决方案资源管理器中的引用文件夹,单击添加引用,转到项目选项卡,然后选择要引用的库。
编辑:另外,请确保您尝试使用的类被声明为public
(例如,public class MyClass
)。
如果您省略public
修饰符(这是默认值),则该类将仅在其项目中可用。要将类和成员公开给其他项目,请将public
修饰符添加到它们的声明中
您需要添加对包含项目中的BusinessLogic
类的项目的引用DataAccess
。否则,编译器无论如何都找不到BusinessLogic
类的实现,即使它确实使用了相同的命名空间。
这可能听起来很傻,但是您是否将相关类指定为 Public 或 Friend?即使在指定项目引用的情况下,它们也需要在这个意义上被“共享”,以便在其他应用程序中正确获取和使用。