System.Threading.Tasks.Task'在全局别名中的多个程序集中定义

本文关键字:程序 定义 集中 程序集 别名 全局 Task Tasks Threading System | 更新日期: 2023-09-27 18:04:04

我刚刚建立了一个新的asp.net mvc 4项目,使用最新的。net框架(4.5)结合Visual studio 2012。之后我增加了一些课程,业余项目等。我突然注意到,当我编译项目时,我收到了5倍相同的警告。警告状态:

ASPNETCOMPILER: warning CS1685:预定义类型"System.Threading.Tasks。中的多个程序集中定义了全球别名;使用"c:'Program Files (x86)'Reference"中的定义微软组件' ' Framework.NETFramework ' v4.5开发' mscorlib.dll"

所以现在我想知道在哪些程序集中定义了这种类型?我在解决方案中的所有项目都使用。net框架的4.5版本,所以4.5'mscorlib.dll应该是唯一的一个还是我错过了什么?

我的解决方案包括4个项目(3个类库和1个mvc-4 web项目)。当我独立编译这3个类库时,它们不会显示任何警告。只有web项目才会抛出警告,但是类库项目是由web项目引用的。web项目的引用:

  • Antlr3。运行时
  • 微软。CSharp
  • Microsoft.Web.Infrastructure
  • 系统
  • 系统。数据
  • System.Web.DynamicData
  • System.Web.Entity
  • System.Web.ApplicationServices
  • System.ComponentModel.DataAnnotations
  • 系统。核心
  • System.Data.DataSetExtensions
  • System.Web.Optimization
  • System.Xml.Linq
  • 系统。Web
  • System.Web.Extensions
  • System.Web.Abstractions
  • System.Web.Routing
  • System.Xml
  • 系统。配置
  • System.Web.Services
  • 系统。EnterpriseServices
  • Newtonsoft。Json
  • System.Net。Http
  • System.Net.Http.Formatting
  • System.Net.Http.WebRequest
  • System.Web.Helpers
  • System.Web.Http
  • System.Web.Http.WebHost
  • System.Web.Mvc
  • System.Web.Razor
  • System.Web.WebPages
  • System.Web.WebPages.Deploymen
  • System.Web.WebPages.Razor
  • WebGrease

有没有人建议去哪里看?

Thanks in advance

有限公司

似乎更多的人有类似的问题,在我的情况下,答案是:我们在这里使用了一些公司库,它们确实使用了旧版本的框架(3.5),并导致了警告。

System.Threading.Tasks.Task'在全局别名中的多个程序集中定义

类似于第1685篇c#编译警告。检查是否有任何引用的程序集本身引用了不同版本的mscorlib.dll。

获取DotPeek或。net Reflector,您应该能够检查所引用的程序集的版本

Visual Studio输出可以为您提供触发此操作的程序集的详细信息。您将需要输出在"Detailed"电平。到(至少在VS 2019中):

Tools -> Options -> Projects and Solutions -> Build and Run

,为"MSBuild project build output verbosity"选择"Detailed"

然后获取构建输出并查找类似"There was a conflict between..."的内容。它应该列出引用程序集以及发生冲突的程序集的版本。这些信息应该足以决定一个行动方案。