2009-11-12 6 views
13

El siguiente error aparece de vez en cuando:¿Cómo me deshizo del error "API restriction UnitTestFramework.dll ya cargado"?

C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\TeamTest\Microsoft.TeamTest.targets(14,5): error : API restriction: The assembly 'file:///C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll' has already loaded from a different location. It cannot be loaded from a new location within the same appdomain.

¿Cómo me deshago de ella?

Respuesta

8
  • Editar el archivo .csproj
  • Retire la processorArchitecture = MSIL en el final de la referencia UnitTestFramework.

Cambio:

<reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 

a:

<reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
  • Reinicie Visual Studio
+1

theJerm

+0

Esto funcionó para mí la primera vez, pero desde entonces, estoy recibiendo el mismo problema con el mismo proyecto de prueba. he comprobado el archivo .csproj y el bit ProcessorArchitecture definitivamente no existe, pensé que podría haber sido puesto de nuevo de alguna manera, pero no tiene – TabbyCool

+2

Kevin:. ¿puede explicar la idea detrás de esto que estoy corriendo en? el mismo problema, pero han visto explicaciones contradictorias de lo que está pasando g on. –

5

Si usted está recibiendo este error cuando se intenta ejecutar las pruebas en su TFS Build Server, entonces puede que tenga que cambiar la pat que la definición de compilación de TFS usa para localizar conjuntos de prueba. This post describe el problema y la solución. Básicamente, TFS encuentra el mismo ensamblaje de prueba en dos carpetas diferentes e intenta incluirlo dos veces. Para solucionar este problema:

  1. abierto Team Explorer
  2. Expandir el árbol hasta que vea construye para su proyecto
  3. Seleccionar la estructura en cuestión
  4. clic derecho> Editar definición de build
  5. Haga clic Proceso en barra lateral a la izquierda
  6. Expandir '2. Básico> automatizado prueba
  7. Haga clic en Editar
  8. Cambiar la especificación de prueba archivo de ensamblaje para eliminar una carpeta a juego en el patrón. P.ej. cambiar **** \ prueba .dll ** a * prueba * .dll

Mediante la eliminación de la carpeta del patrón de coincidencia (es decir, la \) sólo incluirá el conjunto de prueba de una vez, incluso si lo encuentra en dos carpetas diferentes.

Cuestiones relacionadas