Vs編譯時RazorTagHelper - DOTNET_HOST_PATH is not set
阿新 • • 發佈:2020-11-17
今天聽朋友說遇到一個問題,開啟一個`aspnetcore2.2`的專案工程,發現挺有意思,缺少環境變數`DOTNET_HOST_PATH`
![file](https://blog.stackable.cn/uploads/img-9a9afd5b-f0ed-498d-aca0-9f31d8e7be86.png)
```
嚴重性 程式碼 說明 專案 檔案 行 禁止顯示狀態
錯誤 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.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](https://blog.stackable.cn/uploads/img-2c5bbb7b-1e78-4aa0-80b6-84d8fc0a04de.png)
好吧,沒看到,錯誤資訊已經很明確了,那我們來解決它吧。
我們在Windows裡面使用SETX來新增我們的DOTNET路徑,`/m`引數為新增系統變數,如下所示:
```
setx "DOTNET_HOST_PATH" "%ProgramFiles%\dotnet\dotnet.exe" /m
```
現在我們再來檢視一下我們的是否已經新增成功了系統變數:
![file](https://blog.stackable.cn/uploads/img-73418487-7c1f-4f3b-8f0c-b9669065bf4f.png)
嗯,已經好了,現在我們可以重啟VS並嘗試重新生