2010-08-04 29 views
9

Ich habe ein Visual Studio 2010-Projekt, das auf .NET Framework 3.5 ausgerichtet ist. Das Projekt baut von Visual Studio in Ordnung, aber wenn ich versuche, es von der Kommandozeile zu kompilieren oder von Teamcity bekomme ich folgende Build-Fehler:Visual Studio Build Problem mit "ReflectionOnlyAssemblyResolve Ereignisse"

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFX.targets(269,9): error MC1000: Unknown build error, 'Cannot resolve dependency to assembly 'Microsoft.Windows.Design.Extensibility, Version=4.0.0.0, Culture=neutral, PublicKey Token=b03f5f7f11d50a3a' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.' [C:\Work\MyProject\MyProject.sln]

Der Linker über Microsoft.Windows.Design.Extensibility.dll zu beklagen scheint, aber das Projekt hängt nicht auf dieser Bibliothek.

Antwort

18

Es wird versucht, die Bombardierung XAML in dem Projekt zu kompilieren. Ignorieren Sie die Bemerkung über ReflectionOnlyAssemblyResolve Ereignis in der Nachricht, das ist nur versuchen, es hilfreich zu sein, das Problem zu lösen. Das eigentliche Problem ist, dass es die Baugruppe einfach nicht finden kann.

Das ist zu erwarten, ist Microsoft.Windows.Design.Extensibility eine Visual Studio Montage, gespeichert in der Common7 \ IDE \ Public Ordner. Es kann nur gefunden werden, wenn der Ordner in dem Sondieren Pfad ist, wird es nicht sicher sein, wenn Sie msbuild.exe von einem Build-Tool.

nicht sicher, was zu empfehlen, müssen Sie werden herausfinden, wo die Abhängigkeit herkommt. Das sollte wahrscheinlich am Inhalt der .xaml-Datei beginnen, suchen Sie nach dem Assemblynamen. Stellen Sie außerdem sicher, dass das Problem reproduziert, wenn Sie msbuild.exe von der Visual Studio-Eingabeaufforderung ausführen.

+2

Es scheint, dass die Abhängigkeit von einer Drittanbieterbibliothek stammt. Es hat versucht, den Verweis auf die Bibliothek von dem Ort hinzuzufügen, den Sie mir empfohlen haben, und es hat gut funktioniert. Vielen Dank. –