2013-04-12 16 views
20

Mam projekt MVC3, który uaktualniłem z VS2010 do VS2012. Projekt ma również odniesienie do MiniProfiler. Nasza aplikacja kompiluje i działa dobrze w VS2012 bez ostrzeżeń/błędów. Oba zespoły ładują się poprawnie podczas pracy z usługą IIS Express. Podczas korzystania z narzędzia ASP.NET Compiler jednak uzyskać następujące ostrzeżenie:Kompilator ASP.NET narzeka na niedopasowane wersje szkieletowe z MiniProfilerem

Microsoft (R) w wersji ASP.NET Kompilacja Narzędzie 4.0.30319.17929 Utility do precompile aplikacji ASP.NET Copyright (c) Microsoft Corporation. Wszelkie prawa zastrzeżone.

(0): ostrzeżenie: Poniższy montaż ma zależności od wersji .NET Framework, która jest wyższa od celu i nie może załadować poprawnie podczas wykonywania powodując awarię: MiniProfiler, Version = 2.1.0.0 , Culture = neutral, PublicKeyToken = b44f9351044011a3. Zależności to: System.Data.Linq, wersja = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089. Należy upewnić się, że zestaw zależny od jest poprawny dla docelowego szkieletu lub upewnić się, że docelowy szkielet docelowy to zespół zależnej .

Nie mamy wyraźnego odniesienia do System.Data.Linq. Aż do aktualizacji VS2012, nie mieliśmy żadnych błędów. Wersja MiniProfiler jest rzeczywiście ukierunkowana na .NET 4.0 (tak jak nasza aplikacja). Co może być przyczyną tego ostrzeżenia?

+0

miałem spojrzeć na konfiguracje, a ja nie widzę nic złego, że oczywiście może powodować ten ... –

+0

@MarcGravell - Więc co jest bardzo dziwne jest to, że jeśli utworzyć nowy projekt i użyć tego samego podejścia powyżej, będzie działać dobrze ... :( – TheCloudlessSky

+0

Czy można sprawdzić katalogi bin dla wszelkich funky DLL, które mogłyby się tam kończy? Również kopię zapasową folderu obj, a następnie usunąć to z projektu, który znajduję, który pomaga we wszelkiego rodzaju dziwactwach; o) – bUKaneer

Odpowiedz

14

W końcu udało mi się to naprawić poradą od this answer. Dodałem następujące <add> linię w web.config:

<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <!-- etc... --> 
     <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     <!-- etc... --> 
     </assemblies> 
    </compilation> 
    <system.web> 
</configuration> 
1

Czy zmieniono targetFramework wewnątrz pliku Web.confing?

+0

Jest już ustawione na 4.0: 'targetFramework =" 4.0 "' – TheCloudlessSky