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