1.檢測到有潛在危險的 Request.Form 值
原因:
(1)在送出資料的頁面或webconfig中沒有對validateRequest的屬性進行正确的設定
(2)HTML裡面寫了兩個
引起
解決:
方案一: 在.aspx檔案頭中加入這句:
方案二: 修改web.config檔案:
以下是引用片段:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因為validateRequest預設值為true。隻要設為false即可。
2.“在沒有任何資料時進行無效的讀取嘗試”解決辦法
原因:
所傳回的sqldatareader無資料記錄,但沒有作記錄判斷力處理。傳回的是空值
加上判斷即可: if (reader.read()) { TextName.Text =
reader["FieldName"].ToString(); }
3.資料為空。不能對空值調用此方法或屬性。
若對象是null,那麼調用對象的方法例如ToString()肯定出錯一般是資料庫字段的值為空
在grideview等資料控件常出現
解決:是以建議作NULL處理
4.閱讀器關閉時 FieldCount 的嘗試無效
使用了SqlDataReader來綁定資料後,将connection對象作了Close()處理
類似
public SqlDataReader GetSomething()
{
conn.open();
SqlDataReader reader =
sqlcmd.ExcecutReader(CommandBehavior.CloseConnection));
conn.close();// occur error here
return reader;
}
在綁定的時候調用了這個方法來指定資料源。如果使用這個方法則需要在調用函數中關閉Re
ader這樣conn就可以自動關閉。
如果是使用的是SqlDataAdapter和DataSet那麼請去掉顯式關閉conn的調用。或者在finally
中調用之。
5.未能映射路徑
原因:可能是在webconfig中的路徑配置不正确所緻
<add key="FCKeditor:BasePath" value="~/admin/fckeditor/"/>
<add key="FCKeditor:UserFilesPath" value="/UserFiles/" />
6.Unreachable code detected
一般是在異常處理理或傳回值時使用了 throw 或return ,可能是其位置放在前面,造成後面的代碼執行到了。
解決:
把相關的異常抛出處理的語句(throw)或return 的語句放到代理執行的最後一行。
7.索引超出範圍。必須為非負值并小于集合大小
(1).沒有設定DATAKEYFIELD設為資料庫中相對應的唯一字段(一般是主鍵)
(2).DataGrid1.Columns > e.Item.Cells
(1).設定datakeyfield
(2).加入判斷語句datagrid1.item.count (datagrid可以是其它相類似的伺服器控件)
8.資料為空。不能對空值調用此方法或屬性
9.資料源不支援伺服器端的資料分頁
解決方法:
不要使用DataReader,改成使用DataSet:或使用自定義分頁形式,不采用vs.net提供的分頁功能
OleDbDataAdapter da = new OleDbDataAdapter(sql, connection);
DataSet ds2 = new DataSet();
da.Fill(ds2, "News");
GridView1.DataSource = ds2;
GridView1.DataBind();
10.對象名'***** '無效
原因:目前使用的資料庫中沒有*****這張表
解決: 檢視是否程式中是否寫錯了所調用的表的名稱或看一下SQL資料庫中是否存在你所調用的表
11.在建立與伺服器的連接配接時出錯。在連接配接到 SQL Server 2005 時,在預設的設定下 SQL
[pgae_break]
Server 不允許進行遠端連接配接可能會導緻此失敗。 (provider: 命名管道提供程式,
error: 40 - 無法打開到 SQL Server 的連接配接)
solution: 主機上需要用固定的IP位址或伺服器位址
12.SqlDateTime 溢出。必須介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM
之間。
出現這種問題``多半是因為你更新資料庫時``datetime字段值為空``預設插入0001年01月01
日``造成datetime類型溢出
13.出現-------表示“屬性”,此處應為“方法”
1.VB與c#的方法,屬性的格式有所不一樣導緻。
2.可能是在design中綁定資料的文法出現錯誤 解決: 1.記住屬性用[] 方法用()
3.記住綁定資料的正确文法(有以下幾種方式:: 等)
14.未能從程式集“DAL, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null”中加載類型“DAL.SqlHelper”。
原因:修改了其他層後未能重新編譯成dll
解決:編譯一下(Rebuild)
15.為過程或函數 指定的參數太多
solution:調用存儲過程與定義的存儲過程所用的參數數量或所執行的SQL語句中所傳入的參
數個數不一緻(這是個SQL的錯誤)
解決方案:仔細檢查在存儲過程中所設定的參數變量,與實際輸入的參數值是否一一對應
16.無法啟動調試,綁定句柄無效
原因:系統的Terminal Services沒有開啟
17.Unable to debugging on the web server.Debug failed because integrated windows authentication is not enable
打開vs2005->工具(Tools)->選項(Option)->調試(debugging)->編輯并繼續(Edit and Continue)->全部打勾
18.Automation 操作中檔案名或類名未找到: 'RegExp'
解決方法:regsvr32 vbscript.dll
19.System.NullReferenceException: 未将對象引用設定到對象的執行個體。
(1)所設定的變量為空值或沒有取到值,一般出現在傳遞參數的時候出現這個問題,也會在使用datagrid或gridview或datalist等資料控件時出現.
(2)控件名稱與codebehind裡面的沒有對應
(3)未用new初始化對象
(4)在程式中所引用的控件不存在
(1)使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變量值
(2)檢視代碼中是否存在未初始化的變量
20.錯誤 1718。檔案被數字簽名政策拒絕(安裝vs2005sp1時)
(1). 單擊“開始”,單擊“運作”,鍵入 control admintools,然後單擊“确定”。
(2). 輕按兩下“本地安全政策”。
(3). 單擊“軟體限制政策”。(注意:如果未列出軟體限制,請右擊“軟體限制政策”,然後單擊“建立政策”。 )
(4). 在“對象類型”下,輕按兩下“強制”。
(5). 單擊“除本地管理者以外的所有使用者”,然後單擊“确定”。
(6). 重新啟動計算機。
微軟說明:
http://support.microsoft.com/kb/925336
21.vs2005不能從源檔案模式切換到視圖模式
解決方法:dos下運作下 devenv /resetskippkgs (win+r cmd)
22.Validation of viewstate MAC failed
解決辦法:頁面的頂部page加 EnableViewState="False" EnableViewStateMac = "False" 來解決這個問題
23.Automation server can't create object"(Automation 伺服器不能建立對)
解決辦法:運作: Regsvr32 scrrun.dll 即可。
24.包加載失敗
未能正确加載包"Visual Web Developer Trident Designer Package"(GUID =
{30AE7E28-6C02-496D-8E43-85F7A90AEFF1}。
1、設定系統變量 VsLogActivity=1
2、在%APPDATA%\Microsoft\VisualStudio\8.0\檔案夾下建立檔案ActivityLog.xml
Error
Microsoft Visual Studio
LoadLibrary failed for package [Visual Web Developer Trident Designer Package]
{30AE7E2B-6C02-496D-8E43-85F7A90AEFF1}
--------------------------------------------------------------------------------
8007007e
c:\Program Files\Microsoft Visual Studio 8\Common7\Packages\tridsn.dll
3、從 WINNT\MicroSoft.NET\Framework\v2.0.xxx 複制檔案gdiplus.dll 到 Program Files\Visual Studio 8\Common7\Packages檔案夾下
4、在指令行下運作指令 :devenv /resetskippkgs
25.Error spawning 'cmd.exe'.
解決方案:把cmd.exe 拷貝到VS安裝目錄下的VC/BIN目錄裡,可以解決問題。
26.嘗試讀取或寫入受保護的記憶體
解決:硬體有問題,一般記憶體有問題
27.無法在證書存儲區中找到清單簽名證書
解決方法:用記事本打開項目的.csproj檔案,删除類似
28.該項目中不存在目标“ResolveKeySource”。
原因:這個問題很罕見,查詢國外相關資料後,大緻說是由于部署的不是一個标準的solution, 需要在VS自帶的指令提示中運作下面這個東西恢複
(1).将下列代碼存為XML檔案,命名為TestBuild.xml
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetConnectionString>Data Source=.\sql2005%3BUser ID=SqlUser%3BPooling=False%3BPassword=X</TargetConnectionString>
</PropertyGroup>
<ItemGroup>
<DatabaseProject Include="Database1\Database1.dbproj"/>
<DatabaseProject Include="Database2\Database2.dbproj"/>
</ItemGroup>
<Target Name="BuildAllDatabaseProjects">
<MSBuild
Properties="TargetConnectionString=$(TargetConnectionString)"
Projects="@(DatabaseProject)"
Targets="Build;Deploy">
</MSBuild>
</Target>
(2)在指令提示中運作:msbuild /t:BuildAllDatabaseProjects TestBuild.xml
29.不能将值 NULL 插入列 '**'
原因:這是資料庫表設計的錯誤,所涉及的表的字段中設定了不能為空的屬性,但是傳入的值為null,是以報錯
解決方法:檢視是否所傳入的值是否為Null,或修改資料庫中表的所對應的列的屬性
30.未能加載類型"命名空間.類"...
(1)項目修改後沒有進行編譯
(2)項目中原有的命名空間可能被修改了
(3)項目中所需要的ascx或其他頁面不存在,或不包含在項目中
解決方法:
(1)在修改完成之後,請重新生成或編譯整個項目或解決方案
(2)手工修改所改動的命名空間,注意名稱的大小寫,再重新編譯
(3)将相關的檔案包含在項目中
31.不能通路隻讀檔案“****.***"
解決方案:
給虛拟目錄所對應的檔案加上“Everyone/寫入”權限即可
32.請求因 HTTP 狀态 401 失敗:Access Denied
解決方法:在iis資訊伺服器上把匿名通路和允許iis控制密碼給勾上
部落格園大道至簡
<a href="http://www.cnblogs.com/jams742003/" target="_blank">http://www.cnblogs.com/jams742003/</a>
轉載請注明:部落格園