3

これまでVS2010でコンパイルされていたWPFプロジェクトがあります。VS2012 をインストールし、その中でプロジェクトを開いたところ、次の問題が検出されました。

AutogenerateColumn プロパティが true に設定された Datagrid がいくつかあります。このデータグリッドに新しい列を追加すると、これらの新しい列のみが表示されました (これは間違った動作である必要がありました)。VS2012 をインストールした後、新しい列と自動生成された列の両方が (予想どおり) 表示されます。それ以来、VS2012 のように VS2010 でプロジェクトをコンパイルするときにも発生します。直接参照されているすべてのアセンブリが .NET Framework の 4.5 バージョンではなく 4.0 バージョンのままであり、コードをまったく変更していないことは確かです。

AutogenerateColumns を false に設定することで簡単に修正できるため、WPF DataGrid のこの特定の問題について心配する必要はありません。VS2012 のインストール中に変更された可能性のある間接参照と、それがアプリケーションに与えるその他の影響について心配しています。

理論的には影響がないと予想されていることはわかっていますが、この問題を目の当たりにして、私たちの信仰は現在揺らいでいます。

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

4

1 に答える 1

1

あなたの言うことを 2 つの異なる方法でテストしましたが、どちらの方法でも、VS2010 IDE を使用し、.NET Framework 4.0 クライアント プロファイルをターゲットにして、同じマシン (VS2012 と VS2010 がインストールされている) でアプリがコンパイルされています。

最初のシナリオでは、VS2012 がインストールされたマシン (コンパイルされたマシン) でこのアプリを実行しました。結果は次のとおりです。

ここに画像の説明を入力

この画像でわかるように、明示的に追加された 2 つの列 ("CANTIDAD PENDIENTE" と "FECHA") と 2 つの自動生成された列 ("P1" と "P2" は、ItemsSource として使用した匿名オブジェクトの実際のプロパティに基づいています) があります。これは、あなたが質問で説明していることです。

2 番目のシナリオは少し異なります。VS2012 (どちらも .NET 4.5 Framework) がインストールされていない別のマシンで同じコンパイル済みアプリを実行しましたが、得られた結果は心配です:

ここに画像の説明を入力

顧客環境にインストールされているフレームワークに応じて間違ったアプリを配信していないことを確認するために、アプリケーション全体をテストする必要があると思いますが、明らかにそれは本当に頭痛の種になる可能性があります.

これがあなたの問題を明確にするのに役立つことを本当に願っています.

于 2012-11-15T09:57:18.940 に答える