【问题标题】:References and external class use problems引用和外部类使用问题
【发布时间】:2018-02-14 15:58:50
【问题描述】:

在 ASP.NET 项目上使用 Visual Studio 2015。一切正常,除了现在我有一个代码块(一个常见的 AD 实用程序函数),我希望所有页面都能够访问。原始语言(继承项目)是 VB.NET,但无论哪种方式都应该可以正常工作。

我创建了一个类文件,将其命名为 CommonADFunctions.vb。该文件使用 System.DirectoryServices,并且项目中有对该程序集的引用。但是,有两个问题:

  1. 我无法引用新类来调用任何页面代码文件中的函数。这包括尝试将新变量实例化为类类型。
  2. 当我将新的 .VB 文件移动到 App_Code 中时,对 System.DirectoryServices 的引用中断,并且它拒绝构建。

这似乎是一个微不足道的问题,但我错过了什么?

【问题讨论】:

  • 这是一个网站项目还是网络应用项目?
  • 要访问类的方法,你需要实例化类,你没有提到你是否这样做。
  • @IsaacKleinman,由于这个项目文件是继承的,而且我对VS的经验有些有限,我该如何区分,它有什么不同?
  • 您是否在外部文件中创建了public static 类?
  • 听起来您正在尝试使用来自另一个项目的代码,这可能基于旧的依赖项。您需要解决这些依赖关系,或者想出一些其他解决方案,例如创建一个已编译的 DLL 并以这种方式引用它。

标签: asp.net vb.net visual-studio


【解决方案1】:

原来这是文件本身的一个简单属性,我创建了一个新的类文件,不知何故,构建操作被设置为内容而不是编译。将此设置为编译允许正确引用和实例化对象。它没有从 APP_Code 修复代码中 DirectoryServices 引用的 IDE intelliSense,但它可以编译并运行,这正是我所需要的。

编辑:收到指出这一点的外部帮助。

【讨论】:

    【解决方案2】:

    没有代码和截图来说明,我只能推荐几件事来尝试。

    我无法引用新类来调用任何页面代码文件中的函数。这包括尝试将新变量实例化为类类型。

    1. 类中的方法具有PrivateFriend 范围。

    2. 它是一个static 类(VB.Net 中的一个模块),您不需要实例化它。

    3. 您以某种方式引用了一个没有这些方法的旧 DLL。检查对此 AD 项目的引用,并确保其通过项目“引用”。

    当我将新的 .VB 文件移动到 App_Code 中时,对 System.DirectoryServices 的引用中断,并且它拒绝构建。

    这听起来像是一个损坏的项目文件。清理解决方案,删除 .suo 文件,删除 obj 和 bin 文件夹。

    然后将 CommonADFunctions.vb 移动到 App_Code 文件夹,并将 DLL 引用添加到 System.DirectoryServices。或者先在 App_Code 中创建 CommonADFunctions.vb 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      • 1970-01-01
      • 2020-07-17
      相关资源
      最近更新 更多