Vs編譯時RazorTagHelper - DOTNET_HOST_PATH is not set

HueiFeng發表於2020-11-17

今天聽朋友說遇到一個問題,開啟一個aspnetcore2.2的專案工程,發現挺有意思,缺少環境變數DOTNET_HOST_PATH

file

嚴重性	程式碼	說明	專案	檔案	行	禁止顯示狀態
錯誤	MSB4018	“RazorTagHelper”任務意外失敗。
System.InvalidOperationException: DOTNET_HOST_PATH is not set
   在 Microsoft.AspNetCore.Razor.Tasks.DotNetToolTask.get_DotNetPath()
   在 Microsoft.AspNetCore.Razor.Tasks.DotNetToolTask.GenerateFullPathToTool()
   在 Microsoft.Build.Utilities.ToolTask.ComputePathToTool()
   在 Microsoft.Build.Utilities.ToolTask.Execute()
   在 Microsoft.AspNetCore.Razor.Tasks.DotNetToolTask.Execute()
   在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   在 Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()	YiSha.Admin.Web	C:\Users\hueif\.nuget\packages\microsoft.aspnetcore.razor.design\2.2.0\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets	79	

那我們現在來看一下我們的作業系統是否缺少這個環境變數呢。

file

好吧,沒看到,錯誤資訊已經很明確了,那我們來解決它吧。

我們在Windows裡面使用SETX來新增我們的DOTNET路徑,/m引數為新增系統變數,如下所示:

setx "DOTNET_HOST_PATH" "%ProgramFiles%\dotnet\dotnet.exe" /m

現在我們再來檢視一下我們的是否已經新增成功了系統變數:

file

嗯,已經好了,現在我們可以重啟VS並嘗試重新生成一下~

相關文章