2017-05-25 82 views
1

我有一個自定義DLL,它依賴於project.json中的包。我收到以下錯誤:Azure函數中的自定義DLL可以依賴於project.json中的Nuget包嗎?

2017-05-25T21:04:18.152 Exception while executing function:
Functions.TimerTriggerCSharp1. mscorlib: Exception has been thrown by the target of an invocation. f-TimerTriggerCSharp1__631134587: Could not load file or assembly 'MyAssemblyName, Version=MyAssemblyVersion, Culture=neutral, PublicKeyToken=MyAssemblyToken' or one of its dependencies. The system cannot find the file specified.

我已經在bin /文件夾中添加了程序集,並且引用了完整路徑。程序集依賴於我在project.json中定義的其他Nuget包。

任何想法,爲什麼我得到錯誤?

+0

最近我問了一個類似的問題。看看那裏的信息是否可以幫助你(以及在生成的GitHub線程中):https://stackoverflow.com/questions/42478305/how-do-i-load-nuget-packages-that-a-custom-dll-depends-在 – Jaxidian

回答

0

一般指導/建議是用您的程序集部署您的臨時依賴關係。

對於NuGet依賴關係,運行時將爲您解決這個問題,但運行時將嘗試實現這些依賴關係,但請確保將您的程序集引用從使用完整路徑更改爲使用簡單文件名(不帶路徑)只,如: #r "MyAssembly.dll"

運行時會自動加載bin文件夾中的組件作爲一個私人的依賴,這將範圍依賴於功能,並嘗試使用該函數的引用的包,以滿足短暫的依賴。

+0

謝謝法比奧!我收到以下錯誤:「數據保護操作失敗,這可能是因爲沒有爲當前線程的用戶上下文加載用戶配置文件,這可能是線程模擬」某些快速谷歌搜索,也與Azure有關。任何想法是什麼原因? – Shane

+0

你什麼時候看到這個?似乎與原始問題沒有關係。 –

+0

它與原始問題無關,DLL加載成功。不過看起來像是經常發生在Azure上的問題。我爲它創建了一個單獨的問題:https://stackoverflow.com/questions/44190768/the-data-protection-operation-was-unsuccessful-error-in-azure-function – Shane