我已经将一个App_Code目录添加到我的ASP.NET MVC项目中,以便我获得插件的动态编译.
只有轻微的烦恼是,在开发新的插件时,我不会在App_Code目录中的类上获得智能感知.
目前我在项目中的另一个目录中创建它们,然后将它们复制到App_Code中.
有没有办法解决?
[更新]
我在下面贴了一个"答案".从技术上讲,这是基于我自己的规范回答问题,不需要使用工具(即智能感知)来创建插件.但是,这确实提出了一个问题,即如何在不使用App_Code的情况下实现动态编译的插件框架.由于这个问题与原版有很大的不同,我会单独提出.
当在其中进行或检测到更改时,Visual Studio如何处理App_Code文件夹?不是IIS或ASP.NET.
我希望每当我将代码文件保存在网站项目的大型App_Code文件夹中时,可以更好地理解Visual Studio长时间冻结的原因.或者,我可以问:为什么Visual Studio在处理同样大的类库中的文件时不会出现这些相同的冻结?
理想情况下,我希望看到Microsoft提供的关于在Visual Studio中处理App_Code文件夹的问题的官方文档,以及与处理类库不同的情况.
我有一个ASP.NET页面,其中一个按钮可见.
当用户单击它时 - 它的实例MyClass(它的实现位于AppCode目录中)并变为不可见(button2变为可见).
当我单击button2时,它会引发"对象引用未设置为对象的实例"异常.
什么似乎是问题?
{
public MyClass noviTest;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
noviTest = new MyClass(TextBox1.Text);
Button1.Visible = false;
Button2.Visible = true;
}
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text=noviTest.getID; //this is the critical line
}
}
Run Code Online (Sandbox Code Playgroud) 我做了一个mvc4项目.这是一个标准的互联网项目Visual Studio Express 2012 for Web.在那里我添加了一个名为的文件夹App_Code,在里面我做了一个class调用SessionHandler.cs.然后我打开_Layout.cshtml/views/shared/_Layout.cshtml中的预制文件.在那里,我尝试调用SessionHandler.cs我创建的类,但它似乎无法找到类.
如何让SessionHandler.cs课程可见_Layout.cshtml?
只需在我的项目中添加更多信息:
结构:

SessionHandler.cs文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace TestingGround01.App_Code
{
public class SessionHandler
{
}
}
Run Code Online (Sandbox Code Playgroud)