【问题标题】:Project B references project A which has a class using system.DirectoryServices ASP.NET项目 B 引用具有使用 system.DirectoryServices ASP.NET 的类的项目 A
【发布时间】:2014-02-19 05:00:16
【问题描述】:

我有一个项目 B,它在同一解决方案中引用项目 A。项目 A 有一个使用 system.DirectoryServices ASP.NET 的 class1。我在项目 A 中添加了对 System.DirectoryServices 的引用。 现在在我的项目 B 中,我有一个 page1.aspx 试图在项目 A 中调用 class1。我在这里遇到错误。 Page1.aspx.vb 只尝试访问 Class1 的属性,它不尝试直接访问 DirectoryServices。 为什么我应该在项目 B 中添加对 System.DirectoryServices 的引用?

正在对包含“System.DirectoryServices.DirectoryEntry”的程序集“System.DirectoryServices”进行间接引用。向您的项目添加对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll”的文件引用。

感谢您的帮助。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    如果您有一个返回或接受 System.DirectoryServices 中定义的任何类型的公共方法,并且您直接或间接地从项目 B 使用该方法,那么您必须在项目 B 中添加对 System.DirectoryServices 的引用。否则它根本不应该打扰你。

    如果您根本不想在项目 B 中添加对 System.DirectoryServices 的引用,那么请考虑对接口进行编程!使用接口抽象出特性和工作,而不是引用具体类型。

    【讨论】:

    • 项目 A 中的 class1 使用 System.DirectoryServices 方法填充其字段,这些 Class1 字段由项目 B 中的页面使用。据我所知,只有我需要添加对 System 的引用的地方.DirectoryServices 应该在项目 A 中,而不是在项目 B 中,因为它不是直接访问它,它只是访问另一个项目中使用它的类。
    • 如果 Class1 中的那些公共字段暴露了 System.DirectoryServices 中定义的任何类型,那么您还必须在其他项目中添加对它的引用。
    • 我今天一整天都忽略了一个填充这些公共字段的方法也返回了 DirectoryEntry。将其更改为字符串,我不必在项目 B 中添加应有的引用。谢谢 Kaz-LA。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    • 2016-04-22
    相关资源
    最近更新 更多