Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用Visual Studio 2012的Web应用程序项目中的App_代码文件夹_Asp.net_Visual Studio 2012_App Code - Fatal编程技术网

Asp.net 使用Visual Studio 2012的Web应用程序项目中的App_代码文件夹

Asp.net 使用Visual Studio 2012的Web应用程序项目中的App_代码文件夹,asp.net,visual-studio-2012,app-code,Asp.net,Visual Studio 2012,App Code,我知道网站项目中App_Code文件夹的功能,但是如果我想在Web应用程序项目中添加此文件夹,目的仍然相同,即我想在我的应用程序中添加一些未编译的代码 我知道文件属性中有“buildaction”选项,如果我们将其设置为“Compile”,VisualStudio将编译代码(即在App_代码文件夹中),因此无法达到此目的。但如果我将“构建操作”保留为“内容”(这很有意义),那么我就无法从应用程序的任何其他部分访问此文件夹中的类 如果我将文件“构建操作”保存到“内容”中,如何从App_code文件

我知道网站项目中App_Code文件夹的功能,但是如果我想在Web应用程序项目中添加此文件夹,目的仍然相同,即我想在我的应用程序中添加一些未编译的代码

我知道文件属性中有“buildaction”选项,如果我们将其设置为“Compile”,VisualStudio将编译代码(即在App_代码文件夹中),因此无法达到此目的。但如果我将“构建操作”保留为“内容”(这很有意义),那么我就无法从应用程序的任何其他部分访问此文件夹中的类


如果我将文件“构建操作”保存到“内容”中,如何从App_code文件夹外部访问此代码?

我认为这不是标准。。根据您的需要,您可以使用.cs(假设为C#)并在不创建dll的情况下编译构建操作。对web服务器的第一个请求是为您编译网站


如果您不希望每次更改应用程序代码中的文件时Web服务器都重新编译网站,那么您必须使用脚本方法(您可以参考)。有很多关于脚本编写的资源,所以我在这里不举例子。

通过对程序集进行反思并以这种方式获取数据,您可以访问应用程序中的任何内容文件。我通常使用诸如redgate的reflector之类的工具来查看文件及其命名方式。然后,我使用如下代码将文件实际读入字符串

下面是从另一个答案复制的基本代码


你想完成什么?我想访问App_code文件夹中的代码。我还想把“构建行动”改为“内容”。对不起,你的要求毫无意义。没有编译的代码的用途是什么?如果它没有被编译,你认为它会做什么?它在web应用程序项目中没有任何用途。它不用于web应用程序项目。您无法访问
App\u code
中文件中的代码,因为它未被编译。必须先编译代码文件,然后才能编写代码。否则它们只是没有意义的文本文件。。。。或其他操作所需的资源,您的程序在运行时读取这些资源。为模板文件、配置文件等构建操作“内容”。OP没有提到资源。她询问如何访问其他文件夹中的代码。他可以将属性设置为embedded并按照我的建议执行。所以,是的,他问了这个问题。
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyCompany.MyProduct.MyFile.txt";

using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
  string result = reader.ReadToEnd();
}