.NET Framework 4.6.2、Entity Framework 6.13およびC#でWPFアプリケーションを開発しています。別のコンピュータでプログラムを実行すると、メソッドが呼び出されない
私はDebug \ Any CPUとDebug \ x86でこのアプリケーションをコンパイルしました。どちらの場合も、同じ実行可能ファイルが2台目のコンピュータで正常に動作しません。私の開発マシンでうまく動作し、2番目の方法ではメソッドを実行しません。
私はComboBox
から項目を選択したとき、私はこの問題を持っている:
<ComboBox x:Name="comboBoxTrzType" Grid.Column="1" Margin="10,0,25,0" VerticalAlignment="Center" Height="25" ItemsSource="{Binding TrzTypes}" SelectedItem="{Binding TrzTypeSelectedItem}">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
そして、このプロパティ:
public TrzType TrzTypeSelectedItem
{
get
{
return trzTypeSelectedItem;
}
set
{
if (value == null)
log.Debug("TrzTypeSelectedItem: NULO");
else
log.DebugFormat("TrzTypeSelectedItem: {0}", value.Legislation);
if (value != trzTypeSelectedItem)
{
log.Debug("TrzTypeSelectedItem changed");
trzTypeSelectedItem = value;
if (value != null)
{
log.Debug("TrzTypeSelectedItem value no NULL");
LoadProductsByLaw(trzTypeSelectedItem.Legislation);
log.Debug("TrzTypeSelectedItem after load");
}
RaisePropertyChangedEvent("TrzTypeSelectedItem");
}
}
}
及び方法が実行されることはありません:
private void LoadProductsByLaw(LawTypes law)
{
log.Debug("LoadProductsByLaw");
List<Products> pro = null;
PanelInfo = Resources.LoadingProducts;
InfoPanelVisibility = Visibility.Visible;
ConnectToCodesManager();
pro = codeManangerClient.GetProductsByLawPublic((byte)law);
if ((pro != null) && (pro.Count > 0))
{
Products = new ObservableCollection<Products>(pro);
RaisePropertyChangedEvent("Products");
}
else
{
App.Current.Dispatcher.Invoke((Action)delegate
{
if ((Products != null) && (Products.Count > 0))
Products.Clear();
});
}
App.Current.Dispatcher.Invoke((Action)delegate
{
if ((ProductionOrders != null) && (ProductionOrders.Count > 0))
ProductionOrders.Clear();
if ((Batches != null) && (Batches.Count > 0))
Batches.Clear();
IsProductSelectEnabled = true;
IsProductionOrderSelectEnabled = false;
IsBatchSelectEnabled = false;
InfoPanelVisibility = Visibility.Collapsed;
PanelInfo = string.Empty;
});
}
この問題の考え方は?
私の開発マシンは、次のとおりです。
システムのWindows 7 Proのサービスパック3.60GHz @ 1
インテルCore i7-490
オペレーティング
RAMの 16,0GB
64ビット
実行されていない2番目のマシンは、次のようになります。
それは書き込み0WindowsがRAM
32ビットオペレーティングシステム
の2.20Hz
2,00 GB @ 7標準のService Pack組み込み1
インテルCeleronのCPU 1020Eログは、次のとおりです。
TrzTypeSelectedItem: European
TrzTypeSelectedItem changed
TrzTypeSelectedItem value no NULL
しかし、次はLoadProductsByLaw
であるはずですが、ログファイルに表示されません。
どうやってこれを決めましたか?私は、どこに失敗したのかを正確に追跡するために、より多くのログステートメントをコードに追加します。 – ChrisF
途中のすべての 'if'条件が満たされているかどうかをデバッガで確認しましたか?あなたは 'TrzTypeSelectedItem'の設定者に入るか、決して到達しませんか? –
.net 4.6.2フレームワークがそのPCに設定されていることを確認してください –