我正在使用visual studio 2012.我在项目中创建了一个名为“Handler”的目录,并添加了一个aspx文件和.cs文件(都是从第三方工具下载的)。所有代码都运行正常。
现在,我已将项目发布到另一个目录。在已发布的目录中,我已经标记了“Handler”文件夹的aspx页面,但没有.cs页面。
现在,当我在“Handler”中请求aspx页面时,我收到错误404 xxxx.aspx页面未找到。现在,如果我正在处理路径并点击该页面的网址,那么我收到的错误是找不到xxxx.aspx.cs文件。
据我所知,每当我们构建项目时,所有代码都将构建到bin文件夹中的dll。那么为什么这个文件是必需的.cs文件?
感谢。
答案 0 :(得分:1)
这取决于您的aspx页面的@Page指令的属性
我猜您的第三方网页@page
指令包含CodeFile
属性。
CodeFile
属性指出,即使.aspx.cs
在Visual Studio中被编译(假设它只是被检查),编译的结果也不会被放入构建的dll中
第一次调用时,.aspx.cs
将与.aspx
一起编译。
这允许您编辑已部署的aspx.cs
并立即获得结果(可以看作方便或有风险)
据我所知,每当我们构建项目时,所有代码 将在bin文件夹中构建到dll。那么为什么这个文件是必需的.cs 文件?
在默认情况下,在页面指令中具有CodeBehind属性而不是CodeFile属性
时就是这种情况请参阅documentation for @Page element
中的CodeBehind和CodeFile属性请注意,您可以在Web应用程序项目中使用CodeFile属性。我一直这样做。