第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

未找到重載方法

未找到重載方法

C#
www說 2021-10-24 14:03:44
設(shè)置如下:.NET Standard 2.0 庫(kù)針對(duì)它的 NUnit 測(cè)試項(xiàng)目,針對(duì) .NETFramework 4.6.1最新的 VS 2017,最新的 NUnit。我周末在家一直在做這個(gè)項(xiàng)目,將我的工作上傳到 git,今天開始工作(我之前已經(jīng)在兩個(gè)地方工作過)。直到現(xiàn)在我才發(fā)現(xiàn)項(xiàng)目有問題(我不太記得開始時(shí)出了什么問題,但似乎問題和我現(xiàn)在的一樣,稍后描述)。在擺弄到無法修復(fù)的狀態(tài)后,我完全刪除了它并重新克隆了 git repo。該項(xiàng)目編譯正常,但在運(yùn)行時(shí)測(cè)試拋出“找不到方法”異常。一點(diǎn)點(diǎn)的探索表明,問題只出現(xiàn)在以下方法的一個(gè)重載上:  public static YNABClient GetInstance(HttpMessageHandler _handler)    {        if (instance is null)        {            instance = new YNABClient(_handler);        }        return instance;    }    public static YNABClient GetInstance() => GetInstance(new HttpClientHandler());沒有參數(shù)的可以,有參數(shù)的不行。刪除和添加庫(kù)作為測(cè)試的參考,刪除和添加測(cè)試和庫(kù)項(xiàng)目。我在互聯(lián)網(wǎng)上找到的類似情況的其他解決方案都與 ASP.NET MVC 有關(guān),這不是我的情況,盡管這個(gè)問題確實(shí)讓我檢查了重載并發(fā)現(xiàn)其中一個(gè)確實(shí)有效。在家里,一切仍然正常,盡管我還沒有像在工作中那樣嘗試刪除并重新安裝該項(xiàng)目。這導(dǎo)致了 2 個(gè)可能的問題來源:環(huán)境,盡管我還沒有找到有意義的差異,或者 git,盡管我對(duì) VS(這個(gè))使用了“庫(kù)存”git ignore ,所以那里應(yīng)該沒有問題. 我的項(xiàng)目的基本設(shè)置在周末沒有改變并且之前工作過,所以從最近的擺弄中打破了一些東西。此外,如果我將控制臺(tái)應(yīng)用程序(.Net Framework 4.6.1)添加到解決方案并嘗試從中調(diào)用有問題的方法,它實(shí)際上工作正常。如果這有幫助,我的項(xiàng)目 github 在這里我被要求在評(píng)論中調(diào)用示例?;旧?,我有 2 個(gè)具有不同設(shè)置的 Test Fixture 類 - 一個(gè)用于真正的 API 調(diào)用,以便于調(diào)試實(shí)際使用,另一個(gè)用于根據(jù)良好的測(cè)試實(shí)踐偽造它。作品:    [OneTimeSetUp]    public void Setup()    {        ynabClient = YNABClient.GetInstance();        ynabClient.RefreshAccessToken(ApiKeys.AccessToken);    }拋出異常:    [OneTimeSetUp]    public void Setup()    {        handler = new StubHandler();        ynabClient = YNABClient.GetInstance(handler);    }一些探索表明我的問題很可能與 System.Net.Http 與 .NET Framework 和 .NET Standard 的版本控制差異有關(guān),如果你用谷歌搜索,這是一個(gè)相當(dāng)普遍的問題。然而,我挖出的所有例子都沒有表現(xiàn)出我的特殊癥狀,我還不確定該怎么做。以及為什么在我的家用 PC 上一切正常。
查看完整描述

3 回答

?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

您遇到的問題是您的GetInstance方法接受HttpMessageHandler作為參數(shù),并且在您的測(cè)試中您正在傳遞HttpClientHandler對(duì)象。因此,您聲明了一個(gè)參數(shù),但在調(diào)用該方法時(shí)提供了不同的對(duì)象。


查看完整回答
反對(duì) 回復(fù) 2021-10-24
?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊

因此,事實(shí)證明,正如 DongDong 所建議的,問題確實(shí)出在 .NET Framework 和 .NET Standard 之間的接口上。問題并不是它們不兼容,或者 Test 項(xiàng)目需要一些額外的依賴項(xiàng),而是它們隨 System.Net.Http 的不同版本一起提供。


由于沒有顯示任何可見的錯(cuò)誤,診斷受到阻礙。但是,更改參數(shù)類型表明,確實(shí),問題僅在于來自該命名空間的類。


診斷問題的另一個(gè)問題是該項(xiàng)目在某些機(jī)器上運(yùn)行良好(我的家用 PC 和 Daisy Shipton 從評(píng)論到問題)。


然而,在確定問題的根源后,我首先能夠通過 google 搜索該庫(kù)存在哪些問題,并最終在.NET github上發(fā)現(xiàn)了大量不兼容問題。


我嘗試了在這些情況下使用的解決方案,并向庫(kù)的具體版本添加了“綁定重定向”,之后它工作正常。我添加了app.config我的測(cè)試項(xiàng)目的重定向。作為參考,它看起來像這樣:


<dependentAssembly>

    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />

    <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />

</dependentAssembly>

我仍然不明白為什么該項(xiàng)目在某些機(jī)器上運(yùn)行良好。


查看完整回答
反對(duì) 回復(fù) 2021-10-24
  • 3 回答
  • 0 關(guān)注
  • 230 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)