0

我在 VS 2008 中有一个解决方案,它有一个 Web 项目和 3 个类库作为 3 个不同的项目。一个项目用于 DataAccess,一个项目用于 BusinessLogic。

我在 DataAccessLayer 中有一个类。从那里,当我尝试访问 BusinessLogic 类库(项目)的类时,当我键入时它不会出现在 IntelliSense 中。我在两个项目中使用了相同的命名空间。还是一样的结果。

我是否需要为第一个项目创建 DLL 并添加作为对第二个项目的引用?

4

4 回答 4

6

您需要在您的灵魂中的另一个项目中添加对此项目的引用。Visual Studio 可以选择添加项目作为参考,因此您不必直接添加程序集文件

于 2009-07-22T18:18:19.180 回答
5

您需要在其他项目中引用该库。

为此,请右键单击解决方案资源管理器中的引用文件夹,单击添加引用,转到项目选项卡,然后选择要引用的库。

编辑:另外,请确保您尝试使用的类被声明为public(例如,public class MyClass)。

如果您省略public修饰符(这是默认值),则该类将仅在其项目中可用。要将类和成员公开给其他项目,请将public修饰符添加到它们的声明中

于 2009-07-22T18:19:06.980 回答
2

您需要添加对包含项目中的BusinessLogic类的项目的引用DataAccess。否则,编译器无论如何都找不到BusinessLogic类的实现,即使它确实使用了相同的命名空间。

于 2009-07-22T18:17:39.633 回答
1

这可能听起来很傻,但是您是否将相关类指定为 Public 或 Friend?即使在指定项目引用的情况下,它们也需要在这个意义上被“共享”,以便在其他应用程序中正确获取和使用。

于 2009-07-22T18:18:34.220 回答