今天聽朋友說遇到一個問題,打開一個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
那我們現在來看一下我們的操作系統是否缺少這個環境變量呢。
我們打開控制台,輸入set
,如下圖所示,我們會看到當前操作系統的操作環境變量:
好吧,沒看到,錯誤信息已經很明確了,那我們來解決它吧。
我們在Windows里面使用SETX來添加我們的DOTNET路徑,/m
參數為添加系統變量,如下所示:
setx "DOTNET_HOST_PATH" "%ProgramFiles%\dotnet\dotnet.exe" /m
現在我們再來查看一下我們的是否已經添加成功了系統變量:
嗯,已經好了,現在我們可以重啟VS並嘗試重新生成一下~