本文列出 Visual Studio 容器工具所使用的錯誤代碼,並在可能的情況下提供解決問題的建議。
容器工具錯誤代碼
| Code | 說明 | 註釋 | 修復 |
|---|---|---|---|
| CTC1001 | Docker 磁碟區共享沒有啟用 | 這個錯誤發生在沒有啟用檔案分享時。 檔案分享允許 Windows 上的本地目錄與 Linux 容器共享。 此問題僅適用於使用 Hyper-V 模式的 Linux 容器。 更多細節請參見 Docker Desktop Windows使用者手冊。 | 啟用 Docker 檔案分享功能。 |
| CTC1002 | Docker Desktop 尚未安裝 | 安裝 Docker Desktop。 | |
| CTC1003 | Docker Desktop 未執行 | 啟動 Docker 桌面。 | |
| CTC1004 | 無法取得 Docker 伺服器作業系統 | 在專案檔案中指定預設 targetOS 值;例如, <DockerDefaultTargetOS> (Linux </DockerDefaultTargetOS>)。 |
|
| CTC1005 | Docker Desktop 的作業系統模式與專案的目標作業系統不符 | 將 Docker Desktop 作業系統模式切換到與專案目標作業系統相符。 | |
| CTC1006 | Docker Desktop 正在執行,但處於錯誤狀態,應該重新啟動。 | 重新啟動 Docker Desktop 並確認 Docker Desktop 正常運作。 | |
| CTC1007 | 下載 vsdbg 失敗,但磁碟中找到了一份現有的副本 |
這只是一則警告,偵錯不會因此失敗。 此警告發生在最新版本 vsdbg 無法下載,但找到現有副本並被使用時。 |
使用者不需要採取行動。 |
| CTC1008 | 下載 vsdbg 失敗,且磁碟上找不到任何現存的副本 |
F5 下載失敗 vsdbg.exe。 |
檢查你的網路連線。 |
| CTC1009 | 硬碟共享憑證可能無效 | 這可能是因為 Docker Desktop 使用的共享磁碟憑證過時所致。 試著在 Docker Desktop 設定的 Shared Drive 頁面重設憑證,然後重新啟動 Docker。 | |
| CTC1010 | 目前的使用者不在群組 docker-users 裡。 |
目前的使用者不在群組 docker-users 裡。 把自己加入 docker-users 群組,然後登出再回到 Windows。 |
|
| CTC1011 | 連接埠已在使用中 | 容器嘗試使用已經在使用的特定主機埠。 | 停止使用此埠的先前容器或其他應用程式,或更新應用程式使用不同的埠。 |
| CTC1012 | 未使用 | ||
| CTC1013 | 目前這種類型不支援,或者 dotnet 核心版本也不支援 | ||
| CTC1014 | 建置 dockerFile 時發生錯誤 | 無法建立 Dockerfile。 修正 Docker 檔案中的錯誤後再試一次。 | |
| CTC1019 | 未使用 | ||
| CTC1020 | 嘗試啟動容器時拋出 UnauthorizedAccessException | ||
| CTC1021 | 嘗試啟動容器時拋出 SecurityException | ||
| CTC1022 | 未使用 | ||
| CTC1023 | 找不到檔案或目錄。 | 這可能是 dockerfile、Docker context 或找不到專案檔案。 | |
| CTC1024 |
IOException 在嘗試啟動容器時被丟出 |
||
| CTC1025 | 在嘗試拉取 Docker 映像檔時發生錯誤。 | 請參閱輸出視窗,了解指令失敗的更詳細錯誤。docker pull |
|
| CTC1026 | 啟動設定解析錯誤。 | 找不到 IISExpress 的設定,或在解析 IISExpress 設定時無法找到 launchSettings.json 檔案中的解析失敗。 | 請確認 launchSettings.json 裡的 IISExpress 設定是否有效。 |
| CTC1027 | 執行 dev-certs 該工具時出現錯誤。 |
在執行 dev-certs 工具以信任 ASP.NET Core 開發憑證時發生錯誤。 |
請參閱 輸出 視窗以獲得更詳細的錯誤。 |
| CTC1028 | 啟動網址無效 | 除錯開始時啟動的應用程式 URL 無效 | 請確保 launchSettings.json 中 Docker 啟動設定內指定的 launchUrl |
| CTC1029 | Docker 執行失敗 | 在嘗試執行容器內啟動應用程式程序的指令時發生錯誤。 | 請參閱 輸出 視窗以獲得更詳細的錯誤。 |
| CTC1030 | 內部錯誤 | 發生了未知的內部錯誤。 | 請在 Visual Studio Feedback 中回報錯誤。 |
| CTC1031 | 不支援作業系統 | 很可能是在 Linux 容器中使用 .NET Framework 專案。 切換到 Windows 容器再試一次。 | |
| CTC1032 | 未使用 | ||
| CTC1033 | 未使用 | ||
| CTC1034 | 未使用 | ||
| CTC1035 | Docker 桌面下載失敗 | 在嘗試安裝 Docker Desktop 時,無法下載 Docker Desktop 安裝.msi程式()。 |
檢查你的網路連線,沒有防火牆阻止檔案下載。 |
| CTC1036 | Docker 桌面安裝失敗 | 請修正安裝程式中的錯誤,並手動安裝 Docker Desktop。 或者,重新開啟解決方案,Visual Studio 會嘗試重新安裝 Docker Desktop。 | |
| CTC1037 | Blazor Manifest 檔案存取錯誤 | 在偵錯 Blazor 應用程式時,重寫 Blazor 靜態 Web 資產檔案失敗。 | 請參閱 輸出 視窗以獲得更詳細的錯誤。 |
| CTC1038 | 在除錯時,容器不存在或未執行 | 請參見 輸出 視窗,了解容器無法啟動的原因。 | |
| CTC1039 | 容器中找不到要除錯的程式二進位檔,位置不是預期的位置。 | ||
| CTC1040 | 除錯後的程式以意外的退出代碼退出。 | 無法開始申請流程。 詳情請參閱 輸出 視窗。 | |
| CTC1041 | Docker Desktop 安裝不完整。 | Docker Desktop 似乎還沒安裝完成。 試著重開機,如果問題依舊,再嘗試修復你的 Docker Desktop 安裝。 |
Docker-compose 特定錯誤碼
| Code | 說明 | 註釋 | 修復 |
|---|---|---|---|
| DTP1001 | 找不到主機埠 | 在 Docker Compose 專案中,Service URL 指定了 token {ServicePort},但容器沒有對應的主機埠。 |
確保啟動容器時使用主機連接埠,以對應正確的 URL 配置(http 或 https)。 |
| DTP1002 | 找不到容器 | 在除錯 Docker Compose 專案時,容器尚未啟動或退出。 | 請參見 輸出 視窗,了解容器無法啟動的原因。 |
| DTP1003 | 在除錯 Docker Compose 專案時,未找到任何服務。 | 確保 Docker Compose 文件中有一個或多個 dotnet 服務被定義。 | |
| DTP1004 | Docker Compose 支架錯誤 | 再試著加裝 Docker Compose 支援。 | |
| DT1001 | 除錯失敗,因為執行 Docker Compose 指令時發生錯誤。 | 關於此錯誤的更多細節,請參閱 輸出 視窗。 | |
| DT1002 | 無效目標作業系統 | 在 DockerDefaultTargetOS 屬性中指定了未知的 Dockerfile 目標作業系統。 |
支援的值為「Windows」與「Linux」。 |
| DT1003 | 執行指令時出現意外錯誤。 | 關於此錯誤的更多細節,請參閱 輸出 視窗。 | |
| DT1004 | Docker Compose 檔案中的錯誤 | 檢查所有 Docker Compose 文件,確保它們有效。 | |
| DT1005 | Docker Compose 指令執行失敗 | 關於此錯誤的更多細節,請參閱 輸出 視窗。 | |
| DT1006 | 在 Docker Compose 文件中找不到使用中啟動設定檔所使用的 Compose 設定檔名稱。 | 例如,如果目前使用中的啟動設定檔是使用名為 p2 的 Compose 設定檔(如這裡所示):"Docker Compose": {"commandName": "DockerCompose","commandVersion": "1.0","composeProfile": {"includes": [ "p2"]}}但 docker-compose.yml 沒有定義該設定檔 p2,然後你就會看到這個錯誤。 |
更新啟動設定檔以使用正確的 Compose 設定檔,或使用 管理 Docker Compose 啟動設定 的對話框來更新啟動設定。 |
| DT1007 | 在使用 Compose 設定檔的啟動設定檔中,服務名稱無效。 | 例如,若啟用的啟動設定檔使用了 Compose 設定檔 p1 ,並定義了 Compose 設定檔 p1 的服務清單,如此所示:"Docker Compose": {"commandName": "DockerCompose","commandVersion": "1.0","composeProfile": {"includes": ["p1"],"serviceActions": {"webapp2": "StartWithoutDebugging"}}}但 docker-compose.yml 並未定義服務 webapp2,然後你就會看到這個錯誤。 |
更新啟動設定檔以使用正確的服務名稱,或使用 「管理 Docker 撰寫啟動設定 」對話框來更新啟動設定。 |
| DT1008 | 在使用Compose設定檔的主動啟動設定檔中出現無效的服務動作。 | 例如,如果使用中的啟動設定檔使用 Compose 設定檔 p1,並為服務 webapplication 定義了錯誤的動作(wrongActionname)。"Docker Compose": { "commandName": "DockerCompose","commandVersion": "1.0","composeProfile": {"includes": ["p1"],"serviceActions": {"webapp": "wrongActionname"}}} |
將服務動作更正為 StartWithoutDebugging,這是對於使用 Compose 設定檔的服務唯一有效的動作。 |
| DT1009 | 主動發射設定檔同時使用 composeProfile 與 serviceActions。 |
Visual Studio 啟動設定檔可以使用 Compose 設定檔來定義,或是在不使用 Compose 設定檔的情況下選取服務清單;但不能同時使用這兩種方式建立。 所以,如果目前啟用的啟動設定檔同時使用如下所示的兩項設定,就會看到此錯誤。"Docker Compose": {"commandName": "DockerCompose","commandVersion": "1.0","composeProfile": {"includes": ["p1"]},"serviceActions": {"webapp": "StartWithoutDebugging"}} |
使用其中之一 composeProfile 或 serviceActions ,或使用 管理 Docker 組合啟動設定 對話框來更新啟動設定。 |
| DT1010 | 啟動設定檔中的服務名稱無效 | 例如,若使用中的啟動設定檔如以下所示定義了 serviceActions:"Docker Compose": {"commandName": "DockerCompose","commandVersion": "1.0","serviceActions": {"redis1": "StartWithoutDebugging","webapp8": "StartWithoutDebugging"}}但 docker-compose.yml 沒有定義 redis1 服務,就會看到此錯誤。 |
更新啟動設定檔以使用正確的服務名稱,或使用 「管理 Docker 撰寫啟動設定 」對話框來更新啟動設定。 |
| DT1011 | 主動發射設定檔中的服務動作無效。 | 例如,如果啟動設定檔使用了錯誤的服務動作(wrongAction),如下方所示,就會看到這個錯誤。"Docker Compose": {"commandName": "DockerCompose","commandVersion": "1.0","serviceActions": {"webapplication8": "wrongAction"}} |
將服務動作修正為 DoNotStart、 或 StartDebuggingStartWithoutDebugging。 或者使用 管理 Docker 組合啟動設定 對話框來更新啟動設定。 |
| DT1012 | 發射設定檔無效。
composeProfile 和 serviceActions 都遺失了。 |
Visual Studio 啟動設定檔可以使用 Compose 設定檔設定來定義,也可以在不使用 Compose 設定檔的情況下,自行挑選服務來建立服務清單。 但作用中的啟動設定檔並未使用其中任何一個來定義。 | 請使用 「管理 Docker 組合啟動設定 」對話框來更新啟動設定。 |
| DT1013 | 找不到使用中的啟動設定檔 | 確保主動發射輪廓在 launchSettings.json中定義。 | |
| DT1014 | 個人資料版本無效。 | 例如,若啟動設定檔定義的指令版本為未知(10.0):"Docker Compose":"commandName": "DockerCompose","commandVersion": "10.0","serviceActions": {"webapp8": "StartDebugging","redis": "StartWithoutDebugging"}} |
請參閱支援 commandVersion的錯誤訊息,或使用 「管理 Docker 撰寫啟動設定 」對話框來更新啟動設定。 |
| DT1015 | 不支援的舊設定檔版本。 | 目前的 Visual Studio 已不再支援該設定檔版本。 請使用 「管理 Docker 組合啟動設定 」對話框,將設定檔升級至最新支援版本,以更新啟動設定。 | |
| DT1016 | 使用來自較新版本的 Visual Studio 的設定檔 | 設定檔的版本高於目前支援的版本。 請將 Visual Studio 升級到最新版本。 | |
| DT1017 | 使用較新版本 Visual Studio 的設定檔,但仍能正常運作 | 這是一個警告訊息 | 設定檔版本比目前支援的版本更高,但仍與目前 Visual Studio 版本相容,只是可能缺少一些功能。 |
| DT1018 | 使用舊設定檔版本,但仍相容。 | 這是一個警告訊息 | 設定檔版本比最新版本低,但仍相容。 有些新功能可能無法使用。 考慮升級到最新版本的 Visual Studio。 |
| DT1019 | 不受支援的 compose v2 | 你使用的是舊版的 Docker Compose v2,不支援 Compose 設定檔。 | 將 Docker Compose 升級到最新版本。 |
單一專案專屬錯誤碼
| Code | 說明 | 註釋 | 修復 |
|---|---|---|---|
| CTP1001 | 未使用 | ||
| CTP1002 | 未使用 | ||
| CTP1003 | 在除錯時,容器不存在或未執行 | 請參見 輸出 視窗,了解容器無法啟動的原因。 | |
| CTP1004 | Docker 鷹架錯誤 | 再試著新增 Docker 支援。 | |
| CTP1005 | 無效目標作業系統 | 在 DockerDefaultTargetOS 屬性中指定了未知的 Dockerfile 目標作業系統。 支援的值為「Windows」與「Linux」。 |
|
| CTP1006 | 無法在容器內停止應用程式。 | 這只是個警告。 | 確定應用程式沒有被使用。 |
| CTP1007 | 未使用 | ||
| CTP1008 | 未使用 | ||
| CTP1009 | 無法下載 Azure Functions CLI | 詳情請參閱 輸出 視窗。 |