2013-03-14 12 views
12

'daki birden çok derlemede tanımlanmıştır. En yeni .net framework'ü (4.5) kullanarak yeni asp.net mvc 4 projesi oluşturdum. Visual studio 2012. Bazı dersleri, yan projeleri vb. Ekledikten sonra, projeyi derlediğimde 5 kez aynı uyarıyı aldığımı fark ettim. Uyarı durumları:Ön tanımlı tip 'System.Threading.Tasks.Task', global alias

ASPNETCOMPILER: Uyarı CS1685: Önceden tanımlanmış tip 'System.Threading.Tasks.Task' küresel takma birden meclislerinde tanımlanır; şimdi meclisleri bu tip tanımlandıkları merak ediyorum: '\ Program Files (x86) \ Referans Meclisleri \ Microsoft \ Framework.NETFramework \ v4.5 \ mscorlib.dll c' Yani

dan tanımını kullanarak daha? Çözümdeki tüm projelerim .net framework 4.5 sürümünü kullanıyorsunuz, yani 4.5 \ mscorlib.dll tek mi yoksa eksik bir şey mi var?

Çözümlerim 4 projeden oluşur (3 sınıf kitaplığı ve 1 mvc-4 web projesi). 3 sınıf kütüphanesi, onları derhal derlediğimde herhangi bir uyarı göstermez. Sadece uyarıları veren web projesidir, ancak sınıf kütüphanesi projeleri web projesi tarafından referans alınır. Web projesinin referanslar:

  • Antlr3.Runtime
  • Microsoft.CSharp
  • Microsoft.Web.Infrastructure
  • Sistem
  • System.Data
  • System.Web.DynamicData
  • System.Web.Entity
  • System.Web.ApplicationServices
  • System.ComponentModel.DataAnnotations
  • System.Core
  • System.Data.DataSetExtensions
  • System.Web.Optimization
  • System.Xml.Linq
  • System.Web
  • System.Web. Uzantıları
  • System.Web.Abstractions
  • System.Web.Routing
  • Sy stem.Xml
  • System.Configuration
  • System.Web.Services
  • System.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
  • kimse var mı

WebGrease Bakılması gereken bir öneri? peşin

Teşekkür

BHD

GÜNCELLEME Daha insanlar cevap oldu benim durumumda böyle benzer sorunları var gibi görünüyor : Burada bazı şirket kütüphanelerini kullanıyor, aslında vardı çerçevenin eski sürümlerini (3.5) kullanarak ve uyarılara neden oldu.

+0

Bunun olduğu yerde bilgisayar var mıydı, daha önce .NET 4.5 veya .NET 4.0'ın başka sürümleri yüklenmiş miydi? –

+2

Mesajınız, diğer montajın ne olduğunu belirtmiyor. Bu değişkeni tanıtmak için CS1685 uyarısını veren aynı projenin içinde deneyin: 'global :: System.Threading.Tasks.Task test = null;'. Bu hata, CS0433 hatası gibi başka bir hata vermelidir: 't' türü 'x' ve 'y' içinde bulunur; burada x 've' y 'söz konusu iki derlemedir. –

+0

İyi düşünce Jeppe, denedim ama şans yok. Hala uyarılar, hata yok. –

cevap

7

C# Compiler Warning 1685 ürününe benzer. Başvurulan derlemelerden herhangi birinin mscorlib.dll dosyasının farklı sürümlerini başvuruyor olup olmadığını kontrol edin.

DotPeek veya .NET Reflector'u tutun ve başvurulan derlemeler için başvuruların hangi sürümlerinin başvuruda bulunduğunu kontrol etmelisiniz.

+1

Katılıyorum. Antlr3.Runtime', 'Newtonsoft.Json' veya' WebGrease' 'mscorlib.dll’nin diğer sürümlerini, örneğin bazı .NET 4.0 sürümlerini belirtin. Belki proje dosyasındaki sürüm numaralarına bakabilir misiniz? –

+0

Bu, sonunda aşağıya doğru olduğu yerde. Ama bu yeni/temiz bir proje olduğu için, bunun için hangi mvc bağımlılığının sorumlu olduğunu merak ediyordum. Sadece yüklü reflektör var, bağımlılıkların bağımlılıklarını nasıl kontrol edebilirim? –

+0

@BlackHawkDesign: DotPeek'i alırsanız, montajınızı derleme kaşifine bırakın. Bağımlılıklarınızı ve sürümlerini görebileceksiniz. Yüklemek için bağımlılıkları çift tıklatın ve bağımlılıklarını inceleyin. – Phil