ASP.NET Web应用程序'无法加载程序集'App_Web _'

时间:2015-05-08 14:07:30

标签: c# asp.net deployment compilation

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

到目前为止,我已经去了Build>发布网站>发布到文件系统,它创建了我的Web应用程序,将.cs文件打包到多个.dll的bin目录中。然后我将此输出复制到我的Web服务器

在我的本地计算机上进行开发时,所有内容都在同一目录中,在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" />

2 个答案:

答案 0 :(得分:1)

我找到了自己问题的解决方案,所以我会发布我的解决方案,以便有希望帮助他人。

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

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

答案 1 :(得分:0)

我解决这个问题的方法是在发布期间预先编译&#34;清除复选框&#34; (发布/设置)