共用方式為


Al.exe 工具錯誤和警告

更新:2007 年 11 月

下表會列出由 Al.exe 產生的錯誤:

錯誤

說明

al1001

內部編譯器錯誤

請嘗試判斷 Al.exe 失敗的原因是否為無法剖析未預期的語法,然後,與 Microsoft 產品支援服務聯繫。

al1002

記憶體不足

Al.exe 因記憶體不足而停止。請增加可用記憶體的數量。

al1003

編譯器選項 'option' 後必須接著引數

Al.exe 必須有引數傳遞至命令列選項。例如,如果指定 /algid:,就必須傳遞演算法識別項。

al1004

未預期的 Common Language Runtime 初始化錯誤 -- 'reason'

Al.exe 報告因指定原因造成 Visual Studio 或 Common Language Runtime 安裝錯誤。

al1005

檔案 'file' 太大,無法開啟

Al.exe 開啟的所有檔案必須小於 4 GB。

al1006

已經包含回應檔 'file'

相同的回應檔 (@file) 在命令列中指定多次。回應檔只能包含一次。

al1007

錯誤開啟資源檔 'file' -- 'reason'

Al.exe 因指定原因無法開啟指定的回應檔。

al1008

沒有在 'option' 命令列選項中輸入指定檔案

Al.exe 必須有檔案傳遞至命令列選項。例如,如果指定 /out 選項,就必須指定檔案。

al1009

無法開啟 'file' 進行寫入

Al.exe 無法寫入檔案,例如輸出組件檔案。可能是磁碟已滿、檔案為唯讀,或沒有檔案的使用權限。

al1010

命令列語法錯誤:遺漏 'option' 選項的 'text'

Al.exe 必須有引數傳遞至命令列選項。例如,如果指定 /title 選項,就必須傳遞字串。

al1011

檔案 'file' 是可執行檔,無法當做文字檔開啟

應該是文字檔,但是卻指定二進位檔案 (Binary File)。例如,如果在命令列上將二進位檔案當成回應檔傳遞,便會發生這個錯誤。

al1012

'value' 不是有效的設定 (針對選項 'option')

傳遞至命令列選項的值並非預期的值。例如,如果指定給 /target 選項的值無效,便會發生這個錯誤。

al1013

無法辨認的命令列選項:'option'

指定的命令列選項無效。

al1014

未預期的初始化錯誤 -- 'reason'

Al.exe 偵測到 COM 初始化失敗。可能是由於記憶體不足所造成,更可能的原因是系統的 DLL 檔案。如果執行任何 Automation 或 COM 程式 (例如 Microsoft Visual Studio),可能會看見類似的錯誤。

請重新安裝作業系統。

al1015

找不到訊息檔案 'alinkui.dll'

Al.exe 需要有 Alinkui.dll。請確定這個檔案在路徑中。必要的話,請從產品光碟片中複製。

al1016

未指定有效的輸入檔

Al.exe 需要有一個或多個不含組件資訊的輸入檔。

al1017

未指定目標檔名

遺漏指定目標檔名的必要 /out 選項。

al1018

無法載入必要的檔案 'file'

某些 DLL 檔案無法載入。重新安裝 Visual Studio 或 Windows Software Development Kit (SDK)。

al1019

建立組件期間發生中繼資料錯誤 -- reason

產生組件時因指定原因而中斷。例如,如果找不到使用 /win32res 選項指定的檔案,便會發生這個錯誤。

al1020

忽略包含組件的檔案 'file'

指定的輸入檔包含組件。Al.exe 輸入檔不能包含組件。

al1021

setting': 正在覆寫先前的設定

模組有特定設定的值,可能是透過自訂屬性指定的,但是又被使用 Al.exe 命令列選項傳遞的值覆寫。

al1022

讀取內嵌的資源 'file' 時發生錯誤 -- reason

Al.exe 因指定原因無法讀取傳遞至 /embedresource 選項的檔案。

al1023

嵌入資源 'file' 時發生錯誤 -- reason

作業系統因指定原因無法將資源檔嵌入組件中。

al1025

ComType 記錄 'record' 指向無效的檔案記錄 'record'

輸入模組的中繼資料無效。產生模組的工具必須固定。

al1026

指定的版本 'version' 無效

請參閱 /version 選項有效格式的詳細資訊。

al1028

金鑰檔 'file' 遺失簽署所需的私密金鑰

傳遞至 /keyfile 選項的金鑰檔只包含公開金鑰。請使用強式名稱工具 (Sn.exe) 產生同時包含公開金鑰和私密金鑰的檔案,如下列命令中所示。

sn -k keypair.snk.

al1029

金鑰容器名稱 'container' 不存在

傳遞至 /keyname 選項的值不是有效的容器。請使用強式名稱工具 (Sn.exe) 建立容器。

al1030

未妥善安裝密碼編譯服務或缺乏適當的金鑰提供者

您可能必須重新安裝作業系統,或安裝用來建立金鑰的密碼編譯公用程式。

al1031

讀取圖示 'file' 時發生錯誤 -- reason

Al.exe 因指定原因無法讀取傳遞至 /win32icon 選項的檔案。

al1032

產生 'file' 的資源時發生錯誤 -- reason

Al.exe 因為磁碟空間不足或其他錯誤而無法建立檔案。當您指定 /win32icon 選項 (產生 .ico 檔案) 或不指定 /win32res 選項 (產生包含資源資訊的檔案),便會發生這個錯誤。

如果無法解決產生檔案的問題,請使用 /win32res,它會指定可包含版本或點陣圖 (圖示) 資訊的檔案。

al1033

已經多次以不同的值指定組件自訂屬性 'attribute'

在指定為 Al.exe 輸入的來源模組中,將不同的值傳遞給相同自訂屬性的兩個項目。

al1034

組件 'file' 無法被複製或重新命名

雖然使用 Al.exe 語法可讓您指定和複製輸入檔,但是會發生名稱衝突,使編譯器停止。例如,如果指定 input.dll,somename.dll /out:somename.dll,便會發生這個錯誤。

al1035

程式庫無法有進入點

您無法同時指定 /target:lib 選項 (預設值) 和 /main 選項。

al1036

可執行應用程式必須有進入點

使用 /target:exe/target:win 選項時,也必須指定 /main 選項。

al1037

找不到進入點方法 'main'

Al.exe 在 /main 選項所指定的位置找不到 Main 方法。

al1039

全域組件快取管理員初始化失敗 -- reason

重新安裝 Visual Studio 或 Windows SDK。

al1040

無法成功安裝組件至快取 -- reason

只有簽署的組件才能安裝至快取。如需詳細資訊,請參閱全域組件快取

al1041

簽章或可視性不正確,或者屬於泛型,'method': 無法成為進入點

已使用 /main 選項指定方法,但是該方法不是靜態、未傳回 int 或 void、屬於泛型或引數無效。

al1042

'exe': 無法將 EXE 加入至模組

已將不含組件的 .exe 檔案指定為 Al.exe 的輸入檔。Al.exe 只能將不含組件的 .dll 檔案當成輸入檔。

al1043

資訊清單檔名 'name' 不可與任何模組相同

使用 /out 選項指定的名稱不能與指定為 Al.exe 輸入的任何一個檔名相同。

al1044

讀取金鑰檔 'file' 時發生錯誤 -- reason

從使用 /keyfileAssemblyKeyFileAttribute 指定的檔案中開啟或讀取時發生錯誤。

al1045

檔名 'file' 太長或無效

傳遞至 Al.exe 的檔名超過 260 個字元。請選擇字元較少或路徑較短的檔名,或重新命名檔案。

al1046

在此組件中已經使用過資源識別項 'ID'

兩個內嵌或連結的資源具有相同的識別項或名稱 (第二個引數)。請將其中一個衝突的資源移除或重新命名。

al1047

匯入檔案 'file' 時發生錯誤 -- reason

模組檔案因指定原因無法開啟。

al1048

匯入模組 'module' (屬於組件 'assembly') 時發生錯誤 -- reason

開啟多檔案組件的非資訊清單檔案時發生錯誤。這個錯誤並不是由 Al.exe 直接發出,但是可以利用程式設計方式傳遞至使用 Al.exe 的處理序。

al1049

無法自動產生日期早於 2000 年 1 月 1 日的組建與修訂版本號碼

電腦上所設定的系統時間日期早於 2000 年 1 月。

al1050

不再支援您正使用的 'old feature' 功能; 請使用 'new feature' 代替

Al.exe 先前支援的功能已經過時。請使用建議的功能代替。

al1051

發出 'attribute' 屬性時發生錯誤 -- 'reason'

Al.exe 因指定原因沒有處理組件自訂屬性。

al1052

檔案 'filename' 不是組件

使用 /template 指定的檔案必須包含組件中繼資料。這個錯誤表示 /template 所指定的檔案不包含組件。

al1053

版本 'version' (指定給 'option') 不是使用一般的 'major.minor.build.revision' 格式

Al.exe 偵測到使用 /fileversion/productversion 選項指定的版本資訊格式錯誤。

al1054

版本 'version' (指定給 'option') 不是使用一般的 'major.minor.build.revision' 格式

Al.exe 偵測到 SatelliteContractVersionAttribute 指定的版本資訊格式錯誤。

al1055

參考的組件 'filename' 沒有強式名稱

當您建置包含強式名稱的組件,但是卻參考不含強式名稱的組件時,便會發生這個錯誤。若要更正這個錯誤,您必須以強式名稱重新產生組件,或者使用 sn.exe (請參閱 sn.exe 的相關文件) 將強式名稱附加到組件。.

透過包裝函式組件使用 COM 物件時,通常會發生這個錯誤,例如透過 Visual Studio IDE 在 C# 專案的 COM 模組中加入參考。若要避免發生這個錯誤,您可以在 "Wrapper Assembly Key File/Name" 專案屬性中指定 COM 包裝函式組件的強式名稱金鑰檔。

