“ValidateExecutableReferences”任务意外失败
Posted
技术标签:
【中文标题】“ValidateExecutableReferences”任务意外失败【英文标题】:The "ValidateExecutableReferences" task failed unexpectedly 【发布时间】:2021-12-04 02:14:22 【问题描述】:我正在使用 .NET 6.0.100,我创建了一个新的 ASP.NET Core Web 应用程序。我还为 .NET 6.0.100 添加了一个新的类库,并添加了 nuget 包 Microsoft.EntityFrameworkCore 版本 5.0.11。由于某些原因,我无法弄清楚我在为我的 Web 项目构建时不断收到此错误,但仅在 Visual Studio 2022(预览版 2.0)中。如果我使用命令行“dotnet build”它可以工作,但在 Visual Studio 中我会收到此错误。
Error MSB4018 The "ValidateExecutableReferences" task failed unexpectedly.
System.InvalidOperationException: Sequence contains no elements
at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
at Microsoft.NET.Build.Tasks.ValidateExecutableReferences.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() MyWebAPI C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets 1092
此异常中提到的 Microsoft.NET.Sdk.targets 文件包含以下内容:
<Target Name="ValidateExecutableReferences"
AfterTargets="_GetProjectReferenceTargetFrameworkProperties"
Condition="'$(ValidateExecutableReferencesMatchSelfContained)' != 'false'">
<ValidateExecutableReferences
SelfContained="$(SelfContained)"
IsExecutable="$(_IsExecutable)"
ReferencedProjects="@(_MSBuildProjectReferenceExistent)"
UseAttributeForTargetFrameworkInfoPropertyNames="$(_UseAttributeForTargetFrameworkInfoPropertyNames)"
/>
这不是主要问题,因为我可以使用命令行来构建我的项目,但我希望能够在 Visual Studio 2022 中构建。
如果我删除了对 Web 项目正在构建的类库的引用,但是一旦我添加了引用,它就会停止。
知道如何解决这个问题吗?
【问题讨论】:
【参考方案1】:我将 Visual Studio 2022 更新到最新版本(Preview 5.0)并且错误停止了。
【讨论】:
以上是关于“ValidateExecutableReferences”任务意外失败的主要内容,如果未能解决你的问题,请参考以下文章