需要测试一个小东东, 使用 Visual Studio 2019 新建了一个. Net Core 的 Console 程序, 但是在编译的时候一直报错, 死活编译不通过.
错误信息:
- Severity Code Description Project File Line Suppression State
- Error MSB4018 The "CreateAppHost" task failed unexpectedly.
- System.AggregateException: One or more errors occurred. ---> Microsoft.NET.HostModel.HResultException: 8007006E
- at Microsoft.NET.HostModel.ResourceUpdater.Update()
- at Microsoft.NET.HostModel.AppHost.HostWriter.<>c__DisplayClass2_0.<CreateAppHost>g__UpdateResources|1()
- at Microsoft.NET.HostModel.RetryUtil.RetryOnWin32Error(Action func)
- at Microsoft.NET.HostModel.AppHost.HostWriter.CreateAppHost(String appHostSourceFilePath, String appHostDestinationFilePath, String appBinaryFilePath, Boolean windowsGraphicalUserInterface, String assemblyToCopyResorcesFrom)
- --- End of inner exception stack trace ---
- at Microsoft.NET.HostModel.AppHost.HostWriter.CreateAppHost(String appHostSourceFilePath, String appHostDestinationFilePath, String appBinaryFilePath, Boolean windowsGraphicalUserInterface, String assemblyToCopyResorcesFrom)
- at Microsoft.NET.Build.Tasks.CreateAppHost.ExecuteCore()
- at Microsoft.NET.Build.Tasks.TaskBase.Execute()
- at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
- at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
- ---> (Inner Exception #0) Microsoft.NET.HostModel.HResultException: 8007006E
- at Microsoft.NET.HostModel.ResourceUpdater.Update()
- at Microsoft.NET.HostModel.AppHost.HostWriter.<>c__DisplayClass2_0.<CreateAppHost>g__UpdateResources|1()
- at Microsoft.NET.HostModel.RetryUtil.RetryOnWin32Error(Action func)
- at Microsoft.NET.HostModel.AppHost.HostWriter.CreateAppHost(String appHostSourceFilePath, String appHostDestinationFilePath, String appBinaryFilePath, Boolean windowsGraphicalUserInterface, String assemblyToCopyResorcesFrom)<---
- ---> (Inner Exception #1) System.UnauthorizedAccessException: Access to the path 'D:\VS2019Code\Projects\ConsoleApp9\ConsoleApp9\obj\Debug\netcoreapp3.1\ConsoleApp9.exe' is denied.
- at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
- at System.IO.File.InternalDelete(String path, Boolean checkHost)
- at System.IO.File.Delete(String path)
- at Microsoft.NET.HostModel.AppHost.HostWriter.CreateAppHost(String appHostSourceFilePath, String appHostDestinationFilePath, String appBinaryFilePath, Boolean windowsGraphicalUserInterface, String assemblyToCopyResorcesFrom)<---
- ConsoleApp9 C:\Program Files\dotnet\sdk\3.1.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets 393
网上的方案有如下, 也都进行了尝试:
重启 Visual Studio
以管理员身份运行 Visual Studio
清理解决方案
删除 bin 目录下的所有文件
然鹅, 均无效, 无奈之下继续寻找解决方案, 发现用 Process Monitor 来监控到底是谁在搞鬼.
点击下载 Process Monitor.
终于发现了罪魁祸首.
原来是你, 让我花了我一个上午的时间在折腾.
立马干掉
果然, 一切编译正常, 大功告成.
来源: https://www.cnblogs.com/hand/p/12112647.html