CoreTweetを使って簡単にツイートだけするアプリをWPFを使って作っていたのですが、下記のようなエラーが出て実行ができません。
原因を調べたのですがエラーの原因もなく理由がわかりません。
###発生している問題・エラーメッセージ
System.Windows.Markup.XamlParseException が発生しました HResult=0x80131501 Message=アセンブリ 'TweetOnlyClient, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' で定義された 'MainWindow' のインスタンスを作成できません。 呼び出しのターゲットが例外をスローしました。 マークアップ ファイル 'MainWindow.xaml' にエラーがあります。 Source=<例外のソースを評価できません> スタック トレース: <例外のスタック トレースを評価できません> 内部例外 1: TargetInvocationException: 呼び出しのターゲットが例外をスローしました。 内部例外 2: TypeInitializationException: 'TweetOnlyClient.Tokenss' のタイプ初期化子が例外をスローしました。 内部例外 3: NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
###該当のソースコード
MainWindow.xaml
1<Window x:Class="TweetOnlyClient.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:TweetOnlyClient" 7 mc:Ignorable="d" 8 Title="Tweet" Height="110" Width="190" MaxHeight="110" MaxWidth="190" KeyDown="Window_KeyDown"> 9 <Grid> 10 <Label Content="Tweet" HorizontalAlignment="Left" VerticalAlignment="Top"/> 11 <TextBox x:Name="TweetBOx" HorizontalAlignment="Left" Height="34" Margin="10,25,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="152"/> 12 <Button x:Name="Tweet" Content="Tweet" HorizontalAlignment="Left" Margin="87,3,0,0" VerticalAlignment="Top" Width="75" Click="Tweet_Click"/> 13 14 </Grid> 15</Window> 16
MainWindow.xaml.cs
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Windows; 6using System.Windows.Controls; 7using System.Windows.Data; 8using System.Windows.Documents; 9using System.Windows.Input; 10using System.Windows.Media; 11using System.Windows.Media.Imaging; 12using System.Windows.Navigation; 13using System.Windows.Shapes; 14using CoreTweet; 15using System.Diagnostics; 16using static CoreTweet.OAuth; 17 18namespace TweetOnlyClient 19{ 20 /// <summary> 21 /// MainWindow.xaml の相互作用ロジック 22 /// </summary> 23 public partial class MainWindow : Window 24 { 25 public Tokenss tokensa = new Tokenss(); 26 public Tokens tokens; 27 public int inital = 0; 28 public OAuthSession oauth = Authorize("", ""); 29 public MainWindow() 30 { 31 InitializeComponent(); 32 if (inital == 0) 33 { 34 tokensa.Show(); 35 Hide(); 36 inital++; 37 } 38 } 39 40 private void Window_KeyDown(object sender, KeyEventArgs e) 41 { 42 if(e.Key == Key.LeftCtrl||e.Key == Key.RightCtrl&&e.Key == Key.Enter) 43 { 44 if (TweetBOx.Text == null || TweetBOx.Text == "") 45 { 46 tokens.Statuses.Update(status => TweetBOx.Text); 47 TweetBOx.Text = ""; 48 } 49 } 50 } 51 52 private void Tweet_Click(object sender, RoutedEventArgs e) 53 { 54 tokens.Statuses.Update(status => TweetBOx.Text); 55 TweetBOx.Text = ""; 56 } 57 } 58}
Token.xaml
1<Window x:Class="TweetOnlyClient.Tokenss" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:TweetOnlyClient" 7 mc:Ignorable="d" 8 Title="取得したPINを入力してください。" Height="101" Width="200" Activated="Window_Activated"> 9 <Grid> 10 <TextBox Name="TextBox1" HorizontalAlignment="Left" Height="23" Margin="10,35,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="90"/> 11 <Label Content="取得したPINを入力してください。" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top"/> 12 <Button Content="Submit" HorizontalAlignment="Left" Margin="105,35,0,0" VerticalAlignment="Top" Width="75" Height="23" Click="Button_Click"/> 13 14 </Grid> 15</Window>
Token.xaml.cs
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Windows; 6using System.Windows.Controls; 7using System.Windows.Data; 8using System.Windows.Documents; 9using System.Windows.Input; 10using System.Windows.Media; 11using System.Windows.Media.Imaging; 12using System.Windows.Shapes; 13using CoreTweet; 14 15namespace TweetOnlyClient 16{ 17 /// <summary> 18 /// Token.xaml の相互作用ロジック 19 /// </summary> 20 public partial class Tokenss : Window 21 { 22 public static MainWindow main = new MainWindow(); 23 public Tokenss() 24 { 25 InitializeComponent(); 26 System.Diagnostics.Process.Start(main.oauth.AuthorizeUri.AbsoluteUri); 27 } 28 29 private void Button_Click(object sender, RoutedEventArgs e) 30 { 31 main.tokens = main.oauth.GetTokens(TextBox1.Text); 32 main.Show(); 33 Hide(); 34 } 35 36 private void Window_Activated(object sender, EventArgs e) 37 { 38 39 } 40 } 41} 42
###補足情報(言語/FW/ツール等のバージョンなど)
ソースは上から
MainWindow.xaml
MainWindow.xaml.cs
Token.xaml
Token.xaml.cs
環境はVisualStudio2017
C#とXaml
回答2件
あなたの回答
tips
プレビュー