1

我正在使用 Visual Studio 2012。我在我的项目中创建了一个名为“Handler”的目录,并向其中添加了一个 aspx 文件和 .cs 文件(均从第三方工具下载)。所有代码工作正常。

现在,我已将项目发布到另一个目录。在已发布的目录中,我标记了“处理程序”文件夹中的 aspx 页面,但没有 .cs 页面。

现在,当我在“处理程序”中请求 aspx 页面时,我收到错误 404 xxxx.aspx 页面未找到。现在,如果我正在处理路径并点击该页面的 url,那么我会收到错误,即找不到 xxxx.aspx.cs 文件。

据我所知,每当我们构建项目时,所有代码都会构建到 bin 文件夹中的 dll 中。那为什么这个文件需要.cs文件呢?

谢谢。

4

1 回答 1

1

这将取决于您的 aspx 页面的 @Page 指令的属性

我猜您的第三方页面@page指令包含一个CodeFile属性。

CodeFile属性指出,即使.aspx.cs在 Visual Studio 中编译(假设它只是被检查),编译的结果也不会放入生成的 dll 中。

将与第一次调用时.aspx.cs一起编译。.aspx这允许编辑您的部署aspx.cs并立即获得结果(这可以被视为方便或有风险)

据我所知,每当我们构建项目时,所有代码都会构建到 bin 文件夹中的 dll 中。那为什么这个文件需要.cs文件呢?

这是在默认情况下的情况,在页面指令中具有 CodeBehind 属性,而不是 CodeFile 属性

请参阅@Page 元素文档中的CodeBehind 和 CodeFile 属性

请注意,您可以在 Web 应用程序项目中使用 CodeFile 属性。我一直都这样做。

于 2013-10-18T08:05:09.220 回答