共用方式為


當可執行文件項目參考不相符的可執行檔時產生的錯誤

一般而言,可執行專案會參考函式庫專案,而不是其他可執行專案。 可執行文件專案也可以參考另一個可執行專案,以使用其中定義的 API。 有些開發人員想要從另一個可執行文件項目參考可執行檔專案,讓兩個應用程式都放在中,而且可以從相同的輸出資料夾執行。 不過,如果獨立可執行文件參考非獨立式可執行檔,則此案例無法運作,反之亦然。 由於應用程式主機的運作方式,因此無法啟動兩個應用程式。 為了避免無法執行應用程式的情況,.NET SDK 5+ 會在偵測到不相符的可執行文件參考時產生編譯時間錯誤NETSDK1150和NETSDK1151。

變更描述

在舊版 .NET SDK 中,您可以從非獨立式可執行文件專案參考獨立式可執行文件專案,而不會發生建置錯誤。 不過,這兩個應用程式都無法執行。 從 .NET SDK 5 開始,如果可執行文件項目參考另一個可執行文件專案且 SelfContained 值不相符,就會產生錯誤。

推出的版本

.NET SDK 5.0.300

變更的原因

已引入這些錯誤,以防止您預期能夠啟動這兩個應用程式但無法啟動的情況。

如果參考的專案不需要從輸出資料夾執行,您可以設定 屬性以避免進行此錯誤檢查:

<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>

如需詳細資訊,請參閱 ValidateExecutableReferencesMatchSelfContained

受影響的 API

沒有。