共用方式為


Al.exe 工具錯誤和警告

下表會列出由 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'。

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

請參閱

參考

Al.exe (組件連結器)

Visual Studio 和 Windows SDK 命令提示字元

其他資源

.NET Framework 工具