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),并导致了警告。
类似于第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..."
的内容。它应该列出引用程序集以及发生冲突的程序集的版本。这些信息应该足以决定一个行动方案。