不允许目录'/website/App_Code/',因为应用程序已预编译



如何解决运行预编译的web应用程序时遇到的以下问题?

Server Error in '/CRM' Application.
    The directory '/CRM/App_Code/' is not allowed because the application is precompiled.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    Exception Details: System.Web.HttpException: The directory '/CRM/App_Code/' is not allowed because the application is precompiled.
    Source Error:
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
    Stack Trace:

    [HttpException (0x80004005): The directory '/CRM/App_Code/' is not allowed because the application is precompiled.]
       System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) +8777420
       System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories) +125
       System.Web.Compilation.BuildManager.CompileCodeDirectories() +387
       System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +248
    [HttpException (0x80004005): The directory '/CRM/App_Code/' is not allowed because the application is precompiled.]
       System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +62
       System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +421
       System.Web.Compilation.BuildManager.CallAppInitializeMethod() +31
       System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +605
    [HttpException (0x80004005): The directory '/CRM/App_Code/' is not allowed because the application is precompiled.]
       System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +8946484
       System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +97
       System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +258

    Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

根据您的情况,有三种可能的情况:

查看此链接http://www.beansoftware.com/ASP.NET-FAQ/Directory-App_Code-Not-Allowed.aspx

基本上,如果你预先编译了你的应用程序,就不应该有一个app_Code文件夹。如果你后来添加了它,你应该删除它。

可能是由于某种原因,预编译的.config文件已进入生产环境。删除该文件将解决App_Code目录错误。

删除"precompiledApp.config"文件应该可以解决您的问题。

在我的情况下,我使用"ASPX文件可更新"选项进行编译。我想我的网站运行的IIS不喜欢这样。

一旦我重新编译并选中"ASPX文件可更新"选项,问题就消失了。

在我的案例中,我错误地强制发布了一个类,这导致了这个问题。

解决方案是对有问题的类进行更新,然后使用"从目标网站删除未使用的文件"选项再次发布。(在发布模式选项下(

相关内容

最新更新