【问题标题】:ASP.NET error after uploading project to server将项目上传到服务器后出现 ASP.NET 错误
【发布时间】:2010-09-23 19:48:09
【问题描述】:

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

CS0433:“Course”类型存在于“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

【问题讨论】:

    标签: asp.net iis


    【解决方案1】:

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

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

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

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

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


    更新:

    Here is an article 描述了如何将网站转换为 Web 应用程序项目。 VS2005特有的,但是VS2008和VS2010的步骤基本一样。

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

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

    【讨论】:

    • 如何将我的网站转换为 Web 应用程序项目,这样做有什么区别和优势?
    • 更新了我对您问题的回答。
    • 我已经从服务器中删除了我的所有数据并重新更新了已发布的项目,但无济于事,我得到了同样的错误
    • 您可能还需要删除所有 JIT 文件。这些可以在这里找到:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 删除该文件夹中的所有文件和文件夹。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-13
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多