Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 应用程序代码之外的页面类将不会编译_Asp.net_Compilation_App Code - Fatal编程技术网

Asp.net 应用程序代码之外的页面类将不会编译

Asp.net 应用程序代码之外的页面类将不会编译,asp.net,compilation,app-code,Asp.net,Compilation,App Code,我有一个网站,有2个文件,如下所示: page.aspx page.aspx.cs 过去,我可以将新文件放到web服务器上,IIS会自动编译这些文件,我可以访问该页面,例如 。。。并且.cs文件中包含的page类中的相关功能可以很好地工作 现在我得到了错误:“无法加载类型namespace.classname”,它引用了我的页面类 现在出于某种奇怪的原因,我不得不把所有的.cs文件,甚至页面类都放到app_代码文件夹中 我的网站上发生的所有变化是,我重新组织了结构,使我的页面不再位于web

我有一个网站,有2个文件,如下所示:

  • page.aspx
  • page.aspx.cs
过去,我可以将新文件放到web服务器上,IIS会自动编译这些文件,我可以访问该页面,例如

。。。并且.cs文件中包含的page类中的相关功能可以很好地工作

现在我得到了错误:“无法加载类型namespace.classname”,它引用了我的页面类

现在出于某种奇怪的原因,我不得不把所有的.cs文件,甚至页面类都放到app_代码文件夹中

我的网站上发生的所有变化是,我重新组织了结构,使我的页面不再位于web根目录中,而是位于其内部

出于某种原因,所有my page.aspx.cs文件现在都必须在app_代码中


有什么想法吗?

听起来你把一个Web应用程序项目和一个Web站点混在一起了

你确定这些文件完全相同吗?也许一个@Page指令说codebeahind=Page.aspx.cs,另一个说CodeFile=Page.aspx.cs

CodeBehind需要编译项目,所以您不能只插入一个新的.cs文件,您需要上传一个新编译的DLL。代码文件将允许动态编译

访问应用程序时,会动态编译App_代码目录(在这两种情况下),因此当您将文件放在其中时,Inherit指令具有有效的类型。一般来说,不要这样做。您希望.cs文件与.aspx文件一起使用。对与特定页面无关的业务逻辑或实用程序类使用App_代码


最后,这个新的子目录是否在IIS中设置为新的应用程序?新目录中的web.config文件发生了什么变化?您运行的是同一版本的ASP.NET吗?检查“编译”标记。我不确定你能在那里做些什么来造成这种情况,但我肯定你会造成一些混乱。

你能发布一些代码吗?你不是在使用Visual Studio来管理你的web项目吗?如果你是的话,这种情况似乎不太可能发生。是的,使用VS。我们发现从我的电脑上传的文件工作正常。然而,从我同事的电脑上传的文件完全相同,无法正常工作。他的文件,总是要把.cs文件放到app_code文件夹中!即使是只有一个响应的非常基本的文件。在页面加载中写入也不起作用。每当他将文件上传到服务器时,只有将.cs文件放在app_代码中,这些文件才会工作。您的项目是网站还是Web应用程序?