【问题标题】:ASP.NET web application 'Could not load the assembly 'App_Web_'ASP.NET Web 应用程序'无法加载程序集'App_Web_'
【发布时间】:2015-07-19 11:44:59
【问题描述】:

我正在尝试部署我的第一个 ASP.NET Web 应用程序。

到目前为止,我已经转到 Build > Publish Web Site > Publish to file system,它已经创建了我的 Web 应用程序,将 .cs 文件打包到 bin 目录中的多个 .dll 中。然后我将此输出复制到我的网络服务器

在我的本地机器上开发时,所有内容都在同一个目录中,在 Web 服务器上,我的 Web 应用程序位于一个子目录中,即 root/myApplication。

我的根目录下的 web.config 是这样的:

<system.web>
<customErrors mode="Off"/>
 <compilation batch="false" targetFramework="4.5" />
  <httpRuntime targetFramework="4.5" />

  <roleManager enabled="false" defaultProvider="MyRoles">
    <providers>
      <clear />
      <add name="MyRoles"
           type="MtManagementRoles"
           connectionStringName="ControlConnection" 
           applicationName="/myApplication"/>
    </providers>
  </roleManager>

  <authentication mode="Forms">
    <forms loginUrl="myApplication/login.aspx" defaultUrl="myApplication/Home.aspx" name="ControlAuthentication" timeout="30" />
  </authentication>
</system.web>

每当我从 Web 服务器上的应用程序访问任何 .aspx 页面时,都会收到以下错误。

 Could not load the assembly 'App_Web_15jywomu'. Make sure that it is compiled before accessing the page.
<%@ page language="C#" autoeventwireup="true" inherits="Home, App_Web_15jywomu" %>

我见过许多其他类似的问题,但没有一个有明确的解决方案。我注意到在通过 Visual Studio 发布网站创建的 bin 文件夹中,有两个“编译文件”。在这些文件中,它提到了虚拟文件路径。此文件路径与我在 Visual Studio 项目中的解决方案名称和文件夹匹配,但与 Web 服务器目录不匹配。这也是个问题吗?

<preserve resultType="6" virtualPath="/WebTest/App_Code/" hash="2c00728f" filehash="" flags="140000" assembly="App_Code" />

【问题讨论】:

  • 如果您可以访问 IIS,请检查您的应用程序的框架版本并尝试创建一个新池..

标签: c# asp.net deployment compilation


【解决方案1】:

我找到了解决我自己问题的方法,所以我将发布我的解决方案,希望它能帮助其他人。

我的解决方案是将 bin 文件夹从我的子目录(包含我的应用程序)移动到我网站的根目录中。

如果您的应用程序不在您的根目录中,请尝试此修复。

【讨论】:

    【解决方案2】:

    我解决此问题的解决方案是清除“发布期间预编译”(发布/设置)中的复选框

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 2019-12-22
      相关资源
      最近更新 更多