将项目上载到服务器后出现ASP.NET错误

时间:2010-09-23 19:48:10

标签: asp.net iis

将我的项目上传到服务器后,我收到以下错误,请告诉我以下错误是什么

  

CS0433:“课程”类型同时存在于'c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 672b2bdf \ 9fb2ad98 \ assembly \ dl3 \ afaf3b67 \ f1871969_3e5bcb01 \ App_Code .DLL'和'c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 672b2bdf \ 9fb2ad98 \ assembly \ dl3 \ 29fd4e0e \ f1751c7e_3e5bcb01 \ App_Web_spb4jssk.DLL'

Line 111:    [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
Line 112:    public class admin_course_aspx : global::Course, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {
Line 113:        
Line 114:    private static bool @__initialized

Source File:  c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\672b2bdf\9fb2ad98\App_Web_course.aspx.fdf7a39c.gdurkajz.0.cs
Line: 112

2 个答案:

答案 0 :(得分:1)

看起来您可能有一个网站,而不是Web应用程序项目。

对于网站,您会获得许多任意命名的.DLL,例如上面的“App_Web_spb4jssk.DLL”。每次编译时这些名称都不同。

可能发生的情况是,当您将新dll添加到生产服务器时,旧的dll(具有不同的名称)仍然存在,并且包含与新的dll相同的类名。

您需要做的是在上传新服务器之前删除生产服务器bin目录中的所有内容。

理想情况下,您应该做的是将您的网站转换为Web应用程序项目。


更新

Here is an article,描述了如何将网站转换为Web应用程序项目。它特定于VS2005,但VS2008和VS2010的步骤基本相同。

网站和Web应用程序项目之间的区别在于,在Web应用程序中,有一个项目文件可以跟踪您网站的所有文件和设置,就像任何其他Visual Studio项目一样。 Web应用程序还将整个站点编译为一个dll。

如果您的网站没有项目文件,则它不会明确知道您希望如何编译您的网站,因此最终会创建一堆随机名称的单独dll文件。

答案 1 :(得分:0)

我也会推荐克劳迪奥所说的。但是,您可能需要仔细检查App_Code目录中没有任何源文件在本地副本中被删除(因为它们被移动到不同的DLL中)

相关问题