【问题标题】:consuming classes from folder other than App_Code使用 App_Code 以外的文件夹中的类
【发布时间】:2011-03-22 22:01:56
【问题描述】:

我正在创建一个站点,其中我有一个包含一些 .cs 文件的文件夹。我想访问 .aspx 和 .ascx 文件中的这些类。我在其中创建了一些属性,但是当我创建类的对象时,我没有通过 IntelliSense 找到该属性。

如何使用和使用该 .cs 文件中的这些属性?

【问题讨论】:

  • 您应该添加更多信息,也许是代码示例以及这些 cs 文件的确切位置,然后我们将有更好的机会帮助您走上正确的道路 =)

标签: asp.net visual-studio dotnetnuke


【解决方案1】:

网站只会编译 App_Code 文件夹中的代码文件或引用控件的代码隐藏文件。无法引用 App_Code 文件夹之外的代码文件中定义的类。

如果您编译这些类并将生成的 dll 放入您网站的 bin 文件夹中,那么您可以引用它们。为此,您需要将它们添加到 Visual Studio 中的 Web 应用程序项目中。有关详细信息,请参阅Ian Robinson's WAP blog post

【讨论】:

    【解决方案2】:

    只要拥有这些属性public,你就会看到它们。

    如果仍然没有运气,请发布您的代码并告诉您:您可以创建类的实例而不会出错吗?您可以访问任何其他属性或方法吗?

    【讨论】:

    • 我在网站的根目录下有那些文件夹,文件夹名称是 Cross.DNN.Module.Article,命名空间与文件夹名称相同,实际上我使用的是 Dotnetnuke,这是Dotnetnuke 命名为 CrossArticle 用于管理文章。现在这些文件夹随crossarticle本身一起提供,现在我不能将cs文件放在App_Code中。所以我想知道我应该如何访问这些文件,CrossArticle 附带的控件使用这些文件.. 但是当我在这个类中添加新属性时。我看不到他们..
    • 实际上这些文件是CrossArticle附带的额外源文件,我认为CrossArticle直接使用DLL中的类。所有这些源文件都在哪里编译,那么我应该如何修改代码并在编译的 DLL 中添加更改,以便我的控件可以访问新的属性和方法。
    • @Abbas 您必须获取该 DLL 的源代码,添加您的内容并再次编译。否则你就走投无路了,抱歉。
    • 我有那个 DLL 的源代码,但不知道如何再次编译对 DLL 的更改
    • 如果您也有.csproj 文件,请使用 Visual Studio 打开它,进行更改,右键单击项目并选择构建。如果你只有.cs文件在Visual Studio中创建新项目,右键-->属性-->将程序集名称改为DLL的名称-->进行更改,右键构建。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多