Errore generato quando il progetto eseguibile fa riferimento a un file eseguibile non corrispondente
In genere, un progetto eseguibile fa riferimento a progetti di libreria, non ad altri progetti eseguibili. Un progetto eseguibile può anche fare riferimento a un altro progetto eseguibile per usare le API definite in esso. Alcuni sviluppatori vogliono fare riferimento a un progetto eseguibile da un altro progetto eseguibile in modo che entrambe le app siano inserite e siano eseguibili dalla stessa cartella di output. Tuttavia, questo scenario non funziona se un file eseguibile indipendente fa riferimento a un eseguibile non indipendente o viceversa. A causa del funzionamento dell'host dell'applicazione, nessuna delle due app può essere avviata. Per evitare situazioni in cui le app non sono eseguibili, .NET SDK 5+ genera errori in fase di compilazione NETSDK1150 e NETSDK1151 quando rileva riferimenti eseguibili non corrispondenti.
Descrizione delle modifiche
Nelle versioni precedenti di .NET SDK è possibile fare riferimento a un progetto eseguibile indipendente da un progetto eseguibile non indipendente senza errori di compilazione. Tuttavia, entrambe le app non sarebbero eseguibili. A partire da .NET SDK 5, viene generato un errore se un progetto eseguibile fa riferimento a un altro progetto eseguibile e i valori SelfContained
non corrispondono.
Versione introdotta
.NET SDK 5.0.300
Motivo della modifica
Gli errori sono stati introdotti per evitare situazioni in cui si prevede di poter avviare entrambe le applicazioni, ma ciò non è possibile.
Azione consigliata
Se il progetto a cui si fa riferimento non deve essere eseguito dalla cartella di output, è possibile impostare una proprietà per evitare questo controllo degli errori:
<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>
Per altre informazioni, consulta ValidateExecutableReferencesMatchSelfContained.
API interessate
Nessuno.