2017-10-25 4 views
3

TL; DR: Ist es möglich, Mixed-Mode-Assemblys in Azure-Funktionen zu verwenden?Azure Function Referenzierung Mixed-Mode-Assembly

Details: Ich habe eine interne Mixed-Modus-Assembly, die ich in einer Azure-Funktion verwenden möchte. Als ich zu bauen versuchen, ich die folgende Fehlermeldung erhalten:

------ Build started: Project: AzureDemo, Configuration: Debug x64 ------ 
AzureDemo -> C:\src\local\2017\AzureDemo\bin\x64\Debug\net462\bin\AzureDemo.dll 
C:\Users\hugh\.nuget\packages\microsoft.net.sdk.functions\1.0.2\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(31,5): error : Could not load file or assembly 'file:///C:\src\local\2017\AzureDemo\bin\x64\Debug\net462\bin\AzureDemo.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format. 
Done building project "AzureDemo.csproj" -- FAILED. 

Aus Gründen der Klarheit ist die hauseigene Bibliothek x64 und mein Demo-Projekt ist auch x64, also ist es nicht ein x86/x64 Problem.

Wenn ich den Code aus dem Azure Function-Projekt nehme und es in ein einfaches altes .NET Core 2.0-Projekt lege, baut es gut. bearbeiten: es baut in Ordnung, aber es läuft immer noch nicht (System.EntryPointNotFoundException: A library name must be specified in a DllImport attribute applied to non-IJW methods.). Ich könnte also tiefer im Wasser sein als ich dachte.

Ich bin ein bisschen Angst Azure-Funktionen werden nicht mit Mixed-Mode-Baugruppen arbeiten ... aber ich habe keine endgültige Aussage zu diesem Effekt gefunden.

Ich bin auch etwas besorgt, dass die Tatsache, dass es netstandard1.0 verwendet, etwas damit zu tun haben könnte.

Antwort

1

Der Fehler tritt bei der Erstellung auf, wenn das SDK die Build-Task zum Generieren der Buildartefakte/Funktionsmetadaten startet.

Ich habe dieses Problem mit den Details öffnet den Fehler zu verfolgen: https://github.com/Azure/azure-functions-vs-build-sdk/issues/131

Actual x64 CLI Versionen auch für eine erfolgreiche lokale Prüfung erforderlich wären, und dies hier verfolgt wird: https://github.com/Azure/azure-functions-cli/issues/117

+0

Thank you! Durch den Wechsel zur Verwendung der x86-Version meiner Mixed-Mode-Assembly bin ich wieder im Geschäft. Aber ja ... wir werden diese 64-Bit-Unterstützung auf lange Sicht wollen. – Hugh

Verwandte Themen