2010-08-04 14 views
9

Tengo un proyecto de Visual Studio 2010 orientado a .NET Framework 3.5. El proyecto se basa bien desde Visual Studio, pero cuando intento compilar desde la línea de comandos o desde TeamCity me sale el siguiente error de compilación:Problema de compilación de Visual Studio con "ReflectionOnlyAssemblyResolve event"

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]

El enlazador parece quejarse Microsoft.Windows.Design.Extensibility.dll, pero el proyecto no depende en esta biblioteca.

Respuesta

18

Está bombardeando tratando de compilar el XAML en el proyecto. Ignore el comentario sobre el evento ReflectionOnlyAssemblyResolve en el mensaje, es solo tratar de ser útil para resolver el problema. El verdadero problema es que simplemente no puede encontrar el ensamblaje.

Eso es de esperar, Microsoft.Windows.Design.Extensibility es un ensamblado de Visual Studio, almacenado en la carpeta Common7 \ IDE \ PublicAssemblies. Solo se podría encontrar si esa carpeta está en la ruta de búsqueda, seguramente no será así si ejecuta msbuild.exe desde una herramienta de compilación.

No estoy seguro de qué recomendar, tendrá que averiguar de dónde viene esa dependencia. Probablemente debería comenzar en el contenido del archivo .xaml, buscar el nombre del ensamblado. También verifique que el problema se reproduce cuando ejecuta msbuild.exe desde el símbolo del sistema de Visual Studio.

+2

Parece que la dependencia proviene de una biblioteca de terceros. Intentó agregar la referencia a la biblioteca desde la ubicación que me aconsejó y funcionó bien. Gracias. –

Cuestiones relacionadas