Press "Enter" to skip to content

MSB4018 The “RazorGenerate” task failed unexpectedly

Cosa fare in una applicazione Asp.net Core se ritrovate l’errore nel titolo

Visto che ci abbiamo perso alcune ore in due, annoto come risolvere il problema, perché per trovare la soluzione abbiamo dovuto fare il giro del web trovando per caso un commento su un progetto GitHub.

Questo errore è apparso senza alcun motivo preciso ieri ad un collega che ha ripreso in mano un progetto che non toccava da alcune settimane.

Non abbiamo capito a cosa fosse dovuto, se a qualcosa nei reference di progetto o se a qualcuno degli aggiornamenti relativi a .net 5.

La soluzione è quella di inserire nelle Environment Variables dell’utente la seguente variabile:

DOTNET_HOST_PATH = %ProgramFiles%\dotnet\dotnet.exe

A cosa serve, non ho idea, ma viene sicuramente usata perchè quando l’ho inserita ho sbagliato qualcosa nel nome e il compilatore ha dato errore perchè non trovava il path di dotnet.exe.

Per andare ad inserire la variabile di Environment per l’utente ecco i passaggi:

Aprite il Pannello di controllo, io faccio [Window]+R per aprire la finestra Run in cui scrivo control

 

Premendo il tasto window (solitamente ha il simbolino di windows o ha scritto Win= appare la finestra qui sopra, dove abbiamo scritto control nel programma da eseguire. Premendo OK si vede quel che è nell’immagine seguente.

Quando appare il pannello di controllo, nel pannello di ricerca in alto a destra scriviamo environ per filtrare gli elementi del pannello di controllo cercando le variabili di Environment (in Windows in italiano probabilmente Variabili di Ambiente) selezioniamo il link in alto per modificare quelle dell’utente locale.

Clicchiamo il primo link che modifica le variabili di ambiente per il nostro Utente. Apparirà la seguente window:

Per inserire la nuova variabile di ambiente, premiamo il tasto New nel pannello superiore. (quello che ho oscurato).

Apparirà la window seguente.

Compiliamo la Window con i dati che ho indicato all’inizio del post.

E creiamo questa nuova variabile di ambiente. Salviamo premendo il tasto OK e ancora OK sulla window principale.

Fatto questo, chiudiamo e riapriamo Visual Studio e magicamente, la compilazione funzionerà.

Buon Lavoro a Tutti.