共用方式為


針對 SQL 專案建置進行疑難解答

SQL 專案建置輸出會提供資料庫模型建構和 T-SQL 驗證的意見反應。 預設命令列輸出只會顯示錯誤和某些狀態資訊。 在本文中,我們將討論如何啟用更詳細的記錄,以協助針對 SQL 專案所遇到的組建問題和常見錯誤進行疑難解答。

啟用詳細日誌記錄

若要進一步針對 SQL 專案的建置問題進行疑難解答,您可以使用命令行參數來產生更多記錄。 更多的記錄不僅有助於識別錯誤的原因,還能協助識別建置速度降低的原因。 這兩個主要選項包括:

  • 二進位記錄器:此選項會產生可使用 MSBuild 記錄查看器檢視的二進位記錄檔 (msbuild.binlog)。 此查看器有助於診斷相依性問題並優化建置程式。 產生此記錄檔的命令如下:

    dotnet build -bl
    
  • 檔案記錄器:此選項會產生包含組建最詳細資訊記錄的文字記錄檔。 產生此記錄檔的命令如下:

    dotnet build -flp:v=diag
    

若要回顧,產生這兩個記錄的合併命令為:

dotnet build -bl -flp:v=diag

您可以在 MSBuild Command-Line 參考中找到完整的開關集。

常見問題

建置錯誤

當建置錯誤指出無效的語法時,輸出也會指定哪個檔案包含錯誤的程序代碼。 如果您使用最近新增的語法,您可能需要更新專案 SDK 版本。

來自資料庫專案的建置錯誤應該有 SQLxxxxx 錯誤碼,其中 xxxxx 是五位數的數位。 造成未解決參考錯誤的一些問題為SQL71501/SQL71502

  • 模棱兩可的物件名稱。 建議:
    • 使用完全解析的名稱 ([schema].[table].[column]
    • 視需要重新命名物件
  • 系統物件。 建議:
  • 外部參考。 建議:

其他失敗

針對還原期間發生的錯誤,請先在刪除 專案中的 /bin/obj 資料夾之後執行全新組建。

如果錯誤包含 SDK 'Microsoft.Build.Sql' specified could not be found​,請先確認 NuGet 套件摘要是否有效。 檢視目前摘要的基本命令為:

dotnet nuget list source​

公用 NuGet 提要為:

dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org​

如果您的環境需要私人資料流,請確定它們有效且可供存取。 您可能需要對套件回傳進行驗證。 在專案建置期間啟用驗證,可以使用:

dotnet build --interactive

針對 MSBuild,對等的命令為:

msbuild /p:nugetInteractive=true​

如需其他非 SQL 錯誤碼,請參閱下列資源: