一般而言,可執行專案會參考函式庫專案,而不是其他可執行專案。 可執行文件專案也可以參考另一個可執行專案,以使用其中定義的 API。 有些開發人員想要從另一個可執行文件項目參考可執行檔專案,讓兩個應用程式都放在中,而且可以從相同的輸出資料夾執行。 不過,如果獨立可執行文件參考非獨立式可執行檔,則此案例無法運作,反之亦然。 由於應用程式主機的運作方式,因此無法啟動兩個應用程式。 為了避免無法執行應用程式的情況,.NET SDK 5+ 會在偵測到不相符的可執行文件參考時產生編譯時間錯誤NETSDK1150和NETSDK1151。
變更描述
在舊版 .NET SDK 中,您可以從非獨立式可執行文件專案參考獨立式可執行文件專案,而不會發生建置錯誤。 不過,這兩個應用程式都無法執行。 從 .NET SDK 5 開始,如果可執行文件項目參考另一個可執行文件專案且 SelfContained 值不相符,就會產生錯誤。
推出的版本
.NET SDK 5.0.300
變更的原因
已引入這些錯誤,以防止您預期能夠啟動這兩個應用程式但無法啟動的情況。
建議的動作
如果參考的專案不需要從輸出資料夾執行,您可以設定 屬性以避免進行此錯誤檢查:
<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>
如需詳細資訊,請參閱 ValidateExecutableReferencesMatchSelfContained。
受影響的 API
沒有。