ASP.NET编译执行常见错误及解决方法汇总之五(终结篇)

41. 包加载失败

  未能正确加载包"Visual Web Developer Trident Designer Package"(GUID =

  {30AE7E28-6C02-496D-8E43-85F7A90AEFF1}。请与包供应商联系以获得帮助。由于可能会发生环境损坏,建议重新启动应用程序。要禁止将来将来加载此包吗?可以使用“devenv .reswetskippkgs”重新启用包加载。

  每次开机打开vs2005都会有这个提示,烦...

  于是在google了一下,发现很多方法都试过了,只有一个解决一试就行

  解决方法如下:

  1、设置系统变量 VsLogActivity=1

  2、在%APPDATA%\Microsoft\VisualStudio\8.0\文件夹下创建文件ActivityLog.xml

  3、从 WINNT\MicroSoft.NET\Framework\v2.0.xxx 复制文件gdiplus.dll 到 Program Files\Visual Studio 8\Common7\Packages文件夹下

  4、在命令行下运行命令 :devenv /resetskippkgs

  注:发现此问题只有在win2000会出现,win2003就不会出现这个问题.


42.用户"xxx\ASPNET登录失败"

  第一步

  把'NT AUTHORITY.NetWORK SERVICE' 添加到Administrator组中

  我的电脑-->右键-->管理-->本地用户和组

  选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选.Network Service用户-->两次单击“确定”-->加入。

  第二步 在企业管理器中加.Network Service用户

  打开Sql Server企业管理器-->选择数据库实例-->打开“安全性”节点-->选择“登录”-->在右边的列表中单击右键-->选择“新建登录”-->在“常规”选项卡中单击“名称”旁边的按钮“...”-->选择“Administrators”组-->单击下面的“成员”按钮-->选择.Network Service”-->单击“添加”按钮-->单击“确定”,返回“新建登录”对话框-->保证身份验证类型为“windows验证”和“允许访问”-->单击“确定”-->关闭“企业管理器”

  第三步

  重新运行asp.Net程序,数据库连接字符串选择windows验证即可。

  以上针对win2003,如果是win2000 加ASp.Net用户

43.无法在“”已存在的情况下创建/影像复制该文件

  解决方法:重新编译整个项目 或者重启电脑

44.Could not create an environment: OCIEnvCreate returned -1

  解决方案一:

  主要是将oracle主目录oracle\的读写权限赋予asp.net或者是IUSER_..和IWAM_..,重启计算机。

  解决二:

  打开在IIS中的WEB属性--主目录--执行权限【改为-脚本和可执行文件】;

  -应用程序池【改为-MSSharePointAppPool】,刷新OK;

  解决三:

  文件夹权限可以不用管。

  设置ORACLE_HOME变量的方法如下

  控制面板>>系统>>高级>>环境变量>>系统变量>>新建系统变量

  变量名写ORACLE_HOME

  变量值添实际的ORACLE_HOME路径,在注册表中有

45.由于目标机器积极拒绝,无法连接

  在添加完引用后, 用localhost替换掉所有的localhost:2473,重新编译

46.能加载视图状态。

正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。例如,当以动态方式添加控件时,在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配

  解决:在页面的 Page 项添加 EnableViewState="false" 即可

46.在以下方法或属性之间的调用不明确:“method1”和“method2”

  因隐式转换的缘故,编译器无法调用重载方法的某种形式。可以用以下方法纠正该错误:

  以不发生隐式转换的方式指定此方法的参数。

  移除此方法的所有重载。

  在调用方法之前,强制转换到正确的类型。

47.在应用程序级别以外使用注册为 allowDefinition='MachineToApplication'

  解决:在网站对应的虚拟目录上右键,选属性,然后在应用程序名后点创建,名字随便填

  [子目录不会继承上级的属性,所以要将aspx文件所在的目录属性设置正确]

48.无法识别的配置节“connectionStrings”

  原因:

  用vs2005开发的asp.net应用程序需要使用.net framework 2.0,而在iis中的默认.net环境是1.1。这时将发生不可识别的节点的问题。

  解决办法:

  将.net环境升级为2.0,开始-》运行-》cmd-》

  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

49. Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

  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.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

  主要原因可能有:

  1.使用了连接池,大量的sqlconnection用了后忘记关闸门,导致SQL占用严重,可以用 exec sp_who 这个存储过程查看一下

  2.连接池的连接数有所限制

  解决方法:

  1.释放连接池,调用Connection对象的Close()方法关闭数据库连接

  2.利用try catch finally对数据库连接进行异常处理。当无法连接数据库时将抛出异常,并显示出错信息,见catch代码块所示。在此程序中,无论是否发生异常,都可以通过finally区块关闭数据库的连接,从而节省计算机资源

  3.将SqlConnection对象包含到using区块中,这样程序会自动调用Dispose()方法释放SqlConnection对象所占用的系统资源,无需再使用SqlConnection对象的Close()方法

  4.指定min pool size表示连接池允许的最小连接数(默认为0)。下面的代码指定了SqlConnection对象的max pool size为10,min pool size为5。

  SqlConnection mySqlConnection = new SqlConnection("server=localhost;database=Northwind;")

50. 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。

详细信息:若要使他人能够在远程计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”属性设置为“Off”。

 

<!-- Web.Config 配置文件 -->

<configuration>

    <system.web>

        <customErrors mode="Off" />

    </system.web>

</configuration>


注释:通过修改应用程序的 <customErrors> 配置标记的“defaultRedirect”属性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。

 

<!-- Web.Config 配置文件 -->

<configuration>

    <system.web>

        <customErrors mode="RemoteOnly" defaultRedirect="mypage.html" />

    </system.web>

</configuration>

 

解决:

在所在站点右键点击-权限,加上IIS_WPG组的读权限即可。

如果你删除了IIS,重新安装.那就要重新注册ASP.NET.方法如下:

(1)打开CMD,进入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

(2)输入 aspnet_regiis.exe –i

(3)如果接着还出现“未能创建 Mutex”的问题。执行以下步骤:

a.打开 开始菜单 - 点击运行 - 输入CMD - 运用CD命令进入C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目录

b.执行C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe –i 进行安装

c.执行C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -ga administrator 开始为 administrator 授予权限,使其可以访问 IIS 元数据库和 ASP.NET 使用的其他目录。

 

51.错误:IIS为何停止了就不能启动,而且重新启动电脑也不行。并发生意外错误0x8ffe2704。

解决:

(1)                查看80端口有没有被其它的程序使用。如果有其它的程序在使用,那就为这个程序另配一个端口。把80端口还给IIS使用。

(2)                检查在IIS启动之前是否先启动了迅雷等下载具,如果有就要关掉迅雷等下载具并重新启动IIS。

 

52. 错误:HTTP 401.1 HTTP 401.3

页面弹出登录窗口点取消后出现:HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。 或者出现 HTTP 401.1错误。

解决:

先要检查你的“身份验证和访问控制”中“对匿名使用下列Windows用户账号”中的用户密码是否正确,还有检查你的网站:

右键单击-权限中有没有加入此应用。

第一种方法试过都还是这的话,就看文件夹的权限设置了,在Windows上加上Users权即可。


53. 错误:如果浏览到你整个网站出现乱码。

解决:

那应该在C盘Windows加上users组的读取权限即可。

 

54. 编译错误:编译器错误信息:CS0016

说明:在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息:CS0016:未能写入输出文件

“c:\windows\Microsoft.NET\work\v1.1.4322\Temporary ASP.NET Files\root\345513e7\86f1794a\fvmzvzp7.dll”--“拒绝访问。”

解决:

应该在C盘Windows下的Temp加上Users组的读、写、修改的权限。

 

55.错误:编译器失败,错误代码为 128

说明:在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息:编译器失败,错误代码为 128。

解决:

应该在C盘Windows下的System32加上Users组的读的权限。


特别说明:

在ASP.NET出现错误时,应该先检查ASP.NET环境是否正确搭建,比如以下几个方面:

1.是否安装相应版本的.NET Framework程序,并打好了补丁。

2.IIS是否安装运行正常,站点路径及ASP.NET版本是否配置正确。

3.在IIS WEB服务扩展中,是否允许了ASP.NET扩展。

4.是否有安全防护软件禁止向Windows和Temp文件夹写入文件,如McAfee。

5.运行ASP.NET探针,查看是否正确,并能适应当前Web需求的环境。

6. 确认你的服务器上是先安装了IIS,后安装.net framework框架,或者重新安装了IIS,那么请在.net framework的安装目录下面找到对应的.net运行框架版本文件夹,使用aspnet_regiis.exe注册.NET Framework
 
如下:
 
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i
 
如果机器上同时装有多个版本的 .NET Framework ,可以使用aspnet_regiis.exe 为某个asp.net 应用程序指定所用的.net framework的版本。以.net framework v2.0.50727版本为例
如下:
aspnet_regiis.exe所在的位置为C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe.

“开始”--》 “运行”--》输入:%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i

提示 "asp.net <2.0.50727>安装完毕。

posted @ 2012-01-29 14:49  知行派  阅读(1755)  评论(0编辑  收藏  举报