Udostępnij za pośrednictwem


Błąd wygenerowany, gdy plik wykonywalny odwołuje się do niezgodnego pliku wykonywalnego

Ogólnie rzecz biorąc, projekt wykonywalny odwołuje się do projektów bibliotek, a nie innych projektów wykonywalnych. Projekt wykonywalny może również odwoływać się do innego projektu wykonywalnego, aby używać zdefiniowanych w nim interfejsów API. Niektórzy deweloperzy chcą odwołać się do projektu wykonywalnego z innego projektu wykonywalnego, aby oba aplikacje zostały umieszczone w folderze wyjściowym i można je uruchomić z tego samego folderu wyjściowego. Jednak ten scenariusz nie działa, jeśli samodzielny plik wykonywalny odwołuje się do pliku wykonywalnego innego niż samodzielny lub odwrotnie. Ze względu na sposób działania hosta aplikacji nie można uruchomić żadnej aplikacji. Aby zapobiec sytuacjom, w których aplikacje nie są uruchamialne, zestaw .NET SDK 5+ generuje błędy czasu kompilacji NETSDK1150 i NETSDK1151, gdy wykrywa niezgodne odwołania do plików wykonywalnych.

Opis zmiany

W poprzednich wersjach zestawu SDK platformy .NET można odwoływać się do samodzielnego projektu wykonywalnego z projektu wykonywalnego bez błędu kompilacji. Jednak obie aplikacje nie byłyby uruchamiane. Począwszy od zestawu .NET SDK 5, jest generowany błąd, jeśli projekt wykonywalny odwołuje się do innego projektu wykonywalnego i SelfContained wartości nie są zgodne.

Wprowadzona wersja

Zestaw .NET SDK 5.0.300

Przyczyna wprowadzenia zmiany

Błędy zostały wprowadzone, aby zapobiec sytuacjom, w których spodziewasz się, że będzie można uruchamiać obie aplikacje, ale nie może.

Jeśli przywoływalny projekt nie musi być uruchamiany z folderu wyjściowego, możesz ustawić właściwość, aby uniknąć tego sprawdzenia błędu:

<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>

Aby uzyskać więcej informacji, zobacz ValidateExecutableReferencesMatchSelfContained.

Dotyczy interfejsów API

Brak.