4

だから私は Etsy の API にアクセスするプログラムを構築しようとしていますが、これまでのところ、OAuth を使用して呼び出しを行うだけで、この例外がスローされます。

「指定されたバインディング制約に一致するタイプ 'testEtsy.MainWindow' でのコンストラクターの呼び出しが例外をスローしました。」行番号「3」および行位置「9」。

ここに私のXAMLがあります

<Window x:Class="testEtsy.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid></Grid>

そして、これがMainWindow.csの私のコードです

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace testEtsy
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

        }
        string[] orderNumbers = System.IO.File.ReadAllLines(@"F:\ordernumbers.txt");

        public static void getOAuthKey()
        {

            string ConsumerKey = "q6uqzk27z2yw4tl5s4qerdtp";
            string ConsumerSecret = "tkjz2mu4x1";
            OAuth.Manager m = new OAuth.Manager();
            m["consumer_key"] = ConsumerKey;
            m["consumer_secret"] = ConsumerSecret;
            OAuth.OAuthResponse requestToken =
                m.AcquireRequestToken("https://openapi.etsy.com/v2/oauth/request_token?scope=transactions_r", "POST");
        }

    }
}

どんな助けでも大歓迎です。

4

2 に答える 2

12

例外の可能性が最も高いのは、次のフィールド初期化子です

string[] orderNumbers = System.IO.File.ReadAllLines(@"F:\ordernumbers.txt");

このコードは、MainWindowコンストラクターの一部として実行されます。ファイルの読み取り中に例外が発生した場合、これはコンストラクターから伝播され、初期化が失敗します。最も可能性の高い原因は、このファイルが存在しないか、アクセスできないことです

于 2013-03-09T01:51:26.200 に答える
3

プロジェクトのターゲットは、サード パーティ ライブラリのターゲットと同じではない場合があります。簡単なテストとして、プラットフォーム ターゲット ([プロジェクト] -> [プロパティ] -> [ビルド] の下) を x86 に変更します。それが機能する場合は、持っている外部ライブラリが 64 ビットであることを確認してください。私にとって、犯人は WebsocketSharp でした。OAuth ライブラリのように見えますか?

于 2015-05-12T13:04:54.480 に答える