今天聽朋友說遇到一個問題,開啟一個aspnetcore2.2
的專案工程,發現挺有意思,缺少環境變數DOTNET_HOST_PATH
嚴重性 程式碼 說明 專案 檔案 行 禁止顯示狀態
錯誤 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
那我們現在來看一下我們的作業系統是否缺少這個環境變數呢。
好吧,沒看到,錯誤資訊已經很明確了,那我們來解決它吧。
我們在Windows裡面使用SETX來新增我們的DOTNET路徑,/m
引數為新增系統變數,如下所示:
setx "DOTNET_HOST_PATH" "%ProgramFiles%\dotnet\dotnet.exe" /m
現在我們再來檢視一下我們的是否已經新增成功了系統變數:
嗯,已經好了,現在我們可以重啟VS並嘗試重新生成一下~