错误的“;GenerateResource“;任务意外失败C#Windows窗体应用程序

本文关键字:C#Windows 窗体 应用程序 失败 任务 GenerateResource 错误 意外 | 更新日期: 2023-09-27 18:27:21

它是Windows窗体应用程序。当我试图编译C#项目时,我遇到了这个错误。

Severity    Code    Description Project File    Line
Error       The "GenerateResource" task failed unexpectedly.
System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Build.Tasks.ResGenDependencies.GetResXFileInfo(String resxFile)
   at Microsoft.Build.Tasks.GenerateResource.ShouldRebuildResgenOutputFile(String sourceFilePath, String outputFilePath)
   at Microsoft.Build.Tasks.GenerateResource.GetResourcesToProcess(List`1& inputsToProcess, List`1& outputsToProcess, List`1& cachedOutputFiles)
   at Microsoft.Build.Tasks.GenerateResource.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() Configurator    

我在VS 2015 Enterprise上成功地完成了这个项目,我在VS 2013社区上收到了这个错误。

我不知道怎么解决这个问题。我尝试从表单中删除所有资源(resx)文件,但这并没有解决问题。

错误的“;GenerateResource“;任务意外失败C#Windows窗体应用程序

第一个建议:

按照GitHub的MSBuild问题的建议,完全删除所有生成输出并重新生成。

结合其他选项:

你有ReSharper吗?它的一个版本(我认为8.0)有一个错误,导致"GenerateResource"任务意外失败例外。

另一个可以尝试的选项是项目文件中的DisableOutOfProcTaskHost属性:

<PropertyGroup>
      <DisableOutOfProcTaskHost>true</DisableOutOfProcTaskHost>
</PropertyGroup>

您也可以将DisableOutOfProcTaskHost设置为环境变量。