使用Visual Studio 2012在Web应用程序项目中的App_Code文件夹

时间:2014-12-24 18:51:27

标签: asp.net visual-studio-2012 app-code

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

我知道文件属性中的" Build Action" 选项,如果我们将其设置为"编译", Visual Studio将编译代码(位于 App_Code 文件夹中),因此目的失败。但是,如果我将" Build Action" 保留到" Content" (这是有道理的)那么我就无法访问课程在该文件夹中来自应用程序的任何其他部分。

如果我将文件" Build Action" 保存到" Content&我如何从 App_Code 文件夹外部访问此代码#34;

2 个答案:

答案 0 :(得分:0)

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

如果您不希望网络服务器每次更改app_code中的文件时重新编译网站,您将不得不使用脚本方法(您可以参考https://stackoverflow.com/.../what-is-the-best-scripting-language-to-embed-in-a-c-sharp-desktop-application)。有很多关于脚本的资源,所以我不会在这里举例。

答案 1 :(得分:-2)

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

以下是从另一个答案中复制的基本代码。

How to read embedded resource text file

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();
}