Einige Assemblys werden beim Bereitstellen von Azure-Webjobs in Visual Studio 2013 nicht berücksichtigt.
Ich habe ein Klassenbibliotheksprojekt für Visual Studio 2013 mit einer Verzeichnisstruktur wie dieser:
\MyClassLibraryProject
\ExternalLibraries
3rdPartyLib.dll
\bin
\Debug
\Release
etc.
Inside ExternalLibraries Ich habe einige Assemblys von Drittanbietern kopiert, auf die ich dann aus dem Projekt verwiesen habe (Copy local = true). Ich kompiliere das Projekt und sehe in meinem Release-Verzeichnis natürlich meine MyClassLibraryProject.dll und die DLLs von Drittanbietern wie 3rdPartyLib.dll usw. Bis jetzt gut.
Dann habe ich ein anderes Projekt (Konsolenanwendung - Azure-Webjob), aus dem ich einen Verweis auf die Datei \ MyClassLibraryProject \ bin \ Release \ MyClassLibraryProject.dll (Copy local = true) hinzufüge. Es sieht aus wie das
\MyWebjob
\bin
\Debug
MyWebJob.exe
MyClassLibraryProject.dll
3rdPartyLib.dll
So wie Sie sehen können, wenn ich einen Verweis auf MyClassLibraryProject.dll (mit Copy local = true) hinzufügte, kopierte es auch über seine abhängige Assembly 3rdPartyLib.dll. Gut soweit
Wenn Sie das Webjob-Projekt jedoch in Azure veröffentlichen (klicken Sie mit der rechten Maustaste auf Projekt, Veröffentlichen ...), ist 3rdPartyLib.dllnich bereitgestellt. Infolgedessen beschwert sich das Webjobs-Dashboard, dass es nicht gefunden werden kann, und der Webjob wird natürlich nicht ausgeführt.
Ist dieser Benutzerfehler oder etwas anderes?