Поделиться через


Ошибка возникает, когда исполняемый проект ссылается на несоответствующие исполняемые файлы.

Как правило, исполняемый проект ссылается на проекты библиотеки, а не другие исполняемые проекты. Исполняемый проект также может ссылаться на другой исполняемый проект для использования API, определенных в нем. Некоторые разработчики хотят ссылаться на исполняемый проект из другого исполняемого проекта, чтобы оба приложения размещались и запускались из одной выходной папки. Однако этот сценарий не работает, если автономный исполняемый файл ссылается на неавтономный исполняемый файл или наоборот. Из-за того, как работает хост приложения, ни одно приложение не может быть запущено. Чтобы предотвратить ситуации, когда приложения не выполняются, пакет SDK для .NET 5+ создает ошибки во время компиляции NETSDK1150 и NETSDK1151 при обнаружении несоответствий исполняемых ссылок.

Описание изменения

В предыдущих версиях SDK для .NET можно было ссылаться на автономный исполняемый проект из неавтономного исполняемого проекта без ошибки сборки. Однако оба приложения не будут запускаться. Начиная с пакета SDK для .NET 5, возникает ошибка, если исполняемый проект ссылается на другой исполняемый проект и SelfContained значения не соответствуют.

Представленная версия

Пакет SDK для .NET 5.0.300

Причина изменения

Ошибки вводятся для предотвращения ситуаций, когда вы ожидаете возможности запускать оба приложения, но этого не удается.

Если указанный проект не требуется запускать из выходной папки, можно задать свойство, чтобы избежать этой проверки ошибки:

<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>

Дополнительные сведения см. в разделе ValidateExecutableReferencesMatchSelfContained.

Затронутые API

Нет.