2009-11-12 11 views
13

Il seguente errore si apre ogni tanto:Come faccio a eliminare l'errore "API restriction UnitTestFramework.dll già caricato"?

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.

Come faccio a sbarazzarsi di esso?

risposta

8
  • Modificare il file Csproj
  • Rimuovere il processorArchitecture = MSIL sul fondo al riferimento 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" /> 
  • Riavviare Visual Studio
+1

theJerm

+0

Questo ha funzionato per me la prima volta, ma da allora ho riscontrato lo stesso problema con lo stesso progetto di test. Ho controllato il file .csproj e il bit ProcessorArchitecture sicuramente non c'è, ho pensato che potrebbe essere stato restituito in qualche modo, ma non lo è stato. – TabbyCool

+2

Kevin: Puoi spiegare il modo di pensare dietro a questo? lo stesso problema, ma ho visto spiegazioni contrastanti su cosa sta succedendo g on. –

5

Se hai trovato questo errore quando si tenta di eseguire i test sul vostro TFS Build Server, quindi potrebbe essere sufficiente cambiare il segno tern che la definizione di build TFS utilizza per individuare gli assembly di test. This post descrive il problema e la soluzione. Fondamentalmente TFS sta trovando lo stesso assembly di test in due diverse cartelle e tenta di includerlo due volte. Per risolvere questo problema:

  1. Open Team Explorer
  2. Espandi albero fino a vedere costruisce per il vostro progetto
  3. Selezionare la build in questione
  4. tasto destro> Modifica Corporatura Definizione
  5. Clicca processo su barra laterale a sinistra
  6. Espandi '2. Base'> Test automatici
  7. Clicca Modifica
  8. Modificare la specifica del file assembly test per rimuovere una cartella corrispondente nel modello. Per esempio. cambiare **** \ prova .dll ** a * test * .dll

Rimuovendo la cartella dal pattern match (cioè il \) sarà solo includere il montaggio di prova una volta, anche se lo trova in due cartelle diverse.

Problemi correlati