2014-11-13 3 views
7

TFS 2013 in dem derzeit gezielt Rahmen gelöst werden könnte - Körperbau: ASP.Net 4.5.1 Website erhalte ich diesen Fehler:Abhängigkeit von der Gerüstbaugruppe "System.Runtime, Version = 4.0.10.0", das nicht

warning MSB3268: The primary reference "C:\Builds\2\MyProj\Web1_Main\bin\MyProj1.dll" 
could not be resolved because it has an indirect dependency on the framework assembly 
"System.Runtime, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which 
could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.5.1". To resolve this problem, either remove the reference 
"C:\Builds\2\MyProj\Web1_Main\bin\MyProj1.dll" or retarget your application to a framework 
version which contains "System.Runtime, Version=4.0.10.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a". 

Alle Projekte und Website war ursprünglich 4,0 mit Unity 1.0.0.0. Ich habe es auf 4.5.2 aktualisiert. Auch der MyProj1 im obigen Fehler referenziert Unity und ich habe ihn auch auf 3.5.1 aktualisiert.

Lesen Sie: https://unity.codeplex.com/workitem/12756 Der Build-Server haben bereits die aktualisierte 4.5.2 in der Problemumgehung angegeben.

Also habe ich auf 4.5.1 downraded aber immer noch den Fehler.

  • Lösung baut über Visual Studio lokal Fein 2013

  • Die Stand-alone-Klassenbibliotheken in TFS Fein bauen Projekt, aber wenn MyProj als Hinweis auf meine Webseite hinzugefügt wird, das ist, wenn es fehlschlägt.

Irgendwelche Ideen?

Benötige ich andere web.config-Änderungen als TragetFramework während des Upgrades?

+0

Ich denke schon. Haben Sie sich die angesehen? – Spock

+0

@Spock Nein, habe ich nicht. Irgendein Vorschlag, was dort zu tun ist. Wie der Fehler sagt und ich sehe, dass Unity 3.5 Runtime 4.0.10.0 benötigt, aber meine Website ist auf 4.5.2 ausgerichtet. Wie sieht die Einstellung in diesem Fall aus? – gbs

Antwort

1

Ich musste meine Unity auf 3.5 aktualisieren aufgrund der Abhängigkeit meines Projekts von einem anderen Projekt und dieser Fehler kam erneut. Dieses Mal wurde es endlich behoben.

Dieses half mir: http://devsilos.blogspot.com/2014/10/msb3268-while-targeting-aspnet-web-site.html

Lösung ich alle Dateien kopiert, die etwa von Build beschwerte:

C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ V4.5.2 \ Fassaden

Um

C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ V4.5.2

Hier ist die Erklärung über den Link in Fall darüber nach unten aus irgendeinem Grund in Zukunft geht:

A deeper inspection revealed the following interesting fact: aspnet_compiler for some reason does not take into account the .dll-s that reside under the Facade directory of 4.5 assemblies (C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\Facades). It looks only under C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5

As a result the whole thing failed since both System.Threading.Tasks and System.Runtime .dll-s were under the Facades directory and not inside the v4.5.

Now the solutions:

  • Just simply copy the missing .dll-s from Facade to the v4.5 directory.
  • Set the TargetFrameworkMoniker to 4.5.1 in the .sln file. The exact syntax is as follows: TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.5.1".

What happens in this case is that the aspnet_compiler does not recognize the exact version of the required framework and tries to use the GAC wherever it can. If 4.5 is the highest version installed on the build machine I believe it should work.

2

Eigentlich tut mir leid, ich glaube nicht, dass "assemblyBinding" helfen würde. Es scheint wie ein known bug. Es wurde nicht gelöst. Mit Unity 3.5 können Sie .NET 4.5.1 aber nicht 4.5.2 als Ziel verwenden. Eine Option wäre also, auf .NET 4.5.1 zu rezielen und zu sehen, ob das Problem wegfällt, wenn das eine Option ist.

p.s. Sie können auch versuchen .NET Framework 4.5.2 Developer Pack. Aber einige haben erwähnt, dass es nicht funktioniert hat.

+0

Ja, das ist der Fehler, den ich in der Frage erwähnt habe und ich hatte bereits ein neues Entwicklerpaket ausprobiert und es hat nicht funktioniert. Und ich habe bereits aufgegeben und bin eigentlich auf 4,5 umgezogen. – gbs

+0

Die Installation des .Net Framework 4.5.2 Developer Packs funktionierte für mich. – deadlydog

0

Wir vor kurzem lief in ein ähnliches Problem mit einer Website, die .NET 4.5 aktualisiert wurde zum Ziel, und zunächst folgte die Lösung in gbs's answer.

In unserem Fall haben wir nach diesem Muster mehrere Warnungen hatten:

<project name>.metaproj : warning MSB3268: The primary reference "<project reference>.dll" could not be resolved because it has an indirect dependency on the framework assembly "System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.5". To resolve this problem, either remove the reference "<project reference>.dll" or retarget your application to a framework version which contains "System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".

Wir entdeckten dann, dass, wenn Sie erstellen und eine neue Website Targeting 4.5.x (Datei> Neu> Web-Site ...) Wählen Sie die ASP.NET Empty Website Vorlage, das Paket Microsoft.Net.Compilers ist im Lieferumfang enthalten. Durch Hinzufügen dieses Pakets zu unserer Website wurde das Problem behoben, ohne dass die Referenz-Assemblys berührt werden mussten.

Von den ursprünglichen zwei Lösungen verursachte das Kopieren der Dateien, dass der Build erfolgreich war, zeigte jedoch Wartungsprobleme und das Ändern des TargetFrameworkMoniker (4.5.3 statt 4.5.1) verursachte einen anderen Buildfehler und war eine spröde Lösung.

+0

Ich habe nicht versucht, die zweite Option explizit zu verwenden. Ja, Wartung ist ein Problem und wenn ein neuer Build-Server eingerichtet wird, müssen wir das ebenfalls beheben. Ich werde deine Lösung ausprobieren. Ich habe die Lösung vor zwei Tagen gefunden, wünschte du hättest vor mir gefunden, hättest mir Stunden sparen können :) – gbs

Verwandte Themen