2013-03-08 83 views
0

当我的ASP.NET项目部署到我们的服务器时,我有一些问题。ASP.net部署组装错误

Web.config文件:

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 
<configuration> 
    <!--For crystal Report--> 
    <configSections> 
    <sectionGroup name="businessObjects"> 
     <sectionGroup name="crystalReports"> 
     <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" /> 
     <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" /> 
     </sectionGroup> 
    </sectionGroup> 
    </configSections> 
    <businessObjects> 
    <crystalReports> 
     <rptBuildProvider> 
     <add embedRptInResource="true" /> 
     </rptBuildProvider> 
     <crystalReportViewer> 
     <add key="ResourceUri" value="/crystalreportviewers13" /> 
     </crystalReportViewer> 
    </crystalReports> 
    </businessObjects> 
    <appSettings> 
    <add key="CrystalImageCleaner-AutoStart" value="true" /> 
    <add key="CrystalImageCleaner-Sleep" value="60000" /> 
    <add key="CrystalImageCleaner-Age" value="120000" /> 
    <!--For crystal Report--> 
    </appSettings> 
    <connectionStrings> 
    <clear />   

    <add name="EB_WebProjectEntities" connectionString="metadata=res://*/ClassModel.Database.EB_WebProject.csdl|res://*/ClassModel.Database.EB_WebProject.ssdl|res://*/ClassModel.Database.EB_WebProject.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=NATE-PC\SQLEXPRESS2008;initial catalog=EB_NEW;user id=user1;password=user;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    <add name="EB_NEWConnectionString" connectionString="Data Source=NATE-PC\SQLEXPRESS2008;Initial Catalog=EB_NEW;Persist Security Info=True;User ID=user1;Password=user" providerName="System.Data.SqlClient" />  

    <!--<add name="EB_WebProjectEntities" connectionString="metadata=res://*/ClassModel.Database.EB_WebProject.csdl|res://*/ClassModel.Database.EB_WebProject.ssdl|res://*/ClassModel.Database.EB_WebProject.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=KOO-PC\SQLEXPRESS;initial catalog=EB_NEW;user id=user1;password=user;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    <add name="EB_NEWConnectionString" connectionString="Data Source=KOO-PC\SQLEXPRESS;Initial Catalog=EB_NEW;Persist Security Info=True;User ID=user1;Password=user" providerName="System.Data.SqlClient" />-->   

    </connectionStrings> 
    <!--Koo Testing Server--> 
    <system.web> 
    <customErrors mode="Off" defaultRedirect="~/Module/SharedPage/ErrorPage.aspx"> 
     <error statusCode="403" redirect="~/Module/SharedPage/ErrorPage.aspx" /> 
     <error statusCode="404" redirect="~/Module/SharedPage/ErrorPage.aspx" /> 
    </customErrors> 
    <httpHandlers> 
     <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" /> 
     <add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" /> 
    </httpHandlers> 
    <pages enableSessionState="true" /> 
    <httpRuntime executionTimeout="86400" /> 
    <!--set the default time format to Malaysia (Koo-8/3/2011)--> 
    <globalization culture="en-MY" uiCulture="en" responseEncoding="utf-8" /> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     <add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" /> 
     <add assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" /> 
     <add assembly="CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" /> 
     <add assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" /> 
     <add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" /> 
     <add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" /> 
     <add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" /> 
     <add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" /> 
     <add assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" /> 
     <add assembly="CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" /> 
     <add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" /> 
     </assemblies> 
     <buildProviders> 
     <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     </buildProviders> 
    </compilation> 
    <authorization> 
     <allow users="*" /> 
    </authorization> 
    <membership> 
     <providers> 
     <clear /> 
     <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> 
     </providers> 
    </membership> 
    <profile> 
     <providers> 
     <clear /> 
     <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" /> 
     </providers> 
    </profile> 
    <roleManager enabled="false"> 
     <providers> 
     <clear /> 
     <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" /> 
     <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" /> 
     </providers> 
    </roleManager> 
    <!--HTTPMODULE Part--> 
    <httpModules> 
     <add name="ValidateUser" type="BLClass.BLCommon.HMValidateType" /> 
    </httpModules> 
    <!--HTTPMODULE Part--> 
    </system.web> 
    <system.web.extensions> 
    <scripting> 
     <scriptResourceHandler enableCompression="true" enableCaching="true" /> 
    </scripting> 
    </system.web.extensions> 
    <system.webServer> 
    <modules> 
     <add name="ValidateUser" type="BLClass.BLCommon.HMValidateType" preCondition="" /> 
    </modules> 
    <handlers> 
     <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode" /> 
    </handlers> 
    <validation validateIntegratedModeConfiguration="false" /> 
    </system.webServer> 
</configuration> 

以下是错误我得到

Parser Error Message: 
Could not load file or assembly 'System.Design, Version=4.0.0.0, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 

Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

Could not load file or assembly 'CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified. 

相关crystaldecision所有组件抛出上述错误。任何人都有解决方案?我正在使用窗口服务器2008.

+2

你有'bin'文件夹中的那些DLL吗? – 2013-03-08 18:23:17

+3

第1步,在您的生产服务器上,确保文件实际上已安装。 – 2013-03-08 18:23:55

+0

Ya.I在我的bin文件夹中有这些dll。我尝试部署我的本地主机。它可以运行。但是部署到其他服务器。它给这个错误 – user998405 2013-03-08 18:25:14

回答

1

您需要在服务器上安装Crystal Reports重做器。这篇文章有一些很好的解释和链接到下载Crystal Reports 13 And Asp.Net 3.5

+0

嗨,我尝试安装水晶报告。但我得到“你必须已经安装了VS 2010才能继续安装” – user998405 2013-03-09 08:56:33

+0

这两个zip文件包含重新分发(你需要这个)。 .exe是Visual Studio的一个附件。 (它在服务器上不好) – tgolisch 2013-03-09 14:05:26

0

如果您部署到64位机器,您需要在运行您的网站的应用程序池中启用32位应用程序。就我所知,Log4net是32位的dll。

您可以在应用程序池设置中看到this question

+0

嗨在我的应用程序池中,我已经将Enable 32位设置为true – user998405 2013-03-08 18:28:38

+0

您是否在服务器上安装了Crystal Reports重做器,正如@tgolisch在他的答案中提到的那样?我忘记了,你也需要这样做。 – Maarten 2013-03-08 18:34:38

+0

您是否在服务器上安装了.net 4.0,并且您是否将应用程序池设置为.net 4.0? – Maarten 2013-03-08 18:35:54