不过可以通过手动的方式创建,添加一个文件夹命名为App_Code就可以了。这样子创建的和在网站中创建的App_Code的在外观上一样的。
在App_Code创建类时,会发现没有智能提示。在页面后台引用时,会抱错,说不存在。
解决的办法就是选中你的类文件,在属性中”高级“中的”生成 *** 作“默认”内容“要改为编译就可以了。
2、也可以为Web应用程序项目中添加"App_LocalResources",在这个文件夹下添加类也是可以的,就不需要添加App_Code文件夹了。
3、还可以随便建个文件夹,或者根本就不用文件夹直接添加了类,只要修改了类高级属性的”生成 *** 作“改为”编译“就可以
网站中的共享代码文件夹 如果您的 Web 应用程序包括要在多个页之间共享的代码 您可以将代码保存在 Web 应用程序根目录下的两个特殊文件夹(Bin 文件夹和 App_Code 文件夹)中的某个文件夹中 当您创建这些文件夹并在其中存储特定类型的文件时 ASP NET 将使用特殊方式处理这些文件 Bin 文件夹 可以在 Bin 文件夹中存储编译的程序集 并且 Web 应用程序任意处的其他代码(如页代码)会自动引用该文件夹 典型的示例是您为自定义类编译好的代码 您可以将编译后的程序集复制到 Web 应用程序的 Bin 文件夹中 这样所有页都可以使用这个类 Bin 文件夹中的程序集无需注册 只要 dll 文件存在于 Bin 文件夹中 ASP NET 就可以识别它 如果您更改了 dll 文件 并将它的新版本写入到了 Bin 文件夹中 则 ASP NET 会检测到更新 并对随后的新页请求使用新版本的 dll 文件 Bin 文件夹的安全性 将编译后的程序集放入 Bin 文件夹中会带来安全风险 如果是您自己编写和编译的代码 那么您了解代码的功能 但是 您必须像对待任何可执行代码一样来对待 Bin 文件夹中已编译的代码 在完成代码测试并确信已了解代码功能之前 要对已编译的代码保持谨慎的态度 请注意以下安全方面的知识 这些知识与是否将已编译的代码放入 Bin 文件夹有关 Bin 文件夹中程序集的作用范围为当前应用程序 因此 它们无法访问当前 Web 应用程序之外的资源或调用当前 Web 应用程序之外的代码 运行时 程序集的访问级别由本地计算机上指定的信任级别确定 有关更多信息 请参见 ASP NET 信任级别和策略文件 如果您使用了诸如 Visual Studio 这样的设计器 那么 Bin 文件夹中的代码运行所在的上下文与运行时不同 例如 代码可能以完全信任状态运行App_Code 文件夹 可以在 App_Code 文件夹中存储源代码 在运行时将会自动对这些代码进行编译 Web 应用程序中的其他任何代码都可以访问产生的程序集 因此 App_Code 文件夹的工作方式与 Bin 文件夹很类似 不同之处是您可以在其中存储源代码而非已编译的代码 App_Code 文件夹及其在 ASP NET Web 应用程序中的特殊地位使您可以创建自定义类和其他仅源代码文件 并在 Web 应用程序中使用它们而不必单独对它们进行编译 App_Code 文件夹可以包含以传统类文件(即带有 vb cs 等扩展名的文件)的形式编写的源代码文件 但是 它也可以包含并非明确显示出由某一特定编程语言编写的文件 例如 wsdl(Web 服务描述语言)文件和 xml 架构 ( xsd) 文件 ASP NET 可以将这些文件编译成程序集 根据您的需要 App_Code 文件夹可以包含任意数量的文件和子文件夹 您可以采用任何您认为方便的方式组织源代码 ASP NET 仍会将所有代码编译成单个程序集 并且 Web 应用程序任意处的其他代码都可以访问该程序集 注意 在 App_Code 文件夹中不允许使用用户控件 这包括单文件用户控件以及使用代码隐藏模型的用户控件 将用户控件置于 App_Code 目录中会导致不按用户控件代码所要求的顺序对其进行编译 因此是不允许的 请注意 不需要将用户控件置于 App_Code 文件夹中 因为处于应用程序中任何位置的页都已经可以使用这些控件 推断 App_Code 文件夹的编程语言 App_Code 文件夹并未显式标记为包含以任何一种编程语言编写的文件 相反 ASP NET 是根据 App_Code 文件夹所包含的文件来推断应为 App_Code 文件夹调用哪一种编译器 如果 App_Code 文件夹包含 vb 文件 则 ASP NET 使用 Visual Basic 编译器 如果包含 cs 文件 则 ASP NET 使用 C# 编译器 以此类推 如果 App_Code 文件夹只包含并未明确表明编程语言的文件(如 wsdl 文件) 则 ASP NET 将使用 Web 应用程序的默认编译器 默认编译器在 Web 应用程序或计算机配置文件的 pilation 元素中确定 在 App_Code 文件夹中使用多种编程语言 因为 App_Code 文件夹中的源代码要编译成单个程序集 所以 App_Code 文件夹中的所有文件必须使用相同的编程语言编写 例如 App_Code 文件夹不能同时包含采用 Visual Basic 和 C# 编写的源代码 但是 您可以对 Web 应用程序进行配置 使其将 App_Code 文件夹的子文件夹作为独立的可编译单元处理 这样 每一个文件夹就可以包含以不同编程语言编写的源代码 通过在 nfig 文件的 codeSubDirectories 元素中创建一个 pilation 元素 然后添加一个对子文件夹的引用 即可指定该配置 下面的示例阐释如何对名为 VBCode 和 CSCode 的子文件夹进行配置 使其编译成不同的程序集 复制代码 <pilation debug= false > <codeSubDirectories> <add directoryName= VBCode /> <add directoryName= CSCode /> </codeSubDirectories> </pilation>对 VBCode 和 CSCode 子文件夹的引用并不需要包括任何有关子文件夹中所包含的编程语言的信息 就像对待 App_Code 文件夹本身一样 ASP NET 会根据子文件夹中的文件来推断要使用的编译器 App_Code 文件夹的安全性 App_Code 文件夹中的代码存在的安全问题基本上与 Bin 文件夹中的代码存在的安全问题相同 代码都会在运行时编译成程序集 比 Bin 文件夹要好一些的是 您可以阅读 App_Code 文件夹中文件的源代码 但是 如果您不能完全理解代码 仍然会存在安全风险 因此 对待 App_Code 文件夹中的源代码的态度必须像对待基于同样的源代码生成的已编译代码一样谨慎 lishixinzhi/Article/program/net/201311/13410
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)