2013-04-12 4 views
20

Ich habe ein MVC3-Projekt, das ich von VS2010 auf VS2012 aktualisiert. Das Projekt hat auch einen Verweis auf MiniProfiler. Unsere Anwendung kompiliert und läuft gut in VS2012 ohne Warnungen/Fehler. Beide Assemblys werden ordnungsgemäß geladen, wenn sie mit IIS Express ausgeführt werden. Wenn das ASP.NET-Compiler-Tool, jedoch erhalte ich die folgende Warnung:ASP.NET Compiler beschwert sich von nicht übereinstimmenden Framework-Versionen mit MiniProfiler

Microsoft (R) ASP.NET Compilation-Tool Version 4.0.30319.17929 Dienstprogramm eine ASP.NET-Anwendung Urheberrecht vorzukompilieren (C) Microsoft Corporation. Alle Rechte vorbehalten.

(0): Warnung: Die folgenden Montag Abhängigkeiten von einer Version von das .NET Framework haben, die höher ist als das Ziel und könnte richtig während der Laufzeit nicht geladen wird einen Fehler verursacht: Miniprofiler, Version = 2.1.0.0 , Kultur = neutral, PublicKeyToken = b44f9351044011a3. Die Abhängigkeiten sind: System.Data.Linq, Version = 4.0.0.0, Kultur = neutral, PublicKeyToken = b77a5c561934e089. Sie sollten entweder sicherstellen, dass die abhängige Assembly für das Zielframework korrekt ist, oder sicherstellen, dass das Zielframework, das Sie adressieren, das der abhängigen Assembly ist.

Wir haben keinen expliziten Verweis auf System.Data.Linq. Bis zum Update auf VS2012 hatten wir keine Fehler. Die Version MiniProfiler zielt in der Tat auf .NET 4.0 (wie unsere Anwendung). Was könnte diese Warnung verursachen?

+0

ich einen Blick auf den Einstellungen gehabt habe, und ich kann nichts offensichtlich falsch sehen, die diesen ... –

+0

@MarcGravell verursachen könnten - Also, was ist wirklich seltsam Wenn ich ein neues Projekt erstelle und den gleichen Ansatz wie oben benutze, wird es gut funktionieren ... :( – TheCloudlessSky

+0

Könnte man die bin-Verzeichnisse nach irgendwelchen funkigen DLLs durchsuchen, die dort gelandet sein könnten? Sicher auch deinen obj-Ordner, dann lösche es aus dem Projekt Ich finde, dass hilft mit allen Arten von Kuriositäten; o) – bUKaneer

Antwort

14

Ich konnte es endlich mit einem Tipp von this answer fixieren. Ich habe die folgende <add> Linie in den 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

Haben Sie targetFramework in Web.confing geändert?

+0

Es ist bereits auf 4.0 festgelegt: 'targetFramework =" 4.0 "' – TheCloudlessSky

Verwandte Themen