我有一个网站没有利用App_Code文件夹进行jit编译代码文件(这就是App_code的用途,对吧?)。相反,开发人员必须将页面所需的所有必要类填入代码文件,或者将单个.cs文件填充到页面上的Assembly Directive src(这是因为源文件之间存在依赖关系)。 / p>
对于彼此依赖的类,有没有办法放在不同的文件中?
例如,Presenter.cs依赖于Model.cs。我想在我的Presenter.cs页面中添加一个汇编指令,并让它开心。但由于这不能编译Model.cs,它不起作用。为两个代码文件添加程序集引用也不起作用。
我缺少一种机制吗?
编辑:我认为答案是App_Code文件夹是为这个任务完全创建的,并且没有其他/更好的方法来完成它。
答案 0 :(得分:0)
当你说“CodeBehind”时你实际上指的是“CodeFile”吗? (我不喜欢“ASP.NET网站”并喜欢MVC的众多原因之一。)
AFAIK,ASP.NET运行时将所有App_Code文件一起编译到它们自己的程序集中,但是每个页面的CodeFile(而不是它们的CodeBehind)中的代码只能引用这个匿名程序集而不能引用彼此的代码。
您能否通过“页面装配参考”澄清您的意思?你在做<%@ Assembly %>
还是你的意思是命名空间导入<%@ Import %>
(因为正如我所说,很多代码被编译成一个匿名的程序集)。
我建议您只需将公共代码和类移动到App_Code中的* .cs文件即可。它应该工作。