如果要透過 tlbimp 建立包裝函式組件,請參閱 tlbimp 文件,了解如何指派強式名稱給包裝函式組件的詳細資訊。

如果組件有強式名稱,便可將它安裝在全域組件快取中。因此,參考的組件也需要進入全域組件快取中。只有包含強式名稱的組件才能進入全域組件快取中。

al1056

參考的組件 'filename' 是當地語系化的附屬組件

建立目前的組件時會參考到使用 AssemblyCultureAttribute 屬性建立的組件。AssemblyCultureAttribute 屬性會指出檔案為當地語系化的附屬組件,而附屬組件並不適合參考。您可能應該改為參考主父代組件。

al1057

可執行檔無法被當地語系化 (Localized),文化特性 (Culture) 需保持空白

組件是使用 /target:exe 建立的,但是卻指定 /culture。.exe 中的組件在文化特性欄位中不能包含資訊。

al1058

'file' 是組件,而且無法加入為模組

在 C++ 編譯中,已將包含組件的檔案傳遞至 /assemblymodule (連結器選項)。

al1059

未知的錯誤 (code)

Al.exe 收到未知的錯誤碼 (code)。

可能的解決方案包括:

  • 重新安裝 Visual Studio。

  • 重新安裝 Windows SDK。

  • 檢查是否有遺失的檔案。

  • 檢查是否有足夠的磁碟空間。

  • 檢查是否有足夠的記憶體。

  • 停止其他可能會存取檔案的處理序。

  • 重新開機。

al1060

建立雜湊時密碼編譯失敗 -- reason

為多檔案組件建立檔案雜湊時發生錯誤。

al1061

無法設定選項 'option' 因為 'reason'

為這個選項指定的值因指定原因無效。

al1062

模組 'module' 被多次指定; 它只能被包含一次

這個警告會在相同的資源、輸入或模組檔案於命令列上多次指定時產生。請確定您只指定一次檔案名稱。

al1063

在這個組件中公用型別 'type' 已於多處定義::'file1' 和 'file2'

在組件內一個以上的模組中找到同一個型別。組件中每個型別只能有一個版本。

al1064

不可以指定多重 /bugreport 選項。

只允許一個 /bugreport 選項。

al1065

檔名 'File Name' 太長或無效

指定的檔名超過允許的上限。

al1066

字元 'character' 不能使用於命令列或回應檔中

在命令列或檔案中找到無效的字元。

al1067

'filename' 是二進位檔案,不是文字檔案

這個檔案是二進位格式,不是文字格式。

al1068

已經在此組件中定義模組 'ModuleName'。每個連結的資源和模組都必須具有唯一的檔名。

此模組在這個組件中出現一次以上。

al1069

無法建立短檔名 'filename',因為已經有個長檔名具有相同的短檔名

目前檔案的名稱是另一個已存在檔案名稱的簡短版。例如,編譯 LongFileName.cs 後再以 LongFi~1.cs 名稱重新編譯,就會發生類似的編譯器錯誤。如果具有長檔名的編譯器輸出檔已刪除,但類比連結器檔案還存在,就可能發生這個錯誤。

al1070

無從驗證的組件不能有處理器特定模組 'Module Name'

使用 /platform:agnostic (或未指定 /platform) 進行建置時,如果嘗試加入並非無從驗證的模組 (使用 /addmodule),就會產生錯誤。這就好像嘗試將 i386 obj 檔與 ia64 obj 連結在一起。

非無從驗證模組的主要來源為 C++。如果您在 C++ 模組中使用 /addmodule,可能需要修改建置指令碼,以指定適當的 /platform 設定。

al1072

組件和模組 'Module Name' 的目標處理器不能不同

您無法將目標為不同處理器的組件和模組連結在一起,因為結果必須在單一處理器上執行。

al1073

參考組件 'assembly' 以不同的處理器為目標

您無法將目標為不同處理器的組件連結在一起,因為結果必須在單一處理器上執行。

al1074

儲存於 'File Name' 的模組名稱 'Module Name' 必須符合其檔名

這是連結器的必要條件。若要解決這個問題,請讓這兩個名稱相符。

al1075

要求延遲簽署,但未提供金鑰

當延遲簽署組件時,編譯器不會去計算和儲存簽章,但會保留檔案中的空間,以便稍後再加入簽章。

例如,使用 /delaysign+ 可讓測試器將組件置於全域快取區中。測試過後,便可用組件連結器公用程式將私密金鑰加入到組件,以完整簽署組件。

al1076

型別 'type' 會轉送到多個組件:'assembly' 和 'assembly'。

型別只能轉送到一個組件。

al1077

公用型別 'type' 會定義於 'assembly',並轉送至 'assembly'。

將要產生之組件中會有重複的公用型別。一個是有效的型別定義,另一個則是型別轉送子。

請參閱

參考

.NET Framework 工具

組件連結器 (Al.exe)

SDK 命令提示字元