配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误消息: 未能加载文件或程序集“System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
源错误:
行 37: <compilation debug="true"> 行 38: <assemblies> 行 39: <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 行 40: <add assembly="Microsoft.Office.Tools.Excel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 行 41: <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> |
解决办法:
原来我的安装的ajax是2.0版本的,而开发的使用1.0版本的,所以出现这种问题。后来我把2.0卸载了,安装了1.0,这个问题就通过了。
表现:
1、"System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
2、后台系统即使添加引用后,不管此引用是系统还是用户,他们的属性和方法都不能识别;
解决方案一:
1、如果你的程序运行在你能控制的服务器上,那么安装asp.net ajax就行了,这是System.Web.Extensions等dll做为GAC部署;(一般安装ajax就能解决)
2、如果你的程序运行在虚拟主机上(无权安装程序),那么需要把System.Web.Extensions.dll和System.Web.Extensions.Design.dll
(通常在C:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/v1.0.61025目录下)2个dll复制到你的web程序的bin目录下就行了,这是应用程序级别的部署。
同时注意要检查web.config中的代码:
<assemblies>
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
<controls>
<add tagPrefix="atlas" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
解决方案二:
1.打开web.config,找到以下相关结点:
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"></add>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
2.将这些结果注释掉或删除,再重新编译就可以了.
这是因为VS2005编译的AJAX是1.0的,而VS2008能同时编译AJAX1.0和其他版本的.所以会出现冲突.
解决方案三:
PublicKeyToken=31bf3856ad364e35”
或它的某一个依赖项。系统找不到指定的文件
将asp.net Ajax安装上,然后将X:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 Ajax Extensions/v1.0.61025
目录下的System.Web.Extensions.Design.dll文件加到项目的bin目录下,文件复制到网站bin目录下后再次运行,
安装了asp.net Ajax后会有三个dll文件
System.Web.Extensions.Design.dll
AjaxExtensionsToolbox.dll
System.Web.Extensions.dll
一般应该将这三个文件都添加到项目的bin目录下,要保险的话,全部复制进去吧
前言:ASP.NET 2.0应用程序默认情况下不能引用ASP.NET Ajax 控件,如需引用,则必须配置web.config
参考:《ASP.NET Ajax 程序设计 第I 卷》——配置ASP.NET Ajax
配置步骤:
1、 添加引用
A、System.Web.Extensions. dll
(C:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/ v.1.0.61025)
B、Microsoft.Web.Preview.dll
(C:/Program Files/Microsoft ASP.NET/ ASP. NET 2.0 AJAX Futures January CTP/v.1.0.61025)
如需引用ajaxControlToolkit包中的控件,则还需引用AjaxControlToolkit.dll
2、 配置web.config方件
Web.config是实际上XML文档,其根元素为<configuration>
<!--配置asp.net ajax webconfig___1-->
<!--此节点必须作为<configuration>的第一个节点出现-->
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<!--若希望ASP.NET AJAX应用程序在运行时能够对客户端脚本文件进行压缩或缓存,则应该在
<sectionGroup name="scripting>中定义一个新的<section>如下所示-->
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
<!--配置asp.net ajax webconfig___2-->
<!—此节点作为<configuration>的一个子节点出现-->
<system.web.extensions>
<scripting>
<webServices>
</webServices>
<!--以下这段声明将在程序运行于Release模式时压缩客户端脚本库的大小。
如果不是程序中有非常特殊的需要,我们绝对应该添加这个HTTP模块以提高网络传输速度-->
<scriptResourceHandler enableCompression="true" enableCaching="true"/>
</scripting>
</system.web.extensions>
<!--配置asp.net ajax webconfig___3-->
<!--在<configuration>根元素中的<system.web>节中注册ASP.NET AJAX服务器端控件的前缀-->
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions,Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35"/>
<add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI" assembly="Microsoft.Web.Preview"/>
<add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI.Controls" assembly="Microsoft.Web.Preview"/>
</controls>
</pages>
<compilation debug="true">
<assemblies>
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></assemblies>
<!--配置asp.net ajax webconfig___4-->
<!--修改<compilation>节,允许调试和添加必要的用于调试的程序集-->
<!--上面代码中同样包含了<buildProviders>以及其中*.asbx文件的声明。
若应用程序不需要服务器端远程Web Service桥,则没有必要添加<buildProviders>中的这部分内容-->
<!--以下此节为新添加-->
<buildProviders>
<add extension="*.asbx" type="Microsoft.Web.Preview.Services.BridgeBuildProvider"/>
</buildProviders>
</compilation>
<!--配置asp.net ajax webconfig___5-->
在<system.web>节点中添加或者修改<httpHandlers>节点
<!--在<system.web>元素中,若你的ASP.NET AJAX应用程序中需要在客户端调用服务器端的Web Service,则需要对Web Service应用一些新的HTTP Handler,并为其生成必要的客户端JavaScript代理脚本。找到<system.web>元素中的< httpHandlers>子元素,移除现有的Web Service文件(.asmx)的Handler, 然后添加ASP.NET AJAX引入的新的Handler(*.asbx一项同样可以根据需要有选择地添加)-->
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
<add verb="GET,HEAD,POST" path="*.asbx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<!--配置asp.net ajax webconfig___6-->
<!--仍然是在<system.web>元素中添加如下的HTTP模块声明-->
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
<!--配置asp.net ajax webconfig___7-->
<!--在<configuration>节中添加<system.webServer>小节,为Web服务器进行相应的配置(这些配置是可选的,将只应用于IIS7中)-->
<system.webServer>
<validation validateIntegratedModeC/>
<modules>
<add name="ScriptModule" preC type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preC type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preC type="System.Web.Script.Services. ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" preC 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="ASBXHandler" verb="GET,HEAD,POST" path="*.asbx" preC type="System.Web.Script.Services. ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35"/>
</handlers>
</system.webServer>
System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35错误
2008-06-05 21:49
下载了别人AJAX的源码,运行却出现这个错误
原因是未能加载文件或程序集 system.web.extensions
System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
很明显的错误是缺少程序集.
解决办法:
1,如果你的程序运行在你能控制的服务器上,那么安装asp.net ajax就行了,这是System.Web.Extensions等dll做为GAC部署;
在百度输入(ASP.NET AJAX 1.0 下载)即可找到需要下载的软件
2,如果你的程序运行在虚拟主机上(无权安装程序),那么需要把System.Web.Extensions.dll和System.Web.Extensions.Design.dll
(通常在C:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/v1.0.61025目录下)2个dll复制到你的web程序的bin目录下就行了,这是应用程序级别的部署。
同时注意要检查web.config中的代码
<assemblies> <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </assemblies>
<controls> <add tagPrefix="atlas" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </controls>
我的不是控制在服务器上,所以安装完这ASP.NET AJAX 1.0后,然后将C:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/v1.0.61025目录下的System.Web.Extensions.dll和System.Web.Extensions.Design.dll复制到bin目录下就OK了!web.config中的代码没检查,因为运行成功了,也没考虑到那么多了!51aspx论坛中找到的解决方式!
|