Hudson : Warnung MSB3245: Konnte nicht suchen Sie die assembly “nunit.Rahmen"
Arbeite ich in einer Virtuellen Maschine als ein Hudson-Slave.
In der virtuellen Maschine, füge ich den Pfad zu MSBuild, das ich verwenden möchte :
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\;
Fügte ich auch den Pfad zu NUnit :
C:\Program Files\NUnit 2.5.7\bin\net-2.0;
Und so, ich kann laufen, das NUnit-und MSBuild-Befehl Zeilen in meiner VM.
Aber ich bekomme diese Fehlermeldung, wenn mein Hudson Job-build-meine Lösung :
C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets : warning MSB3245: Could not resolve this reference. Could not locate the assembly "nunit.framework".
Was sollte ich fix in meine VM oder in Hudson?
Vielen Dank!
BEARBEITEN
Hier, wie sich die betroffene Datei *.csproj Verweise auf die dll -:
<Reference Include="nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=KKKKKKKKKK processorArchitecture=KKK">
<SpecificVersion>False</SpecificVersion>
<HintPath>Dll\nunit.framework.dll</HintPath>
</Reference>
InformationsquelleAutor Farah | 2013-12-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist nicht das Problem der nunit-console.exe (oder wie auch immer der name).
Das Problem ist, dass Sie nicht finden können, nunit.Rahmen.dll als Verweis in Ihr Projekt-Datei (.csproj C#).
Ihre unit-test-Projekt, die Sie brauchen, um es zu öffnen und herauszufinden, wie/wo der Verweis auf die nunit.framwork.dll verdrahtet ist.
Post die
.csproj
code, wenn das ist verwirrend.EDIT:
Das Problem ist, dass Sie auf "download" oder kopieren-oder svn-export-oder svn-checkout oder nuget-Holen Sie sich diese Datei.
Und legen Sie es in die relative Verzeichnis .csproj.
Weil Sie angegeben haben, einen HintPath, wird es NICHT finden, die in das unter-Verzeichnis:
Grundsätzlich die
HintPath
sagt "ich erwarte, dass man diese Datei HIER", und Ihre MSBUILD-Fehler sagt, "ich habe es nicht gefunden, wo dieHintPath
sagte, es wäre."Posten Sie Ihre csproj-code (öffnen Sie es in Editor). .. und nach dem Abschnitt, der nunit-Referenz.
Danke für die Ratschläge. Ich machte eine Bearbeiten.
Konnte es nicht, zu arbeiten, ohne Hinweis Weg, den ich nur hardcoded default nunit installieren Pfad:
<HintPath>C:\Program Files (x86)\NUnit 2.6.3\bin\nunit.framework.dll</HintPath>
Die Identität, läuft der build-Prozess.......muss Zugriff auf dieses Verzeichnis haben. Und geben der Identität, läuft der build-Prozess......Berechtigungen "c:\program Dateien\" (oder ähnlich) ist nicht empfehlenswert IMHO.
InformationsquelleAutor granadaCoder
Unter dem Benutzer-Konto hat jenkins-slave.exe (oder hudson-slave) läuft auf der VM-Knoten?
Pfade .NET-dlls sind registriert in der windows-registries (
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies]@="AssemblyLocation"
).Standardmäßig jenkins läuft jenkins-slave-Dienst unter
NT AUTHORITY\SYSTEM
Konto (die wahrscheinlich keine AssemblyLocations auf Ihrem system registriert).Füllte ich meine Benutzer-acount anmelden (unter der die .csproj baut wie ein Charme) details in jenkins -> Knoten -> VM -> config und zusätzlich festlegen, dass die gleiche Benutzer-Konto, unter dem Windows läuft die "jenkins-slave" - service (in der VM ist der Windows-Dienste -> jekins slave -> Eigenschaften -> Log -> Dieses Konto: ...)
Also es funktioniert ohne Angabe Hinweis Weg .csproj, denn es ist die Maschine, die bestimmte (meine builds laufen auf mehreren Rechnern).
InformationsquelleAutor Juraj Michalak