簡體   English   中英

無法加載文件或程序集“ Microsoft.WindowsAzure.Storage” Azure函數

[英]Could not load file or assembly 'Microsoft.WindowsAzure.Storage' Azure Functions

我目前正在使用在Visual Studio中創建的Azure函數。 它是一個計時器函數,它調用一些通用代碼來寫入隊列。

在本地運行代碼不會引起任何問題。 運行正常,但是在發布時出現以下錯誤:

無法加載文件或程序集“ Microsoft.WindowsAzure.Storage,版本= 9.1.0.0,區域性=中性,PublicKeyToken = 31bf3856ad364e35”或其依賴項之一。 系統找不到指定的文件。|| System.IO.FileNotFoundException:無法加載文件或程序集“ Microsoft.WindowsAzure.Storage,版本= 9.1.0.0,Culture =中性,PublicKeyToken = 31bf3856ad364e35”或其依賴項之一。 該系統找不到指定的文件。 文件名:JobGetter.TimedJob.Run的Esperanto.Core.Function.JobGetterLogic.SendJobsToQue()處的文件名:'Microsoft.WindowsAzure.Storage,Version = 9.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'(TimerInfo myTimer,TraceWriter log)

這是我的網絡作業代碼:

public static class TimedJob
{
    [FunctionName("TimedJob")]
    public static void Run([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer, TraceWriter log)
    {
        log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
        try
        {
            var brain = new CoreLogic.Function.JobGetterLogic();
            var result = brain.SendJobsToQue();
        }
        catch (Exception e)
        {
            log.Info(e.Message + "||" + e.ToString());
        }

    }
}

假設您使用的是Azure Functions運行時v1(當前生產版本),它將使用版本7.2.1 WindowsAzure.Storage程序集。 由於是運行時來控制加載哪個版本,因此您的實現必須遵循並使用相同的版本。

要解決此問題,請將對WindowsAzure.Storage所有引用(包括傳遞引用)更改為7.2.1

當前沒有像Azure Functions支持的綁定重定向那樣的東西。

我的是因為Newtonsoft.Json版本,但我什至在安裝WindowsAzure.Storage軟件包之前就已經知道了。

它在輸出中給了我這個:

NU1107:為Newtonsoft.Json檢測到版本沖突。 直接從項目中引用該軟件包即可解決此問題。
PMTool.AzureFunctions-> WindowsAzure.Storage 9.1.0-> Newtonsoft.Json(> = 10.0.2)PMTool.AzureFunctions-> Microsoft.NET.Sdk.Functions 1.0.6-> Newtonsoft.Json(= 9.0.1)。

然后回滾。

因此,Functions SDK中的Newtonsoft.Json版本為9.0.1,但在Azure存儲中,版本為10.0.2。

並且可以肯定的是,如果這樣發布,則會出現此錯誤:

“無法加載文件或程序集'Microsoft.WindowsAzure.Storage,版本= 9.1.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35'或其依賴項之一。系統找不到指定的文件。”

因為根本沒有引用。

這可能不是您的確切問題,但可能會給您一個線索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM